---
title: "Create a todo"
method: POST
path: "/api/v2/todos"
tags: ["Todos"]
---

# Create a todo

`POST /api/v2/todos`

Creates a todo on either a task or a deal — provide the `description` and one of `task_id` or `deal_id`. Optionally set `assignee_id` and `closed`.

`due_date` applies only to **deal todos**.

### Task todo
```json
{
  "data": {
    "type": "todos",
    "attributes": {
      "description": "Review the design draft",
      "task_id": 4421188,
      "assignee_id": 314
    }
  }
}
```

### Deal todo
```json
{
  "data": {
    "type": "todos",
    "attributes": {
      "description": "Follow up on contract terms",
      "deal_id": 88401,
      "assignee_id": 314,
      "due_date": "2026-06-01"
    }
  }
}
```

## Headers

- `X-Organization-Id` string, required

## Response `201`

Single todo

## Other responses

- `403` — Forbidden
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/productive/apis/api-documentation.md) · [All operations](https://skmtc.net/productive/apis/api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/productive/api-documentation/versions/6bb0150a5c5f/schema)
