:::endpoint GET /v1/admin/tickets/{ticket}/activity

The tab Activity of the website's Tickets screen: who opened the ticket, who
took it and passed it on, every change of subject, priority, status and tags,
and who ended it, newest first, up to sixty. The conversation itself is
[the other tab](/docs/api/admin/ticket-messages). What Propper's own staff did
is left out, as the Activity log leaves it out.

Needs a firm. Our own staff name one with the `Propper-Workspace` header.

## Request

```bash
curl "https://api.proppertrading.com/v1/admin/tickets/tkt_cbqjrnz84cq45ca7/activity" \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
  -H "Propper-Workspace: acme"
```

## Response

```json
{
    "data": [
        {
            "object": "activity",
            "id": "alog_7d5e5zw4nbx8tnf2",
            "event": "ticket.tags_changed",
            "description": "Changed the tags of \"Moving to a 100K account\": removed Platform",
            "user": {
                "id": "usr_pj68ba8tmrbb7fxb",
                "name": "Ios Tester",
                "email": "propper-ios@propper.test"
            },
            "created_at": "2026-10-15T22:30:07+00:00"
        },
        {
            "object": "activity",
            "id": "alog_h2d2sdg8kep98rr2",
            "event": "ticket.updated",
            "description": "Updated ticket: Moving to a 100K account",
            "user": {
                "id": "usr_pj68ba8tmrbb7fxb",
                "name": "Ios Tester",
                "email": "propper-ios@propper.test"
            },
            "created_at": "2026-10-15T22:30:07+00:00"
        }
    ],
    "meta": {
        "request_id": "req_01m50v0eehmkz5j9ywrkdhn5xn",
        "has_more": false,
        "next_cursor": null
    }
}
```

| Field         | Description |
| ------------- | ----------- |
| `event`       | What kind of change, such as `ticket.created`, `ticket.updated` or `ticket.tags_changed`. Null for an entry written in words alone |
| `description` | What happened, in words |
| `user`        | Who did it. Null for the system |

## Errors

| Status | Code                      | Meaning                                                                         |
| ------ | ------------------------- | ------------------------------------------------------------------------------- |
| 400    | `workspace_required`      | Asked by our own staff without naming a firm                                    |
| 401    | `invalid_token`           | Not a token, or the secret does not match                                       |
| 401    | `revoked_token`           | Signed out here or from another device                                          |
| 401    | `expired_token`           | Ninety days without use, or a set expiry passed                                 |
| 403    | `admin_access_required`   | This account no longer helps run the environment                                |
| 403    | `insufficient_scope`      | This device does not hold `admin:read`                                          |
| 403    | `workspace_not_permitted` | The `Propper-Workspace` header names an environment this account cannot act in |
| 403    | `forbidden`               | Without `view_tickets` and `view_activity_logs`                                 |
| 404    | `resource_not_found`      | No ticket with that id in this firm                                             |