Portkey Workspaces > Members API

Create and manage workspace members.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/portkey-workspaces-members-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

portkey-workspaces-members-api-openapi.yml Raw ↑
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