---
title: "Add participants to an agent thread"
method: POST
path: "/api/agent-threads/{threadId}/participants"
tags: ["Agent Threads"]
---

# Add participants to an agent thread

`POST /api/agent-threads/{threadId}/participants`

## Request

- The document declares no server URL.
- Auth: one of:
  - API key in header `x-sixb-csrf`
  - HTTP bearer

Only the thread's owner adds participants: active users of the project, by id or by email. They read the whole conversation, its files and its live stream, and send messages that run with their own rights. Nothing checks what they may see: the conversation holds what the Agent read with the rights of whoever asked.

## Path parameters

- `threadId` string, required

## Request body

- object
  - `users` union[], required
    - union
      - object
        - `type` 'user', required
        - `id` string, required
      - object
        - `email` string, required

## Response `200`

Response for status 200

- object
  - `sandboxState` object
    - `name` string, required
    - `status` 'new' | 'busy' | 'ready' | 'blocked' | 'unavailable', required
    - `initialized` boolean, required
  - `id` string, required
  - `projectId` string, required
  - `ownerPrincipal` object, required
    - `type` 'user' | 'serviceAccount' | 'system', required
    - `id` string, required
  - `owner` object, required
    - `type` 'user' | 'serviceAccount' | 'system', required
    - `id` string, required
    - `displayName` string
  - `participants` object[], required
    - `principal` object, required
      - `type` 'user', required
      - `id` string, required
      - `displayName` string
    - `addedAt` string, required
    - `addedBy` object, required
      - `type` 'user' | 'serviceAccount' | 'system', required
      - `id` string, required
  - `title` string
  - `sandboxParams` object
  - `status` 'active' | 'archived', required
  - `activeRunId` string, nullable, required
  - `lastMessageAt` string
  - `messageCount` number, required
  - `createdAt` string, required
  - `updatedAt` string, required

## Other responses

- `400`: Response for status 400
- `403`: Response for status 403
- `404`: Response for status 404
- `501`: Response for status 501

## Changes

- **2026-10-20** `e7589d61175d`: 1 info
  - endpoint added
- **2026-10-20** `1c47601b37c0`: 1 breaking
  - api path removed without deprecation
- **2026-10-20** `ebeab1520daa`: 1 info
  - endpoint added
- **2026-10-14** `59a844bdcb75`: 1 breaking
  - api path removed without deprecation
- **2026-10-12** `25ac51b05541`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sixb-ai/apis/sixb-api/changes/api/agent-threads/:threadId/participants/post.md)

---

[API](https://skmtc.dev/sixb-ai/apis/sixb-api.md) - [All operations](https://skmtc.dev/sixb-ai/apis/sixb-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixb-ai/apis/sixb-api/revisions/a227d682eaa2?raw)
