openapi: 3.0.0
info:
title: Portkey Analytics > Graphs Providers API
description: The Portkey REST API. Please see https://portkey.ai/docs/api-reference for more details.
version: 2.0.0
termsOfService: https://portkey.ai/terms
contact:
name: Portkey Developer Forum
url: https://portkey.wiki/community
license:
name: MIT
url: https://github.com/Portkey-AI/portkey-openapi/blob/master/LICENSE
servers:
- url: https://api.portkey.ai/v1
description: Portkey API Public Endpoint
security:
- Portkey-Key: []
tags:
- name: Providers
description: Create, List, Retrieve, Update, and Delete your Portkey Providers.
paths:
/providers:
servers:
- url: https://api.portkey.ai/v1
description: Portkey API Public Endpoint
- url: SELF_HOSTED_CONTROL_PLANE_URL
description: Self-Hosted Control Plane URL
get:
summary: List All Providers
tags:
- Providers
parameters:
- in: query
name: current_page
schema:
type: integer
description: Current page, defaults to 0
- in: query
name: page_size
schema:
type: integer
description: Page size, default to 50
- in: query
name: workspace_id
schema:
type: string
description: Not required when using workspace API keys. Required when using organisation admin keys
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
object:
type: string
enum:
- list
total:
type: integer
description: Total number of providers
data:
type: array
items:
$ref: '#/components/schemas/Providers'
x-code-samples:
- lang: python
label: Default
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\"\n)\n\n# List providers\n# Optional workspace_id\nproviders = portkey.providers.list(workspace_id=\"\")\n\nprint(providers)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst providers = await portkey.providers.list({\n workspaceId: \"\" // Optional\n})\nconsole.log(providers);\n"
- lang: curl
label: Default
source: 'curl -X GET https://api.portkey.ai/v1/providers?workspace_id= \
-H "x-portkey-api-key: PORTKEY_API_KEY"
'
- lang: python
label: Self-Hosted
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n base_url=\"SELF_HOSTED_CONTROL_PLANE_URL\"\n)\n\n# List virtual keys\n# Optional workspace_id\nproviders = portkey.providers.list(workspace_id=\"\")\n\nprint(providers)\n"
- lang: javascript
label: Self-Hosted
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n baseUrl: \"SELF_HOSTED_CONTROL_PLANE_URL\"\n})\n\nconst providers = await portkey.providers.list({\n workspace_id: \"\" // Optional\n})\nconsole.log(providers);\n"
- lang: curl
label: Self-Hosted
source: 'curl -X GET SELF_HOSTED_CONTROL_PLANE_URL/providers?workspace_id= \
-H "x-portkey-api-key: PORTKEY_API_KEY"
'
post:
summary: Create a Provider
tags:
- Providers
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
integration_id:
type: string
description: Integration slug used for the provider creation.
workspace_id:
type: string
format: uuid
description: optional, needed when using organisation admin API keys
slug:
type: string
description: Slug for the provider. If not passed, slug will be created by adding a random suffix to the name.
note:
type: string
nullable: true
usage_limits:
$ref: '#/components/schemas/UsageLimits'
rate_limits:
$ref: '#/components/schemas/RateLimits'
expires_at:
type: string
format: date-time
required:
- name
- integration_id
examples:
generic:
value:
name: My first provider
note: Provider description
integration_id: my-openai-integration
usage_limits:
credit_limit: 10
periodic_reset: monthly
alert_threshold: 9
workspace_id: ''
slug: first-openai-provider
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
id:
type: string
slug:
type: string
x-code-samples:
- lang: python
label: Default
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n)\n\n# Add a new provider\nnew_provider = portkey.providers.create(\n name=\"openai provider\",\n integration_id=\"\",\n workspace_id=\"\"\n)\n\nprint(new_provider)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst provider = await portkey.providers.create({\n name: \"openai provider\",\n integration_id: \"\",\n workspace_id: \"\"\n})\nconsole.log(provider);\n"
- lang: curl
label: Default
source: "curl -X POST https://api.portkey.ai/v1/providers \\\n-H \"x-portkey-api-key: PORTKEY_API_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n \"name\": \"openai provider\",\n \"integration_id\": \"\",\n \"workspace_id\": \"\"\n}'\n"
- lang: python
label: Self-Hosted
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n base_url=\"SELF_HOSTED_CONTROL_PLANE_URL\"\n)\n\n# Add a new provider\nnew_provider = portkey.providers.create(\n name=\"openai provider\",\n integration_id=\"\",\n workspace_id=\"\"\n)\n\nprint(new_provider)\n"
- lang: javascript
label: Self-Hosted
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n baseUrl: \"SELF_HOSTED_CONTROL_PLANE_URL\"\n})\n\nconst newProvider = await portkey.providers.create({\n name: \"openai provider\",\n integration_id: \"\",\n workspace_id: \"\"\n})\nconsole.log(newProvider);\n"
- lang: curl
label: Self-Hosted
source: "curl -X POST SELF_HOSTED_CONTROL_PLANE_URL/providers \\\n-H \"x-portkey-api-key: PORTKEY_API_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n \"name\": \"openai provider\",\n \"integrationId\": \"\",\n \"workspaceId\": \"\"\n}'\n"
/providers/{slug}:
servers:
- url: https://api.portkey.ai/v1
description: Portkey API Public Endpoint
- url: SELF_HOSTED_CONTROL_PLANE_URL
description: Self-Hosted Control Plane URL
get:
summary: Get a Provider
tags:
- Providers
parameters:
- in: query
name: workspace_id
schema:
type: string
description: optional, needed when using organisation admin keys
- in: path
name: slug
schema:
type: string
required: true
description: Provider slug
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Providers'
x-code-samples:
- lang: python
label: Default
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n)\n\n# Get a specific provider\nprovider = portkey.providers.retrieve(\n slug=\"PROVIDER_SLUG\",\n workspace_id=\"\"\n)\n\nprint(provider)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst provider = await portkey.providers.retrieve({\n slug:\"PROVIDER_SLUG\",\n workspace_id: \"\"\n})\nconsole.log(provider);\n"
- lang: curl
label: Default
source: 'curl -X GET https://api.portkey.ai/v1/providers/PROVIDER_SLUG?workspace_id= \
-H "x-portkey-api-key: PORTKEY_API_KEY"
'
- lang: curl
label: Self-Hosted
source: 'curl -X GET SELF_HOSTED_CONTROL_PLANE_URL/providers/PROVIDER_SLUG?workspace_id= \
-H "x-portkey-api-key: PORTKEY_API_KEY"
'
- lang: python
label: Self-Hosted
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n base_url=\"SELF_HOSTED_CONTROL_PLANE_URL\"\n)\n\n# Get a specific provider\nprovider = portkey.providers.retrieve(\n slug=\"PROVIDER_SLUG\",\n workspace_id=\"\"\n)\n\nprint(provider)\n"
- lang: javascript
label: Self-Hosted
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n baseUrl: \"SELF_HOSTED_CONTROL_PLANE_URL\"\n})\n\nconst provider = await portkey.providers.retrieve({\n slug: \"PROVIDER_SLUG\",\n workspace_id: \"\"\n})\nconsole.log(provider);\n"
put:
summary: Update a Provider
tags:
- Providers
parameters:
- in: query
name: workspace_id
schema:
type: string
description: optional, needed when using organisation admin keys
- in: path
name: slug
schema:
type: string
required: true
description: Provider slug
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
note:
type: string
usage_limits:
$ref: '#/components/schemas/UsageLimits'
nullable: true
rate_limits:
$ref: '#/components/schemas/RateLimits'
expires_at:
type: string
format: date-time
nullable: true
reset_usage:
type: boolean
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: UUID
slug:
type: string
x-code-samples:
- lang: python
label: Default
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n)\n\n# Update a specific provider\nupdated_provider = portkey.providers.update(\n slug=\"PROVIDER_SLUG\",\n name=\"updated-name\",\n note=\"updated-note\",\n workspace_id=\"\"\n)\n\nprint(updated_provider)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst updatedProvider = await portkey.providers.update({\n slug: \"PROVIDER_SLUG\",\n name:\"updated-name\",\n note: \"updated-note\",\n workspace_id: \"\"\n})\nconsole.log(updatedProvider);\n"
- lang: curl
label: Default
source: "curl -X PUT \"https://api.portkey.ai/v1/providers/PROVIDER_SLUG?workspace_id=\" \\\n-H \"x-portkey-api-key: PORTKEY_API_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n \"name\": \"updated-name\",\n \"note\": \"updated-note\"\n}'\n"
- lang: curl
label: Self-Hosted
source: "curl -X PUT \"SELF_HOSTED_CONTROL_PLANE_URL/providers/PROVIDER_SLUG?workspace_id=\" \\\n-H \"x-portkey-api-key: PORTKEY_API_KEY\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n \"name\": \"updated-name\",\n \"note\": \"updated-note\"\n}'\n"
- lang: python
label: Self-Hosted
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n base_url=\"SELF_HOSTED_CONTROL_PLANE_URL\"\n)\n\n# Update a specific provider\nupdated_provider = portkey.providers.update(\n slug=\"PROVIDER_SLUG\",\n name=\"updated-name\",\n note=\"updated-note\",\n workspace_id=\"\"\n)\n\nprint(updated_provider)\n"
- lang: javascript
label: Self-Hosted
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n baseUrl: \"SELF_HOSTED_CONTROL_PLANE_URL\"\n})\n\nconst updatedProvider = await portkey.providers.update({\n slug: \"PROVIDER_SLUG\",\n name:\"updated-name\",\n note: \"updated-note\",\n workspace_id: \"\"\n})\nconsole.log(updatedProvider);\n"
delete:
summary: Delete a Provider
tags:
- Providers
parameters:
- in: query
name: workspace_id
schema:
type: string
description: optional, needed when using organisation admin keys
- in: path
name: slug
schema:
type: string
required: true
description: Provider slug
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
x-code-samples:
- lang: python
label: Default
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n)\n\n# Delete a specific virtual key\nresult = portkey.providers.delete(\n slug=\"PROVIDER_SLUG\",\n workspace_id=\"\"\n)\n\nprint(result)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst result = await portkey.providers.delete({\n slug: \"PROVIDER_SLUG\",\n workspace_id: \"\"\n})\nconsole.log(result);\n"
- lang: curl
label: Default
source: 'curl -X DELETE https://api.portkey.ai/v1/providers/PROVIDER_SLUG?workspace_id=
'
- lang: curl
label: Self-Hosted
source: 'curl -X DELETE https://SELF_HOSTED_CONTROL_PLANE_URL/providers/PROVIDER_SLUG?workspace_id
'
- lang: python
label: Self-Hosted
source: "from portkey_ai import Portkey\n\n# Initialize the Portkey client\nportkey = Portkey(\n api_key=\"PORTKEY_API_KEY\",\n base_url=\"SELF_HOSTED_CONTROL_PLANE_URL\"\n)\n\n# Delete a specific provider\nresult = portkey.providers.delete(\n slug=\"PROVIDER_SLUG\",\n workspace_id=\"\"\n)\n\nprint(result)\n"
- lang: javascript
label: Self-Hosted
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n baseUrl: \"SELF_HOSTED_CONTROL_PLANE_URL\"\n})\n\nconst result = await portkey.providers.delete({\n slug: \"PROVIDER_SLUG\",\n workspace_id: \"\"\n})\nconsole.log(result);\n"
components:
schemas:
Providers:
type: object
properties:
name:
type: string
example: Open AI Workspace
integration_id:
type: string
note:
type: string
nullable: true
example: randomness
status:
type: string
enum:
- active
- exhausted
- expired
usage_limits:
$ref: '#/components/schemas/UsageLimits'
reset_usage:
type: number
nullable: true
example: 0
created_at:
type: string
format: date-time
slug:
type: string
rate_limits:
type: array
items:
$ref: '#/components/schemas/RateLimits'
nullable: true
expires_at:
type: string
format: date-time
object:
type: string
enum:
- provider
UsageLimits:
type: object
properties:
credit_limit:
type: integer
description: Credit Limit. Used for tracking usage
minimum: 1
default: null
type:
type: string
description: Type of credit limit
enum:
- cost
- tokens
alert_threshold:
type: integer
description: Alert Threshold. Used for alerting when usage reaches more than this
minimum: 1
default: null
periodic_reset:
type: string
description: Reset the usage periodically.
enum:
- monthly
- weekly
nullable: true
example: monthly
periodic_reset_days:
type: integer
description: Reset the usage counter every N days (1-365). Mutually exclusive with periodic_reset.
minimum: 1
maximum: 365
nullable: true
example: 30
next_usage_reset_at:
type: string
format: date-time
description: ISO 8601 datetime for the next scheduled usage reset. Auto-computed from periodic_reset or periodic_reset_days if not provided.
nullable: true
example: '2026-05-01T00:00:00Z'
example:
credit_limit: 10
periodic_reset: monthly
alert_threshold: 8
RateLimits:
type: object
properties:
type:
type: string
enum:
- requests
- tokens
unit:
type: string
enum:
- rpd
- rph
- rpm
value:
type: integer
securitySchemes:
Portkey-Key:
type: apiKey
in: header
name: x-portkey-api-key
Virtual-Key:
type: apiKey
in: header
name: x-portkey-virtual-key
Provider-Auth:
type: http
scheme: bearer
Provider-Name:
type: apiKey
in: header
name: x-portkey-provider
Config:
type: apiKey
in: header
name: x-portkey-config
Custom-Host:
type: apiKey
in: header
name: x-portkey-custom-host
x-server-groups:
ControlPlaneServers:
- url: https://api.portkey.ai/v1
description: Portkey API Public Endpoint
- url: SELF_HOSTED_CONTROL_PLANE_URL
description: Self-Hosted Control Plane URL
DataPlaneServers:
- url: https://api.portkey.ai/v1
description: Portkey API Public Endpoint
- url: SELF_HOSTED_GATEWAY_URL
description: Self-Hosted Gateway URL
PublicServers:
- url: https://api.portkey.ai
description: Portkey Public API (no auth required)
x-mint:
mcp:
enabled: true
name: Portkey MCP
description: Official MCP Server for Portkey Docs & APIs
x-code-samples:
navigationGroups:
- id: endpoints
title: Endpoints
- id: assistants
title: Assistants
- id: legacy
title: Legacy
groups:
- id: audio
title: Audio
description: 'Learn how to turn audio into text or text into audio.
Related guide: [Speech to text](https://platform.openai.com/docs/guides/speech-to-text)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createSpeech
path: createSpeech
- type: endpoint
key: createTranscription
path: createTranscription
- type: endpoint
key: createTranslation
path: createTranslation
- type: object
key: CreateTranscriptionResponseJson
path: json-object
- type: object
key: CreateTranscriptionResponseVerboseJson
path: verbose-json-object
- id: chat
title: Chat
description: 'Given a list of messages comprising a conversation, the model will return a response.
Related guide: [Chat Completions](https://platform.openai.com/docs/guides/text-generation)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createChatCompletion
path: create
- type: object
key: CreateChatCompletionResponse
path: object
- type: object
key: CreateChatCompletionStreamResponse
path: streaming
- id: realtime
title: Realtime
description: 'WebSocket proxy for provider Realtime APIs (`GET` upgrade). Use `wss://` with the same `/v1` data-plane base as other gateway routes.
Related guide: [OpenAI Realtime API](https://platform.openai.com/docs/guides/realtime)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: connectRealtime
path: connect
- id: embeddings
title: Embeddings
description: 'Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.
Related guide: [Embeddings](https://platform.openai.com/docs/guides/embeddings)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createEmbedding
path: create
- type: object
key: Embedding
path: object
- id: rerank
title: Rerank
description: 'Rerank a list of documents based on their relevance to a query. Reranking improves search results by scoring documents based on semantic relevance rather than keyword matching.
Supported providers: Cohere, Voyage, Jina, Pinecone, Bedrock, Azure AI.
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createRerank
path: create
- type: object
key: CreateRerankResponse
path: object
- id: fine-tuning
title: Fine-tuning
description: 'Manage fine-tuning jobs to tailor a model to your specific training data.
Related guide: [Fine-tune models](https://platform.openai.com/docs/guides/fine-tuning)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createFineTuningJob
path: create
- type: endpoint
key: listPaginatedFineTuningJobs
path: list
- type: endpoint
key: listFineTuningEvents
path: list-events
- type: endpoint
key: listFineTuningJobCheckpoints
path: list-checkpoints
- type: endpoint
key: retrieveFineTuningJob
path: retrieve
- type: endpoint
key: cancelFineTuningJob
path: cancel
- type: object
key: FinetuneChatRequestInput
path: chat-input
- type: object
key: FinetuneCompletionRequestInput
path: completions-input
- type: object
key: FineTuningJob
path: object
- type: object
key: FineTuningJobEvent
path: event-object
- type: object
key: FineTuningJobCheckpoint
path: checkpoint-object
- id: batch
title: Batch
description: 'Create large batches of API requests for asynchronous processing. The Batch API returns completions within 24 hours for a 50% discount.
Related guide: [Batch](https://platform.openai.com/docs/guides/batch)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createBatch
path: create
- type: endpoint
key: retrieveBatch
path: retrieve
- type: endpoint
key: cancelBatch
path: cancel
- type: endpoint
key: listBatches
path: list
- type: object
key: Batch
path: object
- type: object
key: BatchRequestInput
path: request-input
- type: object
key: BatchRequestOutput
path: request-output
- id: files
title: Files
description: 'Files are used to upload documents that can be used with features like [Assistants](https://platform.openai.com/docs/api-reference/assistants), [Fine-tuning](https://platform.openai.com/docs/api-reference/fine-tuning), and [Batch API](https://platform.openai.com/docs/guides/batch).
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createFile
path: create
- type: endpoint
key: listFiles
path: list
- type: endpoint
key: retrieveFile
path: retrieve
- type: endpoint
key: deleteFile
path: delete
- type: endpoint
key: downloadFile
path: retrieve-contents
- type: object
key: OpenAIFile
path: object
- id: images
title: Images
description: 'Given a prompt and/or an input image, the model will generate a new image.
Related guide: [Image generation](https://platform.openai.com/docs/guides/images)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createImage
path: create
- type: endpoint
key: createImageEdit
path: createEdit
- type: endpoint
key: createImageVariation
path: createVariation
- type: object
key: Image
path: object
- id: models
title: Models
description: 'List and describe the various models available in the API. You can refer to the [Models](https://platform.openai.com/docs/models) documentation to understand what models are available and the differences between them.
'
navigationGroup: endpoints
sections:
- type: endpoint
key: listModels
path: list
- type: endpoint
key: retrieveModel
path: retrieve
- type: endpoint
key: deleteModel
path: delete
- type: object
key: Model
path: object
- id: moderations
title: Moderations
description: 'Given some input text, outputs if the model classifies it as potentially harmful across several categories.
Related guide: [Moderations](https://platform.openai.com/docs/guides/moderation)
'
navigationGroup: endpoints
sections:
- type: endpoint
key: createModeration
path: create
- type: object
key: CreateModerationResponse
path: object
- id: assistants
title: Assistants
beta: true
description: 'Build assistants that can call models and use tools to perform tasks.
[Get started with the Assistants API](https://platform.openai.com/docs/assistants)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createAssistant
path: createAssistant
- type: endpoint
key: listAssistants
path: listAssistants
- type: endpoint
key: getAssistant
path: getAssistant
- type: endpoint
key: modifyAssistant
path: modifyAssistant
- type: endpoint
key: deleteAssistant
path: deleteAssistant
- type: object
key: AssistantObject
path: object
- id: threads
title: Threads
beta: true
description: 'Create threads that assistants can interact with.
Related guide: [Assistants](https://platform.openai.com/docs/assistants/overview)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createThread
path: createThread
- type: endpoint
key: getThread
path: getThread
- type: endpoint
key: modifyThread
path: modifyThread
- type: endpoint
key: deleteThread
path: deleteThread
- type: object
key: ThreadObject
path: object
- id: messages
title: Messages
beta: true
description: 'Create messages within threads
Related guide: [Assistants](https://platform.openai.com/docs/assistants/overview)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createMessage
path: createMessage
- type: endpoint
key: listMessages
path: listMessages
- type: endpoint
key: getMessage
path: getMessage
- type: endpoint
key: modifyMessage
path: modifyMessage
- type: endpoint
key: deleteMessage
path: deleteMessage
- type: object
key: MessageObject
path: object
- id: runs
title: Runs
beta: true
description: 'Represents an execution run on a thread.
Related guide: [Assistants](https://platform.openai.com/docs/assistants/overview)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createRun
path: createRun
- type: endpoint
key: createThreadAndRun
path: createThreadAndRun
- type: endpoint
key: listRuns
path: listRuns
- type: endpoint
key: getRun
path: getRun
- type: endpoint
key: modifyRun
path: modifyRun
- type: endpoint
key: submitToolOuputsToRun
path: submitToolOutputs
- type: endpoint
key: cancelRun
path: cancelRun
- type: object
key: RunObject
path: object
- id: run-steps
title: Run Steps
beta: true
description: 'Represents the steps (model and tool calls) taken during the run.
Related guide: [Assistants](https://platform.openai.com/docs/assistants/overview)
'
navigationGroup: assistants
sections:
- type: endpoint
key: listRunSteps
path: listRunSteps
- type: endpoint
key: getRunStep
path: getRunStep
- type: object
key: RunStepObject
path: step-object
- id: vector-stores
title: Vector Stores
beta: true
description: 'Vector stores are used to store files for use by the `file_search` tool.
Related guide: [File Search](https://platform.openai.com/docs/assistants/tools/file-search)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createVectorStore
path: create
- type: endpoint
key: listVectorStores
path: list
- type: endpoint
key: getVectorStore
path: retrieve
- type: endpoint
key: modifyVectorStore
path: modify
- type: endpoint
key: deleteVectorStore
path: delete
- type: object
key: VectorStoreObject
path: object
- id: vector-stores-files
title: Vector Store Files
beta: true
description: 'Vector store files represent files inside a vector store.
Related guide: [File Search](https://platform.openai.com/docs/assistants/tools/file-search)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createVectorStoreFile
path: createFile
- type: endpoint
key: listVectorStoreFiles
path: listFiles
- type: endpoint
key: getVectorStoreFile
path: getFile
- type: endpoint
key: deleteVectorStoreFile
path: deleteFile
- type: object
key: VectorStoreFileObject
path: file-object
- id: vector-stores-file-batches
title: Vector Store File Batches
beta: true
description: 'Vector store file batches represent operations to add multiple files to a vector store.
Related guide: [File Search](https://platform.openai.com/docs/assistants/tools/file-search)
'
navigationGroup: assistants
sections:
- type: endpoint
key: createVectorStoreFileBatch
path: createBatch
- type: endpoint
key: getVectorStoreFileBatch
path: getBatch
- type: endpoint
key: cancelVectorStoreFileBatch
path: cancelBatch
- type: endpoint
key: listFilesInVectorStoreBatch
path: listBatchFiles
- type: object
key: VectorStoreFileBatchObject
path: batch-object
- id: assistants-streaming
title: Streaming
beta: true
description: 'Stream the result of executing a Run or resuming a Run after submitting tool outputs.
You can stream events from the [Create Thread and Run](https://platform.opena
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/portkey/refs/heads/main/openapi/portkey-providers-api-openapi.yml