# /inbox

6 routes.

## GET /v1/inbox

List inbox items

**Scopes** — `inbox:read`

**Query**

| parameter | type | | limit |
|---|---|---|---|
| `limit` | integer | optional | max 200 |
| `cursor` | string | optional | max 4096 chars |
| `updated_since` | string | optional | max 24 chars |
| `status` | `open` · `archived` · `someday` · `moved` | optional | — |
| `kind` | `text` · `url` · `file` · `image` | optional | — |

**Errors** — [account_too_large](/errors/account_too_large) · [unauthorized](/errors/unauthorized) · [rate_limited](/errors/rate_limited)

## POST /v1/inbox

Capture text or a URL (the API fetches the title)

**Scopes** — `inbox:write`

**Request body**

| field | type | | limit |
|---|---|---|---|
| `kind` | `text` · `url` | required | — |
| `text` | string | optional | max 2048 chars |
| `url` | string | optional | max 2048 chars |
| `whenDate` | string | optional | max 10 chars, — |
| `id` | string | optional | max 64 chars |

**Errors** — [validation_failed](/errors/validation_failed) · [duplicate_id](/errors/duplicate_id) · [conflict](/errors/conflict) · [unauthorized](/errors/unauthorized) · [rate_limited](/errors/rate_limited)

## GET /v1/inbox/{id}

One inbox item

**Scopes** — `inbox:read`

**Errors** — [unauthorized](/errors/unauthorized) · [rate_limited](/errors/rate_limited)

## POST /v1/inbox/{id}/move

Sort an item onto a container

**Scopes** — `inbox:write`, `todos:write`

**Request body**

| field | type | | limit |
|---|---|---|---|
| `parentId` | string | optional | max 64 chars, — |

**Errors** — [unauthorized](/errors/unauthorized) · [rate_limited](/errors/rate_limited)

## POST /v1/inbox/{id}/archive

Archive an item

**Scopes** — `inbox:write`

**Errors** — [unauthorized](/errors/unauthorized) · [rate_limited](/errors/rate_limited)

## POST /v1/inbox/{id}/someday

Park an item

**Scopes** — `inbox:write`

**Errors** — [unauthorized](/errors/unauthorized) · [rate_limited](/errors/rate_limited)
