---
title: "Get session status"
method: GET
path: "/api/sessions/{sessionId}"
tags: ["Sessions"]
---

# Get session status

`GET /api/sessions/{sessionId}`

## Request

- Base URL: `https://aximo.autify.com`
- URL: `https://aximo.autify.com/api/sessions/{sessionId}`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/autify/apis/aximo-api/docs/api/sessions/:sessionId/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the current state and full results of a session. Poll this endpoint
until `status` is a terminal value.

**Terminal statuses** (stop polling): `succeeded`, `failed`, `terminated`, `error`, `archived`.

## Path parameters

- `sessionId` string, uuid, required

## Response `200`

Session details.

- Session
  - `id` string, uuid, required
  - `title` string, required
  - `prompt` string, required
  - `platform` 'desktop' | 'android' | 'ios', required
  - `model` 'default' | 'haiku' | 'sonnet' | 'opus' | 'kimi' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.5' | 'auto', required
  - `status` 'queued' | 'created' | 'preparing' | 'running' | 'succeeded' | 'failed' | 'terminated' | 'error' | 'archived', required: Terminal statuses (stop polling): `succeeded`, `failed`, `terminated`, `error`, `archived`.
  - `result` 'passed' | 'failed' | 'error', nullable
  - `summary` string, nullable: AI-generated summary of what happened during the session.
  - `observations` object[], nullable
    - `description` string
    - `messageId` string
  - `tags` string[], required: A session's tags. A session created directly carries the tags it was created with. A session created from a test case, by a plan run or by running the case on its own, carries the run's tags (if any) merged with the case's tags, each tag once; each source holds at most 10, so a session can carry up to 20.
  - `screenshotsCount` integer, required
  - `toolCount` integer, required
  - `failedToolCount` integer, required
  - `llmCallCount` integer, required
  - `creditsUsed` number, nullable: Credits consumed by this session.
  - `startedAt` string, date-time, nullable
  - `completedAt` string, date-time, nullable
  - `duration` integer, nullable: Execution duration in milliseconds.
  - `createdAt` string, date-time, required
  - `archivedAt` string, date-time, nullable: Set when the session was archived (soft-deleted). Archived sessions are excluded from lists but stay readable by id.
  - `waitingForUser` boolean: True while a running session is parked on a `[manual]` step and waits for `POST /api/sessions/{sessionId}/messages`.
  - `waitingForUserInstruction` string: The step's instruction, present only while `waitingForUser` is true.
  - `mobileSession` MobileSession, nullable
    - `deviceArn` string: Encrypted device identifier token.
    - `deviceName` string
    - `devicePlatform` string
    - `uploadArn` string, nullable: Encrypted upload identifier token.
    - `uploadType` 'own_app' | 'existing' | 'sample', nullable
    - `appName` string, nullable
    - `bundleId` string, nullable

## Other responses

- `401`: Missing or invalid API key.
- `404`: Session not found or belongs to another organization.
- `429`: Rate limit exceeded — e.g. the daily session limit was reached for the organization, or too many API requests were sent in a short window (retry after the number of seconds in the `Retry-After` header).
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/autify/apis/aximo-api.md) - [All operations](https://skmtc.dev/autify/apis/aximo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/autify/apis/aximo-api/revisions/590722011284?raw)
