---
title: "Start five free animal photo questions."
method: POST
path: "/quiz/rounds"
---

# Start five free animal photo questions.

`POST /quiz/rounds`

## Request

- Base URL: `https://animalchecklist.com/api/v1`
- URL: `https://animalchecklist.com/api/v1/quiz/rounds`
- Auth: none required

Same-origin only. Send the session cookie and X-Account-Id to bind a signed-in round. Guests need neither. Four choices share a catalog group. Easy uses familiar species. Standard uses shared traits. Hard uses one genus.

## Query parameters

- `lang` 'en' | 'de' | 'es' | 'fr' | 'it' | 'nl' | 'pt' | 'pl': Display language of `name`, category labels and the summary. Falls back to `en`.

## Headers

- `X-Account-Id` string, uuid

## Request body

- object
  - `difficulty` 'easy' | 'standard' | 'hard', required

## Response `201`

Round, first question and bearer secret. No-store.

- object
  - `data` QuizState, required
    - `id` string, uuid, required
    - `difficulty` 'easy' | 'standard' | 'hard', required
    - `answered` integer, required
    - `token` string: Round bearer secret. Returned only at creation.
    - `question` object
      - `index` integer, required
      - `group` string, required
      - `points` 10 | 20 | 30, required
      - `photo` object, required: Opaque photo URL. Attribution is returned only after an answer.
        - `url` string, required
      - `choices` object[], required
        - `id` string, uuid, required
        - `name` string, required
        - `nameEn` string, required
        - `nameDe` string, required
        - `nameSci` string, required
    - `receipt` object
      - `id` string, uuid, required
      - `token` string, required
      - `difficulty` 'easy' | 'standard' | 'hard', required
      - `points` integer, required
      - `correct` integer, required
      - `completedAt` integer, required: Unix time in milliseconds.
      - `awards` object[], required
        - `animalId` string, required: Slug of the animal taxon, for example `red-fox`.
        - `difficulty` 'easy' | 'standard' | 'hard', required
        - `points` integer, required
    - `accountScore` object
      - `points` integer, required
      - `earnedPoints` integer
    - `answer` object
      - `correct` boolean, required
      - `correctChoiceId` string, required
      - `name` string, required
      - `photo` object, required: Photo credit. Check the licence and source before reuse.
        - `url` string, uri, required
        - `sourceUrl` string, uri, required: Page to link when you show it.
        - `license` 'CC0' | 'Public domain' | 'Pexels License' | 'Pixabay Content License', required
        - `licenseUrl` string, uri: Licence terms or public-domain status guidance.
        - `author` string, required: Credited author. Empty when the source gives no name.
        - `source` 'inaturalist' | 'commons' | 'gbif' | 'pexels' | 'pixabay', required: Photo source.

## Other responses

- `400`: Invalid input.
- `401`: Sign-in required.
- `403`: A same-origin request is required.
- `404`: Round unavailable or bearer secret incorrect.
- `409`: The round belongs to another account, or this answer conflicts with its saved state.
- `410`: An unfinished round expired after seven days.
- `429`: Rate limited.
- `500`: Unexpected error.
- `503`: The catalog photo or eligible species are unavailable.

---

[API](https://skmtc.dev/animalchecklist/apis/animal-checklist-api.md) · [All operations](https://skmtc.dev/animalchecklist/apis/animal-checklist-api/llms.txt) · [OpenAPI document](https://skmtc.dev/animalchecklist/apis/animal-checklist-api/revisions/0910760ad25b?raw)
