sparka home

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