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

Portkey Assistants API

Build Assistants that can call models and use tools.

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

Tagged areas include Assistants. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a getting-started guide.

This API exposes 23 operations across 13 paths, and defines 50 schemas. It is described by OpenAPI 3.2.0, at version 2.0.0.

Requests are made against a single base URL, https://api.portkey.ai/v1.

23 operations 13 paths 50 schemas 3 DELETE9 GET11 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2.0.0
Base URL
https://api.portkey.ai/v1
Authentication
API Key, API Key, HTTP Bearer, API Key, API Key, API Key
License
Terms of Service
Resource Areas
1

Authentication & Security 6

Portkey Assistants API declares 6 security schemes for authenticating requests. An API key is passed in the header as x-portkey-api-key (Portkey-Key). An API key is passed in the header as x-portkey-virtual-key (Virtual-Key). It accepts HTTP bearer tokens (Provider-Auth). An API key is passed in the header as x-portkey-provider (Provider-Name). An API key is passed in the header as x-portkey-config (Config). An API key is passed in the header as x-portkey-custom-host (Custom-Host). By default, every request must be authenticated.

Paths & Operations 23

Across 13 paths, the API surfaces 23 operations — 3 DELETE, 9 GET, 11 POST. Each is listed below with its method, path, parameters, and response codes.

Assistants 23

Build Assistants that can call models and use tools.

GET
/assistants
Returns a list of assistants.
listAssistants 4 params → 200
POST
/assistants
Create an assistant with a model and instructions.
createAssistant body → 200
GET
/assistants/{assistant_id}
Retrieves an assistant.
getAssistant 1 param → 200
POST
/assistants/{assistant_id}
Modifies an assistant.
modifyAssistant 1 param body → 200
DELETE
/assistants/{assistant_id}
Delete an assistant.
deleteAssistant 1 param → 200
POST
/threads
Create a thread.
createThread 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
POST
/threads/runs
Create a thread and run it in one request.
createThreadAndRun body → 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 1 param 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}/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
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 6 params → 200
GET
/threads/{thread_id}/runs/{run_id}/steps/{step_id}
Retrieves a run step.
getRunStep 3 params → 200

Schemas 50

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

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…
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
MessageContentImageFileObject
object
References an image [File](https://platform.openai.com/docs/api-reference/files) in the content of a message.
2 properties 2 required
AssistantToolsCode
object
1 property 1 required
TruncationObject
object
Controls for how a thread will be truncated prior to the run. Use this to control the intial context window of the run.
2 properties 1 required
AssistantToolsFunction
object
2 properties 2 required
ModifyRunRequest
object
1 property
DeleteThreadResponse
object
3 properties 3 required
ModifyThreadRequest
object
2 properties
ListAssistantsResponse
object
5 properties 5 required
RunStepObject
object
Represents a step in execution of a run.
16 properties 16 required
AssistantsApiResponseFormatOption
Specifies the format that the model must output. Compatible with [GPT-4o](https://platform.openai.com/docs/models/gpt-4o), [GPT-4 Turbo](https://platform.opena…
AssistantsApiResponseFormat
object
An object describing the expected output of the model. If jsonobject only function type tools are allowed to be passed to the Run. If text the model can return…
1 property
CreateAssistantRequest
object
10 properties 1 required
RunStepDetailsToolCallsFileSearchObject
object
3 properties 3 required
CreateThreadRequest
object
3 properties
CreateThreadAndRunRequest
object
16 properties 2 required
RunObject
object
Represents an execution run on a [thread](https://platform.openai.com/docs/api-reference/threads).
27 properties 25 required
ModifyAssistantRequest
object
10 properties
RunStepDetailsToolCallsCodeOutputLogsObject
object
Text output from the Code Interpreter tool call as part of a run step.
2 properties 2 required
RunStepDetailsToolCallsObject
object
Details of the tool call.
2 properties 2 required
CreateMessageRequest
object
4 properties 2 required
AssistantToolsFileSearch
object
2 properties 1 required
AssistantObject
object
Represents an assistant that can call the model and use tools.
13 properties 9 required
DeleteAssistantResponse
object
3 properties 3 required
CreateRunRequest
object
16 properties 2 required
ModifyMessageRequest
object
1 property
SubmitToolOutputsRunRequest
object
2 properties 1 required
AssistantToolsFileSearchTypeOnly
object
1 property 1 required
MessageContentTextObject
object
The text content that is part of a message.
2 properties 2 required
RunCompletionUsage
objectnull
Usage statistics related to the run. This value will be null if the run is not in a terminal state (i.e. inprogress, queued, etc.).
3 properties 3 required
RunToolCallObject
object
Tool call objects
3 properties 3 required
ListMessagesResponse
object
5 properties 5 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
MessageContentImageUrlObject
object
References an image URL in the content of a message.
2 properties 2 required
RunStepDetailsToolCallsCodeOutputImageObject
object
2 properties 2 required
ThreadObject
object
Represents a thread that contains [messages](https://platform.openai.com/docs/api-reference/messages).
5 properties 5 required
ListRunStepsResponse
object
5 properties 5 required
AssistantsNamedToolChoice
object
Specifies a tool the model should use. Use to force the model to call a specific tool.
2 properties 1 required
ParallelToolCalls
boolean
Whether to enable [parallel function calling](https://platform.openai.com/docs/guides/function-calling/parallel-function-calling) during tool use.
RunStepDetailsToolCallsFunctionObject
object
3 properties 3 required
ListRunsResponse
object
5 properties 5 required
FunctionParameters
object
The parameters the functions accepts, described as a JSON Schema object. See the [guide](https://platform.openai.com/docs/guides/function-calling) for examples…
FunctionObject
object
4 properties 1 required
DeleteMessageResponse
object
3 properties 3 required
RunStepCompletionUsage
objectnull
Usage statistics related to the run step. This value will be null while the run step's status is inprogress.
3 properties 3 required
MessageObject
object
Represents a message within a [thread](https://platform.openai.com/docs/api-reference/threads).
14 properties 14 required
RunStepDetailsToolCallsCodeObject
object
Details of the Code Interpreter tool call the run step was involved in.
3 properties 3 required
RunStepDetailsMessageCreationObject
object
Details of the message creation by the run step.
2 properties 2 required
MessageRequestContentTextObject
object
The text content that is part of a message.
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

portkey-assistants-api-openapi.yml Raw ↑

Other APIs Portkey publishes across the network.

Portkey Analytics > Graphs API
Portkey Analytics > Groups API
Portkey Analytics > Summary API
Portkey Api-Keys API
Portkey Audio API
Portkey Audit Logs API
Portkey Batch API
Portkey Chat API
Portkey Collections API
Portkey Completions API
Portkey Configs API
Portkey Embeddings API
Where this information came from

This is an independent, third-party profile of Portkey 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.