List demos
GET
/api/v1/demos
Authentication
Bearer Token API Key (cookie: better-auth.session_token)
Query Parameters
project_id
string
optional
query
status
string
optional
query
Responses
200
Demo list
application/jsondemos
object[]
REQUIRED
Array of:
id
string
REQUIRED
project_id
string
REQUIRED
prompt
string
REQUIRED
status
string
REQUIRED
title
string | null
REQUIRED
action_script
string | null
REQUIRED
JSON-encoded recorder script. Present after planning succeeds.
ai_plan
string | null
REQUIRED
JSON-encoded action plan generated by AI.
snapshots
string | null
REQUIRED
JSON-encoded snapshot metadata array.
video_key
string | null
REQUIRED
gif_key
string | null
REQUIRED
thumbnail_key
string | null
REQUIRED
duration_ms
number | null
REQUIRED
recording_log
string | null
REQUIRED
JSON-encoded per-step recorder execution log.
format
string
REQUIRED
resolution
string
REQUIRED
duration_target
string | null
REQUIRED
context
string | null
REQUIRED
context_hash
string | null
presentation
string | null
REQUIRED
JSON-encoded presentation config, including recordingTemplate metadata.
recorder_variants
string | null
JSON-encoded recorder variant status map.
version
number
REQUIRED
error
string | null
REQUIRED
source
string
How the video was produced: 'generated' (AI pipeline) or 'upload' (locally recorded, uploaded). Uploaded demos cannot be refreshed or restyled.
Enum:
generated, uploadcreated_at
string
REQUIRED
updated_at
string
REQUIRED
refreshed_at
string | null
curl -X GET 'https://littledemo.com/api/v1/demos' \ -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://littledemo.com/api/v1/demos', { method: 'GET', headers: { "Authorization": "Bearer YOUR_API_TOKEN" }});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://littledemo.com/api/v1/demos', headers=headers)print(response.json())
200
Response
{ "demos": [ { "id": "<string>", "project_id": "<string>", "prompt": "<string>", "status": "<string>", "title": "<string>", "action_script": "<string>", "ai_plan": "<string>", "snapshots": "<string>", "video_key": "<string>", "gif_key": "<string>", "thumbnail_key": "<string>", "duration_ms": 123, "recording_log": "<string>", "format": "<string>", "resolution": "<string>", "duration_target": "<string>", "context": "<string>", "context_hash": "<string>", "presentation": "<string>", "recorder_variants": "<string>", "version": 123, "error": "<string>", "source": "generated", "created_at": "<string>", "updated_at": "<string>", "refreshed_at": "<string>" } ]}
API Playground
Try this endpoint
GET
/api/v1/demos