Pinecone Manage Assistants API

Actions that manage Assistants

OpenAPI Specification

pinecone-manage-assistants-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Pinecone Admin API Keys Manage Assistants API
  description: 'Provides an API for managing a Pinecone organization and its resources.

    '
  contact:
    name: Pinecone Support
    url: https://support.pinecone.io
    email: support@pinecone.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 2025-10
servers:
- url: https://api.pinecone.io
  description: Production API endpoints
security:
- BearerAuth: []
tags:
- name: Manage Assistants
  description: Actions that manage Assistants
paths:
  /assistants:
    get:
      tags:
      - Manage Assistants
      summary: List assistants
      description: 'List of all assistants in a project.


        For guidance and examples, see [Manage assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#list-assistants-for-a-project).'
      operationId: list_assistants
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      responses:
        '200':
          description: List all assistants in a project.
          content:
            application/json:
              schema:
                description: The list of assistants that exist in the project.
                type: object
                properties:
                  assistants:
                    type: array
                    items:
                      $ref: '#/components/schemas/Assistant'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
    post:
      tags:
      - Manage Assistants
      summary: Create an assistant
      description: 'Create an assistant. This is where you specify the underlying training model, which cloud provider you would like to deploy with, and more.


        For guidance and examples, see [Create an assistant](https://docs.pinecone.io/guides/assistant/create-assistant)'
      operationId: create_assistant
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      requestBody:
        description: The desired configuration to create an assistant.
        content:
          application/json:
            schema:
              description: The configuration needed to create an assistant.
              type: object
              properties:
                name:
                  example: example-assistant
                  description: 'The name of the assistant. Resource name must be 1-63 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or ''-''.

                    '
                  type: string
                  minLength: 1
                  maxLength: 63
                instructions:
                  nullable: true
                  description: Description or directive for the assistant to apply to all responses. Maximum 16 KB.
                  type: string
                metadata:
                  description: Optional metadata associated with the assistant. Metadata is a JSON object that can store custom organizational data, tags, and attributes. Maximum size is 16KB.
                  type: object
                region:
                  description: The region to deploy the assistant in. Our current options are either us or eu. Defaults to us.
                  x-enum:
                  - us
                  - eu
                  type: string
              required:
              - name
        required: true
      responses:
        '200':
          description: Create request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assistant'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                upload-validation-error:
                  summary: Validation error on ingest
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
        '429':
          description: Assistant of given name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /assistants/{assistant_name}:
    get:
      tags:
      - Manage Assistants
      summary: Check assistant status
      description: 'Get the status of an assistant.


        For guidance and examples, see [Manage assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#get-the-status-of-an-assistant)'
      operationId: get_assistant
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to get a status on.
        required: true
        schema:
          type: string
        example: test-model
        style: simple
      responses:
        '200':
          description: Poll request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assistant'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
    delete:
      tags:
      - Manage Assistants
      summary: Delete an assistant
      description: 'Delete an existing assistant.


        For guidance and examples, see [Manage assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#delete-an-assistant)'
      operationId: delete_assistant
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to delete.
        required: true
        schema:
          type: string
        example: my-assistant
        style: simple
      responses:
        '200':
          description: The request to delete the assistant has been accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
    patch:
      tags:
      - Manage Assistants
      summary: Update an assistant
      description: 'Update an existing assistant. You can modify the assistant''s instructions.


        For guidance and examples, see [Manage assistants](https://docs.pinecone.io/guides/assistant/manage-assistants#add-instructions-to-an-assistant).'
      operationId: update_assistant
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to update.
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        description: The desired configuration updates for the assistant.
        content:
          application/json:
            schema:
              description: The configuration updates for the assistant.
              type: object
              properties:
                instructions:
                  nullable: true
                  description: Description or directive for the assistant to apply to all responses. Maximum 16 KB.
                  type: string
                metadata:
                  description: Optional metadata associated with the assistant. Metadata is a JSON object that can store custom organizational data, tags, and attributes. Maximum size is 16KB.
                  nullable: true
                  type: object
        required: true
      responses:
        '200':
          description: Update request successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  assistant_name:
                    type: string
                  instructions:
                    description: Description or directive for the assistant to apply to all responses.
                    type: string
                  metadata:
                    description: Optional metadata associated with the assistant. Metadata is a JSON object that can store custom organizational data, tags, and attributes.
                    type: object
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Assistant not found
        '500':
          description: Internal Server Error
  /files/{assistant_name}:
    get:
      tags:
      - Manage Assistants
      summary: List Files
      description: 'List all files in an assistant, with an option to filter files with metadata.


        For guidance and examples, see [Manage files](https://docs.pinecone.io/guides/assistant/manage-files#list-files-in-an-assistant).'
      operationId: list_files
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to list files for.
        required: true
        schema:
          type: string
        example: test-assistant
        style: simple
      - in: query
        name: filter
        description: Optional JSON-encoded metadata filter for files.
        schema:
          type: string
          format: json
        example: '{"genre":{"$eq":"comedy"}}'
        style: form
      responses:
        '200':
          description: This operation returns a list of all files that you have previously uploaded, and which are associated with the given assistant name.
          content:
            application/json:
              schema:
                description: The list of files that exist in the assistant
                type: object
                properties:
                  files:
                    type: array
                    items:
                      $ref: '#/components/schemas/AssistantFileModel'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
    post:
      tags:
      - Manage Assistants
      summary: Upload file to assistant
      description: 'Upload a file to the specified assistant.


        For guidance and examples, see [Manage files](https://docs.pinecone.io/guides/assistant/manage-files#upload-a-local-file).'
      operationId: upload_file
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to upload files to.
        required: true
        schema:
          type: string
        example: test-model
        style: simple
      - in: query
        name: metadata
        description: Optional JSON-encoded metadata for files.
        schema:
          type: string
          format: json
        example: '{"genre":{"$eq":"comedy"}}'
        style: form
      - in: query
        name: multimodal
        description: Optional flag to opt in to multimodal file processing (PDFs only). Can be either `true` or `false`. Default is `false`.
        schema:
          type: string
        style: form
      requestBody:
        description: The desired file to be uploaded and processed into the assistant.
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: The file to upload.
                  type: string
                  format: binary
              required:
              - file
        required: true
      responses:
        '200':
          description: File upload has been accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistantFileModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
  /files/{assistant_name}/{assistant_file_id}:
    get:
      tags:
      - Manage Assistants
      summary: Describe a file upload
      description: 'Get the status and metadata of a file uploaded to an assistant.


        For guidance and examples, see [Manage files](https://docs.pinecone.io/guides/assistant/manage-files#get-the-status-of-a-file).'
      operationId: describe_file
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to upload files to.
        required: true
        schema:
          type: string
        example: test-model
        style: simple
      - in: path
        name: assistant_file_id
        description: The uuid of the file to be described.
        required: true
        schema:
          type: string
        example: 72490b32-46d9-4db1-b48b-666e9176d9be
        style: simple
      - in: query
        name: include_url
        description: Include the signed URL of the file in the response.
        schema:
          x-enum:
          - 'true'
          - 'false'
          type: string
        style: form
      responses:
        '200':
          description: Poll request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistantFileModel'
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: File not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                file-not-found:
                  summary: File not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: File with id 72490b32-46d9-4db1-b48b-666e9176d9be  not found in provided assistant
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
    delete:
      tags:
      - Manage Assistants
      summary: Delete an uploaded file
      description: 'Delete an uploaded file from an assistant.


        For guidance and examples, see [Manage files](https://docs.pinecone.io/guides/assistant/manage-files#delete-a-file).'
      operationId: delete_file
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to upload files to.
        required: true
        schema:
          type: string
        example: test-model
        style: simple
      - in: path
        name: assistant_file_id
        description: The uuid of the file to be described.
        required: true
        schema:
          type: string
        example: 72490b32-46d9-4db1-b48b-666e9176d9be
        style: simple
      responses:
        '200':
          description: The request to delete the file has been accepted.
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: File not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                file-not-found:
                  summary: File not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: File with id 72490b32-46d9-4db1-b48b-666e9176d9be  not found in provided assistant
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
  /chat/{assistant_name}/chat/completions:
    post:
      tags:
      - Manage Assistants
      summary: Chat through an OpenAI-compatible interface
      description: "Chat with an assistant. This endpoint is based on the OpenAI Chat Completion API, a commonly used and adopted API. \n\nIt is useful if you need inline citations or OpenAI-compatible responses, but has limited functionality compared to the standard chat interface.\n\nFor guidance and examples, see [Chat with an assistant](https://docs.pinecone.io/guides/assistant/chat-with-assistant)."
      operationId: chat_completion_assistant
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to be described.
        required: true
        schema:
          type: string
        example: test-assistant
        style: simple
      requestBody:
        description: The desired configuration to chat an assistant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchCompletions'
        required: true
      responses:
        '200':
          description: Search request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionModel'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/StreamChatCompletionChunkModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid API key.
                    status: 401
        '404':
          description: Assistant not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                assistant-not-found:
                  summary: Assistant not found.
                  value:
                    error:
                      code: NOT_FOUND
                      message: Assistant "example-assistant" not found.
                    status: 404
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                internal-server-error:
                  summary: Internal server error
                  value:
                    error:
                      code: UNKNOWN
                      message: Internal server error
                    status: 500
  /chat/{assistant_name}:
    post:
      tags:
      - Manage Assistants
      summary: Chat with an assistant
      description: "Chat with an assistant and get back citations in structured form. \n\nThis is the recommended way to chat with an assistant, as it offers more functionality and control over the assistant's responses and references than the OpenAI-compatible chat interface.\n\nFor guidance and examples, see [Chat with an assistant](https://docs.pinecone.io/guides/assistant/chat-with-assistant)."
      operationId: chat_assistant
      parameters:
      - in: header
        name: X-Pinecone-Api-Version
        description: Required date-based version header
        required: true
        schema:
          default: 2025-10
          type: string
        style: simple
      - in: path
        name: assistant_name
        description: The name of the assistant to be described.
        required: true
        schema:
          type: string
        example: test-assistant
        style: simple
      requestBody:
        description: The desired configuration to chat an assistant.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatRequest'
        required: true
      responses:
        '200':
          description: Search request successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatModel'
        '400':
          description: Bad request. The request body included invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                files-validation-error:
                  summary: Validation error on ingest.
                  value:
                    error:
                      code: INVALID_ARGUMENT
                      message: Uploaded file can only currently be either a pdf or txt file
                    status: 400
        '401':
          description: 'Unauthorized. Possible causes: Invalid API key.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    error:
                      code: UNAUTHENTICATED
                      message: Invalid 

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pinecone/refs/heads/main/openapi/pinecone-manage-assistants-api-openapi.yml