curl --request GET \
--url https://api.dizplai.com/v1/experiences/{experience_id} \
--header 'Authorization: Bearer <token>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.dizplai.com/v1/experiences/{experience_id}"
headers = {
"x-api-key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://api.dizplai.com/v1/experiences/{experience_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dizplai.com/v1/experiences/{experience_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dizplai.com/v1/experiences/{experience_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.dizplai.com/v1/experiences/{experience_id}")
.header("x-api-key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dizplai.com/v1/experiences/{experience_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "exp_01JBX7Q2T8M4K9R6V3N5P0WZCD",
"name": "Hartley Town v Riverside",
"status": "live",
"qr_image_url": null,
"starts_at": "2026-11-21T19:45:00Z",
"ends_at": null,
"metadata": {
"event_id": "ev_2041",
"round": "QF"
},
"locale": "en-GB",
"items": [
{
"id": "pol_01JBX7Q3A1B2C3D4E5F6G7H8J9",
"type": "poll",
"name": "Player of the match",
"experience_id": "exp_01JBX7Q2T8M4K9R6V3N5P0WZCD",
"status": "live",
"starts_at": null,
"ends_at": null,
"metadata": {
"event_id": "ev_2041"
},
"api_version": 1,
"created_at": "2026-11-20T15:02:11Z",
"updated_at": "2026-11-21T20:41:07Z",
"results_visibility": "after_vote",
"requires_sign_in": false,
"question": "Who was your player of the match?",
"options": [
{
"id": "opt_01M7WQND9RKTH6WF72R2VFKZ1S",
"label": "Jordan Mensah",
"votes": 2105,
"percent": 50
},
{
"id": "opt_01M7WQNDD71FCAQ370M9XTD2GA",
"label": "Kai Brennan",
"votes": 1263,
"percent": 30
},
{
"id": "opt_01M7WQNDECMSCTEM2HRAJT61R8",
"label": "Amara Osei",
"votes": 842,
"percent": 20
}
],
"total_votes": 4210,
"final": false
}
],
"created_at": "2026-11-20T15:02:11Z",
"updated_at": "2026-11-21T20:41:07Z"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}Get one experience
curl --request GET \
--url https://api.dizplai.com/v1/experiences/{experience_id} \
--header 'Authorization: Bearer <token>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.dizplai.com/v1/experiences/{experience_id}"
headers = {
"x-api-key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://api.dizplai.com/v1/experiences/{experience_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dizplai.com/v1/experiences/{experience_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.dizplai.com/v1/experiences/{experience_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.dizplai.com/v1/experiences/{experience_id}")
.header("x-api-key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dizplai.com/v1/experiences/{experience_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "exp_01JBX7Q2T8M4K9R6V3N5P0WZCD",
"name": "Hartley Town v Riverside",
"status": "live",
"qr_image_url": null,
"starts_at": "2026-11-21T19:45:00Z",
"ends_at": null,
"metadata": {
"event_id": "ev_2041",
"round": "QF"
},
"locale": "en-GB",
"items": [
{
"id": "pol_01JBX7Q3A1B2C3D4E5F6G7H8J9",
"type": "poll",
"name": "Player of the match",
"experience_id": "exp_01JBX7Q2T8M4K9R6V3N5P0WZCD",
"status": "live",
"starts_at": null,
"ends_at": null,
"metadata": {
"event_id": "ev_2041"
},
"api_version": 1,
"created_at": "2026-11-20T15:02:11Z",
"updated_at": "2026-11-21T20:41:07Z",
"results_visibility": "after_vote",
"requires_sign_in": false,
"question": "Who was your player of the match?",
"options": [
{
"id": "opt_01M7WQND9RKTH6WF72R2VFKZ1S",
"label": "Jordan Mensah",
"votes": 2105,
"percent": 50
},
{
"id": "opt_01M7WQNDD71FCAQ370M9XTD2GA",
"label": "Kai Brennan",
"votes": 1263,
"percent": 30
},
{
"id": "opt_01M7WQNDECMSCTEM2HRAJT61R8",
"label": "Amara Osei",
"votes": 842,
"percent": 20
}
],
"total_votes": 4210,
"final": false
}
],
"created_at": "2026-11-20T15:02:11Z",
"updated_at": "2026-11-21T20:41:07Z"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"request_id": "<string>",
"detail": "<string>",
"errors": [
{
"pointer": "<string>",
"message": "<string>"
}
]
}Authorizations
Which app is calling, and its usage plan: a platform's secret key, from servers only, or an app's publishable key (pk_live_...), safe in app code. It identifies the app and grants nothing on its own.
A platform's short-lived issuer token, for the same client as the key.
Path Parameters
^exp_[0-9A-HJKMNP-TV-Z]{26}$"exp_01JBX7Q2T8M4K9R6V3N5P0WZCD"
Query Parameters
Filters the items returned. Every status but deleted by default.
Response
The experience, any status including deleted.
^exp_[0-9A-HJKMNP-TV-Z]{26}$"exp_01JBX7Q2T8M4K9R6V3N5P0WZCD"
Worked out from its items: live if any item is, else hidden, else closed.
scheduled, live, hidden, closed, deleted The experience's QR code.
Free-form tags: up to 50 keys of up to 40 characters, values up to 500. One reserved key, event_id: the event the item is about. Every other key is yours, and never interpreted.
Show child attributes
Show child attributes
Every item, types mixed, in display order, results included.
Show child attributes
Show child attributes
RFC 3339, in UTC.
RFC 3339, in UTC.
A hub in a creator network: one creator's fan site, registered under the network's client ID. Present only in creator networks; a client without a network has no hub ID.
^hub_[0-9A-HJKMNP-TV-Z]{26}$
