---
title: "GET /threads/{threadId}/runs/{runId}/steps/{stepId}"
method: GET
path: "/threads/{threadId}/runs/{runId}/steps/{stepId}"
---

# GET /threads/{threadId}/runs/{runId}/steps/{stepId}

`GET /threads/{threadId}/runs/{runId}/steps/{stepId}`

Gets a single run step from a thread run.

## Path parameters

- `threadId` string, required
- `runId` string, required
- `stepId` string, required

## Query parameters

- `include[]` string[]

## Response `200`

Information about the requested run step.

- RunStep — Detailed information about a single step of an assistant thread run.
  - `id` string, required — The identifier, which can be referenced in API endpoints.
  - `object` 'thread.run.step', required — The object type, which is always 'thread.run.step'.
  - `type` 'message_creation' | 'tool_calls', required — The possible types of run steps.
  - `assistant_id` string, required — The ID of the assistant associated with the run step.
  - `thread_id` string, required — The ID of the thread that was run.
  - `run_id` string, required — The ID of the run that this run step is a part of.
  - `status` 'in_progress' | 'cancelled' | 'failed' | 'completed' | 'expired', required — Possible values for the status of a run step.
  - `step_details` RunStepDetails, required — An abstract representation of the details for a run step.
    - `type` 'message_creation' | 'tool_calls', required — The possible types of run steps.
  - `last_error` RunStepError, required — The error information associated with a failed run step.
    - `code` 'server_error' | 'rate_limit_exceeded', required — Possible error code values attributable to a failed run step.
    - `message` string, required — The human-readable text associated with this error.
  - `created_at` integer, required — The Unix timestamp, in seconds, representing when this object was created.
  - `expired_at` integer, nullable, required — The Unix timestamp, in seconds, representing when this item expired.
  - `completed_at` integer, nullable, required — The Unix timestamp, in seconds, representing when this completed.
  - `cancelled_at` integer, nullable, required — The Unix timestamp, in seconds, representing when this was cancelled.
  - `failed_at` integer, nullable, required — The Unix timestamp, in seconds, representing when this failed.
  - `usage` RunStepCompletionUsage — Usage statistics related to the run step.
    - `completion_tokens` integer, required — Number of completion tokens used over the course of the run step.
    - `prompt_tokens` integer, required — Number of prompt tokens used over the course of the run step.
    - `total_tokens` integer, required — Total number of tokens used (prompt + completion).
  - `metadata` object, nullable, required — A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.

---

[API](https://skmtc.net/azure/apis/ai-openai-assistants-openapiv2.md) · [All operations](https://skmtc.net/azure/apis/ai-openai-assistants-openapiv2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/ai-openai-assistants-openapiv2/versions/453a64f820f0/schema)
