voiceId inside contents is rewritten to a 1-based index on save (stored as metaVoiceId): identical voiceId values map to the same index, and the special value "0" maps to null. The original voice ids are not stored, which is what makes a template portable across accounts — but it also means reading it back cannot tell you which voices you originally used, so they must be re-assigned before generating.name and contents are both required; omitting either returns 400 VALIDATION_MISSING_FIELD with detail.field naming the missing one. description is optional and is stored in metadata.description.X-Vocu-App-Request-Id response header when troubleshooting.