Skip to main content
POST

Authorizations

x-api-key
string
header
required

Your organisation's API key, supplied by Dizplai. Send it on every request. It isn't a secret, so it can ship in your app: what a fan does is protected by the fan's token.

Authorization
string
header
required

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

Idempotency-Key
string<uuid>
required

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

fan_voice_id
string<uuid>
required

The Fan Voice's ID, from a list of experiences or Fan Voices. A Fan Voice's ID, a UUID.

Example:

"0192fa7b-a1a5-7ae6-8820-782ce84e0f49"

Body

application/json

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.

text
string
required

The message, up to the Fan Voice's limits.max_text_length.

Required string length: 1 - 500
kind
enum<string>
default:text
Available options:
text

True only if the fan ticked a separate box, unticked by default, agreeing to their message being used on air. Without it, only your team sees it.

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.

The message was received, and waits for review.

message_id
string<uuid>
required

A Fan Voice message's ID, a UUID.

status
enum<string>
required

Received, waiting for your team to review it. Sending isn't approval.

Available options:
sent