# One secure sign-in session's steps

> One secure sign-in session's steps: CustomDomain™ API reference in the analytics group. Covers request parameters, the request body, responses and error codes.

Source: https://docs.customdomain.ai/docs/api-reference/analytics/getSecureSignInTimeline

## `GET https://api.customdomain.ai/v1/analytics/secure-sign-in/sessions/{sid}`

The session's row plus its steps in order, each with the seconds since the session started, so one slow or failed run can be read. A step is a word from a fixed list (a state the session moved to, or a step the sign-in window reported), with the failure it ended in, if any, and one short detail word. It never holds a code, a password, a domain or anything typed. 404 for a session of another workspace. API key; any member role.

### Authentication

`apiKey`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `sid` | path | string | yes |  |

### Responses

| Status | Description |
| --- | --- |
| `200` | The timeline |
| `401` | Error envelope: {code, title, details}. |
| `404` | Error envelope: {code, title, details}. |

### `200` response body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes |  |
| `provider` | string | yes |  |
| `connection_id` | string | yes |  |
| `started_at` | string | yes |  |
| `outcome` | `done`, `done_by_hand`, `running`, `stopped` | yes |  |
| `reached` | `started`, `sign_in_shown`, `signed_in`, `plan_ready`, `making_changes`, `done` | yes |  |
| `stop` | string | no | The plain reason, for a stopped session. |
| `last_step` | string | no |  |
| `total_seconds` | number or null | yes |  |
| `ended_at` | string | no |  |
| `failure` | string | no | The failure the session ended in, a word from a fixed list. |
| `events` | array of object | yes |  |

The full specification is served at `GET https://api.customdomain.ai/v1/openapi.json`.
