{
"type": "https://api.dizplai.com/problems/unavailable",
"code": "unavailable",
"title": "Unavailable",
"status": 503,
"detail": "This can't be read right now. Retry after 5 seconds.",
"request_id": "01JBX8P2R4T6V8X0Z2B4D6F8H0"
}
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.
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"
Response
The Fan Voice.
A Fan Voice: a prompt fans reply to in their own words, with text, a voice note or a photo. Show the prompt and a message box, offer the kinds in kinds, and keep within limits. It has no results: fans see only their own messages.
id
string<uuid>
required
A Fan Voice's ID, a UUID.
Example:
"0192fa7b-a1a5-7ae6-8820-782ce84e0f49"
type
enum<string>
required
Tells Fan Voices apart from other experiences in a list.
Available options:
fan_voice
status
string
required
Whether fans can take part now. scheduled: coming up, and goes live at starts_at. live: taking votes or messages. closed: taking part has stopped; it can reopen. An experience your producers take down or delete drops out of lists, and getting it answers 404. More statuses may be added: treat one you don't know as closed to taking part.
starts_at
string<date-time> | null
required
When it's due to open. Null if your producers open it by hand.
ends_at
string<date-time> | null
required
When it's due to close. Null if no closing time is set.
metadata
object
required
Tags for finding and grouping things, such as the match or show they're about. Filter lists by them with metadata[key]=value. Up to 50 keys of up to 40 characters, values up to 500. One key is reserved, event_id, set by your producers; every other key is yours, and never interpreted.
Show child attributes
locale
string
required
The language the experience's text is written in, such as en-GB.
Maximum string length: 35
Pattern: ^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$
Example:
"en-GB"
created_at
string<date-time>
required
When the Fan Voice was created.
updated_at
string<date-time>
required
Changes when anything a fan can see changes.
requires_sign_in
boolean
required
True if only signed-in fans may take part: show a guest your sign-in prompt instead. A guest's vote or message here answers 403 (sign_in_required). Voice notes and photos are always for signed-in fans.
prompt
string
required
What fans are asked to reply to.
Required string length: 1 - 500
kinds
string[]
required
What fans may send: text, voice (voice notes) or image (photos). More kinds may be added: offer only the ones your app knows. Voice notes and photos are for signed-in fans only, with fixed limits: a voice note is audio/mp4 or audio/webm, up to 5 MB and 60 seconds; a photo is image/jpeg, image/png, image/heic or image/webp, up to 10 MB.
limits
object
required
max_text_length, 1 to 500, and per_fan, how many messages of each kind one fan may send, 1 to 100.
Show child attributes
placeholder
string
Hint text for the message box, such as Your message.
Maximum string length: 500
confirmation_message
string
What to show the fan once their message is sent.
Maximum string length: 500
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Dizplai API","colors":{"primary":"#A00066","light":"#FF10A8","dark":"#DC008C"},"logo":{"light":"https://mintcdn.com/dizplai-77024896/lmZzH95OOSORiYIT/logo/light.png?fit=max\u0026auto=format\u0026n=lmZzH95OOSORiYIT\u0026q=85\u0026s=7ba40c5f8a08a90459fbaced5737c13c","dark":"https://mintcdn.com/dizplai-77024896/lmZzH95OOSORiYIT/logo/dark.png?fit=max\u0026auto=format\u0026n=lmZzH95OOSORiYIT\u0026q=85\u0026s=8286d2098664f6af36a26a60667c4e0a"},"favicon":{"light":"https://mintcdn.com/dizplai-77024896/lmZzH95OOSORiYIT/favicon/light.png?fit=max\u0026auto=format\u0026n=lmZzH95OOSORiYIT\u0026q=85\u0026s=8f0db8c7cd1f3902780d7961ec3d1f13","dark":"https://mintcdn.com/dizplai-77024896/lmZzH95OOSORiYIT/favicon/dark.png?fit=max\u0026auto=format\u0026n=lmZzH95OOSORiYIT\u0026q=85\u0026s=5a704a691408bfbcc241ceb17472db24"},"appearance":{"default":"dark"},"background":{"decoration":"gradient","color":{"light":"#FAF4FF","dark":"#11061B"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/dizplai"}},"fonts":{"heading":{"family":"Outfit"},"body":{"family":"Outfit"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dizplai-77024896","hasAudioNarration":false,"actualSubdomain":"dizplai-77024896","customDomains":["developer.dizplai.com"],"gitSource":{"type":"github","owner":"dizplai","repo":"dizplai-platform","deployBranch":"api-docs-site","contentDirectory":"api-docs","isPrivate":true,"mountPath":"","label":"","_id":"6adb4bbb93b56c4f04aae929"},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af588fa55c1ebcca521ce1b","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API reference","count":15},{"language":"default","tag":"Experiences API","count":12},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Experiences","count":5},{"language":"default","tag":"Fan Voices","count":5},{"language":"default","tag":"Polls","count":4},{"language":"default","tag":"Using the API","count":3},{"language":"default","tag":"Introduction","count":2},{"language":"default","tag":"Collections","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/fan-voices/get-a-fan-voice","slug":"/api-reference/fan-voices/get-a-fan-voice","pageMetadata":{"title":"Get a Fan Voice","description":"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /fan-voices/{fan_voice_id}","href":"/api-reference/fan-voices/get-a-fan-voice","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get a Fan Voice","description":"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /fan-voices/{fan_voice_id}","href":"/api-reference/fan-voices/get-a-fan-voice","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Fan Voices"],"operationId":"getFanVoice","summary":"Get a Fan Voice","description":"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.","responses":{"200":"91da9ca2-96d1-4cee-9029-a51d06f8200b","401":"9d213346-d488-4fba-b232-e17864a80bc3","403":"e19657b5-b5e6-4d2e-8948-0b9666354beb","404":"87d7f240-6acd-43bc-a047-159d8df6fe62","429":"ce5a39d8-08a0-480e-9457-4f3fecd7b877","503":"e8062495-d260-4f51-a6f5-81a2d01705ed"},"method":"get","type":"path","servers":["8f572995-de18-42e6-9b79-a8b6680b8360"],"security":["cedc2567-5c5e-4b8e-8b1a-ed404edd7bf8"],"path":"/fan-voices/{fan_voice_id}","baseUrlOptions":["https://api.dizplai.com/v1"],"title":"Get a Fan Voice","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"5a3fd35d-06ec-429f-bf4e-99530cbcd55b":{"name":"fan_voice_id","in":"path","required":true,"description":"The Fan Voice's ID, from a list of experiences or Fan Voices.","schema":{"type":"string","description":"The Fan Voice's ID, from a list of experiences or Fan Voices.\nA Fan Voice's ID, a UUID.","format":"uuid","examples":["0192fa7b-a1a5-7ae6-8820-782ce84e0f49"],"isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"responses":{"91da9ca2-96d1-4cee-9029-a51d06f8200b":{"description":"The Fan Voice.","headers":{"x-request-id":{"description":"The request's ID. Quote it to support.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"title":"Fan Voice","type":"object","description":"A Fan Voice: a prompt fans reply to in their own words, with text, a voice note or a photo. Show the prompt and a message box, offer the kinds in kinds, and keep within limits. It has no results: fans see only their own messages.","required":["id","type","status","starts_at","ends_at","metadata","locale","created_at","updated_at","requires_sign_in","prompt","limits","kinds"],"properties":{"id":{"type":"string","description":"A Fan Voice's ID, a UUID.","format":"uuid","examples":["0192fa7b-a1a5-7ae6-8820-782ce84e0f49"],"isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"type":{"type":"string","enum":["fan_voice"],"description":"Tells Fan Voices apart from other experiences in a list.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","description":"Whether fans can take part now. scheduled: coming up, and goes live at starts_at. live: taking votes or messages. closed: taking part has stopped; it can reopen. An experience your producers take down or delete drops out of lists, and getting it answers 404. More statuses may be added: treat one you don't know as closed to taking part.","x-extensible-enum":["scheduled","live","closed"],"isRequired":true,"uniqueKey":"status","typeLabel":"string"},"starts_at":{"oneOf":[{"type":"string","format":"date-time","description":"When it's due to open. Null if your producers open it by hand.","isRequired":true,"uniqueKey":"starts_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When it's due to open. Null if your producers open it by hand.","isRequired":true,"uniqueKey":"starts_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"starts_at","typeLabel":"string\u003cdate-time> | null"},"ends_at":{"oneOf":[{"type":"string","format":"date-time","description":"When it's due to close. Null if no closing time is set.","isRequired":true,"uniqueKey":"ends_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When it's due to close. Null if no closing time is set.","isRequired":true,"uniqueKey":"ends_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"ends_at","typeLabel":"string\u003cdate-time> | null"},"metadata":{"type":"object","maxProperties":50,"propertyNames":{"maxLength":40},"additionalProperties":{"type":"string","maxLength":500,"uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"description":"Tags for finding and grouping things, such as the match or show they're about. Filter lists by them with `metadata[key]=value`. Up to 50 keys of up to 40 characters, values up to 500. One key is reserved, event_id, set by your producers; every other key is yours, and never interpreted.","properties":{"event_id":{"type":"string","maxLength":64,"description":"An ID for the match or show this is about, set by your producers. Reserved.","uniqueKey":"metadata.event_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"metadata","typeLabel":"object"},"locale":{"type":"string","maxLength":35,"pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$","examples":["en-GB"],"description":"The language the experience's text is written in, such as en-GB.","x-extensible-enum":["en-GB"],"isRequired":true,"uniqueKey":"locale","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"When the Fan Voice was created.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Changes when anything a fan can see changes.","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"requires_sign_in":{"type":"boolean","description":"True if only signed-in fans may take part: show a guest your sign-in prompt instead. A guest's vote or message here answers 403 (sign_in_required). Voice notes and photos are always for signed-in fans.","isRequired":true,"uniqueKey":"requires_sign_in","typeLabel":"boolean"},"prompt":{"type":"string","minLength":1,"maxLength":500,"description":"What fans are asked to reply to.","isRequired":true,"uniqueKey":"prompt","typeLabel":"string"},"kinds":{"type":"array","uniqueItems":true,"items":{"type":"string","x-extensible-enum":["text","voice","image"],"uniqueKey":"kinds.items.[INDEX]","typeLabel":"string"},"description":"What fans may send: text, voice (voice notes) or image (photos). More kinds may be added: offer only the ones your app knows. Voice notes and photos are for signed-in fans only, with fixed limits: a voice note is audio/mp4 or audio/webm, up to 5 MB and 60 seconds; a photo is image/jpeg, image/png, image/heic or image/webp, up to 10 MB.","isRequired":true,"uniqueKey":"kinds","typeLabel":"string[]"},"limits":{"type":"object","required":["max_text_length","per_fan"],"description":"`max_text_length`, 1 to 500, and `per_fan`, how many messages of each kind one fan may send, 1 to 100.","properties":{"max_text_length":{"type":"integer","description":"The longest text message, in characters.","minimum":1,"maximum":500,"default":500,"isRequired":true,"uniqueKey":"limits.max_text_length","typeLabel":"integer"},"per_fan":{"type":"object","additionalProperties":{"type":"integer","minimum":1,"maximum":100,"uniqueKey":"limits.per_fan.additionalProperties","typeLabel":"integer"},"description":"How many messages of each kind one fan may send to this Fan Voice, keyed by kind. Every message the fan sends counts, approved or not, and the count never resets, even if the Fan Voice reopens. To show what's left, count the fan's messages from `GET /fan-voices/{fan_voice_id}/messages/me`. More kinds may be added: ignore one you don't know.","properties":{"text":{"type":"integer","description":"Text messages each fan may send.","minimum":1,"maximum":100,"default":3,"uniqueKey":"limits.per_fan.text","typeLabel":"integer"},"voice":{"type":"integer","description":"Voice notes each fan may send.","minimum":1,"maximum":100,"default":1,"uniqueKey":"limits.per_fan.voice","typeLabel":"integer"},"image":{"type":"integer","description":"Photos each fan may send.","minimum":1,"maximum":100,"default":1,"uniqueKey":"limits.per_fan.image","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"limits.per_fan","typeLabel":"object"}},"isRequired":true,"uniqueKey":"limits","typeLabel":"object"},"placeholder":{"type":"string","description":"Hint text for the message box, such as Your message.","maxLength":500,"uniqueKey":"placeholder","typeLabel":"string"},"confirmation_message":{"type":"string","maxLength":500,"description":"What to show the fan once their message is sent.","uniqueKey":"confirmation_message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"Fan Voice · object"},"examples":{"example":{"title":"example","summary":"Fan Voice","value":{"id":"0192fa7b-a1a5-7ae6-8820-782ce84e0f49","type":"fan_voice","status":"live","starts_at":null,"ends_at":null,"metadata":{"event_id":"ev_2041"},"locale":"en-GB","created_at":"2026-11-20T15:02:11Z","updated_at":"2026-11-21T20:41:07Z","requires_sign_in":false,"prompt":"What's your message for the team?","placeholder":"Type your message","confirmation_message":"Thanks! Your message is with the team.","kinds":["text","voice","image"],"limits":{"max_text_length":280,"per_fan":{"text":3,"voice":1,"image":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"9d213346-d488-4fba-b232-e17864a80bc3":{"description":"A missing or invalid x-api-key (invalid_api_key). Don't retry: check the key.","headers":{"x-request-id":{"description":"The request's ID. Quote it to support.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"type":"object","required":["type","code","title","status","request_id"],"description":"What went wrong, in the same shape for every error: an RFC 9457 problem with a stable code. Act on code, which never changes meaning within a version, and on the HTTP status for a code you don't know. Quote request_id to support.","properties":{"type":{"type":"string","format":"uri-reference","description":"One URL per code: https://api.dizplai.com/problems/ followed by the code with hyphens, such as https://api.dizplai.com/problems/unknown-option for unknown_option.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"code":{"type":"string","x-extensible-enum":["invalid_request","unknown_option","not_open","media_not_accepted","invalid_upload","invalid_api_key","invalid_fan_token","forbidden","fan_blocked","sign_in_required","message_limit_reached","not_found","idempotency_conflict","rate_limited","unavailable"],"description":"More codes may be added: for one you don't know, act on the HTTP status.\n\n| code | Status | Retry? | Meaning |\n|---|---|---|---|\n| invalid_request | 400 | No | The body or a parameter is invalid, or a required header such as Idempotency-Key is missing. |\n| unknown_option | 400 | No; read the poll again | An option ID the poll doesn't have. |\n| not_open | 400 | No; read the experience again | The experience isn't taking votes or messages: it isn't live yet, or votes have stopped. |\n| media_not_accepted | 400 | No | The Fan Voice doesn't take this kind of message, or the file's type or size is outside the limits. |\n| invalid_upload | 400 | No; upload again | The upload_id is unknown, already used or another fan's, or the file was never uploaded or its type or size differs from what you asked for. |\n| invalid_api_key | 401 | No | A missing or invalid x-api-key. |\n| invalid_fan_token | 401 | Once, with a fresh token | A missing, invalid or expired fan token, or one from another organisation's login. It carries WWW-Authenticate. |\n| forbidden | 403 | No | Your API key isn't allowed to make this request. |\n| fan_blocked | 403 | No | The fan is blocked from this Fan Voice. |\n| sign_in_required | 403 | No; ask the fan to sign in | A guest on an experience that needs a signed-in fan, or a guest's voice note or photo. |\n| message_limit_reached | 403 | No | The fan has used up this Fan Voice's messages of this kind. |\n| not_found | 404 | No | Not found, or not yours. |\n| idempotency_conflict | 409 | No | An Idempotency-Key reused with a different body while it's kept: 24 hours, or 5 minutes for an upload. |\n| rate_limited | 429 | After Retry-After | Too many requests. |\n| unavailable | 503 | After Retry-After | Votes or messages can't be taken right now. |\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"title":{"type":"string","description":"A short title for the code, such as Not open. It doesn't change.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"request_id":{"type":"string","description":"Matches the x-request-id response header.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in plain English. It can change, so don't act on it.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, with invalid_request.","items":{"type":"object","required":["pointer","message"],"properties":{"pointer":{"type":"string","description":"A JSON Pointer to the field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"message":{"type":"string","description":"What's wrong with that field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalid_api_key":{"title":"invalid_api_key","summary":"invalid_api_key","value":{"type":"https://api.dizplai.com/problems/invalid-api-key","code":"invalid_api_key","title":"Invalid API key","status":401,"detail":"The x-api-key isn't recognised.","request_id":"01JBX8P2R4T6V8X0Z2B4D6F8H0"}}},"exampleType":"examples"}},"exampleType":"examples"},"e19657b5-b5e6-4d2e-8948-0b9666354beb":{"description":"Not allowed for this caller or origin (forbidden), such as a browser Origin your organisation hasn't registered, or a platform key sent from a browser. Retrying won't help: check the key and your registered origins.","headers":{"x-request-id":{"description":"The request's ID. Quote it to support.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"type":"object","required":["type","code","title","status","request_id"],"description":"What went wrong, in the same shape for every error: an RFC 9457 problem with a stable code. Act on code, which never changes meaning within a version, and on the HTTP status for a code you don't know. Quote request_id to support.","properties":{"type":{"type":"string","format":"uri-reference","description":"One URL per code: https://api.dizplai.com/problems/ followed by the code with hyphens, such as https://api.dizplai.com/problems/unknown-option for unknown_option.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"code":{"type":"string","x-extensible-enum":["invalid_request","unknown_option","not_open","media_not_accepted","invalid_upload","invalid_api_key","invalid_fan_token","forbidden","fan_blocked","sign_in_required","message_limit_reached","not_found","idempotency_conflict","rate_limited","unavailable"],"description":"More codes may be added: for one you don't know, act on the HTTP status.\n\n| code | Status | Retry? | Meaning |\n|---|---|---|---|\n| invalid_request | 400 | No | The body or a parameter is invalid, or a required header such as Idempotency-Key is missing. |\n| unknown_option | 400 | No; read the poll again | An option ID the poll doesn't have. |\n| not_open | 400 | No; read the experience again | The experience isn't taking votes or messages: it isn't live yet, or votes have stopped. |\n| media_not_accepted | 400 | No | The Fan Voice doesn't take this kind of message, or the file's type or size is outside the limits. |\n| invalid_upload | 400 | No; upload again | The upload_id is unknown, already used or another fan's, or the file was never uploaded or its type or size differs from what you asked for. |\n| invalid_api_key | 401 | No | A missing or invalid x-api-key. |\n| invalid_fan_token | 401 | Once, with a fresh token | A missing, invalid or expired fan token, or one from another organisation's login. It carries WWW-Authenticate. |\n| forbidden | 403 | No | Your API key isn't allowed to make this request. |\n| fan_blocked | 403 | No | The fan is blocked from this Fan Voice. |\n| sign_in_required | 403 | No; ask the fan to sign in | A guest on an experience that needs a signed-in fan, or a guest's voice note or photo. |\n| message_limit_reached | 403 | No | The fan has used up this Fan Voice's messages of this kind. |\n| not_found | 404 | No | Not found, or not yours. |\n| idempotency_conflict | 409 | No | An Idempotency-Key reused with a different body while it's kept: 24 hours, or 5 minutes for an upload. |\n| rate_limited | 429 | After Retry-After | Too many requests. |\n| unavailable | 503 | After Retry-After | Votes or messages can't be taken right now. |\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"title":{"type":"string","description":"A short title for the code, such as Not open. It doesn't change.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"request_id":{"type":"string","description":"Matches the x-request-id response header.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in plain English. It can change, so don't act on it.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, with invalid_request.","items":{"type":"object","required":["pointer","message"],"properties":{"pointer":{"type":"string","description":"A JSON Pointer to the field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"message":{"type":"string","description":"What's wrong with that field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"forbidden":{"title":"forbidden","summary":"forbidden","value":{"type":"https://api.dizplai.com/problems/forbidden","code":"forbidden","title":"Forbidden","status":403,"detail":"This origin isn't registered for this organisation.","request_id":"01JBX8P2R4T6V8X0Z2B4D6F8H0"}}},"exampleType":"examples"}},"exampleType":"examples"},"87d7f240-6acd-43bc-a047-159d8df6fe62":{"description":"The Fan Voice doesn't exist, isn't yours, or was taken down or deleted (not_found).","headers":{"x-request-id":{"description":"The request's ID. Quote it to support.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"type":"object","required":["type","code","title","status","request_id"],"description":"What went wrong, in the same shape for every error: an RFC 9457 problem with a stable code. Act on code, which never changes meaning within a version, and on the HTTP status for a code you don't know. Quote request_id to support.","properties":{"type":{"type":"string","format":"uri-reference","description":"One URL per code: https://api.dizplai.com/problems/ followed by the code with hyphens, such as https://api.dizplai.com/problems/unknown-option for unknown_option.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"code":{"type":"string","x-extensible-enum":["invalid_request","unknown_option","not_open","media_not_accepted","invalid_upload","invalid_api_key","invalid_fan_token","forbidden","fan_blocked","sign_in_required","message_limit_reached","not_found","idempotency_conflict","rate_limited","unavailable"],"description":"More codes may be added: for one you don't know, act on the HTTP status.\n\n| code | Status | Retry? | Meaning |\n|---|---|---|---|\n| invalid_request | 400 | No | The body or a parameter is invalid, or a required header such as Idempotency-Key is missing. |\n| unknown_option | 400 | No; read the poll again | An option ID the poll doesn't have. |\n| not_open | 400 | No; read the experience again | The experience isn't taking votes or messages: it isn't live yet, or votes have stopped. |\n| media_not_accepted | 400 | No | The Fan Voice doesn't take this kind of message, or the file's type or size is outside the limits. |\n| invalid_upload | 400 | No; upload again | The upload_id is unknown, already used or another fan's, or the file was never uploaded or its type or size differs from what you asked for. |\n| invalid_api_key | 401 | No | A missing or invalid x-api-key. |\n| invalid_fan_token | 401 | Once, with a fresh token | A missing, invalid or expired fan token, or one from another organisation's login. It carries WWW-Authenticate. |\n| forbidden | 403 | No | Your API key isn't allowed to make this request. |\n| fan_blocked | 403 | No | The fan is blocked from this Fan Voice. |\n| sign_in_required | 403 | No; ask the fan to sign in | A guest on an experience that needs a signed-in fan, or a guest's voice note or photo. |\n| message_limit_reached | 403 | No | The fan has used up this Fan Voice's messages of this kind. |\n| not_found | 404 | No | Not found, or not yours. |\n| idempotency_conflict | 409 | No | An Idempotency-Key reused with a different body while it's kept: 24 hours, or 5 minutes for an upload. |\n| rate_limited | 429 | After Retry-After | Too many requests. |\n| unavailable | 503 | After Retry-After | Votes or messages can't be taken right now. |\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"title":{"type":"string","description":"A short title for the code, such as Not open. It doesn't change.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"request_id":{"type":"string","description":"Matches the x-request-id response header.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in plain English. It can change, so don't act on it.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, with invalid_request.","items":{"type":"object","required":["pointer","message"],"properties":{"pointer":{"type":"string","description":"A JSON Pointer to the field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"message":{"type":"string","description":"What's wrong with that field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"not_found":{"title":"not_found","summary":"not_found","value":{"type":"https://api.dizplai.com/problems/not-found","code":"not_found","title":"Not found","status":404,"detail":"No such Fan Voice.","request_id":"01JBX8P2R4T6V8X0Z2B4D6F8H0"}}},"exampleType":"examples"}},"exampleType":"examples"},"ce5a39d8-08a0-480e-9457-4f3fecd7b877":{"description":"Too many requests (rate_limited). Wait the number of seconds in Retry-After, then retry.","headers":{"x-request-id":{"description":"The request's ID. Quote it to support.","schema":{"type":"string"}},"Retry-After":{"description":"How long to wait before retrying, as a whole number of seconds. Sent with every 429 and 503.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"type":"object","required":["type","code","title","status","request_id"],"description":"What went wrong, in the same shape for every error: an RFC 9457 problem with a stable code. Act on code, which never changes meaning within a version, and on the HTTP status for a code you don't know. Quote request_id to support.","properties":{"type":{"type":"string","format":"uri-reference","description":"One URL per code: https://api.dizplai.com/problems/ followed by the code with hyphens, such as https://api.dizplai.com/problems/unknown-option for unknown_option.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"code":{"type":"string","x-extensible-enum":["invalid_request","unknown_option","not_open","media_not_accepted","invalid_upload","invalid_api_key","invalid_fan_token","forbidden","fan_blocked","sign_in_required","message_limit_reached","not_found","idempotency_conflict","rate_limited","unavailable"],"description":"More codes may be added: for one you don't know, act on the HTTP status.\n\n| code | Status | Retry? | Meaning |\n|---|---|---|---|\n| invalid_request | 400 | No | The body or a parameter is invalid, or a required header such as Idempotency-Key is missing. |\n| unknown_option | 400 | No; read the poll again | An option ID the poll doesn't have. |\n| not_open | 400 | No; read the experience again | The experience isn't taking votes or messages: it isn't live yet, or votes have stopped. |\n| media_not_accepted | 400 | No | The Fan Voice doesn't take this kind of message, or the file's type or size is outside the limits. |\n| invalid_upload | 400 | No; upload again | The upload_id is unknown, already used or another fan's, or the file was never uploaded or its type or size differs from what you asked for. |\n| invalid_api_key | 401 | No | A missing or invalid x-api-key. |\n| invalid_fan_token | 401 | Once, with a fresh token | A missing, invalid or expired fan token, or one from another organisation's login. It carries WWW-Authenticate. |\n| forbidden | 403 | No | Your API key isn't allowed to make this request. |\n| fan_blocked | 403 | No | The fan is blocked from this Fan Voice. |\n| sign_in_required | 403 | No; ask the fan to sign in | A guest on an experience that needs a signed-in fan, or a guest's voice note or photo. |\n| message_limit_reached | 403 | No | The fan has used up this Fan Voice's messages of this kind. |\n| not_found | 404 | No | Not found, or not yours. |\n| idempotency_conflict | 409 | No | An Idempotency-Key reused with a different body while it's kept: 24 hours, or 5 minutes for an upload. |\n| rate_limited | 429 | After Retry-After | Too many requests. |\n| unavailable | 503 | After Retry-After | Votes or messages can't be taken right now. |\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"title":{"type":"string","description":"A short title for the code, such as Not open. It doesn't change.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"request_id":{"type":"string","description":"Matches the x-request-id response header.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in plain English. It can change, so don't act on it.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, with invalid_request.","items":{"type":"object","required":["pointer","message"],"properties":{"pointer":{"type":"string","description":"A JSON Pointer to the field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"message":{"type":"string","description":"What's wrong with that field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"rate_limited":{"title":"rate_limited","summary":"rate_limited","value":{"type":"https://api.dizplai.com/problems/rate-limited","code":"rate_limited","title":"Rate limited","status":429,"detail":"Too many requests. Retry after 2 seconds.","request_id":"01JBX8P2R4T6V8X0Z2B4D6F8H0"}}},"exampleType":"examples"}},"exampleType":"examples"},"e8062495-d260-4f51-a6f5-81a2d01705ed":{"description":"This can't be read right now (unavailable). Wait the number of seconds in Retry-After, then retry, and keep showing what you last read.","headers":{"x-request-id":{"description":"The request's ID. Quote it to support.","schema":{"type":"string"}},"Retry-After":{"description":"How long to wait before retrying, as a whole number of seconds. Sent with every 429 and 503.","schema":{"type":"integer","minimum":0}}},"content":{"application/problem+json":{"schema":{"type":"object","required":["type","code","title","status","request_id"],"description":"What went wrong, in the same shape for every error: an RFC 9457 problem with a stable code. Act on code, which never changes meaning within a version, and on the HTTP status for a code you don't know. Quote request_id to support.","properties":{"type":{"type":"string","format":"uri-reference","description":"One URL per code: https://api.dizplai.com/problems/ followed by the code with hyphens, such as https://api.dizplai.com/problems/unknown-option for unknown_option.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"code":{"type":"string","x-extensible-enum":["invalid_request","unknown_option","not_open","media_not_accepted","invalid_upload","invalid_api_key","invalid_fan_token","forbidden","fan_blocked","sign_in_required","message_limit_reached","not_found","idempotency_conflict","rate_limited","unavailable"],"description":"More codes may be added: for one you don't know, act on the HTTP status.\n\n| code | Status | Retry? | Meaning |\n|---|---|---|---|\n| invalid_request | 400 | No | The body or a parameter is invalid, or a required header such as Idempotency-Key is missing. |\n| unknown_option | 400 | No; read the poll again | An option ID the poll doesn't have. |\n| not_open | 400 | No; read the experience again | The experience isn't taking votes or messages: it isn't live yet, or votes have stopped. |\n| media_not_accepted | 400 | No | The Fan Voice doesn't take this kind of message, or the file's type or size is outside the limits. |\n| invalid_upload | 400 | No; upload again | The upload_id is unknown, already used or another fan's, or the file was never uploaded or its type or size differs from what you asked for. |\n| invalid_api_key | 401 | No | A missing or invalid x-api-key. |\n| invalid_fan_token | 401 | Once, with a fresh token | A missing, invalid or expired fan token, or one from another organisation's login. It carries WWW-Authenticate. |\n| forbidden | 403 | No | Your API key isn't allowed to make this request. |\n| fan_blocked | 403 | No | The fan is blocked from this Fan Voice. |\n| sign_in_required | 403 | No; ask the fan to sign in | A guest on an experience that needs a signed-in fan, or a guest's voice note or photo. |\n| message_limit_reached | 403 | No | The fan has used up this Fan Voice's messages of this kind. |\n| not_found | 404 | No | Not found, or not yours. |\n| idempotency_conflict | 409 | No | An Idempotency-Key reused with a different body while it's kept: 24 hours, or 5 minutes for an upload. |\n| rate_limited | 429 | After Retry-After | Too many requests. |\n| unavailable | 503 | After Retry-After | Votes or messages can't be taken right now. |\n","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"title":{"type":"string","description":"A short title for the code, such as Not open. It doesn't change.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"request_id":{"type":"string","description":"Matches the x-request-id response header.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in plain English. It can change, so don't act on it.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, with invalid_request.","items":{"type":"object","required":["pointer","message"],"properties":{"pointer":{"type":"string","description":"A JSON Pointer to the field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"message":{"type":"string","description":"What's wrong with that field.","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"unavailable":{"title":"unavailable","summary":"unavailable","value":{"type":"https://api.dizplai.com/problems/unavailable","code":"unavailable","title":"Unavailable","status":503,"detail":"This can't be read right now. Retry after 5 seconds.","request_id":"01JBX8P2R4T6V8X0Z2B4D6F8H0"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"cedc2567-5c5e-4b8e-8b1a-ed404edd7bf8":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"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.","scopes":[],"schemeName":"apiKey"}}},"servers":{"8f572995-de18-42e6-9b79-a8b6680b8360":{"url":"https://api.dizplai.com/v1","description":"The Dizplai API."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"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.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-api-key","type":"string","description":"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.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"}],"title":"apiKey"}]},"originalFileLocation":"experiences/api-reference/experiences.openapi.yaml"},"subdomain":"dizplai-77024896","siteName":"Dizplai API","title":"Get a Fan Voice - Dizplai API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T11:05:01.880Z","originalFileLocation":"api-reference/fan-voices/get-a-fan-voice.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dizplai API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get a Fan Voice - Dizplai API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dizplai API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dizplai-77024896.mintlify.site/_mintlify/api/og/v2?division=Fan+Voices\u0026amp;title=Get+a+Fan+Voice\u0026amp;description=Gets+a+Fan+Voice+with+its+prompt%2C+the+kinds+of+message+it+takes+and+how+many+each+fan+can+send%2C+to+draw+its+screen.\u0026amp;theme=4cfd1fb4fbf3ee8fe3fa75b7\u0026amp;signature=3dac9d7e4ec40a07fd9d2ee759465564b0f1caf9ec3a8c96ad05f417061d5ac8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get a Fan Voice - Dizplai API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dizplai-77024896.mintlify.site/_mintlify/api/og/v2?division=Fan+Voices\u0026amp;title=Get+a+Fan+Voice\u0026amp;description=Gets+a+Fan+Voice+with+its+prompt%2C+the+kinds+of+message+it+takes+and+how+many+each+fan+can+send%2C+to+draw+its+screen.\u0026amp;theme=4cfd1fb4fbf3ee8fe3fa75b7\u0026amp;signature=3dac9d7e4ec40a07fd9d2ee759465564b0f1caf9ec3a8c96ad05f417061d5ac8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dizplai-77024896/3nLUV7FzqdT27bAO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dizplai API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A00066\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/fan-voices/get-a-fan-voice.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.dizplai.com/#organization\",\"name\":\"Dizplai API\",\"url\":\"https://developer.dizplai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dizplai-77024896/lmZzH95OOSORiYIT/logo/light.png?fit=max\u0026auto=format\u0026n=lmZzH95OOSORiYIT\u0026q=85\u0026s=7ba40c5f8a08a90459fbaced5737c13c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.dizplai.com#website\",\"name\":\"Dizplai API\",\"url\":\"https://developer.dizplai.com\",\"publisher\":{\"@id\":\"https://developer.dizplai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice#webpage\",\"url\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice\",\"name\":\"Get a Fan Voice\",\"description\":\"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.\",\"dateModified\":\"2026-11-10T11:05:01.880Z\",\"isPartOf\":{\"@id\":\"https://developer.dizplai.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Experiences API\",\"item\":\"https://developer.dizplai.com/api-reference/experiences/list-experiences\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fan Voices\",\"item\":\"https://developer.dizplai.com/api-reference/fan-voices/list-fan-voices\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get a Fan Voice\",\"item\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice#apireference\",\"headline\":\"Get a Fan Voice\",\"name\":\"Get a Fan Voice\",\"description\":\"Gets a Fan Voice with its prompt, the kinds of message it takes and how many each fan can send, to draw its screen.\",\"url\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice\",\"mainEntityOfPage\":{\"@id\":\"https://developer.dizplai.com/api-reference/fan-voices/get-a-fan-voice#webpage\"},\"dateModified\":\"2026-11-10T11:05:01.880Z\",\"publisher\":{\"@id\":\"https://developer.dizplai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.dizplai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dizplai API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Dizplai API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/fan-voices/get-a-fan-voice.md","siteName":"Dizplai API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Using the API","pages":[{"title":"Authentication","href":"/authentication"},{"title":"Errors and retries","href":"/errors"},{"title":"Versions and changes","href":"/versioning"}]},{"group":"Experiences API","pages":[{"group":"Experiences","pages":[{"title":"List experiences","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /experiences","href":"/api-reference/experiences/list-experiences"}]},{"group":"Collections","pages":[{"title":"List collections","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /collections","href":"/api-reference/collections/list-collections"},{"title":"Get a collection","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /collections/{collection_id}","href":"/api-reference/collections/get-a-collection"}]},{"group":"Polls","pages":[{"title":"List polls","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /polls","href":"/api-reference/polls/list-polls"},{"title":"Get a poll","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /polls/{poll_id}","href":"/api-reference/polls/get-a-poll"},{"title":"Cast a vote","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml post /polls/{poll_id}/votes","href":"/api-reference/polls/cast-a-vote"},{"title":"Get the fan's vote","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /polls/{poll_id}/votes/me","href":"/api-reference/polls/get-the-fans-vote"}]},{"group":"Fan Voices","pages":[{"title":"List Fan Voices","description":"Lists Fan Voices only, for a screen that shows nothing else. To list polls and Fan Voices together, use List experiences.","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /fan-voices","href":"/api-reference/fan-voices/list-fan-voices"},{"title":"Get a Fan Voice","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /fan-voices/{fan_voice_id}","href":"/api-reference/fan-voices/get-a-fan-voice"},{"title":"Create an upload","description":"Creates an upload for a fan's voice note or photo, with a link to send the file to. It's the first step in sending one, before Send a message. Send a new Idempotency-Key with each upload, so a retry never creates a second one.","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml post /fan-voices/{fan_voice_id}/uploads","href":"/api-reference/fan-voices/create-an-upload"},{"title":"Send a message","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml post /fan-voices/{fan_voice_id}/messages","href":"/api-reference/fan-voices/send-a-message"},{"title":"List the fan's messages","deprecated":null,"version":null,"openapi":"/experiences/api-reference/experiences.openapi.yaml get /fan-voices/{fan_voice_id}/messages/me","href":"/api-reference/fan-voices/list-the-fans-messages"}]}]}]}]},"basePath":"","title":"Get a Fan Voice - Dizplai API","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}