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

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

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

OpenAI API

List runs

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
→ 290 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?limit=20&order=desc&after=example-after&before=example-before' \  -H "Authorization: Bearer $OPENAI_API_KEY"

Parameters

Name In Type Required Description
thread_id path string Yes The ID of the thread the run belongs 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.

Response 200 OK

{
  "object": "list",
  "data": [
    {
      "id": "string",
      "object": "thread.run",
      "created_at": 0,
      "thread_id": "string",
      "assistant_id": "string",
      "status": "queued",
      "required_action": {
        "type": "submit_tool_outputs",
        "submit_tool_outputs": {
          "tool_calls": [
            "[recursive or deeply nested schema]"
          ]
        }
      },
      "last_error": {
        "code": "server_error",
        "message": "string"
      },
      "expires_at": 0,
      "started_at": 0,
      "cancelled_at": 0,
      "failed_at": 0,
      "completed_at": 0,
      "incomplete_details": {
        "reason": "max_completion_tokens"
      },
      "model": "string",
      "instructions": "string",
      "tools": [],
      "metadata": {},
      "usage": {
        "completion_tokens": 0,
        "prompt_tokens": 0,
        "total_tokens": 0
      },
      "temperature": 0,
      "top_p": 0,
      "max_prompt_tokens": 0,
      "max_completion_tokens": 0,
      "truncation_strategy": {
        "type": "auto",
        "last_messages": 0
      },
      "tool_choice": "none",
      "parallel_tool_calls": true,
      "response_format": "auto"
    }
  ],
  "first_id": "run_abc123",
  "last_id": "run_abc456",
  "has_more": false
}
Get a free OpenAI API key → sponsored

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