> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hawkings.education/llms.txt
> Use this file to discover all available pages before exploring further.

# The Activity object

> Anything inside a lesson that the learner *does*. 22 types, one schema.

```json Example theme={null}
{
  "id": "act_01HX9N5AB3...",
  "object": "activity",
  "lesson_id": "lsn_01HX9...",
  "type": "quiz",
  "variant": "true_false",
  "title": "Quick check on the postulates",
  "description": "5 true/false items on the two postulates of SR.",
  "input": null,
  "questions": [
    { "id": "que_1", "prompt": "...", "type": "true_false", "correct_answer": true },
    { "id": "que_2", "prompt": "...", "type": "true_false", "correct_answer": false }
  ],
  "status": "ready",
  "ai_status": "ready",
  "evaluation": null,
  "evaluations": [],
  "created_at": "2026-05-10T12:34:56Z",
  "updated_at": "2026-05-10T12:34:56Z"
}
```

## Attributes

<ResponseField name="id" type="string">Prefix `act_`.</ResponseField>

<ResponseField name="lesson_id" type="string" />

<ResponseField name="type" type="enum">
  `quiz` | `flashcard` | `podcast` | `diagram` | `glossary` | `bibliography`
  \| `audio_resume` | `text_resume` | `expand` | `explain` | `explain_simple`
  \| `introduction` | `objective` | `regulation` | `remember` | `underline`
  \| `discover` | `application` | `practical` | `integrative` | `short_answer`.
</ResponseField>

<ResponseField name="variant" type="string | null">
  For `type: "quiz"`: `true_false` | `fill_blank` | `matching` | `grouping` |
  `element_order` | `open_ended` | `mixed`.
</ResponseField>

<ResponseField name="title" type="string" />

<ResponseField name="description" type="string | null" />

<ResponseField name="input" type="object | null">Source text or media that grounded the activity.</ResponseField>
<ResponseField name="questions" type="Question[]">Empty for non-question types.</ResponseField>
<ResponseField name="status" type="enum">`pending` | `ready` | `error`.</ResponseField>
<ResponseField name="ai_status" type="enum">`pending` | `ready` | `error` (generation status).</ResponseField>
