GET
/
threads
/
{thread_id}
/
runs
/
{run_id}
/
steps
/
{step_id}
curl https://api.portkey.ai/v1/threads/thread_abc123/runs/run_abc123/steps/step_abc123 \
  -H "x-portkey-api-key: $PORTKEY_API_KEY" \
  -H "x-portkey-virtual-key: $PORTKEY_PROVIDER_VIRTUAL_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v2"
{
  "id": "<string>",
  "object": "thread.run.step",
  "created_at": 123,
  "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": 123,
  "cancelled_at": 123,
  "failed_at": 123,
  "completed_at": 123,
  "metadata": {},
  "usage": {
    "completion_tokens": 123,
    "prompt_tokens": 123,
    "total_tokens": 123
  }
}

Authorizations

x-portkey-api-key
string
header
required
x-portkey-virtual-key
string
header
required

Path Parameters

thread_id
string
required

The ID of the thread to which the run and run step belongs.

run_id
string
required

The ID of the run to which the run step belongs.

step_id
string
required

The ID of the run step to retrieve.

Response

200 - application/json
OK

Represents a step in execution of a run.

id
string
required

The identifier of the run step, which can be referenced in API endpoints.

object
enum<string>
required

The object type, which is always thread.run.step.

Available options:
thread.run.step
created_at
integer
required

The Unix timestamp (in seconds) for when the run step was created.

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.

type
enum<string>
required

The type of run step, which can be either message_creation or tool_calls.

Available options:
message_creation,
tool_calls
status
enum<string>
required

The status of the run step, which can be either in_progress, cancelled, failed, completed, or expired.

Available options:
in_progress,
cancelled,
failed,
completed,
expired
step_details
object
required

The details of the run step.

last_error
object | null
required

The last error associated with this run step. Will be null if there are no errors.

expired_at
integer | null
required

The Unix timestamp (in seconds) for when the run step expired. A step is considered expired if the parent run is expired.

cancelled_at
integer | null
required

The Unix timestamp (in seconds) for when the run step was cancelled.

failed_at
integer | null
required

The Unix timestamp (in seconds) for when the run step failed.

completed_at
integer | null
required

The Unix timestamp (in seconds) for when the run step completed.

metadata
object | null
required

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maxium of 512 characters long.

usage
object | null
required

Usage statistics related to the run step. This value will be null while the run step's status is in_progress.

Was this page helpful?