How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OpenAI Assistants API

Build Assistants that can call models and use tools.

OpenAI Assistants API is one of 51 APIs that OpenAI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 2 JSON Schema definitions.

Tagged areas include Assistants. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a JSON-LD context, and 2 JSON Schemas.

This API exposes 27 operations across 15 paths, and defines 70 schemas. It is described by OpenAPI 3.0.0, at version 2.0.0.

Requests are made against a single base URL, https://api.openai.com/v1.

27 operations 15 paths 70 schemas 4 DELETE11 GET12 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2.0.0
Base URL
https://api.openai.com
Authentication
HTTP Bearer
License
Terms of Service
Resource Areas
1

Authentication & Security 1

OpenAI Assistants API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (ApiKeyAuth). By default, every request must be authenticated.

Paths & Operations 27

Across 15 paths, the API surfaces 27 operations — 4 DELETE, 11 GET, 12 POST. Each is listed below with its method, path, parameters, and response codes.

Assistants 27

Build Assistants that can call models and use tools.

GET
/assistants
OpenAI Returns a list of assistants.
listAssistants 4 params → 200
POST
/assistants
OpenAI Create an assistant with a model and instructions.
createAssistant body → 200
GET
/assistants/{assistant_id}
OpenAI Retrieves an assistant.
getAssistant 1 param → 200
POST
/assistants/{assistant_id}
OpenAI Modifies an assistant.
modifyAssistant 1 param body → 200
DELETE
/assistants/{assistant_id}
OpenAI Delete an assistant.
deleteAssistant 1 param → 200
GET
/assistants/{assistant_id}/files
OpenAI Returns a list of assistant files.
listAssistantFiles 5 params → 200
POST
/assistants/{assistant_id}/files
OpenAI Create an assistant file by attaching a [File](/docs/api-reference/files) to an [assistant](/docs/api-reference/assistants).
createAssistantFile 1 param body → 200
GET
/assistants/{assistant_id}/files/{file_id}
OpenAI Retrieves an AssistantFile.
getAssistantFile 2 params → 200
DELETE
/assistants/{assistant_id}/files/{file_id}
OpenAI Delete an assistant file.
deleteAssistantFile 2 params → 200
POST
/threads
Create a thread.
createThread body → 200
POST
/threads/runs
Create a thread and run it in one request.
createThreadAndRun body → 200
GET
/threads/{thread_id}
Retrieves a thread.
getThread 1 param → 200
POST
/threads/{thread_id}
Modifies a thread.
modifyThread 1 param body → 200
DELETE
/threads/{thread_id}
Delete a thread.
deleteThread 1 param → 200
GET
/threads/{thread_id}/messages
Returns a list of messages for a given thread.
listMessages 6 params → 200
POST
/threads/{thread_id}/messages
Create a message.
createMessage 1 param body → 200
GET
/threads/{thread_id}/messages/{message_id}
Retrieve a message.
getMessage 2 params → 200
POST
/threads/{thread_id}/messages/{message_id}
Modifies a message.
modifyMessage 2 params body → 200
DELETE
/threads/{thread_id}/messages/{message_id}
Deletes a message.
deleteMessage 2 params → 200
GET
/threads/{thread_id}/runs
Returns a list of runs belonging to a thread.
listRuns 5 params → 200
POST
/threads/{thread_id}/runs
Create a run.
createRun 2 params body → 200
GET
/threads/{thread_id}/runs/{run_id}
Retrieves a run.
getRun 2 params → 200
POST
/threads/{thread_id}/runs/{run_id}
Modifies a run.
modifyRun 2 params body → 200
POST
/threads/{thread_id}/runs/{run_id}/cancel
Cancels a run that is inprogress.
cancelRun 2 params → 200
GET
/threads/{thread_id}/runs/{run_id}/steps
Returns a list of run steps belonging to a run.
listRunSteps 7 params → 200
GET
/threads/{thread_id}/runs/{run_id}/steps/{step_id}
Retrieves a run step.
getRunStep 4 params → 200
POST
/threads/{thread_id}/runs/{run_id}/submit_tool_outputs
When a run has the status: "requiresaction" and requiredaction.type is submittooloutputs, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs m…
submitToolOuputsToRun 2 params body → 200

Schemas 70

The contract defines 70 schemas that model the data the API accepts and returns. The most detailed are RunObject (27 properties), CreateRunRequest (17 properties), CreateThreadAndRunRequest (16 properties), RunStepObject (16 properties). Each schema is shown below with its type and property counts.

RunStepDetailsToolCallsCodeObject
object
Details of the Code Interpreter tool call the run step was involved in.
3 properties 3 required
RunStepDetailsToolCallsObject
object
Details of the tool call.
2 properties 2 required
AssistantsApiResponseFormatOption
Specifies the format that the model must output. Compatible with [GPT-4o](/docs/modelsgpt-4o), [GPT-4 Turbo](/docs/modelsgpt-4-turbo-and-gpt-4), and all GPT-3.…
MessageContentTextObject
object
The text content that is part of a message.
2 properties 2 required
CreateRunRequest
object
17 properties 1 required
CreateThreadRequest
object
Options to create a new thread. If no thread is provided when running a request, an empty thread will be created.
3 properties
CreateMessageRequest
object
4 properties 2 required
ListAssistantFilesResponse
object
5 properties 6 required
MessageContentTextAnnotationsFilePathObject
object
A URL for the file that's generated when the assistant used the codeinterpreter tool to generate a file.
5 properties 5 required
AssistantFileObject
object
A list of [Files](/docs/api-reference/files) attached to an assistant.
4 properties 4 required
RunStepDetailsMessageCreationObject
object
Details of the message creation by the run step.
2 properties 2 required
CreateAssistantFileRequest
object
1 property 1 required
ResponseFormatJsonSchema
object
JSON Schema response format. Used to generate structured JSON responses. Learn more about [Structured Outputs](/docs/guides/structured-outputs).
2 properties 2 required
AssistantToolsFileSearchTypeOnly
object
1 property 1 required
MessageContentTextAnnotationsFileCitationObject
object
A citation within the message that points to a specific quote from a specific File associated with the assistant or the message. Generated when the assistant u…
5 properties 5 required
AssistantsApiToolChoiceOption
Controls which (if any) tool is called by the model. none means the model will not call any tools and instead generates a message. auto is the default value an…
RunStepDetailsToolCallsFileSearchRankingOptionsObject
object
The ranking options for the file search.
2 properties 2 required
AssistantsNamedToolChoice
object
Specifies a tool the model should use. Use to force the model to call a specific tool.
2 properties 1 required
RunStepDetailsToolCallsCodeOutputLogsObject
object
Text output from the Code Interpreter tool call as part of a run step.
2 properties 2 required
AssistantToolsRetrieval
object
1 property 1 required
AssistantToolsCode
object
1 property 1 required
ListRunsResponse
object
5 properties 5 required
ModifyAssistantRequest
object
7 properties
CreateThreadAndRunRequest
object
16 properties 1 required
MessageContentRefusalObject
object
The refusal content generated by the assistant.
2 properties 2 required
MessageObject
object
Represents a message within a [thread](/docs/api-reference/threads).
14 properties 14 required
ReasoningEffort
SubmitToolOutputsRunRequest
object
2 properties 1 required
DeleteAssistantFileResponse
object
Deletes the association between the assistant and the file, but does not delete the [File](/docs/api-reference/files) object itself.
3 properties 3 required
ResponseFormatText
object
Default response format. Used to generate text responses.
1 property 1 required
ModifyThreadRequest
object
2 properties
AssistantToolsFileSearch
object
2 properties 1 required
RunStepCompletionUsage
RunStepDetailsToolCallsFunctionObject
object
3 properties 3 required
RunObject
object
Represents an execution run on a [thread](/docs/api-reference/threads).
27 properties 25 required
DeleteMessageResponse
object
3 properties 3 required
ListMessagesResponse
object
5 properties 5 required
MessageContentImageFileObject
object
References an image [File](/docs/api-reference/files) in the content of a message.
2 properties 2 required
ParallelToolCalls
boolean
Whether to enable [parallel function calling](/docs/guides/function-callingconfiguring-parallel-function-calling) during tool use.
DeleteThreadResponse
object
3 properties 3 required
AssistantObject
object
Represents an assistant that can call the model and use tools.
10 properties 10 required
ListRunStepsResponse
object
5 properties 5 required
ModifyMessageRequest
object
1 property
FunctionParameters_2
object
The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/function-calling) for examples, and the [JSON Schema refe…
RunStepObject
object
Represents a step in execution of a run.
16 properties 16 required
MessageContentImageUrlObject
object
References an image URL in the content of a message.
2 properties 2 required
AssistantToolsFunction
object
2 properties 2 required
Metadata
ModifyRunRequest
object
1 property
ThreadObject
object
Represents a thread that contains [messages](/docs/api-reference/messages).
5 properties 5 required
FileSearchRanker
string
The ranker to use for the file search. If not specified will use the auto ranker.
RunStepDetailsToolCallsFileSearchObject
object
3 properties 3 required
ResponseFormatJsonObject
object
JSON object response format. An older method of generating JSON responses. Using jsonschema is recommended for models that support it. Note that the model will…
1 property 1 required
FunctionParameters
object
The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/text-generation/function-calling) for examples, and the […
AssistantToolsCode_2
object
1 property 1 required
DeleteAssistantResponse
object
3 properties 3 required
AssistantToolsFunction_2
object
2 properties 2 required
ResponseFormatJsonSchemaSchema
object
The schema for the response format, described as a JSON Schema object. Learn how to build JSON schemas [here](https://json-schema.org/).
AssistantSupportedModels
string
FunctionObject_2
object
4 properties 1 required
FileSearchRankingOptions
object
The ranking options for the file search. If not specified, the file search tool will use the auto ranker and a scorethreshold of 0. See the [file search tool d…
2 properties 1 required
MessageRequestContentTextObject
object
The text content that is part of a message.
2 properties 2 required
FunctionObject
object
3 properties 1 required
RunCompletionUsage
RunToolCallObject
object
Tool call objects
3 properties 3 required
CreateAssistantRequest
object
7 properties 1 required
TruncationObject
object
Controls for how a thread will be truncated prior to the run. Use this to control the initial context window of the run.
2 properties 1 required
RunStepDetailsToolCallsCodeOutputImageObject
object
2 properties 2 required
RunStepDetailsToolCallsFileSearchResultObject
object
A result instance of the file search.
4 properties 3 required
ListAssistantsResponse
object
5 properties 5 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

openai-assistants-api-openapi.yml Raw ↑

Other APIs OpenAI publishes across the network.

OpenAI Responses API
OpenAI Moderations API
OpenAI Batch API
OpenAI Vector Stores API
OpenAI Uploads API
OpenAI Realtime API
OpenAI Evals API
OpenAI Videos API
OpenAI Conversations API
OpenAI Containers API
OpenAI ChatKit API
OpenAI Skills API
Where this information came from

This is an independent, third-party profile of OpenAI Assistants API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.