---
title: "Admin Add Thread Participant"
method: POST
path: "/v1/admin/threads/{thread_id}/participants"
tags: ["admin"]
---

# Admin Add Thread Participant

`POST /v1/admin/threads/{thread_id}/participants`

## Request

- Base URL: `https://www.tandem-cc.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.tandem-cc.com/v1/admin/threads/{thread_id}/participants`
- Auth: none declared

Add a handle as a participant to an existing thread.

Use case: surface a thread in someone's inbox without rewriting the
message history. The original messages stay immutable; the new
participant gains read/reply visibility going forward. Brian m_…
2026-04-30 — adding himself to threads Leslie originated to Joe so
he can engage without tampering with the audit trail (Concept 1
integrity preserved).

Body:
  {
    "handle": "brian@tandem-cc.com",        # required
    "role":   "participant",            # optional, default "participant"
    "added_by": "brian@tandem-cc.com"       # optional, defaults to handle (self-add)
  }

Idempotent — ON CONFLICT DO NOTHING.

## Path parameters

- `thread_id` string, required

## Headers

- `X-Tandem-Api-Key` string, nullable

## Request body

- object

## Response `201`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tandem-cc/apis/tandem-api.md) · [All operations](https://skmtc.dev/tandem-cc/apis/tandem-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tandem-cc/apis/tandem-api/revisions/3b804877b47c?raw)
