# List a contact's journey runs

`GET /v1/contacts/{id}/journeys`

Requires an API key with the `contacts:read` scope. [About keys and scopes](/docs/api/authentication)

Every run of a journey this contact entered, newest first: `active` while it is still moving through the steps, `completed` at the end, `exited` when it left early, with `exitReason` saying why.

## Path parameters

- `id` (string, required, uuid)

## Query parameters

- `limit` (integer, optional, min > 0, max 100, default `20`)
- `cursor` (string, optional, 1–2048 characters)
- `email` (string, optional) — Exact match on the address, trimmed, without case.
- `q` (string, optional, 1–100 characters) — Searches any part of the email address or name, ignoring case.

## Returns

Returns `200 OK`. Otherwise returns an error; [Errors](/docs/api/errors) lists every code and which to retry.

- `enrollmentId` (string, required, uuid)
- `journeyId` (string, required, uuid)
- `journeyName` (string, required)
- `journeyStatus` (string, required, one of `draft`, `active`, `paused`, `ended`)
- `status` (string, required, one of `active`, `completed`, `exited`)
- `currentStepIndex` (integer | null, required, min 0, max 9007199254740991) — Zero-based step the run is at; null once it has ended.
- `enteredAt` (string, required, date-time)
- `endedAt` (string | null, required, date-time)
- `exitReason` (string | null, required) — Why an `exited` run ended: `filter_mismatch`, `exit_event`, `manual` or `journey_ended`.

## Example

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

Response `200`:

```json
{
  "data": [
    {
      "enrollmentId": "018f2a4e-6b1c-7d3e-9f40-8b76f3d85a6b",
      "journeyId": "018f2a4e-6b1c-7d3e-9f40-7cf2bf7e5a6b",
      "journeyName": "journeyName_example",
      "journeyStatus": "draft",
      "status": "active",
      "currentStepIndex": 0,
      "enteredAt": "2030-03-14T09:30:00Z",
      "endedAt": "2030-03-14T09:30:00Z",
      "exitReason": "exitReason_example"
    }
  ],
  "meta": {
    "pagination": {
      "limit": 1,
      "nextCursor": "nextCursor_example"
    }
  }
}
```
