Quickstart
Five steps from nothing to a finished live session. You need curl and a
Sparka account.
1. Create a secret key
Sign in, open your account page and create a key.
It starts with spk_live_ and is shown once. Keep it in an environment
variable, not in a file you share:
export SPARKA_KEY=spk_live_...
2. Save a presentation
A presentation is a title, optional settings and up to 50 questions.
curl https://sparka.io/v1/presentations \
-H "Authorization: Bearer $SPARKA_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Team sync",
"questions": [
{ "id": "mood", "type": "word_cloud", "prompt": "One word for this week?" },
{ "id": "focus", "type": "poll", "prompt": "What should we fix first?",
"options": ["Onboarding", "Search", "Docs"] },
{ "id": "launch", "type": "quiz", "prompt": "Which month did we launch?",
"options": ["March", "April", "May"], "correct": 1 }
]
}'
The response has a presentation_id (pr_…). Problems come back all at once
in error.details; see Errors.
3. Start a live session
The presentation ID is all a deck needs to start a session. No key is sent:
curl -X POST https://sparka.io/v1/presentations/pr_.../sessions
The response has the pin, the join_url, a QR code (qr_svg), and a
control_token that drives the session. Calling it again returns the same
session.
4. Join
Open the join_url on a phone, or go to https://sparka.io/j and type the
PIN. A deck built with the deck guide moves the room from
question to question and reveals answers.
5. Read the results
curl https://sparka.io/v1/sessions/ses_.../results \
-H "Authorization: Bearer $SPARKA_KEY"
End the session with POST /v1/sessions/ses_.../end, or let it end on its
own after two hours without activity.
Next
- Authentication: keys, tokens and MCP sign-in.
- API reference: every endpoint.
- Question types: every field of
poll,quizandword_cloud.