---
title: "Organize a conversation: archive, unarchive, label (e.g. 'Hot Lead'), snooze (max 200/day). snooze requires snooze_until"
method: POST
path: "/api/v1/inbox/conversations/{chat_id}/organize"
tags: ["inbox"]
---

# Organize a conversation: archive, unarchive, label (e.g. 'Hot Lead'), snooze (max 200/day). snooze requires snooze_until

`POST /api/v1/inbox/conversations/{chat_id}/organize`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/inbox/conversations/{chat_id}/organize`
- Auth: HTTP bearer

## Path parameters

- `chat_id` string, required

## Request body

- object
  - `action` 'archive' | 'unarchive' | 'label' | 'unlabel' | 'snooze' | 'smart_archive', required: What to do: archive | unarchive | label | unlabel | snooze | smart_archive
  - `label` string: Label text for label/unlabel actions (e.g. 'Hot Lead', 'Client'). Required for label and unlabel actions.
  - `snooze_until` string: ISO 8601 datetime when to resurface (e.g. '2026-04-16T09:00:00Z'). Required for snooze action. Must be in the future.
  - `note` string: Optional note for snooze action (e.g. 'Follow up on proposal'). Not sent — just for your reference.
  - `return_on_reply` boolean: For smart_archive: if true (default), conversation auto-returns when other person replies.

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
