Limits
Video isn’t supported. The Fan Voice’s
limits say how many of each kind one fan can send, keyed by kind in per_fan: ignore a kind you don’t know. Every message counts, approved or not, and the allowance never resets, even if the Fan Voice opens again. To show what’s left, count the fan’s own messages of that kind.
Sending text
Sending a voice note or photo
- Create an upload with the fan’s token and a new
Idempotency-Key, giving the file’skind,content_typeandbytes. The answer has anupload_id, and aurlthat works for 5 minutes. - Send the file to that
urlwith aPUT. Send onlyContent-TypeandContent-Length, the same as you asked for, with no API key or fan token: the link is already signed. - Send the message within an hour, with
"kind": "voice"or"image", theupload_id, and a newIdempotency-Keyof its own.
After sending
Show the Fan Voice’s confirmation message. Sending isn’t approval. A message can be used on air only if itson_air_consent is true: show the fan a separate box for it, unticked to start with.
List the fan’s messages to show what happened to each one:
Read them when the Fan Voice opens on screen, and every 30 seconds while any are waiting for your team. Fans can’t ask for a decision to be reviewed.

