https://github.com/nextcloud/server/blob/master/lib/public/RichObjectStrings/Definitions.php has a list of all valid rich objects. This file can be parsed and turned into a json schema using the discriminator pattern.
This will be relevant for Talk but also other places. Right now the approach is to manually patch the changes from nextcloud/spreed#11802 until we tartget Talk 19.