---
title: "Reply on a ticket (any org member; reopens a resolved ticket)"
method: POST
path: "/v1/orgs/{org_id}/tickets/{reference}/messages"
tags: ["tickets"]
---

# Reply on a ticket (any org member; reopens a resolved ticket)

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

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/orgs/{org_id}/tickets/{reference}/messages`
- 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

- ReplyToTicketInput
  - `body` string, required: Markdown reply. Longer than the server's message bound is truncated.

## Response `201`

Created

- ReplyToTicketOutput
  - `message` TicketMessageView, required
    - `author_email` string
    - `author_kind` string, required: customer | operator | system
    - `body` string, required
    - `created_at` string, date-time, required
    - `message_id` string, required
  - `status` string, required: the ticket's status after this reply

## 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)
