---
title: "Create Todo"
method: POST
path: "/todos/{child_id}"
tags: ["todos"]
---

# Create Todo

`POST /todos/{child_id}`

## Request

- Base URL: `https://api.projectindi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.projectindi.com/todos/{child_id}`
- Auth: none declared

Create a new todo for a child.

Authentication: JWT required
RLS: User must own the child

## Path parameters

- `child_id` string, required

## Request body

- CreateTodoRequest
  - `title` string, required
  - `detail` string, nullable
  - `assigned_to` string, nullable
  - `due_date` string, nullable
  - `due_option` 'asap' | 'this_month' | 'next_3_months', nullable

## Response `200`

Successful Response

- TodoResponse
  - `id` string, required
  - `child_id` string, required
  - `title` string, required
  - `detail` string, nullable, required
  - `completed` boolean, required
  - `created_by` string, required
  - `created_by_type` string
  - `created_by_name` string
  - `assigned_to` string, nullable, required
  - `assigned_to_name` string, nullable
  - `due_date` string, nullable, required
  - `due_option` string, nullable
  - `created_at` string, required
  - `updated_at` string, required
  - `completed_at` string, nullable, required
  - `last_modified_by` string, nullable
  - `last_modified_by_type` string, nullable
  - `last_modified_by_name` string, nullable
  - `is_deleted` boolean
  - `deleted_at` string, nullable
  - `deleted_by` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles.md) - [All operations](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/llms.txt) - [OpenAPI document](https://skmtc.dev/projectindi/apis/indi-agent-api-first-principles/revisions/25a7813e21fd?raw)
