跳至主要内容

此浏览器不再受支持。

请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。

下载 Microsoft Edge 有关 Internet Explorer 和 Microsoft Edge 的详细信息
microsoft-foundry.rest.security.o-auth2-auth

Threads, Assistants

Get a run step

GET /openai/v1/threads/{thread_id}/runs/{run_id}/steps/{step_id}

Retrieves a run step by its identifier.

路径参数

thread_id string 必需

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

run_id string 必需

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

step_id string 必需

The ID of the run step to retrieve.

查询参数

include[] enum[]

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 for more information.

响应

The request has succeeded.

正文

Content-Type: application/json
id string 必需

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

object enum 必需

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

thread.run.step
created_at integer 必需

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

assistant_id string 必需

The ID of the assistant associated with the run step.

thread_id string 必需

The ID of the thread that was run.

run_id string 必需

The ID of the run that this run step is a part of.

type enum 必需

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

message_creationtool_calls
status enum 必需

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

in_progresscancelledfailedcompletedexpired
step_details OpenAI.RunStepDetailsMessageCreationObject | OpenAI.RunStepDetailsToolCallsObject 必需

The details of the run step.

下列类型作之一:
type enum 必需

Always message_creation.

message_creation
message_creation OpenAI.RunStepDetailsMessageCreationObjectMessageCreation 必需
message_id string 必需
type enum 必需

Always tool_calls.

tool_calls
tool_calls OpenAI.RunStepDetailsToolCall[] 必需

An array of tool calls the run step was involved in. These can be associated with one of three types of tools: code_interpreter, file_search, or function.

last_error OpenAI.RunStepObjectLastError | null 必需
code enum 必需
server_errorrate_limit_exceeded
message string 必需
expired_at integer | null 必需
cancelled_at integer | null 必需
failed_at integer | null 必需
completed_at integer | null 必需
metadata OpenAI.Metadata | null 必需

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, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

[key: string] string
usage OpenAI.RunStepCompletionUsage 必需

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

completion_tokens integer 必需
prompt_tokens integer 必需
total_tokens integer 必需

Client error

正文

Content-Type: application/json
error OpenAI.Error 必需
code string | null 必需
message string 必需
param string | null
type string
misalignment OpenAI.MisalignmentErrorDetailsResource
review_target string | null
error_type string | enum
以下任何项:
string
enum
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string

The public explanation for this block.

steer OpenAI._MisalignmentSteer
message string 必需

The public continuation instruction.

details OpenAI.Error[]
additionalInfo object
debugInfo object

Server error

正文

Content-Type: application/json
error OpenAI.Error 必需
code string | null 必需
message string 必需
param string | null
type string
misalignment OpenAI.MisalignmentErrorDetailsResource
review_target string | null
error_type string | enum
以下任何项:
string
enum
potentially_unintended_data_transferpotentially_unintended_data_accesspotentially_unintended_destructive_activityother
detailed_explanation string

The public explanation for this block.

steer OpenAI._MisalignmentSteer
message string 必需

The public continuation instruction.

details OpenAI.Error[]
additionalInfo object
debugInfo object

请求

curl https://api.openai.com/v1/threads/thread_abc123/runs/run_abc123/steps/step_abc123 \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "OpenAI-Beta: assistants=v2"
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),  # This is the default and can be omitted
)
run_step = client.beta.threads.runs.steps.retrieve(
    step_id="step_id",
    thread_id="thread_id",
    run_id="run_id",
)
print(run_step.id)
import OpenAI from "openai";
const openai = new OpenAI();

async function main() {
  const runStep = await openai.beta.threads.runs.steps.retrieve(
    "step_abc123",
    { thread_id: "thread_abc123", run_id: "run_abc123" }
  );
  console.log(runStep);
}

main();
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'], // This is the default and can be omitted
});

const runStep = await client.beta.threads.runs.steps.retrieve('step_id', {
  thread_id: 'thread_id',
  run_id: 'run_id',
});

console.log(runStep.id);
package main

import (
    "context"
    "fmt"

    "github.com/openai/openai-go"
    "github.com/openai/openai-go/option"
)

func main() {
    client := openai.NewClient(
        option.WithAPIKey("My API Key"),
    )
    runStep, err := client.Beta.Threads.Runs.Steps.Get(
        context.TODO(),
        "thread_id",
        "run_id",
        "step_id",
        openai.BetaThreadRunStepGetParams{},
    )
    if err != nil {
        panic(err.Error())
    }
    fmt.Printf("%+v
", runStep.ID)
}
package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.beta.threads.runs.steps.RunStep;
import com.openai.models.beta.threads.runs.steps.StepRetrieveParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        StepRetrieveParams params = StepRetrieveParams.builder()
            .threadId("thread_id")
            .runId("run_id")
            .stepId("step_id")
            .build();
        RunStep runStep = client.beta().threads().runs().steps().retrieve(params);
    }
}
require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

run_step = openai.beta.threads.runs.steps.retrieve("step_id", thread_id: "thread_id", run_id: "run_id")

puts(run_step)

响应

{
  "id": "step_abc123",
  "object": "thread.run.step",
  "created_at": 1699063291,
  "run_id": "run_abc123",
  "assistant_id": "asst_abc123",
  "thread_id": "thread_abc123",
  "type": "message_creation",
  "status": "completed",
  "cancelled_at": null,
  "completed_at": 1699063291,
  "expired_at": null,
  "failed_at": null,
  "last_error": null,
  "step_details": {
    "type": "message_creation",
    "message_creation": {
      "message_id": "msg_abc123"
    }
  },
  "usage": {
    "prompt_tokens": 123,
    "completion_tokens": 456,
    "total_tokens": 579
  }
}
zh-cn
你的隐私选择
  • AI 免责声明
  • 早期版本
  • 博客
  • 参与
  • 隐私
  • 消费者健康隐私
  • 使用条款
  • 商标
  • © Microsoft 2026