---
title: "Add a watcher to a ticket — the address must belong to an org member (any org member)"
method: POST
path: "/v1/orgs/{org_id}/tickets/{reference}/watchers"
tags: ["tickets"]
---

# Add a watcher to a ticket — the address must belong to an org member (any org member)

`POST /v1/orgs/{org_id}/tickets/{reference}/watchers`

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/orgs/{org_id}/tickets/{reference}/watchers`
- Auth: one of:
  - API key in cookie `whc_session`
  - HTTP bearer
  - API key in header `X-API-Key`

## Path parameters

- `org_id` string, required
- `reference` string, required

## Headers

- `Idempotency-Key` string: A unique value you choose per logical request (a random UUID). A retry with the same key and the same request within 24 hours returns the first response, marked Idempotency-Replayed: true, instead of acting twice. The same key with a different request is refused with 422; one sent while the first is still running gets 409.

## Request body

- WatchTicketInput
  - `email` string, required: an existing org member's email

## Response `201`

Created

- WatchersOutput
  - `watchers` TicketParticipantView[], required
    - `email` string, required
    - `notify` boolean, required
    - `role` string, required: reporter | watcher

## Other responses

- `429`: Rate limited, per client IP, API key or org; a client IP is also refused on every route for a while after repeated authentication failures. A limited operation carries RateLimit-Policy and RateLimit on every response; wait Retry-After seconds before retrying.
- `default`: Error

---

[API](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api.md) · [All operations](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api/revisions/adea029bf505?raw)
