apicheats.dev openai/llms.txt Raw .md
GET

GET /threads/{thread_id}/runs/{run_id}/steps — OpenAI API

OpenAI API key (required); https://api.openai.com/v1

OpenAI API

List run steps

Base URL
https://api.openai.com/v1
Auth
Authorization: Bearer <OPENAI_API_KEY>
Last verified
2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 353 tokens · Vary: Accept

Critical gotchas

The Responses API is the primary interface for new text and tool workflows; Chat Completions remains a separate compatibility API.

Audio transcription uploads use multipart form data rather than a JSON request body.

cURL

curl -X GET 'https://api.openai.com/v1/threads/thread-id/runs/run-id/steps?limit=20&order=desc&after=example-after&before=example-before&include%5B%5D=example' \  -H "Authorization: Bearer $OPENAI_API_KEY"

Parameters

Name In Type Required Description
thread_id path string Yes The ID of the thread the run and run steps belong to.
run_id path string Yes The ID of the run the run steps belong to.
limit query integer No A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
order query string No Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.
after query string No A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
before query string No A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
include[] query string[] No A list of additional fields to include in the response. Currently the only supported value is `step_details.tool_calls[*].file_search.results[*].content` to fetch the file search result content. See the [file search tool documentation](https://developers.openai.com/api/docs/guides/tools-file-search#retrieval-customization) for more information.

Response 200 OK

{
  "object": "list",
  "data": [
    {
      "id": "string",
      "object": "thread.run.step",
      "created_at": 0,
      "assistant_id": "string",
      "thread_id": "string",
      "run_id": "string",
      "type": "message_creation",
      "status": "in_progress",
      "step_details": {
        "type": "message_creation",
        "message_creation": {
          "message_id": "string"
        }
      },
      "last_error": {
        "code": "server_error",
        "message": "string"
      },
      "expired_at": 0,
      "cancelled_at": 0,
      "failed_at": 0,
      "completed_at": 0,
      "metadata": {},
      "usage": {
        "completion_tokens": 0,
        "prompt_tokens": 0,
        "total_tokens": 0
      }
    }
  ],
  "first_id": "step_abc123",
  "last_id": "step_abc456",
  "has_more": false
}
Get a free OpenAI API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.