# Retrieve a topic

Source: https://kirora.io/docs/api/reference/getTopic

`GET /v1/topics/{id}`

Requires an API key with the `topics:read` scope. [About keys and scopes](https://kirora.io/docs/api/reference/authentication)

Works with integration, agent and partner keys.

Returns one topic by id.

## Path parameters

- `id` (string, required, uuid) — The topic's id.

## Header parameters

- `Kirora-Workspace` (string, optional, pattern `^[A-Za-z0-9._:-]{1,128}$`) — Partner keys only: the child workspace to act in, by the external id the partner gave it. Without it, a partner key acts in its own workspace. Any other key that sends it is refused with 403, and an unknown workspace is 404.

## Returns

Returns `200 OK` with a `Topic` in `data`. Otherwise returns an error; [Errors](https://kirora.io/docs/api/reference/errors) lists every code and which to retry.

- `id` (string, required, uuid)
- `name` (string, required)
- `description` (string | null, required)
- `mode` (string, required, one of `opt_out`, `opt_in`) — `opt_out` reaches everyone who has not left; `opt_in` only those who joined.
- `createdAt` (string, required, date-time)
- `updatedAt` (string, required, date-time)
- `counts` (object, required) — Counted now, as the topic rule without `channel` reads it; a contact's channel choice can still differ on that channel.
  - `in` (integer, required, min 0) — Contacts the topic reaches topic-wide: for `opt_out` everyone who has not left, for `opt_in` those who joined.
  - `left` (integer, required, min 0) — Contacts who left the topic.

## Example

```bash
curl https://api.kirora.io/v1/topics/018f2a4e-6b1c-7d3e-9f40-37386ae05a6b \
  -H "Authorization: Bearer $KIRORA_API_KEY"
```

Response `200`:

```json
{
  "data": {
    "id": "0192f3b0-6a1b-7c2d-8e3f-4a5b6c7d8e9f",
    "name": "Weekly offers",
    "description": "Discounts and bundles, once a week",
    "mode": "opt_out",
    "createdAt": "2026-09-01T10:00:00.000Z",
    "updatedAt": "2026-09-01T10:00:00.000Z",
    "counts": {
      "in": 11842,
      "left": 316
    }
  }
}
```
