---
title: "Thread created"
method: POST
path: "thread.created"
---

# Thread created

`POST thread.created` (webhook)

Fires when a new thread is created for one of your users. Use this to keep your embedded thread list in sync without polling — fetch the thread via GET /v1/user/{userId}/threads/{threadId} for current state.

## Payload

- object
  - `type` 'thread.created', required
  - `data` object, required
    - `thread` object, required
      - `id` string, uuid, required: The thread ID
      - `user_id` string, uuid, required: The user ID that the thread belongs to. Not necessarily the same as the sender ID.
  - `id` string, uuid, required
  - `timestamp` string, date-time, required: datetime in ISO 8601 format

## Acknowledgement `200`

Return 200 if the webhook is accepted

## Other responses

- `429`: Return 429 to rate limit the webhook with a retry-after header. Max retry-after is 900 seconds (15 minutes) in the future.

---

[API](https://skmtc.dev/counselhealth/apis/counsel-api.md) - [All operations](https://skmtc.dev/counselhealth/apis/counsel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/counselhealth/apis/counsel-api/revisions/4110a89127e8?raw)
