---
title: "Run a live quiz: start, reveal, next question, finish, or pause/resume its clock"
method: POST
path: "/api/admin/{slug}/host"
---

# Run a live quiz: start, reveal, next question, finish, or pause/resume its clock

`POST /api/admin/{slug}/host`

## Request

- Base URL: `https://qrvote.org`
- URL: `https://qrvote.org/api/admin/{slug}/host`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://qrvote.org/authorize`, token URL `https://qrvote.org/oauth/token`, scopes: `read`, `manage`)

For quizzes with host = true. Body: { action: 'start' | 'reveal' | 'next' | 'finish' | 'pause' | 'resume' }. Steps must follow lobby → question → reveal → question … → done; anything else is 409. With hostSecs > 0 the quiz also moves on by itself (each question hostSecs seconds, each answer shown 8 s); pause/resume stop and restart that clock, and a step by hand restarts it.

## Path parameters

- `slug` string, required

## Request body

- object
  - `action` 'start' | 'reveal' | 'next' | 'finish' | 'pause' | 'resume', required

## Response `200`

OK

- object

---

[API](https://skmtc.dev/qrvote/apis/qrvote-api.md) · [All operations](https://skmtc.dev/qrvote/apis/qrvote-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qrvote/apis/qrvote-api/revisions/4b67158991e0?raw)
