duration_ms in the allocation so the app can show the length. Then call POST /v1/chats/{chatId}/voicememo (reference) with the completed attachment_id. The SDK method is relay.chats.sendVoicememo.
Relay refuses anything that is not audio/* on this route. Instead of an upload, voice_memo_url accepts a public HTTPS audio URL up to 10 MiB (10,485,760 bytes), checked the same way as other URL media. Send one of the two fields, not both.
Send the voice memo
Send the body to the voice memo route:- Preview
- JSON
What you get back
Relay returns202 with a voice_memo object: the message ID, its delivery status, the chat, and the Attachment with a download URL and the file’s metadata. The person hears it as a voice memo on their phone rather than as a file.

