openapi: 3.0.0
info:
title: Portkey Analytics > Graphs Workspaces > Members 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: Workspaces > Members
description: Create and manage workspace members.
paths:
/admin/workspaces/{workspaceId}/users:
servers:
- url: https://api.portkey.ai/v1
- url: https://SELF_HOSTED_CONTROL_PLANE_URL
post:
tags:
- Workspaces > Members
summary: Add workspace member
requestBody:
content:
application/json:
schema:
type: object
properties:
users:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
example: 25afb7bd-f98a-11ee-85fe-0e27d7367987
role:
type: string
example: member
enum:
- admin
- member
- manager
example:
users:
- id: 419641fb-1458-47d6-94d0-e308159b3ec2
role: member
- id: 419641fb-1458-47d6-94d0-e308159b3ec3
role: member
parameters:
- name: workspaceId
in: path
schema:
type: string
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
example: {}
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 user to workspace\nuser = portkey.admin.workspaces.users.create(\n workspace_id=\"WORKSPACE_SLUG\",\n users=[\n {\n \"id\": \"USER_ID\",\n \"role\": \"member\"\n }\n ]\n)\n\nprint(user)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst user=await portkey.admin.workspaces.users.create({\n workspaceId: \"WORKSPACE_SLUG\",\n users:[{\n id:\"USER_ID\",\n role:'member'\n }]\n})\nconsole.log(user);\n"
- lang: curl
label: Default
source: "curl -X POST \"https://api.portkey.ai/v1/admin/workspaces/{workspaceId}/users\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\n -d '{\"users\":[{\"id\":\"USER_ID\",\"role\":\"member\"}]}'\n"
- lang: curl
label: Self-Hosted
source: "curl -X POST \"SELF_HOSTED_CONTROL_PLANE_URL/admin/workspaces/{workspaceId}/users\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\n -d '{\"users\":[{\"id\":\"USER_ID\",\"role\":\"member\"}]}'\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 user to workspace\nuser = portkey.admin.workspaces.users.create(\n workspace_id=\"WORKSPACE_SLUG\",\n users=[\n {\n \"id\": \"USER_ID\",\n \"role\": \"member\"\n }\n ]\n)\n\nprint(user)\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 user = await portkey.admin.workspaces.users.create({\n workspaceId: \"WORKSPACE_SLUG\",\n users: [{\n id: \"USER_ID\",\n role: 'member'\n }]\n})\n\nconsole.log(user);\n"
get:
tags:
- Workspaces > Members
summary: Get workspace members
parameters:
- name: workspaceId
in: path
schema:
type: string
required: true
- name: current_page
in: query
schema:
type: number
default: 50
required: false
- name: page_size
in: query
schema:
type: number
default: 0
required: false
- name: role
in: query
schema:
type: string
enum:
- admin
- manager
- member
example: admin
- name: email
in: query
schema:
type: string
example: foo@bar.com
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMemberList'
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 user from workspace\nusers = portkey.admin.workspaces.users.list(\n workspace_id=\"WORKSPACE_SLUG\",\n)\n\nprint(users)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst user=await portkey.admin.workspaces.users.list({\n workspaceId: 'WORKSPACE_SLUG',\n})\nconsole.log(user);\n"
- lang: curl
label: Default
source: 'curl -X GET "https://api.portkey.ai/v1/admin/workspaces/{workspaceId}/users"
'
- lang: curl
label: Self-Hosted
source: "curl -X GET \"SELF_HOSTED_CONTROL_PLANE_URL/admin/workspaces/{workspaceId}/users\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\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# Get user from workspace\nusers = portkey.admin.workspaces.users.list(\n workspace_id=\"WORKSPACE_SLUG\",\n)\n\nprint(users)\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 user=await portkey.admin.workspaces.users.list({\n workspaceId: 'WORKSPACE_SLUG',\n})\nconsole.log(user);\n"
/admin/workspaces/{workspaceId}/users/{userId}:
servers:
- url: https://api.portkey.ai/v1
description: Portkey API Public Endpoint
- url: SELF_HOSTED_CONTROL_PLANE_URL
description: Self-Hosted Control Plane URL
put:
tags:
- Workspaces > Members
summary: Update workspace member
requestBody:
content:
application/json:
schema:
type: object
properties:
role:
type: string
enum:
- admin
- member
- manager
example:
role: member
parameters:
- name: workspaceId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json
content:
application/json:
schema:
type: object
example: {}
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 user in workspace\nupdated_user = portkey.admin.workspaces.users.update(\n workspace_id='WORKSPACE_SLUG',\n user_id=\"USER_ID\",\n role='member'\n)\n\nprint(updated_user)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst user=await portkey.admin.workspaces.users.update({\n workspaceId: 'WORKSPACE_SLUG',\n userId:\"USER_ID\",\n role:'member'\n})\nconsole.log(user);\n"
- lang: curl
label: Default
source: "curl -X PUT \"https://api.portkey.ai/v1/admin/workspaces/{workspaceId}/users/{userId}\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\n -d '{\"role\":\"member\"}'\n"
- lang: curl
label: Self-Hosted
source: "curl -X PUT \"SELF_HOSTED_CONTROL_PLANE_URL/admin/workspaces/{workspaceId}/users/{userId}\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\n -d '{\"role\":\"member\"}'\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 user in workspace\nupdated_user = portkey.admin.workspaces.users.update(\n workspace_id='WORKSPACE_SLUG',\n user_id=\"USER_ID\",\n role='member'\n)\n\nprint(updated_user)\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 user=await portkey.admin.workspaces.users.update({\n workspaceId: 'WORKSPACE_SLUG',\n userId:\"USER_ID\",\n role:'member'\n})\nconsole.log(user);\n"
delete:
tags:
- Workspaces > Members
summary: Remove workspace member
parameters:
- name: workspaceId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json
content:
application/json:
schema:
type: object
example: {}
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 user from workspace\nresult = portkey.admin.workspaces.users.delete(\n workspace_id='WORKSPACE_SLUG',\n user_id='USER_ID'\n)\n\n# Print the result (if any)\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\nuser = await portkey.admin.workspaces.users.delete({\n workspaceId: 'WORKSPACE_SLUG',\n userId:'USER_ID'\n})\n\nconsole.log(user)\n"
- lang: curl
label: Default
source: "curl -X DELETE \"https://api.portkey.ai/v1/admin/workspaces/{workspaceId}/users/{userId}\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\n"
- lang: curl
label: Self-Hosted
source: "curl -X DELETE \"SELF_HOSTED_CONTROL_PLANE_URL/admin/workspaces/{workspaceId}/users/{userId}\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\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# Delete user from workspace\nresult = portkey.admin.workspaces.users.delete(\n workspace_id='WORKSPACE_SLUG',\n user_id='USER_ID'\n)\n\n# Print the result (if any)\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\nuser = await portkey.admin.workspaces.users.delete({\n workspaceId: 'WORKSPACE_SLUG',\n userId:'USER_ID'\n})\n\nconsole.log(user)\n"
get:
tags:
- Workspaces > Members
summary: Get member
parameters:
- name: workspaceId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
responses:
'200':
description: OK
headers:
Content-Type:
schema:
type: string
example: application/json
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMember'
example:
object: workspace-user
id: 66dc015d-0270-11f1-8eec-0e27d7367989
first_name: John
last_name: Doe
org_role: admin
role: admin
created_at: '2026-03-09T07:55:25.000Z'
last_updated_at: '2026-03-09T07:55:25.000Z'
status: active
workspace_id: bf276bb9-4cef-4d87-b69b-b23a6ed6b1dd
email: john.doe@example.com
scopes:
- organisations.read
- organisation_users.read
- workspaces.read
- logs.list
- logs.view
- prompts.create
- prompts.read
- prompts.list
- configs.create
- configs.read
- configs.list
- virtual_keys.create
- virtual_keys.read
- virtual_keys.list
- workspace_users.create
- workspace_users.read
- workspace_users.list
- generations.create
settings: null
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 user from workspace\nuser = portkey.admin.workspaces.users.retrieve(\n workspace_id=\"WORKSPACE_SLUG\",\n user_id=\"USER_ID\"\n)\n\nprint(user)\n"
- lang: javascript
label: Default
source: "import { Portkey } from \"portkey-ai\";\n\nconst portkey = new Portkey({\n apiKey: \"PORTKEY_API_KEY\",\n})\n\nconst user=await portkey.admin.workspaces.users.retrieve({\n workspaceId: 'WORKSPACE_SLUG',\n userId:'USER_ID',\n})\nconsole.log(user);\n"
- lang: curl
label: Default
source: "curl -X GET \"https://api.portkey.ai/v1/admin/workspaces/{workspaceId}/users/{userId}\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\n"
- lang: curl
label: Self-Hosted
source: "curl -X GET \"SELF_HOSTED_CONTROL_PLANE_URL/admin/workspaces/{workspaceId}/users/{userId}\"\n -H \"x-portkey-api-key: PORTKEY_API_KEY\"\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# Get user from workspace\nuser = portkey.admin.workspaces.users.retrieve(\n workspace_id=\"WORKSPACE_SLUG\",\n user_id=\"USER_ID\"\n)\n\nprint(user)\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 user=await portkey.admin.workspaces.users.retrieve({\n workspaceId: 'WORKSPACE_SLUG',\n userId:'USER_ID',\n})\nconsole.log(user);\n"
components:
schemas:
WorkspaceMember:
type: object
properties:
object:
type: string
example: workspace-user
enum:
- workspace-user
id:
type: string
format: uuid
example: 66dc015d-0270-11f1-8eec-0e27d7367989
first_name:
type: string
example: John
last_name:
type: string
example: Doe
org_role:
type: string
example: admin
enum:
- admin
- member
- owner
role:
type: string
example: admin
enum:
- admin
- member
- manager
created_at:
type: string
format: date-time
example: '2026-03-09T07:55:25.000Z'
last_updated_at:
type: string
format: date-time
example: '2026-03-09T07:55:25.000Z'
status:
type: string
example: active
enum:
- active
workspace_id:
type: string
format: uuid
example: bf276bb9-4cef-4d87-b69b-b23a6ed6b1dd
email:
type: string
format: email
example: john.doe@example.com
scopes:
type: array
items:
type: string
example:
- organisations.read
- organisation_users.read
- workspaces.read
- logs.list
- logs.view
- prompts.create
- prompts.read
- prompts.list
- configs.create
- configs.read
- configs.list
- virtual_keys.create
- virtual_keys.read
- virtual_keys.list
- workspace_users.create
- workspace_users.read
- workspace_users.list
- generations.create
settings:
type: object
nullable: true
example: null
WorkspaceMemberList:
type: object
properties:
total:
type: integer
example: 2
object:
type: string
example: list
enum:
- list
data:
type: array
items:
$ref: '#/components/schemas/WorkspaceMember'
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.openai.com/docs/api-reference/runs/createThreadAndRun),
[Create Run](https://platform.openai.com/docs/api-reference/runs/createRun), and [Submit Tool Outputs](https://platform.openai.com/docs/api-reference/runs/submitToolOutputs)
endpoints by passing `"stream": true`. The response will be a [Server-Sent e
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/portkey/refs/heads/main/openapi/portkey-workspaces-members-api-openapi.yml