curl --request POST \
--url https://api.dizplai.com/v1/fan-voices/{fan_voice_id}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"kind": "text",
"text": "Brilliant second half. Keep pressing!",
"on_air_consent": true
}
'{
"message_id": "0192fa8a-0ae4-728d-a8ba-cafc119ba65f",
"status": "sent"
}Send a message
Sends a fan’s message to your team, as text, a voice note or a photo. Your team reviews every message, and other fans never see it. Send a new Idempotency-Key with each message, so a retry never sends it twice.
curl --request POST \
--url https://api.dizplai.com/v1/fan-voices/{fan_voice_id}/messages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"kind": "text",
"text": "Brilliant second half. Keep pressing!",
"on_air_consent": true
}
'{
"message_id": "0192fa8a-0ae4-728d-a8ba-cafc119ba65f",
"status": "sent"
}Authorizations
The fan's token from your own login, sent as Authorization: Bearer <token>: a signed-in fan's or a guest's. Dizplai checks it against your login's details, agreed when you're set up, and a guest's token carries the guest claim agreed at the same time. Needed to vote, upload, send a message, and read the fan's own vote or messages.
Headers
Required. A new UUID for each message, whether text, a voice note or a photo. Keys are kept for each fan for 24 hours: the same key and body from the same fan answers as the first time, so a retry never sends a message twice; with a different body, 409 (idempotency_conflict).
Path Parameters
Body
- Text
- Voice note
- Photo
The fan's message: text, a voice note or a photo, as the Fan Voice's kinds allow. For a voice note or photo, upload the file first with POST /fan-voices/{fan_voice_id}/uploads, then name it here by its upload_id.
Response
Sent, waiting for review. Sending isn't approval: show the fan what happens to it with List the fan's messages. It counts towards the fan's limit for its kind, approved or not.

