components:
  schemas:
    APIKey:
      properties:
        id:
          description: The unique identifier of the API key with which the request
            was made.
          format: uuid
          title: API Key ID
          type: string
        name:
          default: ''
          description: Name of the API key.
          title: API Key Name
          type: string
      required:
      - id
      title: APIKey
      type: object
    APITokenResult:
      properties:
        api_token:
          description: API token with the prefix `api_`. This token inherits all permissions
            of the user that created it, and acts on behalf of this user.
          title: API Token
          type: string
        api_token_id:
          description: Unique identifier of the API token.
          format: uuid
          title: API Token ID
          type: string
      required:
      - api_token
      - api_token_id
      title: APITokenResult
      type: object
    AWSAssumeRoleCredentials:
      properties:
        role_arn:
          description: The role which Haystack Enterprise Platform should assume to
            access your bucket.
          title: Role ARN
          type: string
        role_session_name:
          description: The identifier for the assumed role session which Haystack
            Enterprise Platform uses to access your bucket.
          title: Role Session Name
          type: string
      required:
      - role_arn
      - role_session_name
      title: AWSAssumeRoleCredentials
      type: object
    Action:
      description: 'Actions are the operations that can be performed on an asset.

        Currently defined actions are:

        - read

        - write


        When allowing write we assume that users can also read.

        This is a simplification that we can revisit later.'
      enum:
      - read
      - write
      title: Action
      type: string
    AddRoleBody:
      properties:
        description:
          description: The description of the role
          title: Description
          type: string
        permissions:
          description: The permissions of the role
          items:
            $ref: '#/components/schemas/Permission'
          title: Permissions
          type: array
        role_name:
          description: The name of the role
          title: Role Name
          type: string
      required:
      - role_name
      - description
      - permissions
      title: AddRoleBody
      type: object
    AssetCollection:
      description: Collection of all assets with their information.
      properties:
        assets:
          items:
            $ref: '#/components/schemas/AssetInfo'
          title: Assets
          type: array
      required:
      - assets
      title: AssetCollection
      type: object
    AssetInfo:
      description: Information about an asset including its name, description and
        allowed actions.
      properties:
        actions:
          items:
            $ref: '#/components/schemas/Action'
          title: Actions
          type: array
        asset:
          $ref: '#/components/schemas/Assets'
        description:
          title: Description
          type: string
        family:
          title: Family
          type: string
        title:
          title: Title
          type: string
      required:
      - asset
      - description
      - family
      - actions
      - title
      title: AssetInfo
      type: object
    Assets:
      description: Assets are the resources that are protected by the authorization
        system and are scoped to workspaces.
      enum:
      - feedback
      - feedback_management
      - files
      - indexes
      - jobs
      - secrets
      - shared_prototypes
      - pipelines
      - services
      - prompts
      - search_history
      - workspace_statistics
      - workspace_members
      - groundedness
      - api_keys
      - models
      - tool_registry
      - component_templates
      - mcp_server
      - skills
      - costs
      - '*'
      title: Assets
      type: string
    AssignedRoleRequest:
      properties:
        role_id:
          description: Unique identifier of the role.
          format: uuid
          title: Role ID
          type: string
        workspace_name:
          description: Name of the workspace.
          title: Workspace Name
          type: string
      required:
      - workspace_name
      - role_id
      title: AssignedRoleRequest
      type: object
    AutoCreateSecret:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the secret.
          title: Secret Name
        secret:
          description: The secret you want to add.
          title: Secret
          type: string
      required:
      - secret
      title: Create Secret
      type: object
    Body_import_custom_components_api_v2_custom_components_post:
      properties:
        file:
          contentMediaType: application/octet-stream
          title: File
          type: string
      required:
      - file
      title: Body_import_custom_components_api_v2_custom_components_post
      type: object
    Body_import_query_set_api_v2_workspaces__workspace_id__query_sets_import_post:
      properties:
        file:
          contentMediaType: application/octet-stream
          title: File
          type: string
        file_name:
          description: Name for this query set
          title: File Name
          type: string
      required:
      - file
      - file_name
      title: Body_import_query_set_api_v2_workspaces__workspace_id__query_sets_import_post
      type: object
    Body_upload_file_api_v1_workspaces__workspace_name__files_post:
      properties:
        file:
          anyOf:
          - contentMediaType: application/octet-stream
            type: string
          - type: 'null'
          description: The name of the file you want to upload.
          title: File
        meta:
          default: '{}'
          description: A list of metadata fields in the "key":"value" format. During
            search, you can use these metadata as filters.
          title: Meta
          type: string
        text:
          anyOf:
          - type: string
          - type: 'null'
          description: Instead of uploading a file, you can paste the file contents
            here to create a text file.
          title: Text
      title: Body_upload_file_api_v1_workspaces__workspace_name__files_post
      type: object
    Body_upload_temporary_file_api_v1_workspaces__workspace_name__temporary_files_post:
      properties:
        file:
          anyOf:
          - contentMediaType: application/octet-stream
            type: string
          - type: 'null'
          description: The name of the file you want to upload.
          title: File
        meta:
          default: '{}'
          description: A list of metadata fields in the "key":"value" format. During
            search, you can use these metadata as filters.
          title: Meta
          type: string
        text:
          anyOf:
          - type: string
          - type: 'null'
          description: Instead of uploading a file, you can paste the file contents
            here to create a text file.
          title: Text
      title: Body_upload_temporary_file_api_v1_workspaces__workspace_name__temporary_files_post
      type: object
    BreakdownSortField:
      description: The breakdown fields you can sort by. Values match the response
        field names.
      enum:
      - label
      - cost_total
      - total_tokens
      - total_requests
      title: BreakdownSortField
      type: string
    BulkSearchHistoryLabelsRequest:
      description: Request body for bulk assigning or removing labels on multiple
        search history records.
      properties:
        labels:
          description: List of label strings to add or remove.
          items:
            type: string
          maxItems: 50
          minItems: 1
          title: Labels
          type: array
        query_ids:
          description: List of search history query IDs to update.
          items:
            format: uuid
            type: string
          maxItems: 100
          minItems: 1
          title: Query Ids
          type: array
      required:
      - query_ids
      - labels
      title: BulkSearchHistoryLabelsRequest
      type: object
    ChatCompletionMessage:
      description: 'OpenAI-style message for chat completions.


        Supports plain conversation turns (``system``/``user``/``assistant``). Message
        shapes that

        include ``tool_calls`` or ``role: tool`` are accepted for OpenAI compatibility,
        but chat

        completions endpoints do not support client-side tool calling.'
      properties:
        content:
          anyOf:
          - type: string
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          description: 'The message text, or an OpenAI content-parts array, for example
            `[{"type": "text", "text": "..."}]`. You can include `image_url` parts
            with a base64 data URL, and `file` parts with a workspace `file_id` or
            inline `file_data`. `input_audio` parts and HTTP `image_url`s are ignored;
            the rest of the message is still used. Required for `system`/`user`/`tool`
            messages. May be `null` on an `assistant` message that only carries `tool_calls`.'
          title: Content
        role:
          description: The role of the message sender.
          enum:
          - system
          - user
          - assistant
          - tool
          title: Role
          type: string
        tool_call_id:
          anyOf:
          - type: string
          - type: 'null'
          description: The id of the tool call this message is the result of. Required
            on `tool` messages.
          title: Tool Call Id
        tool_calls:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          description: OpenAI-shaped tool calls on an `assistant` message.
          title: Tool Calls
      required:
      - role
      title: ChatCompletionMessage
      type: object
    ChatCompletionsModel:
      description: ':class:`~fastapi_openai_compat.ModelObject`, extended with an
        OpenRouter-style

        ``supported_parameters`` hint.


        Integrations such as Thunderbolt key their "may not support tool calling"
        warning

        off this field. We list ``tools`` / ``tool_choice`` here so Thunderbolt allows
        selecting a

        pipeline as a model even though chat completions do not support client-side
        tool calling.'
      examples:
      - created: 1700000000
        id: my-workspace-name/my-pipeline
        name: my-pipeline
        object: model
        owned_by: my-organization
        supported_parameters:
        - tools
        - tool_choice
      - created: 1700000000
        id: my-workspace-name/3fa85f64-5717-4562-b3fc-2c963f66afa6
        name: support-agent
        object: model
        owned_by: my-organization
        supported_parameters:
        - tools
        - tool_choice
      properties:
        created:
          description: Unix timestamp (seconds) when the model was created.
          title: Created
          type: integer
        id:
          description: Value you pass as `model` to chat completions. For a pipeline
            it is `{workspace_name}/{pipeline_name}`. For a deployed service it is
            `{workspace_name}/{deployment_id}`.
          title: Id
          type: string
        name:
          description: Human-readable name of the model.
          title: Name
          type: string
        object:
          const: model
          description: Object type, always `model`.
          title: Object
          type: string
        owned_by:
          description: Organization or entity that owns the model.
          title: Owned By
          type: string
        supported_parameters:
          default:
          - tools
          - tool_choice
          items:
            type: string
          title: Supported Parameters
          type: array
      required:
      - id
      - name
      - object
      - created
      - owned_by
      title: ChatCompletionsModel
      type: object
    ChatHistoryGranularity:
      enum:
      - ALL_MESSAGES
      - QUERY_ANSWER
      title: ChatHistoryGranularity
      type: string
    ChatQuery:
      examples:
      - chat_history_limit: 3
        debug: true
        filters:
          conditions:
          - field: meta.country
            operator: ==
            value: France
          - field: meta.date
            operator: '>='
            value: '2025-01-01'
          - conditions:
            - field: meta.city
              operator: ==
              value: Paris
            - field: meta.name
              operator: in
              value:
              - Paris
              - Lyon
            operator: OR
          operator: AND
        params:
          retriever:
            top_k: 2
        queries:
        - What is the capital of France?
        search_session_id: 123e4567-e89b-12d3-a456-426614174000
        view_prompts: false
      properties:
        chat_history_granularity:
          anyOf:
          - $ref: '#/components/schemas/ChatHistoryGranularity'
          - type: 'null'
          description: Controls how much of the chat history is replayed to the pipeline.
            Use `all_messages` to include every message (tool calls, reasoning, etc.)
            from the last turns, or `query_answer` (default) to include only the user
            query and the final answer from each turn. Can also be set per-pipeline
            in the pipeline YAML under `history.granularity`.
          title: Chat History Granularity
        chat_history_limit:
          default: 3
          description: The number of the most recent chat history items to include
            in the chat. For example, setting the limit to 3 will show the last three
          title: Chat History Limit
          type: integer
        debug:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Shows debug output for the pipeline or deployed service (for
            example, prompt).
          title: Debug Flag
        files:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: IDs of temporary files to pass to the pipeline as input files.
            Upload each file first with `POST /api/v1/workspaces/{workspace_name}/temporary_files`.
            Workspace file IDs are not accepted, and this field does not filter the
            indexed files that the pipeline searches.
          title: Files
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: 'Parameters you can use to customize the pipeline or deployed
            service. For details, see [Haystack documentation for the pipeline `run()`
            method](https://docs.haystack.deepset.ai/reference/pipeline-api). These
            filters can be used to pass additional parameters to the pipeline.(Haystack
            is the underlying technology for deepset.) '
          title: Pipeline Parameters
        queries:
          description: A list of queries you want to run through the pipeline or deployed
            service.
          items:
            type: string
          title: Queries
          type: array
        search_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the search session to use for chat history. If you
            omit it, a new search session owned by the pipeline or deployment you're
            querying is created automatically and its ID is returned in the `X-Search-Session-Id`
            response header.
          title: Search Session ID
        view_prompts:
          default: false
          description: Adds the runtime prompts of all nodes to the response. (The
            pipeline or deployed service runs in debug mode.)
          title: View prompts
          type: boolean
      required:
      - queries
      title: ChatQuery
      type: object
    ChatStreamingQuery:
      description: Request body for the pipeline-scoped `/chat-stream` endpoint.
      examples:
      - chat_history_limit: 3
        debug: true
        filters:
          conditions:
          - field: meta.country
            operator: ==
            value: France
          - field: meta.date
            operator: '>='
            value: '2025-01-01'
          - conditions:
            - field: meta.city
              operator: ==
              value: Paris
            - field: meta.name
              operator: in
              value:
              - Paris
              - Lyon
            operator: OR
          operator: AND
        include_result: false
        params:
          retriever:
            top_k: 2
        query: What is the capital of France?
        search_session_id: 123e4567-e89b-12d3-a456-426614174000
        view_prompts: false
      properties:
        chat_history_granularity:
          anyOf:
          - $ref: '#/components/schemas/ChatHistoryGranularity'
          - type: 'null'
          description: Controls how much of the chat history is replayed to the pipeline.
            Use `all_messages` to include every message (tool calls, reasoning, etc.)
            from the last turns, or `query_answer` (default) to include only the user
            query and the final answer from each turn. Can also be set per-pipeline
            in the pipeline YAML under `history.granularity`.
          title: Chat History Granularity
        chat_history_limit:
          default: 3
          description: The number of the most recent chat history items to include
            in the chat. For example, setting the limit to 3 will show the last three
          title: Chat History Limit
          type: integer
        debug:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Shows debug output for the pipeline or deployed service (for
            example, prompt).
          title: Debug Flag
        files:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: IDs of temporary files to pass to the pipeline as input files.
            Upload each file first with `POST /api/v1/workspaces/{workspace_name}/temporary_files`.
            Workspace file IDs are not accepted, and this field does not filter the
            indexed files that the pipeline searches.
          title: Files
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        include_reasoning:
          default: false
          description: 'Includes the reasoning output under key ''reasoning'' when
            set to `true`. Defaults to `false`.

            The reasoning output may include the intermediate steps taken by the model
            to arrive at the final answer. Example reasoning output:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "reasoning",
            "reasoning": {"reasoning_text": "This is the plan:\nStep 1: Retrieve documents\nStep
            2: Process documents\nStep 3: Generate answer", "extra": {}}}

            ```'
          title: Include Reasoning
          type: boolean
        include_result:
          default: false
          description: Includes the result of the pipeline or deploed service at the
            end of the stream under key 'result'.
          title: Include Result
          type: boolean
        include_tool_call_results:
          default: false
          description: 'Includes the tool call results under key ''tool_call_result''
            when set to `true`. Defaults to `false`.

            Example tool call result event:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_result",
            "tool_call_result": {"origin": {"tool_name": "example_tool", "arguments":
            {"arg1": "val1"}, "index": 0}, "result": "This is an example result.",
            "error": false}}

            ```'
          title: Include Tool Call Results
          type: boolean
        include_tool_calls:
          anyOf:
          - type: boolean
          - const: rendered
            type: string
          default: rendered
          description: 'Includes tool calls as tool call delta objects under key ''tool_call_delta''
            when set to `true`. When set to `rendered`, tool call events are rendered
            as markdown text instead. This parameter only affects the stream (not
            the final result) and is only effective when the pipeline or deployed
            service makes tool calls (e.g. using the Agent component). Defaults to
            `rendered`.

            Example tool call delta events:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"tool_name": "example_tool", "index": 0, "id": "tool_call_01"}}

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"arguments": "{\"arg1\": ", "index": 0}}

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"arguments": "\"val1\"}", "index": 0}}

            ```'
          title: Include Tool Calls
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: 'Parameters you can use to customize the pipeline or deployed
            service. For details, see [Haystack documentation for the pipeline `run()`
            method](https://docs.haystack.deepset.ai/reference/pipeline-api). These
            filters can be used to pass additional parameters to the pipeline.(Haystack
            is the underlying technology for deepset.) '
          title: Pipeline Parameters
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The pipeline version ID to use for serverless execution. Only
            valid when serverless is True. If not provided, the pipeline's default
            version is used.
          title: Pipeline Version Id
        query:
          description: The search query.
          title: Query
          type: string
        search_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: 'The ID of the search session to use for chat history. Optional:
            if omitted, a new search session owned by the pipeline you''re querying
            is created automatically and its ID is returned in the `X-Search-Session-Id`
            response header.'
          title: Search Session ID
        serverless:
          default: false
          description: If True, run the pipeline via utilities without requiring deployment.
          title: Serverless
          type: boolean
        store_search_history:
          default: true
          description: If False, the query and response are not persisted to the chat
            history for the given search_session_id. Currently only honored in serverless
            mode.
          title: Store Search History
          type: boolean
        view_prompts:
          default: false
          description: Adds the runtime prompts of all nodes to the response. (The
            pipeline or deployed service runs in debug mode.)
          title: View prompts
          type: boolean
      required:
      - query
      title: ChatStreamingQuery
      type: object
    CloseSession:
      properties:
        status:
          const: CLOSED
          default: CLOSED
          description: Closes the session and starts the ingestion of the uploaded
            files.
          title: Close Session
          type: string
      title: CloseSession
      type: object
    CodeBundleReference:
      description: The code bundle a code-build revision runs, as sent on the revision
        push.
      properties:
        entrypoint:
          description: Object the runtime imports from the bundle, as `module.py:attribute`,
            for example `app.py:app`.
          minLength: 1
          title: Entrypoint
          type: string
        graph:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Read-only graph of the pipeline (`Pipeline.to_dict()`) for
            display, if available.
          title: Graph
        input_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: JSON schema of the entrypoint's input, computed by the CLI
            at deploy time.
          title: Input Schema
        kind:
          description: 'What the entrypoint is: `pipeline`, `agent`, `super_component`,
            or `function`.'
          enum:
          - pipeline
          - agent
          - super_component
          - function
          title: Kind
          type: string
        sha256:
          description: SHA-256 of the code bundle archive, as 64 lowercase hex characters.
          pattern: ^[0-9a-f]{64}$
          title: Sha256
          type: string
      required:
      - sha256
      - entrypoint
      - kind
      title: CodeBundleReference
      type: object
    CodeParseToolResponse:
      description: Model for the result of parsing a code tool definition.
      properties:
        code:
          $ref: '#/components/schemas/CodeToolData'
          description: Code tool configuration data.
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier for the tool
          title: Tool Id
        tool_type:
          const: code
          default: code
          description: Type of tool, will be 'code'
          title: Tool Type
          type: string
      required:
      - name
      - code
      title: CodeParseToolResponse
      type: object
    CodeToolData:
      description: Model for code tool-specific data.
      properties:
        code:
          description: The code snippet to be executed as a tool.
          title: Code
          type: string
      required:
      - code
      title: CodeToolData
      type: object
    CodeToolRequest:
      description: Code tool to validate or create.
      properties:
        code:
          $ref: '#/components/schemas/CodeToolData'
          description: Code tool configuration data.
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_type:
          const: code
          default: code
          description: Type of tool, will be 'code'
          title: Tool Type
          type: string
      required:
      - name
      - code
      title: CodeToolRequest
      type: object
    ComparisonCondition:
      properties:
        field:
          description: The field you want to compare.
          title: Comparison Condition Field
          type: string
        operator:
          $ref: '#/components/schemas/ComparisonOperator'
          description: The operator you want to use for comparison.
          title: Comparison Condition Operator
        value:
          description: The value you want to compare the field to.
          title: Comparison Condition Value
      required:
      - field
      - operator
      - value
      title: ComparisonCondition
      type: object
    ComparisonOperator:
      enum:
      - ==
      - '!='
      - '>'
      - '>='
      - <
      - <=
      - in
      - not in
      title: ComparisonOperator
      type: string
    ComponentDomain:
      enum:
      - deepset-cloud
      - community
      title: ComponentDomain
      type: string
    ComponentParseToolResponse:
      description: Model for the result of parsing a component tool definition.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier for the tool
          title: Tool Id
        tool_type:
          const: component
          default: component
          description: Type of tool, must be 'component'
          title: Tool Type
          type: string
      required:
      - name
      title: ComponentParseToolResponse
      type: object
    ComponentPosition:
      properties:
        x:
          description: X-coordinate of the component.
          title: X-coordinate
          type: integer
        y:
          description: Y-coordinate of the component.
          title: Y-coordinate
          type: integer
      required:
      - x
      - y
      title: ComponentPosition
      type: object
    ComponentToolRequest:
      description: Component tool to validate or create.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_type:
          const: component
          default: component
          description: Type of tool, must be 'component'
          title: Tool Type
          type: string
      required:
      - name
      title: ComponentToolRequest
      type: object
    ComponentVisualizationMetadata:
      properties:
        position:
          $ref: '#/components/schemas/ComponentPosition'
          description: Position of the component.
          title: Component Position
      required:
      - position
      title: ComponentVisualizationMetadata
      type: object
    ConnectedInput:
      properties:
        component:
          description: The name of the sender component.
          title: Connected Input Component
          type: string
        name:
          description: The output name from the sender component (e.g., 'documents').
          title: Connected Input Name
          type: string
      required:
      - name
      - component
      title: ConnectedInput
      type: object
    ConnectedIntegration:
      properties:
        integration_name:
          $ref: '#/components/schemas/ModelProvider'
          description: The name of the integration.
          title: Integration Name
      required:
      - integration_name
      title: ConnectedIntegration
      type: object
    ConnectedWorkspaceIntegration:
      properties:
        integration_name:
          $ref: '#/components/schemas/ModelProvider'
          description: The name of the integration.
          title: Integration Name
        overridden_organization_secrets:
          anyOf:
          - items:
              $ref: '#/components/schemas/OverriddenSecret'
            type: array
          - type: 'null'
          description: The organization secrets that are overridden by this integration.
          title: Overridden Secrets
      required:
      - integration_name
      title: ConnectedWorkspaceIntegration
      type: object
    CostOverTimeGroup:
      properties:
        key:
          description: 'The group''s identifying value, as in the breakdown: a model
            or provider name, or a UUID string. __other__ for the merged groups past
            group_limit, __unattributed__ for usage with no value for group_by.'
          title: Key
          type: string
        kind:
          $ref: '#/components/schemas/CostOverTimeGroupKind'
          description: GROUP for one of the groups with the most cost, OTHER for every
            remaining group merged, and UNATTRIBUTED for usage with no value for group_by,
            for example calls made outside a deployment with group_by=deployment.
          title: Kind
        label:
          description: Human-readable name for this group, as in the breakdown.
          title: Label
          type: string
      required:
      - key
      - label
      - kind
      title: CostOverTimeGroup
      type: object
    CostOverTimeGroupKind:
      description: 'What a series of the grouped cost over time holds: one group,
        every group past the top ones

        merged, or the usage with no value for the dimension at all.'
      enum:
      - GROUP
      - OTHER
      - UNATTRIBUTED
      title: CostOverTimeGroupKind
      type: string
    CostOverTimePoint:
      properties:
        cost_total:
          anyOf:
          - type: number
          - type: 'null'
          description: Sum of priced generations' cost for this day. null when nothing
            was priced.
          title: Cost Total
        date:
          description: Start of the UTC day this point covers.
          format: date-time
          title: Date
          type: string
        group:
          anyOf:
          - type: string
          - type: 'null'
          description: With group_by, the key of the group this point belongs to,
            one of the keys in groups. null without group_by.
          title: Group
      required:
      - date
      - cost_total
      title: CostOverTimePoint
      type: object
    CostOverTimeResponse:
      properties:
        data:
          description: One point per day with at least one generation in scope, ordered
            by date. With group_by, one point per day and group instead, so a day's
            points add up to its total.
          items:
            $ref: '#/components/schemas/CostOverTimePoint'
          title: Cost Over Time
          type: array
        group_by:
          anyOf:
          - type: string
          - type: 'null'
          description: The dimension the cost is split by. null without group_by.
          title: Group By
        groups:
          anyOf:
          - items:
              $ref: '#/components/schemas/CostOverTimeGroup'
            type: array
          - type: 'null'
          description: 'With group_by, every group the points refer to, in stack order:
            the groups with the most cost over the whole range first, then OTHER,
            then UNATTRIBUTED. null without group_by.'
          title: Groups
      required:
      - data
      title: CostOverTimeResponse
      type: object
    CreateDeploymentRequest:
      properties:
        cpu_limit:
          anyOf:
          - type: string
          - type: 'null'
          title: Cpu Limit
        cpu_request:
          anyOf:
          - type: string
          - type: 'null'
          title: Cpu Request
        deployment_mode:
          $ref: '#/components/schemas/DeploymentMode'
          default: MANAGED
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        durable_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Durable Enabled
        durable_settings:
          anyOf:
          - $ref: '#/components/schemas/DurableExecutionSettings'
          - type: 'null'
        gpu_limit_gigabyte:
          anyOf:
          - type: integer
          - type: 'null'
          title: Gpu Limit Gigabyte
        group_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Label
        idle_timeout_in_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          title: Idle Timeout In Seconds
        instance_size:
          anyOf:
          - enum:
            - small
            - medium
            - large
            - xl
            type: string
          - type: 'null'
          description: 'Fleet pool this serverless service claims from: small, medium,
            large, or xl. Ignored for managed services. Defaults to medium, which
            is the pool every fleet call used before this field existed. Changing
            the size drains the service''s running fleet pods, so the next request
            starts cold on the new size.'
          title: Instance Size
        max_index_replica_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Index Replica Count
        max_query_replica_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Query Replica Count
        memory_limit:
          anyOf:
          - type: string
          - type: 'null'
          title: Memory Limit
        memory_request:
          anyOf:
          - type: string
          - type: 'null'
          title: Memory Request
        min_query_replica_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Min Query Replica Count
        name:
          title: Name
          type: string
        origin_pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Origin Pipeline Id
        service_level:
          $ref: '#/components/schemas/DeploymentServiceLevel'
          default: DEVELOPMENT
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
      required:
      - name
      title: CreateDeploymentRequest
      type: object
    CreateDeploymentRevisionRequest:
      properties:
        code_bundle:
          anyOf:
          - $ref: '#/components/schemas/CodeBundleReference'
          - type: 'null'
          description: Makes the revision a code build that runs this uploaded code
            bundle. config_yaml then holds only settings, for example `dependencies`,
            `inputs`, `outputs`, and `pipeline_output_type`, and no `components` or
            `connections`. Only available for serverless services of organizations
            that run on the Haystack fleet. Can't be combined with source_version_id.
          title: Code Bundle
        comment:
          description: Required description of what changed in this revision. It is
            shown in the deployment's revision timeline, so it must be a non-blank
            string of at most 1000 characters.
          maxLength: 1000
          minLength: 1
          title: Comment
          type: string
        config_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: Pipeline configuration YAML to deploy as this revision. If
            omitted, the YAML is sourced from the pipeline version referenced by source_version_id.
            When provided, must be a non-empty YAML mapping.
          title: Config YAML
        source_metadata:
          anyOf:
          - $ref: '#/components/schemas/RevisionSourceInfo'
          - type: 'null'
          description: Where the pushed code came from, as reported by the client
            and not verified. `git` holds the normalized `repo` (for example `github.com/org/repo`),
            `branch`, `sha`, and `dirty` (true when the working tree has uncommitted
            changes). `file` is the repository-relative path of the source file. `ci`
            is true when the push came from an automated pipeline. `custom` is a free-form
            JSON object for your own metadata, up to 8192 characters when serialized.
            All fields are optional. The platform stores this next to the revision
            and returns it as source_metadata. It does not change the revision's config
            hash and never reaches the running service. Other top-level keys are ignored.
          title: Source Info
        source_type:
          $ref: '#/components/schemas/DeploymentSourceType'
          default: PLATFORM_PIPELINE
          description: Type of artifact the revision was created from. `PLATFORM_PIPELINE`
            for query pipeline version artifacts (carries source_version_id); `EXTERNAL_PIPELINE`
            for revisions pushed with inline config_yaml and no source version, e.g.
            from the SDK/CLI.
          title: Source Type
        source_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the query pipeline version this revision was built from,
            when source_type is `PLATFORM_PIPELINE`.
          title: Source Version ID
      required:
      - comment
      title: CreateDeploymentRevisionRequest
      type: object
    CreateFeedback:
      properties:
        bookmarked:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Bookmarked
        comment:
          anyOf:
          - type: string
          - type: 'null'
          title: Comment
        feedback_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Feedback Id
        query_id:
          format: uuid
          title: Query Id
          type: string
        result_id:
          format: uuid
          title: Result Id
          type: string
        score:
          anyOf:
          - type: string
          - type: 'null'
          title: Score
        tags:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          title: Tags
      required:
      - result_id
      - query_id
      title: CreateFeedback
      type: object
    CreateJob:
      properties:
        concurrency:
          default: 1
          maximum: 20.0
          minimum: 1.0
          title: Concurrency
          type: integer
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        execution_mode:
          $ref: '#/components/schemas/ExecutionMode'
        name:
          title: Name
          type: string
        pipeline_id:
          format: uuid
          title: Pipeline Id
          type: string
        queries:
          anyOf:
          - items:
              $ref: '#/components/schemas/QueryRow'
            type: array
          - type: 'null'
          title: Queries
        query_set_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Query Set Id
      required:
      - name
      - pipeline_id
      - execution_mode
      title: CreateJob
      type: object
    CreateMCPConfigRequest:
      description: Request to create an MCP server configuration for a workspace.
      properties:
        enabled:
          default: true
          description: Whether the MCP server is active and accepting connections.
          title: Enabled
          type: boolean
        instructions:
          anyOf:
          - type: string
          - type: 'null'
          description: Server-level instructions for LLM clients.
          title: Instructions
        server_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Internal description for workspace UI; not sent in MCP handshake.
          title: Server Description
        server_icons:
          anyOf:
          - items:
              $ref: '#/components/schemas/IconModel'
            type: array
          - type: 'null'
          description: Icons for the MCP server.
          title: Server Icons
        server_name:
          description: Display name shown to MCP clients (e.g. 'YPulse Insights').
          title: Server Name
          type: string
        server_version:
          anyOf:
          - type: string
          - type: 'null'
          description: Version of this MCP server.
          title: Server Version
        server_website_url:
          anyOf:
          - type: string
          - type: 'null'
          description: URL to the server website.
          title: Server Website Url
      required:
      - server_name
      title: CreateMCPConfigRequest
      type: object
    CreateMCPServerToolData:
      description: Model for creating MCP server tool-specific data.
      properties:
        auth_type:
          $ref: '#/components/schemas/MCPAuthType'
          default: STATIC
          description: How the MCP server authenticates. Use static for a bearer token
            or custom headers stored as secrets, or oauth_connection to authenticate
            through a registered OAuth provider so the access token refreshes automatically.
            Defaults to static.
        headers:
          anyOf:
          - additionalProperties:
              anyOf:
              - $ref: '#/components/schemas/AutoCreateSecret'
              - type: string
            type: object
          - type: 'null'
          description: Optional custom HTTP headers to send when connecting to the
            MCP server, for example for API-key authentication. Each value can be
            a secret ID, a secret name or a new secret to create.
          title: Headers
        mcp_transport:
          $ref: '#/components/schemas/MCPTransport'
          description: Transport protocol for the MCP server (sse or http)
        oauth_provider_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the OAuth provider to authenticate through. Required
            when auth_type is oauth_connection, and must be omitted otherwise. Connect
            the provider before the tool can reach the MCP server.
          title: Oauth Provider Id
        secret:
          anyOf:
          - $ref: '#/components/schemas/AutoCreateSecret'
          - type: string
          - type: 'null'
          description: Optional secret to use for authentication. Can be a secret
            ID, a secret name or a new secret to create.
          title: Secret
        url:
          description: URL of the MCP server
          title: Url
          type: string
      required:
      - url
      - mcp_transport
      title: CreateMCPServerToolData
      type: object
    CreateModelRequest:
      properties:
        chat_generator_config:
          additionalProperties: true
          description: The configuration for the chat generator as expected in a pipeline
            YAML
          title: Chat Generator Config
          type: object
        generation_kwargs:
          additionalProperties: true
          description: The available generation kwargs for the model as OpenAPI schema
          title: Generation Kwargs
          type: object
        name:
          description: The name of the model, e.g., 'gpt-5' or 'Claude 4 Sonnet'
          title: Name
          type: string
        provider:
          description: The provider of the model, e.g., 'openai' or 'anthropic'
          title: Provider
          type: string
      required:
      - name
      - provider
      - chat_generator_config
      - generation_kwargs
      title: CreateModelRequest
      type: object
    CreatePipeline:
      properties:
        deepset_cloud_version:
          $ref: '#/components/schemas/DeepsetCloudVersion'
          default: v2
          description: The version of deepset the pipeline was created with.
          title: deepset Version
        indexing_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for indexing.
          title: Indexing YAML
        name:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
        query_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
      required:
      - name
      title: CreatePipeline
      type: object
    CreatePipelineIndexRequest:
      properties:
        config_yaml:
          description: Config YAML of the pipeline index.
          title: Pipeline Index Config YAML
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Description of the pipeline index.
          title: Pipeline Index Description
        name:
          description: Name of the pipeline index.
          minLength: 1
          title: Pipeline Index Name
          type: string
      required:
      - name
      - config_yaml
      title: CreatePipelineIndexRequest
      type: object
    CreateSecret:
      properties:
        name:
          description: The name of the secret.
          title: Secret Name
          type: string
        secret:
          description: The secret you want to add.
          title: Secret
          type: string
      required:
      - secret
      - name
      title: Create Secret
      type: object
    CreateSecretIntegration:
      properties:
        secrets:
          items:
            $ref: '#/components/schemas/CreateSecret'
          title: Secrets
          type: array
      required:
      - secrets
      title: CreateSecretIntegration
      type: object
    CreateSecretResponse:
      properties:
        secret_id:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      required:
      - secret_id
      title: Secret
      type: object
    CreateSession:
      properties:
        expires_in_seconds:
          anyOf:
          - maximum: 86400.0
            minimum: 1.0
            type: integer
          - type: 'null'
          default: 86400
          description: Timestamp when the upload session should expire, for example
            '2022-05-12T12:25:09+02:00'. This is an optional parameter. If not provided,
            the upload session will expire after the maximum expiry time of 24 hours.
          title: Upload session expiry
        parallel_processing_enabled:
          default: false
          description: Determines whether to process upload sessions in parallel.
            Use this option to speed up the ingestion process if the different sessions
            don't modify the same files.
          title: Parallel Processing Enabled
          type: boolean
        write_mode:
          $ref: '#/components/schemas/FileWriteModeEnum'
          default: KEEP
          description: Determines how to handle files that already exist. You can
            KEEP the existing file, OVERWRITE it, or FAIL to ingest if a file with
            the same name is already in your workspace.
          title: Write Mode
      title: CreateSession
      type: object
    CreateSharedJob:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        expiration_date:
          format: date-time
          title: Expiration Date
          type: string
        job_id:
          format: uuid
          title: Job Id
          type: string
        login_required:
          default: false
          title: Login Required
          type: boolean
        show_files:
          default: false
          title: Show Files
          type: boolean
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        workspace_name:
          title: Workspace Name
          type: string
      required:
      - job_id
      - workspace_name
      - expiration_date
      title: CreateSharedJob
      type: object
    CreateSkillRequest:
      properties:
        files:
          description: The files that make up the skill.
          items:
            $ref: '#/components/schemas/SkillFile'
          title: Files
          type: array
        id:
          description: Skill id / folder name in kebab-case (e.g. 'web-research').
          title: Skill ID
          type: string
        message:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional commit message for this change. If omitted, a message
            is auto-generated per file.
          title: Commit message
        source:
          anyOf:
          - $ref: '#/components/schemas/SkillSource'
          - type: 'null'
          description: 'Where the skill comes from: ''DEEPSET'' (built by deepset,
            from our shared repo), ''ORG'' (the organization''s own repo), or ''WORKSPACE''
            (workspace-scoped).'
          title: Source
        source_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Identifier of the specific repo to write to (from the catalog
            entry's 'source_id'). Required when the organization has more than one
            writable repo; disambiguates which one the write lands in. When omitted,
            writes target the organization's single writable repo.
          title: Source Id
      required:
      - id
      - files
      title: CreateSkillRequest
      type: object
    CreateTag:
      properties:
        name:
          title: Name
          type: string
      required:
      - name
      title: CreateTag
      type: object
    CreateToken:
      properties:
        expires:
          default: true
          description: Specifies whether the API token expires.
          title: API Token Expires
          type: boolean
        expires_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the token expires. The timestamp is
            in the ISO 8601 format and follows the convention YYY-MM-DDTHH:MM:SS.sssZ.
            For more information, see [Date-Time](https://docs.cloud.deepset.ai/reference/api-best-practices#date-time).
          title: API Token Expiry
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the API token.
          title: API Token Name
        organization_role:
          $ref: '#/components/schemas/OrganizationRoles'
          default: MEMBER
          description: The role of the API token in the organization. Defaults to
            the role of the user that created the token. Admin users can create tokens
            with any role.
          title: Organization Role
        personal:
          default: true
          description: Indicates if the API token is a personal or service level token.
          title: API Token type
          type: boolean
        role_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the role assigned to the API token. Defaults to the
            role of the user who created it. Admin users can create tokens with any
            role.
          title: API Token Role ID
        workspaces:
          description: 'The workspaces that the API token is associated with. Defaults
            to all workspaces that the user has access to. '
          items:
            type: string
          title: API Token Workspaces
          type: array
      title: CreateToken
      type: object
    CreateWorkspaceToken:
      description: 'Scope reduced token request to allow creating api keys just for
        a specific workspace.


        We only create th'
      properties:
        expires:
          default: true
          description: Specifies whether the API token expires.
          title: API Token Expires
          type: boolean
        expires_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the token expires. The timestamp is
            in the ISO 8601 format and follows the convention YYY-MM-DDTHH:MM:SS.sssZ.
            For more information, see [Date-Time](https://docs.cloud.deepset.ai/reference/api-best-practices#date-time).
          title: API Token Expiry
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the API token.
          title: API Token Name
        personal:
          default: true
          description: Indicates if the API token is a personal or service level token.
          title: API Token type
          type: boolean
        role_id:
          description: The ID of the role assigned to the API token. Defaults to the
            role of the user who created it. Admin users can create tokens with any
            role.
          format: uuid
          title: API Token Role ID
          type: string
      required:
      - role_id
      title: CreateWorkspaceToken
      type: object
    CursorPaginatedResult_SearchHistory_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SearchHistory'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        next:
          anyOf:
          - type: string
          - type: 'null'
          description: Opaque cursor for the next page, or null when there are no
            more results. Pass it back as the `cursor` query parameter to fetch the
            next page. Prefer this over `offset`/`page_number` for deep pagination,
            which avoids the backing store's result-window limit.
          title: Next-page cursor
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: CursorPaginatedResult[SearchHistory]
      type: object
    CustomComponent:
      properties:
        created_by_user_id:
          description: User ID of the user who created the custom component.
          format: uuid
          title: Created by user ID
          type: string
        custom_component_id:
          description: Unique identifier of the custom component.
          format: uuid
          title: Custom component ID
          type: string
        logs:
          description: Custom component logs.
          items:
            $ref: '#/components/schemas/CustomComponentLog'
          title: Logs
          type: array
        organization_id:
          description: Unique identifier of the Haystack Enterprise Platform organization
            with the organization where you want to upload the component.
          format: uuid
          title: Organization ID
          type: string
        status:
          description: Status of the custom component.
          title: Status
          type: string
        version:
          description: Version of the custom component.
          title: Version
          type: string
      required:
      - organization_id
      - logs
      - version
      - created_by_user_id
      - custom_component_id
      - status
      title: CustomComponent
      type: object
    CustomComponentLog:
      properties:
        level:
          description: Log level, for example error or warning.
          title: Level
          type: string
        log_entry_id:
          description: Unique identifier of the log entry.
          format: uuid
          title: Log entry ID
          type: string
        msg:
          description: Log message.
          title: Message
          type: string
      required:
      - log_entry_id
      - msg
      - level
      title: CustomComponentLog
      type: object
    DCDocumentCount:
      properties:
        count:
          description: The total number of documents created for this pipeline.
          title: Total Documents
          type: integer
      required:
      - count
      title: DCDocumentCount
      type: object
    Dataset:
      properties:
        file_names:
          description: List of file names associated with the dataset
          items:
            type: string
          title: File Names
          type: array
        name:
          description: Name of the dataset
          title: Dataset Name
          type: string
      required:
      - name
      - file_names
      title: Dataset
      type: object
    DatasetPagination:
      properties:
        data:
          description: List of datasets in the current page
          items:
            $ref: '#/components/schemas/Dataset'
          title: Dataset Items
          type: array
        total:
          description: Total number of datasets available
          title: Total Count
          type: integer
      required:
      - data
      - total
      title: DatasetPagination
      type: object
    DebugTunnelDeviceLoginCredentials:
      additionalProperties: true
      properties:
        code:
          description: Code to login to the debug tunnel device.
          title: Device login code
          type: string
        url:
          description: URL to login to the debug tunnel device.
          title: Device login URL
          type: string
        vscode_url:
          description: URL to redirect to VSCode.
          title: VSCode redirect URL
          type: string
      required:
      - url
      - code
      - vscode_url
      title: DebugTunnelDeviceLoginCredentials
      type: object
    DeepsetCloudAnswer:
      properties:
        answer:
          title: Answer
          type: string
        context:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          description: Context of the answer.
          title: Context
        document_id:
          anyOf:
          - type: string
          - type: 'null'
          description: ID of the document.
          title: Document ID
        document_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: IDs of the document.
          title: Document IDs
        file:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Object containing the `file_id` and `name` of a file. This
            is used to associate a document with a file.
          title: File Reference Object (deprecated, use `files` instead)
        files:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          description: List of objects containing the `file_id` and `name` of a file.
            This is used to associate an answer with its source files.
          title: File Reference Objects
        meta:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: The metadata of this document.
          title: Metadata of file
        offsets_in_context:
          anyOf:
          - items:
              $ref: '#/components/schemas/DeepsetCloudSpan'
            type: array
          - items:
              $ref: '#/components/schemas/DeepsetCloudTableCell'
            type: array
          - type: 'null'
          description: Offsets of the answer in the context.
          title: Offsets in Context
        offsets_in_document:
          anyOf:
          - items:
              $ref: '#/components/schemas/DeepsetCloudSpan'
            type: array
          - items:
              $ref: '#/components/schemas/DeepsetCloudTableCell'
            type: array
          - type: 'null'
          description: Offsets of the answer in the document.
          title: Offsets in Document
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          description: The prompt that was used to generate the result.
          title: Prompt
        result_id:
          description: Unique identifier of the result.
          format: uuid
          title: Result ID
          type: string
        score:
          anyOf:
          - type: number
          - type: 'null'
          description: Score of the answer.
          title: Score
        type:
          description: Type of the answer.
          enum:
          - generative
          - extractive
          - other
          title: Answer Type
          type: string
      required:
      - answer
      - type
      title: DeepsetCloudAnswer
      type: object
    DeepsetCloudDocument:
      properties:
        content:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          description: Content of the document.
          title: Content
        embedding:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          description: Embedding of the document.
          title: Embedding
        file:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Object containing the `file_id` and `name` of a file. This
            is used to associate a document with a file.
          title: File Reference Object (deprecated, use `files` instead)
        id:
          description: ID of the document.
          title: Document ID
          type: string
        meta:
          additionalProperties: true
          description: The metadata of this document.
          title: Metadata of file
          type: object
        result_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of the result.
          title: Result ID
        score:
          anyOf:
          - type: number
          - type: 'null'
          description: Shows the relevance score of the prediction.
          title: Score
      required:
      - id
      - meta
      title: DeepsetCloudDocument
      type: object
    DeepsetCloudQueryResponse:
      properties:
        _debug:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Debug
        answers:
          default: []
          description: List of deepset answers.
          items:
            $ref: '#/components/schemas/DeepsetCloudAnswer'
          title: Answers
          type: array
        documents:
          default: []
          description: List of deepset documents.
          items:
            $ref: '#/components/schemas/DeepsetCloudDocument'
          title: Documents
          type: array
        extra_outputs:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Additional outputs returned by the pipeline. You can specify
            which extra outputs you want to include using the pipeline yaml `outputs`
            configuration section.
          title: Extra Outputs
        output_files:
          default: []
          description: Files generated by the pipeline, available for download.
          items:
            $ref: '#/components/schemas/OutputFile'
          title: Output Files
          type: array
        prompts:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          description: The prompts used in the query. This is only returned if the
            `view_prompts` flag is set to `true`.
          title: Prompts
        query:
          description: The search query.
          title: Query
          type: string
        query_id:
          description: Unique identifier of the search query.
          format: uuid
          title: Query ID
          type: string
      required:
      - query
      title: DeepsetCloudQueryResponse
      type: object
    DeepsetCloudSchema:
      description: 'Autogenerated schema from the haystack-integration-service


        This includes the components, inputs, outputs, connections, max_loops_allowed,
        and metadata

        and all available components and types (e.g. Document, Text, Image, etc.)'
      properties:
        definitions:
          $ref: '#/components/schemas/SchemaDefinitions'
          description: Definitions of the schema
        properties:
          additionalProperties: true
          description: Properties of the schema
          title: Properties
          type: object
        required:
          description: Required properties of the schema
          items:
            type: string
          title: Required
          type: array
        type:
          default: object
          description: Type of the schema
          title: Type
          type: string
      required:
      - properties
      - required
      - definitions
      title: DeepsetCloudSchema
      type: object
    DeepsetCloudSpan:
      properties:
        end:
          description: End of span.
          title: End
          type: integer
        start:
          description: Start of span.
          title: Start
          type: integer
      required:
      - start
      - end
      title: DeepsetCloudSpan
      type: object
    DeepsetCloudTableCell:
      properties:
        col:
          description: Column of the answer.
          title: Column
          type: integer
        row:
          description: Row of the answer.
          title: Row
          type: integer
      required:
      - row
      - col
      title: DeepsetCloudTableCell
      type: object
    DeepsetCloudVersion:
      enum:
      - v2
      title: DeepsetCloudVersion
      type: string
    DefaultErrorResponse:
      properties:
        errors:
          description: A list of error messages.
          items:
            type: string
          title: Errors
          type: array
      required:
      - errors
      title: DefaultErrorResponse
      type: object
    DeleteSearchHistoryIds:
      description: Validation model for search history IDs.
      properties:
        search_history_ids:
          description: List of search history IDs to delete. If not provided, deletes
            all search history for the pipeline.
          items:
            format: uuid
            type: string
          maxItems: 100
          minItems: 1
          title: Search History Ids
          type: array
      required:
      - search_history_ids
      title: DeleteSearchHistoryIds
      type: object
    DeploymentChatCompletionRequest:
      additionalProperties: true
      description: 'OpenAI-style request body for the deployment-scoped chat completions
        endpoint.


        Extends :class:`~fastapi_openai_compat.ChatRequest` with our `workspace_name/deployment_id`
        model

        format and typed, validated messages.'
      examples:
      - messages:
        - content: You are a helpful assistant.
          role: system
        - content: What is Haystack?
          role: user
        model: my-workspace-a/bc841ad5-22a0-4bd4-a4c6-64c56e0576a7
        stream: false
      - messages:
        - content: Hello!
          role: user
        model: my-workspace-b/c4841ad5-22a0-4bd4-a4c6-64c56e0576a7
        stream: true
      - messages:
        - content:
          - text: What's in this image?
            type: text
          - image_url:
              url: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=
            type: image_url
          role: user
        model: my-workspace-c/2f9d6a64-03b1-4b66-90d9-1e5d881ed1fd
      properties:
        messages:
          description: Conversation history. The full conversation is concatenated
            into the deployed service's query input.
          items:
            $ref: '#/components/schemas/ChatCompletionMessage'
          title: Messages
          type: array
        model:
          description: The model identifier in the format '{workspace_name}/{deployment_id}'.
            Used to select which deployed service to run for this chat completion.
          title: Model
          type: string
        stream:
          default: false
          description: If true, the response is streamed back as server-sent events
            (SSE).
          title: Stream
          type: boolean
      required:
      - model
      - messages
      title: DeploymentChatCompletionRequest
      type: object
    DeploymentChatStreamingQuery:
      description: Request body for the deployment-scoped `/chat-stream` endpoint.
      examples:
      - debug: true
        filters:
          conditions:
          - field: meta.country
            operator: ==
            value: France
          - field: meta.date
            operator: '>='
            value: '2025-01-01'
          - conditions:
            - field: meta.city
              operator: ==
              value: Paris
            - field: meta.name
              operator: in
              value:
              - Paris
              - Lyon
            operator: OR
          operator: AND
        include_result: false
        params:
          retriever:
            top_k: 2
        query: What is the capital of France?
        search_session_id: 123e4567-e89b-12d3-a456-426614174000
        view_prompts: false
      properties:
        chat_history_granularity:
          anyOf:
          - $ref: '#/components/schemas/ChatHistoryGranularity'
          - type: 'null'
          description: Controls how much of the chat history is replayed to the deployed
            service. Use `all_messages` to include every message (tool calls, reasoning,
            and so on) from the last turns, or `query_answer` (default) to include
            only the user query and the final answer from each turn. Can also be set
            on the deployed service's active revision config under `history.granularity`.
          title: Chat History Granularity
        chat_history_limit:
          default: 3
          description: The number of the most recent chat history items to include
            in the chat. For example, setting the limit to 3 will show the last three
          title: Chat History Limit
          type: integer
        debug:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          deprecated: true
          description: Shows debug output for the deployed service (for example, prompt).
          title: Debug Flag
        files:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: IDs of temporary files to pass to the pipeline as input files.
            Upload each file first with `POST /api/v1/workspaces/{workspace_name}/temporary_files`.
            Workspace file IDs are not accepted, and this field does not filter the
            indexed files that the pipeline searches.
          title: Files
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        include_reasoning:
          default: false
          description: 'Includes the reasoning output under key ''reasoning'' when
            set to `true`. Defaults to `false`.

            The reasoning output may include the intermediate steps taken by the model
            to arrive at the final answer. Example reasoning output:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "reasoning",
            "reasoning": {"reasoning_text": "This is the plan:\nStep 1: Retrieve documents\nStep
            2: Process documents\nStep 3: Generate answer", "extra": {}}}

            ```'
          title: Include Reasoning
          type: boolean
        include_result:
          default: false
          deprecated: true
          description: Includes the result of the deployed service's pipeline run
            at the end of the stream under key 'result'.
          title: Include Result
          type: boolean
        include_tool_call_results:
          default: false
          description: 'Includes the tool call results under key ''tool_call_result''
            when set to `true`. Defaults to `false`.

            Example tool call result event:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_result",
            "tool_call_result": {"origin": {"tool_name": "example_tool", "arguments":
            {"arg1": "val1"}, "index": 0}, "result": "This is an example result.",
            "error": false}}

            ```'
          title: Include Tool Call Results
          type: boolean
        include_tool_calls:
          anyOf:
          - type: boolean
          - const: rendered
            type: string
          default: rendered
          description: 'Includes tool calls as tool call delta objects under key ''tool_call_delta''
            when set to `true`. When set to `rendered`, tool call events are rendered
            as markdown text instead. This parameter only affects the stream (not
            the final result) and is only effective when the deployed service''s pipeline
            makes tool calls (for example, using the Agent component). Defaults to
            `rendered`.

            Example tool call delta events:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"tool_name": "example_tool", "index": 0, "id": "tool_call_01"}}

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"arguments": "{\"arg1\": ", "index": 0}}

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"arguments": "\"val1\"}", "index": 0}}

            ```'
          title: Include Tool Calls
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: 'Parameters you can use to customize the deployment''s pipeline
            run. For details, see [Haystack documentation for the pipeline `run()`
            method](https://docs.haystack.deepset.ai/reference/pipeline-api). These
            filters can be used to pass additional parameters to the deployed service''s
            underlying pipeline. (Haystack is the underlying technology for Haystack
            Enterprise Platform.) '
          title: Runtime Parameters
        query:
          description: The search query.
          title: Query
          type: string
        search_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: 'The ID of the search session to use for chat history. Optional:
            if omitted, a new search session owned by the deployed service you''re
            querying is created automatically and its ID is returned in the `X-Search-Session-Id`
            response header.'
          title: Search Session ID
        store_search_history:
          default: true
          description: If False, the query and response are not persisted to the chat
            history for the given search_session_id. Opting out is only supported
            by deployed services with a SERVERLESS execution mode.
          title: Store Search History
          type: boolean
        view_prompts:
          default: false
          deprecated: true
          description: Adds the runtime prompts of all nodes to the response. (The
            deployed service's pipeline runs in debug mode.)
          title: View prompts
          type: boolean
      required:
      - query
      title: DeploymentChatStreamingQuery
      type: object
    DeploymentConfiguration:
      properties:
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The version ID of the pipeline to deploy. If not provided,
            the latest finalized version will be used.
          title: Pipeline Version ID
      title: DeploymentConfiguration
      type: object
    DeploymentDesiredStatus:
      enum:
      - DEPLOYED
      - UNDEPLOYED
      title: DeploymentDesiredStatus
      type: string
    DeploymentEventResponse:
      properties:
        created_at:
          description: Date and time when the event occurred.
          format: date-time
          title: Created At
          type: string
        deployment_id:
          description: Unique identifier of the deployment the event belongs to.
          format: uuid
          title: Deployment ID
          type: string
        event_id:
          description: Unique identifier of the deployment event.
          format: uuid
          title: Event ID
          type: string
        event_type:
          $ref: '#/components/schemas/DeploymentRevisionAction'
          description: Type of action that produced this event (for example, activate
            or deactivate).
          title: Event Type
        revision_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of the revision the event relates to, if
            the event is revision-scoped.
          title: Revision ID
        triggered_by:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: User ID of the user who triggered the event, if applicable.
          title: Triggered By
      required:
      - event_id
      - deployment_id
      - revision_id
      - event_type
      - triggered_by
      - created_at
      title: DeploymentEventResponse
      type: object
    DeploymentMode:
      enum:
      - MANAGED
      - SERVERLESS
      title: DeploymentMode
      type: string
    DeploymentResponse:
      properties:
        active_revision:
          anyOf:
          - $ref: '#/components/schemas/DeploymentRevisionResponse'
          - type: 'null'
          description: The revision currently serving traffic for this deployment.
            Null if no revision is active.
          title: Active Revision
        active_revision_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the revision currently serving traffic for this deployment.
            Null if no revision is active.
          title: Active Revision ID
        cpu_limit:
          anyOf:
          - type: string
          - type: 'null'
          description: Maximum amount of CPU allowed per replica (Kubernetes resource
            quantity).
          title: CPU Limit
        cpu_request:
          anyOf:
          - type: string
          - type: 'null'
          description: Amount of CPU requested per replica (Kubernetes resource quantity).
          title: CPU Request
        created_at:
          description: Date and time when the deployment was created.
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who created the deployment.
          title: Created By
        deployment_id:
          description: Unique identifier of the deployment.
          format: uuid
          title: Deployment ID
          type: string
        deployment_mode:
          $ref: '#/components/schemas/DeploymentMode'
          description: How the deployment is hosted and managed (for example, managed).
          title: Deployment Mode
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional free-text description of the deployment.
          title: Description
        desired_status:
          $ref: '#/components/schemas/DeploymentDesiredStatus'
          description: Target lifecycle status the deployment should be in.
          title: Desired Status
        durable_available:
          default: false
          description: Indicates whether you can use durable execution for this service's
            configured revision.
          title: Durable Available
          type: boolean
        durable_enabled:
          default: false
          title: Durable Enabled
          type: boolean
        durable_history_available:
          default: false
          title: Durable History Available
          type: boolean
        durable_host_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Durable Host Reason
        durable_host_status:
          anyOf:
          - enum:
            - disabled
            - preparing
            - ready
            - unavailable
            - error
            type: string
          - type: 'null'
          title: Durable Host Status
        durable_retained_hosts:
          items:
            $ref: '#/components/schemas/DurableRetainedHost'
          title: Durable Retained Hosts
          type: array
        durable_settings:
          anyOf:
          - $ref: '#/components/schemas/DurableExecutionSettings'
          - type: 'null'
        durable_support_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Durable Support Reason
        durable_supported:
          default: false
          title: Durable Supported
          type: boolean
        gpu_limit_gigabyte:
          anyOf:
          - type: integer
          - type: 'null'
          description: Maximum amount of GPU memory in gigabytes allowed per replica.
          title: GPU Limit (GB)
        group_label:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional label used to group related deployments together.
          title: Group Label
        idle_timeout_in_seconds:
          description: Number of seconds the deployment can stay idle before it is
            scaled down.
          title: Idle Timeout (seconds)
          type: integer
        instance_size:
          description: 'Fleet pool this serverless service claims from: small, medium,
            large, or xl. Ignored for managed services. Defaults to medium, which
            is the pool every fleet call used before this field existed. Changing
            the size drains the service''s running fleet pods, so the next request
            starts cold on the new size.'
          enum:
          - small
          - medium
          - large
          - xl
          title: Instance Size
          type: string
        log_storage_enabled:
          description: Whether pipeline logs are persisted to log storage.
          title: Log Storage Enabled
          type: boolean
        max_concurrency_per_replica:
          anyOf:
          - type: integer
          - type: 'null'
          description: 'Maximum number of requests one replica serves at the same
            time. Supported only for services whose deployment mode is SERVERLESS:
            on a managed service the value is stored but never applied, because its
            replicas are sized by the deployment itself. Takes effect on the replicas
            already running. Null means the platform default applies. Set it to 1
            or 2 for a service whose requests are heavy or whose payloads are large,
            for example one that processes images or long documents: a single request
            that exhausts a replica''s memory fails every other request that replica
            is serving.'
          title: Max Concurrency per Replica
        max_index_replica_count:
          description: Maximum number of indexing replicas the deployment can scale
            up to.
          title: Max Index Replica Count
          type: integer
        max_query_replica_count:
          description: Maximum number of query replicas the deployment can scale up
            to.
          title: Max Query Replica Count
          type: integer
        memory_limit:
          anyOf:
          - type: string
          - type: 'null'
          description: Maximum amount of memory allowed per replica (Kubernetes resource
            quantity).
          title: Memory Limit
        memory_request:
          anyOf:
          - type: string
          - type: 'null'
          description: Amount of memory requested per replica (Kubernetes resource
            quantity).
          title: Memory Request
        min_query_replica_count:
          description: Minimum number of query replicas kept running for the deployment.
          title: Min Query Replica Count
          type: integer
        name:
          description: Human-readable name of the deployment, unique within its scope.
          title: Name
          type: string
        organization_id:
          description: Unique identifier of the organization that owns the deployment.
          format: uuid
          title: Organization ID
          type: string
        origin_pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the pipeline the deployment was originally created from.
            Prefer resolving the current pipeline through the active revision's source
            lineage.
          title: Origin Pipeline ID
        output_type:
          anyOf:
          - $ref: '#/components/schemas/PipelineOutputType'
          - type: 'null'
          description: 'Type of output the active revision''s pipeline returns. Possible
            values are: ''generative'', ''extractive'', ''chat'', or ''document''.
            Determined from the active revision''s config when it is activated; null
            if no revision is active.'
          title: Output Type
        pending_revision:
          anyOf:
          - $ref: '#/components/schemas/DeploymentRevisionResponse'
          - type: 'null'
          description: The revision currently being rolled out and validated. Null
            when no rollout is in flight.
          title: Pending Revision
        pending_revision_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the revision currently being rolled out and validated.
            The active revision keeps serving until this one is confirmed healthy;
            null when no rollout is in flight.
          title: Pending Revision ID
        pipeline_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the pipeline associated with the deployment, if any.
          title: Pipeline Name
        search_history_enabled:
          description: Whether query and search history is recorded for the deployment.
          title: Search History Enabled
          type: boolean
        service_level:
          $ref: '#/components/schemas/DeploymentServiceLevel'
          description: Service level of the deployment, controlling availability guarantees
            (for example, development or production).
          title: Service Level
        settings:
          additionalProperties: true
          description: Runtime and document-store configuration for the deployment.
          title: Settings
          type: object
        status:
          $ref: '#/components/schemas/DeploymentStatus'
          description: Observed runtime status of the deployment, reconciled from
            the operator. May lag the desired status while a rollout or scale-to-zero
            is in progress.
          title: Status
        tags:
          description: Tags attached to the deployment.
          items:
            type: string
          title: Deployment tags
          type: array
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Date and time when the deployment was last updated.
          title: Updated At
        workspace_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of the workspace the deployment belongs to,
            if any.
          title: Workspace ID
      required:
      - deployment_id
      - name
      - description
      - group_label
      - organization_id
      - workspace_id
      - origin_pipeline_id
      - pipeline_name
      - deployment_mode
      - desired_status
      - status
      - service_level
      - active_revision_id
      - idle_timeout_in_seconds
      - min_query_replica_count
      - max_query_replica_count
      - max_index_replica_count
      - instance_size
      - cpu_request
      - cpu_limit
      - memory_request
      - memory_limit
      - gpu_limit_gigabyte
      - settings
      - log_storage_enabled
      - search_history_enabled
      - created_at
      - updated_at
      title: DeploymentResponse
      type: object
    DeploymentRevisionAction:
      enum:
      - REVISION_CREATED
      - REVISION_ACTIVATED
      - REVISION_DEACTIVATED
      title: DeploymentRevisionAction
      type: string
    DeploymentRevisionResponse:
      properties:
        artifact_type:
          default: yaml
          description: 'What the revision runs: `yaml` for a pipeline defined in config_yaml,
            `code_bundle` for a code build that runs an uploaded code bundle.'
          enum:
          - yaml
          - code_bundle
          title: Artifact Type
          type: string
        comment:
          anyOf:
          - type: string
          - type: 'null'
          description: Required description of what changed in this revision. It is
            shown in the deployment's revision timeline, so it must be a non-blank
            string of at most 1000 characters.
          title: Comment
        config_hash:
          description: Hash of the pipeline configuration YAML. Used to detect whether
            a deployment revision matches a pipeline version.
          title: Config Hash
          type: string
        created_at:
          description: Date and time when the revision was created.
          format: date-time
          title: Created At
          type: string
        created_by_user_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: User ID of the user who pushed this revision.
          title: Created By User ID
        deployment_id:
          description: Unique identifier of the deployment this revision belongs to.
          format: uuid
          title: Deployment ID
          type: string
        haystack_version:
          description: 'Haystack version this revision runs on. Derived from the revision''s
            configuration YAML: the `haystack-ai` pin in its `dependencies` block,
            or 2.31.0 when the YAML pins no version.'
          title: Haystack Version
          type: string
        revision_id:
          description: Unique identifier of the deployment revision.
          format: uuid
          title: Revision ID
          type: string
        source_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Source-specific descriptor for non-pipeline revision sources.
            Null for `PLATFORM_PIPELINE` revisions, where source_version_id carries
            the source identity. For code builds, `code_bundle` holds `sha256`, `entrypoint`,
            `kind`, `size_bytes`, `input_schema`, and `graph`. For revisions pushed
            from code, `git`, `file`, and `ci` hold where the code came from, when
            the client sent it.
          title: Source Metadata
        source_pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the pipeline that owns the source version this revision
            was built from, when source_type is `PLATFORM_PIPELINE`. Lets clients
            detect a cross-pipeline repoint before activating.
          title: Source Pipeline ID
        source_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Type of artifact the revision was created from. `PLATFORM_PIPELINE`
            for query pipeline version artifacts (carries source_version_id); `EXTERNAL_PIPELINE`
            for revisions pushed with inline config_yaml and no source version, e.g.
            from the SDK/CLI.
          title: Source Type
        source_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the query pipeline version this revision was built from,
            when source_type is `PLATFORM_PIPELINE`.
          title: Source Version ID
        status:
          $ref: '#/components/schemas/DeploymentRevisionStatus'
          description: 'Lifecycle status of this revision: `PENDING` (created, not
            activated), `DEPLOYING` (rollout in progress), `ACTIVE` (confirmed healthy
            and serving), `FAILED` (rollout failed; never became active), or `INACTIVE`
            (was active, superseded by a newer active revision).'
          title: Status
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Date and time when the revision was last updated.
          title: Updated At
      required:
      - revision_id
      - deployment_id
      - source_type
      - source_version_id
      - status
      - config_hash
      - haystack_version
      - created_by_user_id
      - created_at
      - updated_at
      title: DeploymentRevisionResponse
      type: object
    DeploymentRevisionStatus:
      description: 'Lifecycle of a single deployment revision.


        A revision is only promoted to ACTIVE once the operator confirms it is serving
        healthily, so a

        broken new revision ends up FAILED while the previously-good revision stays
        ACTIVE.'
      enum:
      - PENDING
      - DEPLOYING
      - ACTIVE
      - FAILED
      - INACTIVE
      title: DeploymentRevisionStatus
      type: string
    DeploymentServiceLevel:
      enum:
      - PRODUCTION
      - DEVELOPMENT
      - CUSTOM
      title: DeploymentServiceLevel
      type: string
    DeploymentSourceType:
      enum:
      - PLATFORM_PIPELINE
      - EXTERNAL_PIPELINE
      title: DeploymentSourceType
      type: string
    DeploymentStatus:
      description: 'Observed runtime status of a deployment, reconciled from the operator.


        Mirrors the relevant subset of pipeline runtime statuses.'
      enum:
      - UNDEPLOYED
      - DEPLOYED
      - DEPLOYMENT_IN_PROGRESS
      - DEPLOYMENT_FAILED
      - IDLE
      title: DeploymentStatus
      type: string
    DeploymentTagAdd:
      description: Request body for adding a tag to a deployment.
      properties:
        name:
          description: Name of the tag.
          title: Tag Name
          type: string
      required:
      - name
      title: DeploymentTagAdd
      type: object
    DurableExecutionSettings:
      properties:
        concurrent_executions:
          default: 24
          maximum: 24.0
          minimum: 1.0
          title: Concurrent Executions
          type: integer
        max_unfinished_executions:
          default: 100
          maximum: 100.0
          minimum: 1.0
          title: Max Unfinished Executions
          type: integer
        result_retention_seconds:
          default: 604800
          maximum: 31536000.0
          minimum: 604800.0
          title: Result Retention Seconds
          type: integer
      title: DurableExecutionSettings
      type: object
    DurableRetainedHost:
      properties:
        admission_enabled:
          title: Admission Enabled
          type: boolean
        binding_id:
          format: uuid
          title: Binding Id
          type: string
        created_at:
          format: date-time
          title: Created At
          type: string
        retired:
          title: Retired
          type: boolean
      required:
      - binding_id
      - created_at
      - admission_enabled
      - retired
      title: DurableRetainedHost
      type: object
    EmptyFilters:
      additionalProperties: false
      properties: {}
      title: EmptyFilters
      type: object
    EntityRole:
      properties:
        name:
          description: Name of the workspace.
          title: Workspace Name
          type: string
        role:
          description: Role of the user. This can be a custom role or one of the default
            roles.
          title: User Role
          type: string
        role_id:
          description: Unique identifier of the role.
          format: uuid
          title: Role ID
          type: string
      required:
      - name
      - role
      - role_id
      title: EntityRole
      type: object
    ExceptionTraceLog:
      properties:
        filename:
          description: The name of the file where the exception occurred.
          title: File Name
          type: string
        line_number:
          description: The line number where the exception occurred.
          title: Line Number
          type: integer
        name:
          description: The name of the module in which the exception happened.
          title: Name
          type: string
      required:
      - filename
      - line_number
      - name
      title: ExceptionTraceLog
      type: object
    ExecutionMode:
      enum:
      - ACROSS_FILES
      - PER_FILE
      title: ExecutionMode
      type: string
    ExposePipelineRequest:
      description: Request to expose a pipeline as an MCP tool.
      properties:
        custom_instructions:
          anyOf:
          - type: string
          - type: 'null'
          description: Additional instructions appended to the tool description to
            guide LLM behaviour.
          title: Custom Instructions
        custom_tool_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom description for the MCP tool.
          title: Custom Tool Description
        custom_tool_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom tool name shown to MCP clients. Defaults to the pipeline
            name.
          title: Custom Tool Name
        pipeline_id:
          description: ID of the pipeline to expose via MCP.
          format: uuid
          title: Pipeline Id
          type: string
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Optional pipeline version ID. When set, MCP tool execution
            loads the query YAML from this specific version instead of the pipeline's
            current YAML.
          title: Pipeline Version Id
      required:
      - pipeline_id
      title: ExposePipelineRequest
      type: object
    ExposeServiceRequest:
      description: Request to expose a service (deployment) as an MCP tool.
      properties:
        custom_instructions:
          anyOf:
          - type: string
          - type: 'null'
          description: Additional instructions appended to the tool description to
            guide LLM behaviour.
          title: Custom Instructions
        custom_tool_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom description for the MCP tool.
          title: Custom Tool Description
        custom_tool_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom tool name shown to MCP clients. Defaults to the service
            name.
          title: Custom Tool Name
        deployment_id:
          description: ID of the service to expose via MCP.
          format: uuid
          title: Deployment Id
          type: string
      required:
      - deployment_id
      title: ExposeServiceRequest
      type: object
    ExposedPipelineResponse:
      description: Response for an exposed pipeline MCP tool mapping.
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        custom_instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Instructions
        custom_tool_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Tool Description
        custom_tool_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Tool Name
        mcp_exposed_pipeline_id:
          format: uuid
          title: Mcp Exposed Pipeline Id
          type: string
        pipeline_id:
          format: uuid
          title: Pipeline Id
          type: string
        pipeline_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Pipeline Name
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Pipeline Version Id
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Updated At
        warning:
          anyOf:
          - $ref: '#/components/schemas/ExposedPipelineSimilarityWarning'
          - type: 'null'
      required:
      - mcp_exposed_pipeline_id
      - pipeline_id
      - custom_tool_name
      - custom_tool_description
      - custom_instructions
      - pipeline_version_id
      - created_at
      - updated_at
      title: ExposedPipelineResponse
      type: object
    ExposedPipelineSimilarityWarning:
      description: Non-blocking warning when the newly exposed pipeline looks too
        similar.
      properties:
        message:
          title: Message
          type: string
        similar_pipeline_id:
          format: uuid
          title: Similar Pipeline Id
          type: string
        similar_pipeline_name:
          title: Similar Pipeline Name
          type: string
        similarity_score:
          title: Similarity Score
          type: number
        type:
          const: similar_pipeline_exposed
          default: similar_pipeline_exposed
          title: Type
          type: string
      required:
      - message
      - similar_pipeline_id
      - similar_pipeline_name
      - similarity_score
      title: ExposedPipelineSimilarityWarning
      type: object
    ExposedServiceResponse:
      description: Response for an exposed service MCP tool mapping.
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        custom_instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Instructions
        custom_tool_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Tool Description
        custom_tool_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Custom Tool Name
        deployment_id:
          format: uuid
          title: Deployment Id
          type: string
        deployment_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Deployment Name
        mcp_exposed_deployment_id:
          format: uuid
          title: Mcp Exposed Deployment Id
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Updated At
      required:
      - mcp_exposed_deployment_id
      - deployment_id
      - custom_tool_name
      - custom_tool_description
      - custom_instructions
      - created_at
      - updated_at
      title: ExposedServiceResponse
      type: object
    ExternalFacingDocumentStoreCredentials:
      properties:
        aws_domain_arn:
          description: The AWS domain ARN of your OpenSearch cluster. Follow [our
            documentation](https://docs.cloud.deepset.ai/docs/connect-your-own-file-storage)
            to find your ARN.
          title: AWS Domain ARN
          type: string
        credentials_id:
          description: Unique ID of the credentials.
          format: uuid
          title: Credentials ID
          type: string
      required:
      - credentials_id
      - aws_domain_arn
      title: ExternalFacingDocumentStoreCredentials
      type: object
    ExternalS3Credentials:
      properties:
        aws_endpoint_url:
          anyOf:
          - type: string
          - type: 'null'
          description: The AWS endpoint URL of your S3 bucket.
          title: AWS Endpoint URL
        bucket_name:
          description: The name of your S3 bucket.
          title: S3 Bucket Name
          type: string
        credentials_id:
          description: Unique ID of the credentials.
          format: uuid
          title: Credentials ID
          type: string
      required:
      - credentials_id
      - bucket_name
      title: ExternalS3Credentials
      type: object
    Feedback:
      properties:
        api_key:
          anyOf:
          - $ref: '#/components/schemas/APIKey'
          - type: 'null'
        bookmarked:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Bookmarked
        comment:
          anyOf:
          - type: string
          - type: 'null'
          title: Comment
        created_at:
          format: date-time
          title: Created At
          type: string
        created_by:
          $ref: '#/components/schemas/UserIdName'
        feedback_id:
          format: uuid
          title: Feedback Id
          type: string
        organization_id:
          format: uuid
          title: Organization Id
          type: string
        pipeline_id:
          format: uuid
          title: Pipeline Id
          type: string
        result_id:
          format: uuid
          title: Result Id
          type: string
        score:
          anyOf:
          - type: string
          - type: 'null'
          title: Score
        search_history:
          $ref: '#/components/schemas/SearchHistoryResultData'
        tags:
          items:
            $ref: '#/components/schemas/FeedbackTag'
          title: Tags
          type: array
        workspace_id:
          format: uuid
          title: Workspace Id
          type: string
      required:
      - tags
      - result_id
      - feedback_id
      - organization_id
      - workspace_id
      - pipeline_id
      - created_by
      - created_at
      - search_history
      title: Feedback
      type: object
    FeedbackSearchQuery:
      properties:
        created_at:
          description: Specifies when the search query was run.
          format: date-time
          title: Created At
          type: string
        duration:
          description: The number of seconds the pipeline took to find the answer.
          title: Duration
          type: number
        filters:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Shows which metadata filters were used for the search query.
          title: Search Filters
        query:
          description: The search query.
          title: Query
          type: string
      required:
      - created_at
      - duration
      - query
      title: FeedbackSearchQuery
      type: object
    FeedbackSelectResult:
      additionalProperties: true
      description: Feedback Select Description
      title: Feedback Select Result
      type: object
    FeedbackStats:
      properties:
        accuracy:
          anyOf:
          - type: number
          - type: 'null'
          description: The accuracy of the pipeline. We compute the accuracy by dividing
            the total number of queries with positive feedback by the total number
            of queries with any feedback. Searches without any feedback are therefore
            not taken into account.
          title: Accuracy
        feedback_count:
          description: The amount of feedback.
          title: Feedback Count
          type: integer
        negative_feedback_count:
          description: The total number of negative feedback entries.
          title: Negative feedback count
          type: integer
        neutral_feedback_count:
          description: The total number of neutral feedback entries.
          title: Neutral feedback count
          type: integer
        positive_feedback_count:
          description: The total number of positive feedback entries.
          title: Positive feedback count
          type: integer
        user_count:
          description: The number of users who have given feedback.
          title: User Count
          type: integer
      required:
      - user_count
      - feedback_count
      - positive_feedback_count
      - neutral_feedback_count
      - negative_feedback_count
      - accuracy
      title: FeedbackStats
      type: object
    FeedbackTag:
      properties:
        created_by_user_id:
          format: uuid
          title: Created By User Id
          type: string
        name:
          title: Name
          type: string
        organization_id:
          format: uuid
          title: Organization Id
          type: string
        pipeline_id:
          format: uuid
          title: Pipeline Id
          type: string
        tag_id:
          format: uuid
          title: Tag Id
          type: string
        workspace_id:
          format: uuid
          title: Workspace Id
          type: string
      required:
      - name
      - tag_id
      - organization_id
      - workspace_id
      - pipeline_id
      - created_by_user_id
      title: FeedbackTag
      type: object
    FetchDocumentsParams:
      properties:
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        limit:
          anyOf:
          - exclusiveMinimum: 0.0
            type: integer
          - type: 'null'
          description: Limits the number of documents returned.
          title: Limit
        page_number:
          anyOf:
          - minimum: 1.0
            type: integer
          - type: 'null'
          description: The page number to return when paginating. Requires 'limit'
            to be set. Pages are 1-indexed.
          title: Page Number
        return_embedding:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Returns vector representations of the documents.
          title: Return Embedding
        use_prefiltering:
          anyOf:
          - type: boolean
          - type: 'null'
          description: 'Specifies if documents should be prefiltered in the document
            store instead of within the retriever. DEPRECATED: This parameter will
            be removed in a future version. Use efficient_filtering parameter instead.'
          title: Use Prefiltering
      title: FetchDocumentsParams
      type: object
    File:
      properties:
        characters:
          description: The total number of characters in this file.
          title: Number of characters
          type: integer
        created_at:
          description: Datetime object, specifies when the file was created.
          format: date-time
          title: File Creation
          type: string
        file_id:
          description: Unique identifier of a file.
          format: uuid
          title: File ID
          type: string
        languages:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: List of languages in that file.
          title: Languages
        meta:
          additionalProperties: true
          description: Metadata of a file.
          title: Metadata of file
          type: object
        name:
          description: Name of the file.
          title: File name
          type: string
        size:
          description: Size of the file in bytes.
          title: File size
          type: integer
        url:
          description: The URL of the file.
          title: File URL
          type: string
      required:
      - file_id
      - url
      - name
      - size
      - characters
      - meta
      - created_at
      title: File
      type: object
    FileId:
      format: uuid
      title: File ID
      type: string
    FileIngestionStatus:
      properties:
        failed_files:
          default: 0
          description: The number of files that failed to be ingested.
          title: Failed files
          type: integer
        finished_files:
          default: 0
          description: The number of files that were successfully ingested.
          title: Finished files
          type: integer
      title: FileIngestionStatus
      type: object
    FileIngestionStatusEnum:
      enum:
      - PENDING
      - FAILED
      - FINISHED
      title: FileIngestionStatusEnum
      type: string
    FileIngestionStatusReasonEnum:
      enum:
      - EMPTY_FILE
      - FILE_NOT_FOUND
      - FAILED_TO_PARSE_META
      - FILE_ALREADY_EXISTS
      - INGESTING_FILE_FAILED
      - UNKNOWN_ERROR
      - FILE NAME TOO LONG. MAX LENGTH IS 800
      - SLOWDOWN
      title: FileIngestionStatusReasonEnum
      type: string
    FileMetadata:
      additionalProperties: true
      title: Metadata of file
      type: object
    FileNames:
      properties:
        names:
          description: The names of the files to delete.
          items:
            type: string
          maxItems: 6000
          title: File names
          type: array
      required:
      - names
      title: FileNames
      type: object
    FileStatus:
      description: Enum for the status of a file in the document store.
      enum:
      - FAILED
      - NO_DOCUMENTS
      title: FileStatus
      type: string
    FileUpdateError:
      properties:
        error_message:
          description: The error message.
          title: Error message
          type: string
        error_type:
          description: The type of error that occurred.
          title: Error type
          type: string
        file_id:
          description: Unique identifier of a file.
          format: uuid
          title: File ID
          type: string
      required:
      - file_id
      - error_type
      - error_message
      title: FileUpdateError
      type: object
    FileWriteModeEnum:
      enum:
      - KEEP
      - OVERWRITE
      - FAIL
      - TEMPORARY
      title: FileWriteModeEnum
      type: string
    GenerateIntegratedYamlData:
      properties:
        original:
          description: The original YAML which will be udpated with the changes from
            update data.
          title: Original YAML
          type: string
        updated:
          additionalProperties: true
          description: A dictionary containing updated data which will be merged into
            the original YAML.
          title: Updated data
          type: object
      required:
      - original
      - updated
      title: GenerateIntegratedYamlData
      type: object
    GroupByDimension:
      description: The dimensions you can group cost by.
      enum:
      - model
      - workspace
      - pipeline
      - deployment
      - api_key
      - provider
      title: GroupByDimension
      type: string
    GroupVisualizationMetadata:
      properties:
        children:
          description: List of component names that belong to this group.
          items:
            type: string
          title: Children
          type: array
        collapsed:
          description: Whether the group is collapsed in the visualization.
          title: Collapsed
          type: boolean
        color:
          description: Color of the group
          title: Color
          type: string
        height:
          description: Height of the group.
          title: Height
          type: integer
        id:
          description: Unique identifier for the group.
          title: Group ID
          type: string
        label:
          description: Display label for the group.
          title: Group Label
          type: string
        width:
          description: Width of the group.
          title: Width
          type: integer
        x:
          description: X-coordinate of the group's top-left corner.
          title: X-coordinate
          type: integer
        y:
          description: Y-coordinate of the group's top-left corner.
          title: Y-coordinate
          type: integer
      required:
      - id
      - label
      - x
      - y
      - width
      - height
      - color
      - children
      - collapsed
      title: GroupVisualizationMetadata
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    HaystackComponentInputOutputError:
      description: Describes errors caused by invalid haystack components.
      properties:
        code:
          description: Error code
          title: Code
          type: string
        message:
          description: Error message
          title: Message
          type: string
        title:
          description: Error title
          title: Title
          type: string
      required:
      - code
      - message
      - title
      title: HaystackComponentInputOutputError
      type: object
    HaystackComponentInputOutputGenerationParams:
      properties:
        component_init_timeout:
          anyOf:
          - type: number
          - type: 'null'
          description: The time to wait (in seconds) for the component to start up
            when generating the input/output schema.
          title: Component Init Timeout
        component_type:
          description: Type of the component.
          title: Component Type
          type: string
        init_params:
          additionalProperties: true
          description: Component init params as key-value pairs of param name and
            value.
          title: Init Params
          type: object
      required:
      - component_type
      - init_params
      title: HaystackComponentInputOutputGenerationParams
      type: object
    HaystackComponentInputOutputSchema:
      properties:
        errors:
          anyOf:
          - items:
              $ref: '#/components/schemas/HaystackComponentInputOutputError'
            type: array
          - type: 'null'
          description: Errors encountered during the generation of input/output schemas
          title: Errors during input/output schema generation
        init_parameters:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Additional dynamic parameters of the component that are not
            part of the component schema but are relevant for the component usage
            (e.g. Code component).
          title: Component init parameters
        input:
          additionalProperties: true
          description: Input schema of the component
          title: Input schema of the component
          type: object
        name:
          description: Schema for all available haystack components.
          title: Haystack Component Input Output Schema
          type: string
        output:
          additionalProperties: true
          description: Output schema of the component
          title: Output schema of the component
          type: object
      required:
      - name
      - input
      - output
      title: HaystackComponentInputOutputSchema
      type: object
    HaystackComponentSchema:
      properties:
        component_schema:
          $ref: '#/components/schemas/DeepsetCloudSchema'
          description: Schema for all available haystack components.
          title: Haystack Component Schema
      required:
      - component_schema
      title: HaystackComponentSchema
      type: object
    HaystackTraceFailure:
      properties:
        message:
          title: Message
          type: string
        stacktrace:
          items:
            type: string
          title: Stacktrace
          type: array
        type:
          title: Type
          type: string
      required:
      - type
      - message
      - stacktrace
      title: HaystackTraceFailure
      type: object
    HaystackTraceLog:
      properties:
        extra_fields:
          additionalProperties: true
          title: Extra Fields
          type: object
        level:
          title: Level
          type: string
        logger:
          title: Logger
          type: string
        message:
          title: Message
          type: string
        timestamp:
          format: date-time
          title: Timestamp
          type: string
      required:
      - logger
      - level
      - message
      - timestamp
      title: HaystackTraceLog
      type: object
    HaystackTraceSpan:
      properties:
        component:
          anyOf:
          - type: string
          - type: 'null'
          title: Component
        duration_ms:
          anyOf:
          - type: number
          - type: 'null'
          title: Duration Ms
        end_time:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: End Time
        operation_name:
          title: Operation Name
          type: string
        parent_span_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Parent Span Id
        span_id:
          format: uuid
          title: Span Id
          type: string
        start_time:
          format: date-time
          title: Start Time
          type: string
        tags:
          additionalProperties: true
          title: Tags
          type: object
      required:
      - span_id
      - operation_name
      - start_time
      title: HaystackTraceSpan
      type: object
    HaystackTraceV1:
      properties:
        duration_ms:
          anyOf:
          - type: number
          - type: 'null'
          title: Duration Ms
        failure:
          anyOf:
          - $ref: '#/components/schemas/HaystackTraceFailure'
          - type: 'null'
        finished_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Finished At
        logs:
          items:
            $ref: '#/components/schemas/HaystackTraceLog'
          title: Logs
          type: array
        run_id:
          format: uuid
          title: Run Id
          type: string
        schema_version:
          const: haystack-trace/v1
          title: Schema Version
          type: string
        started_at:
          format: date-time
          title: Started At
          type: string
        status:
          enum:
          - success
          - failed
          title: Status
          type: string
        traces:
          items:
            $ref: '#/components/schemas/HaystackTraceSpan'
          title: Traces
          type: array
      required:
      - schema_version
      - run_id
      - started_at
      - status
      - traces
      - logs
      title: HaystackTraceV1
      type: object
    IconModel:
      description: An icon descriptor matching the MCP spec's Icon type.
      properties:
        mimeType:
          anyOf:
          - type: string
          - type: 'null'
          description: MIME type of the icon.
          title: Mimetype
        sizes:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Icon dimensions, e.g. ["48x48", "96x96"].
          title: Sizes
        src:
          description: URL or data URI for the icon.
          title: Src
          type: string
      required:
      - src
      title: IconModel
      type: object
    JobCallback:
      properties:
        headers:
          additionalProperties: true
          description: Headers to send with the callback request, for example an authorization
            header your endpoint requires.
          examples:
          - Authorization: Bearer <token>
          title: Headers
          type: object
        url:
          description: 'The URL that receives the callback. When the job finishes,
            deepset sends a POST request to this URL with the JSON body `{"job_id":
            "<job_id>", "status": "<status>"}`. `status` is `ENDED` if the job completed
            and `FAILED` if it did not. The URL must be reachable from the public
            internet over HTTP or HTTPS. deepset skips callbacks whose URL resolves
            to a private, loopback, or link-local address.'
          examples:
          - https://example.com/deepset-job-callback
          title: URL
          type: string
      required:
      - url
      title: JobCallback
      type: object
    JobResponse:
      properties:
        concurrency:
          title: Concurrency
          type: integer
        created_at:
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        duration:
          anyOf:
          - format: float
            type: number
          - type: 'null'
          title: Duration
        executed_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Executed At
        executed_requests:
          anyOf:
          - type: integer
          - type: 'null'
          title: Executed Requests
        execution_mode:
          $ref: '#/components/schemas/ExecutionMode'
        job_id:
          format: uuid
          title: Job Id
          type: string
        last_edited_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Last Edited At
        last_edited_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
        name:
          title: Name
          type: string
        pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Pipeline Id
        pipeline_name:
          title: Pipeline Name
          type: string
        query_set_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Query Set Id
        status:
          $ref: '#/components/schemas/JobStatus'
        total_requests:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total Requests
      required:
      - job_id
      - name
      - description
      - pipeline_name
      - query_set_id
      - execution_mode
      - concurrency
      - status
      - total_requests
      - executed_requests
      - created_by
      - created_at
      - last_edited_at
      - executed_at
      - duration
      title: JobResponse
      type: object
    JobResultResponse:
      properties:
        absolute_query_index:
          title: Absolute Query Index
          type: integer
        answer:
          title: Answer
          type: string
        context:
          anyOf:
          - type: string
          - type: 'null'
          title: Context
        created_at:
          format: date-time
          title: Created At
          type: string
        duration:
          format: float
          title: Duration
          type: number
        error:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Error
        failed:
          title: Failed
          type: boolean
        file:
          anyOf:
          - type: string
          - type: 'null'
          title: File
        filters:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Filters
        group_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Name
        job_result_id:
          format: uuid
          title: Job Result Id
          type: string
        no_answer:
          anyOf:
          - type: boolean
          - type: 'null'
          title: No Answer
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Params
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
        prompts:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Prompts
        query:
          title: Query
          type: string
        query_index:
          anyOf:
          - type: integer
          - type: 'null'
          title: Query Index
        query_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Query Label
        response:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Response
      required:
      - job_result_id
      - query
      - filters
      - params
      - answer
      - prompt
      - prompts
      - context
      - file
      - no_answer
      - response
      - duration
      - query_index
      - absolute_query_index
      - query_label
      - group_name
      - failed
      - error
      - created_at
      title: JobResultResponse
      type: object
    JobResultSelectResult:
      additionalProperties: true
      description: A partial job result row, as returned when the request uses `select`.
      title: JobResultSelectResult
      type: object
    JobSelectResult:
      additionalProperties: true
      description: A partial job row, as returned when the request uses `select`.
      title: JobSelectResult
      type: object
    JobStatus:
      enum:
      - CREATED
      - STARTED
      - FAILED
      - ENDED
      title: JobStatus
      type: string
    LogOrigin:
      enum:
      - querypipeline
      - indexingpipeline
      - haystack
      - unknown
      title: LogOrigin
      type: string
    LogicalCondition:
      properties:
        conditions:
          description: The conditions you want to use for logical conditions.
          items:
            anyOf:
            - $ref: '#/components/schemas/ComparisonCondition'
            - $ref: '#/components/schemas/LogicalCondition'
          title: Conditions
          type: array
        operator:
          $ref: '#/components/schemas/LogicalOperator'
          description: The operator you want to use for logical conditions.
          title: Logical Condition Operator
      required:
      - operator
      - conditions
      title: LogicalCondition
      type: object
    LogicalOperator:
      enum:
      - AND
      - OR
      - NOT
      title: LogicalOperator
      type: string
    MCPAuthType:
      description: How an MCP server tool authenticates.
      enum:
      - STATIC
      - OAUTH_CONNECTION
      title: MCPAuthType
      type: string
    MCPConfigResponse:
      description: Response representing a workspace MCP server configuration.
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
        enabled:
          title: Enabled
          type: boolean
        instructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Instructions
        server_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Server Description
        server_icons:
          anyOf:
          - items:
              $ref: '#/components/schemas/IconModel'
            type: array
          - type: 'null'
          title: Server Icons
        server_name:
          title: Server Name
          type: string
        server_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Server Version
        server_website_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Server Website Url
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Updated At
        workspace_id:
          format: uuid
          title: Workspace Id
          type: string
        workspace_mcp_config_id:
          format: uuid
          title: Workspace Mcp Config Id
          type: string
      required:
      - workspace_mcp_config_id
      - workspace_id
      - enabled
      - server_name
      - server_description
      - created_at
      - updated_at
      title: MCPConfigResponse
      type: object
    MCPConnectionStatus:
      description: State of the OAuth connection backing an MCP server tool.
      enum:
      - CONNECTED
      - EXPIRED
      - NOT_CONNECTED
      title: MCPConnectionStatus
      type: string
    MCPServerParseToolResponse:
      description: Model for the result of parsing an MCP server tool definition.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        mcp_server:
          $ref: '#/components/schemas/CreateMCPServerToolData'
          description: MCP server configuration data
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier for the tool
          title: Tool Id
        tool_names:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: List of enabled tool names
          title: Tool Names
        tool_type:
          const: mcp
          default: mcp
          description: Type of tool, must be 'mcp'
          title: Tool Type
          type: string
      required:
      - name
      - mcp_server
      title: MCPServerParseToolResponse
      type: object
    MCPServerTool:
      description: Model for an MCP Server tool response.
      properties:
        connected:
          anyOf:
          - type: boolean
          - type: 'null'
          description: 'Whether the MCP server is currently connected: true when reachable,
            false when unreachable, and null/omitted when connect_mcp=false.'
          title: Connected
        connection_status:
          anyOf:
          - $ref: '#/components/schemas/MCPConnectionStatus'
          - type: 'null'
          description: 'State of the OAuth connection backing this tool: connected
            when a usable access token exists, expired when the token can no longer
            be refreshed and the user must reconnect, not_connected when no one has
            completed the OAuth flow yet, and null when auth_type is static.'
        created_at:
          description: Timestamp when the tool was created
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: User who created the tool
          title: Created By
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        errors:
          description: List of validation errors, if any.
          items:
            type: string
          title: Errors
          type: array
        mcp_server:
          $ref: '#/components/schemas/MCPServerToolData'
          description: MCP server configuration data
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_definition:
          additionalProperties: true
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
          type: object
        tool_id:
          description: Unique identifier for the tool
          format: uuid
          title: Tool Id
          type: string
        tool_type:
          const: mcp
          default: mcp
          description: Type of tool, will be 'mcp'
          title: Tool Type
          type: string
        tools:
          anyOf:
          - items:
              $ref: '#/components/schemas/MCPTool'
            type: array
          - type: 'null'
          description: List of tools available from the MCP server
          title: Tools
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when the tool was last updated
          title: Updated At
      required:
      - name
      - tool_id
      - created_at
      - tool_definition
      - mcp_server
      - connected
      title: MCPServerTool
      type: object
    MCPServerToolData:
      description: Model for MCP server tool-specific data.
      properties:
        auth_type:
          $ref: '#/components/schemas/MCPAuthType'
          default: STATIC
          description: How the MCP server authenticates. Use static for a bearer token
            or custom headers stored as secrets, or oauth_connection to authenticate
            through a registered OAuth provider so the access token refreshes automatically.
            Defaults to static.
        headers:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/Secret'
            type: object
          - type: 'null'
          description: Optional custom HTTP headers to send when connecting to the
            MCP server, for example for API-key authentication. Each value can be
            a secret ID, a secret name or a new secret to create.
          title: Headers
        mcp_transport:
          $ref: '#/components/schemas/MCPTransport'
          description: Transport protocol for the MCP server (sse or http)
        oauth_provider_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the OAuth provider to authenticate through. Required
            when auth_type is oauth_connection, and must be omitted otherwise. Connect
            the provider before the tool can reach the MCP server.
          title: Oauth Provider Id
        secret:
          anyOf:
          - $ref: '#/components/schemas/Secret'
          - type: 'null'
          description: Optional secret to use for authentication. Can be a secret
            ID, a secret name or a new secret to create.
        url:
          description: URL of the MCP server
          title: Url
          type: string
      required:
      - url
      - mcp_transport
      title: MCPServerToolData
      type: object
    MCPServerToolRequest:
      description: MCP server tool to validate or create.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        mcp_server:
          $ref: '#/components/schemas/CreateMCPServerToolData'
          description: MCP server configuration data
        name:
          description: The name of the tool
          title: Name
          type: string
        tool_type:
          const: mcp
          default: mcp
          description: Type of tool, must be 'mcp'
          title: Tool Type
          type: string
      required:
      - name
      - mcp_server
      title: MCPServerToolRequest
      type: object
    MCPServerToolUpdateData:
      description: Model for MCP server tool-specific data update.
      properties:
        auth_type:
          anyOf:
          - $ref: '#/components/schemas/MCPAuthType'
          - type: 'null'
          description: How the MCP server authenticates. Use static for a bearer token
            or custom headers stored as secrets, or oauth_connection to authenticate
            through a registered OAuth provider so the access token refreshes automatically.
            Defaults to static.
        headers:
          anyOf:
          - additionalProperties:
              anyOf:
              - $ref: '#/components/schemas/AutoCreateSecret'
              - type: string
            type: object
          - type: 'null'
          description: Optional custom HTTP headers to send when connecting to the
            MCP server, for example for API-key authentication. Each value can be
            a secret ID, a secret name or a new secret to create.
          title: Headers
        mcp_transport:
          anyOf:
          - $ref: '#/components/schemas/MCPTransport'
          - type: 'null'
          description: Transport protocol for the MCP server (sse or http)
        oauth_provider_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: ID of the OAuth provider to authenticate through. Required
            when auth_type is oauth_connection, and must be omitted otherwise. Connect
            the provider before the tool can reach the MCP server.
          title: Oauth Provider Id
        secret:
          anyOf:
          - $ref: '#/components/schemas/AutoCreateSecret'
          - type: string
          - type: 'null'
          description: Optional secret to use for authentication. Can be a secret
            ID, a secret name or a new secret to create.
          title: Secret
        url:
          anyOf:
          - type: string
          - type: 'null'
          description: URL of the MCP server
          title: Url
      title: MCPServerToolUpdateData
      type: object
    MCPServerToolUpdateRequest:
      description: Update request model for MCP server tools.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Updated description of what the tool does
          title: Description
        mcp_server:
          $ref: '#/components/schemas/MCPServerToolUpdateData'
          description: Updated MCP server configuration data
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Updated name of the tool
          title: Name
      required:
      - mcp_server
      title: MCPServerToolUpdateRequest
      type: object
    MCPServerToolValidationResponse:
      description: Model for MCP Server tool validation result.
      properties:
        can_create:
          default: false
          description: Whether the tool can be created from this validation result.
            Pipeline tools may be created even when the embedded pipeline has validation
            errors.
          title: Can Create
          type: boolean
        connected:
          anyOf:
          - type: boolean
          - type: 'null'
          description: 'Whether the MCP server is currently connected: true when reachable,
            false when unreachable, and null/omitted when connect_mcp=false.'
          title: Connected
        connection_status:
          anyOf:
          - $ref: '#/components/schemas/MCPConnectionStatus'
          - type: 'null'
          description: 'State of the OAuth connection backing this tool: connected
            when a usable access token exists, expired when the token can no longer
            be refreshed and the user must reconnect, not_connected when no one has
            completed the OAuth flow yet, and null when auth_type is static.'
        error_details:
          description: Detailed information about validation errors, if any.
          items:
            $ref: '#/components/schemas/PipelineValidationError'
          title: Error Details
          type: array
        errors:
          description: List of validation errors, if any.
          items:
            type: string
          title: Errors
          type: array
        tool_definition:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
        tools:
          anyOf:
          - items:
              $ref: '#/components/schemas/MCPTool'
            type: array
          - type: 'null'
          description: List of tools available from the MCP server
          title: Tools
      required:
      - connected
      title: MCPServerToolValidationResponse
      type: object
    MCPTool:
      description: Model for an MCP tool.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of the MCP tool
          title: Description
        input_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Input schema of the tool
          title: Input Schema
        name:
          description: Name of the MCP tool
          title: Name
          type: string
        title:
          anyOf:
          - type: string
          - type: 'null'
          description: Intended for UI and end-user contexts — optimized to be human-readable
            and easily understood, even by those unfamiliar with domain-specific terminology.
            If not provided, the name should be used for display.
          title: Title
      required:
      - name
      title: MCPTool
      type: object
    MCPTransport:
      description: Enum for MCP transport types.
      enum:
      - sse
      - http
      title: MCPTransport
      type: string
    MeUser:
      properties:
        deleted:
          description: Indicates if a user is deleted.
          title: Deleted
          type: boolean
        email:
          anyOf:
          - type: string
          - type: 'null'
          description: Email of a user.
          title: Email
        family_name:
          description: Family name of a user.
          title: Family name
          type: string
        given_name:
          description: Given name of a user.
          title: Given name
          type: string
        oauth_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Oauth ID from the identity provider
          title: Oauth ID
        oauth_provider:
          description: 'Oauth provider used to authenticate the user. For example:
            ''authentik'', ''google-auth'', ''github'', and the like.'
          title: Oauth Provider
          type: string
        organization:
          $ref: '#/components/schemas/OrganizationFormatted'
          description: The deepset organization the user belongs to.
          title: Organization
        settings:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: User-specific settings stored as JSON.
          title: User Settings
        user_id:
          description: Unique identifier of a user.
          format: uuid
          title: User ID
          type: string
      required:
      - given_name
      - family_name
      - user_id
      - oauth_id
      - oauth_provider
      - organization
      - deleted
      title: User
      type: object
    MetaFilterCondition:
      additionalProperties: false
      properties:
        field:
          description: The metadata field name to filter on.
          title: Field
          type: string
        operator:
          description: The comparison operator.
          enum:
          - ==
          - '!='
          title: Operator
          type: string
        value:
          anyOf:
          - type: string
          - type: integer
          - type: number
          - type: boolean
          - type: 'null'
          description: The value to compare against.
          title: Value
      required:
      - field
      - operator
      - value
      title: MetaFilterCondition
      type: object
    Migration:
      description: A single suggested component removal with rewiring details.
      properties:
        description:
          description: Explanation of why this migration should be applied.
          title: Description
          type: string
        id:
          description: ID of the migration.
          title: Id
          type: string
      required:
      - id
      - description
      title: Migration
      type: object
    MigrationDetectionResult:
      description: Result of detecting possible migrations in a pipeline.
      properties:
        has_migrations:
          description: Whether any migrations were detected.
          title: Has Migrations
          type: boolean
        suggestions:
          description: List of suggested migrations.
          items:
            $ref: '#/components/schemas/Migration'
          title: Suggestions
          type: array
      required:
      - has_migrations
      title: MigrationDetectionResult
      type: object
    MigrationJobStatusResponse:
      description: Status of an async pipeline migration job.
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when the migration job was created.
          title: Created At
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          description: Error message if the migration failed.
          title: Error Message
        job_id:
          description: Unique identifier for the migration job.
          format: uuid
          title: Job Id
          type: string
        new_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The version ID of the newly created draft. Set once the migration
            completes successfully.
          title: New Version Id
        status:
          description: 'Current status of the migration job: PENDING, IN_PROGRESS,
            COMPLETED, or FAILED.'
          title: Status
          type: string
        version_id:
          description: The source pipeline version ID being migrated.
          format: uuid
          title: Version Id
          type: string
      required:
      - job_id
      - status
      - version_id
      title: MigrationJobStatusResponse
      type: object
    MigrationRequest:
      description: Request to detect/apply migrations in a pipeline.
      properties:
        migration_criteria_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: If provided, only the migrations with the given IDs will be
            detected/applied.
          title: Migration Criteria IDs
        pipeline_config_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The pipeline YAML config to detect/apply migrations for.
          title: Pipeline YAML Config
        version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The pipeline version ID to fetch the YAML from.
          title: Pipeline Version ID
      title: MigrationRequest
      type: object
    Model:
      properties:
        chat_generator_config:
          additionalProperties: true
          description: The configuration for the chat generator as expected in a pipeline
            YAML
          title: Chat Generator Config
          type: object
        connected:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether the model is connected and ready to use (e.g., API
            key is set)
          title: Connected
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when this model definition was created.
          title: Created At
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who created this model definition.
        generation_kwargs:
          additionalProperties: true
          description: The available generation kwargs for the model as OpenAPI schema
          title: Generation Kwargs
          type: object
        last_updated_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who last updated this model definition.
        model_id:
          description: The unique identifier of the model available for the node.
          format: uuid
          title: Model Id
          type: string
        name:
          description: The name of the model, e.g., 'gpt-5' or 'Claude 4 Sonnet'
          title: Name
          type: string
        origin:
          $ref: '#/components/schemas/ModelOrigin'
          default: PLATFORM
          description: Indicates if a model is a custom model saved in a workspace
            (WORKSPACE) or organization (ORGANIZATION) or a built-in model provided
            by the platform (PLATFORM).
        provider:
          description: The provider of the model, e.g., 'openai' or 'anthropic'
          title: Provider
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when this model definition was last updated.
          title: Updated At
      required:
      - model_id
      - name
      - provider
      - connected
      - chat_generator_config
      - generation_kwargs
      title: Model
      type: object
    ModelOrigin:
      enum:
      - WORKSPACE
      - ORGANIZATION
      - PLATFORM
      title: ModelOrigin
      type: string
    ModelProvider:
      enum:
      - aws-bedrock
      - azure-document-intelligence
      - azure-openai
      - cohere
      - deepl
      - google
      - huggingface
      - nvidia
      - openai
      - searchapi
      - snowflake
      - unstructured
      - voyage-ai
      - wandb-ai
      - mongodb
      - together-ai
      - aws-bedrock-api-key
      - anthropic
      title: ModelProvider
      type: string
    ModelValidationError:
      properties:
        category:
          default: ERROR
          enum:
          - ERROR
          - WARNING
          title: Category
          type: string
        code:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
        env_var:
          anyOf:
          - type: string
          - type: 'null'
          title: Env Var
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
      title: ModelValidationError
      type: object
    ModelValidationResult:
      properties:
        errors:
          anyOf:
          - items:
              $ref: '#/components/schemas/ModelValidationError'
            type: array
          - type: 'null'
          title: Errors
        valid:
          title: Valid
          type: boolean
      required:
      - valid
      title: ModelValidationResult
      type: object
    ModelsListResponse:
      description: :class:`~fastapi_openai_compat.ModelsResponse` narrowed to :class:`ChatCompletionsModel`.
      examples:
      - data:
        - created: 1700000000
          id: my-workspace-name/my-pipeline
          name: my-pipeline
          object: model
          owned_by: my-organization
          supported_parameters:
          - tools
          - tool_choice
        object: list
      - data:
        - created: 1700000000
          id: my-workspace-name/3fa85f64-5717-4562-b3fc-2c963f66afa6
          name: support-agent
          object: model
          owned_by: my-organization
          supported_parameters:
          - tools
          - tool_choice
        object: list
      properties:
        data:
          items:
            $ref: '#/components/schemas/ChatCompletionsModel'
          title: Data
          type: array
        object:
          const: list
          description: Object type, always `list`.
          title: Object
          type: string
      required:
      - data
      - object
      title: ModelsListResponse
      type: object
    NewOpenSearchVPCCredentials:
      properties:
        aws_domain_arn:
          description: The AWS domain ARN of your OpenSearch cluster. Follow [our
            documentation](https://docs.cloud.deepset.ai/docs/connect-your-own-file-storage)
            to find your ARN.
          title: AWS Domain ARN
          type: string
        password:
          description: The password to your OpenSearch cluster.
          title: Password
          type: string
        port:
          default: 443
          description: The port of your OpenSearch cluster.
          title: OpenSearch Port
          type: integer
        username:
          description: Your OpenSearch cluster username.
          title: Username
          type: string
      required:
      - aws_domain_arn
      - username
      - password
      title: NewOpenSearchVPCCredentials
      type: object
    NewS3Credentials:
      properties:
        assume_role:
          $ref: '#/components/schemas/AWSAssumeRoleCredentials'
        aws_endpoint_url:
          anyOf:
          - type: string
          - type: 'null'
          description: The AWS endpoint URL of your S3 bucket.
          title: AWS Endpoint URL
        bucket_name:
          description: The name of your S3 bucket.
          title: S3 Bucket Name
          type: string
      required:
      - bucket_name
      - assume_role
      title: NewS3Credentials
      type: object
    NewWorkspace:
      properties:
        document_store_credentials:
          anyOf:
          - $ref: '#/components/schemas/WorkspaceDocumentStoreCredentials'
          - type: 'null'
        file_store_credentials:
          anyOf:
          - $ref: '#/components/schemas/WorkspaceFileStoreCredentials'
          - type: 'null'
        name:
          description: The name of the workspace. It must be longer than 3 characters.
          title: Workspace name
          type: string
      required:
      - name
      title: NewWorkspace
      type: object
    OrganizationFormatted:
      properties:
        default_landing_page:
          anyOf:
          - type: string
          - type: 'null'
          description: Default landing page for the organization.
          title: Default Landing Page
        extra_dependencies:
          default: []
          deprecated: true
          description: 'Deprecated: this feature has been removed. Always returns
            an empty list.'
          items:
            type: string
          title: Extra Dependencies
          type: array
        fleet_enabled:
          default: false
          description: Indicates whether this organization's serverless traffic routes
            through the Haystack Fleet.
          title: Fleet Enabled
          type: boolean
        gpu_enabled:
          description: Indicates whether GPU resources are enabled for this organization.
          title: GPU Enabled
          type: boolean
        max_workspaces:
          description: Maximum number of workspaces a user can access.
          title: Max Workspaces
          type: integer
        name:
          description: Unique name of a deepset organization.
          title: Organization name
          type: string
        organization_id:
          description: Unique identifier of an organization.
          format: uuid
          title: Organization ID
          type: string
        organization_type:
          $ref: '#/components/schemas/OrganizationType'
          description: Type of the organization.
          title: Organization Type
        pricing_plan:
          anyOf:
          - type: integer
          - type: 'null'
          description: Pricing plan of an organization, between 0 and 3.
          title: Pricing plan
        role:
          description: Role of the user. This can be a custom role or one of the default
            roles.
          title: User Role
          type: string
        trace_retention_period_days:
          default: 90
          description: Number of days pipeline trace data is retained before being
            soft-deleted.
          title: Trace retention period (days)
          type: integer
        workspaces:
          description: Workspaces the user can access.
          items:
            $ref: '#/components/schemas/EntityRole'
          title: User Workspaces
          type: array
      required:
      - name
      - organization_id
      - role
      - workspaces
      - max_workspaces
      - organization_type
      - gpu_enabled
      title: OrganizationFormatted
      type: object
    OrganizationName:
      properties:
        name:
          description: Unique name of a deepset organization.
          title: Organization name
          type: string
      required:
      - name
      title: OrganizationName
      type: object
    OrganizationRoles:
      enum:
      - ADMIN
      - MEMBER
      - EXTERNAL
      title: OrganizationRoles
      type: string
    OrganizationType:
      enum:
      - FULL_DEEPSET_CLOUD
      - DEEPSET_STUDIO_WITH_LIMITS
      title: OrganizationType
      type: string
    OutputFile:
      properties:
        file_id:
          format: uuid
          title: File Id
          type: string
        file_name:
          title: File Name
          type: string
      required:
      - file_id
      - file_name
      title: OutputFile
      type: object
    OverriddenSecret:
      properties:
        masked_secret:
          description: Masked secret value. The actual secret is not returned for
            security reasons.
          title: Masked Secret
          type: string
        name:
          description: The name of the secret.
          title: Secret Name
          type: string
        secret_id:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      required:
      - secret_id
      - name
      - masked_secret
      title: OverriddenSecret
      type: object
    PaginatedJobResults:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/JobResultResponse'
            - $ref: '#/components/schemas/JobResultSelectResult'
          title: Data
          type: array
        has_more:
          title: Has More
          type: boolean
        total:
          title: Total
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedJobResults
      type: object
    PaginatedJobs:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/JobResponse'
            - $ref: '#/components/schemas/JobSelectResult'
          title: Data
          type: array
        has_more:
          title: Has More
          type: boolean
        total:
          title: Total
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedJobs
      type: object
    PaginatedQuerySets:
      properties:
        data:
          items:
            $ref: '#/components/schemas/QuerySetResponse'
          title: Data
          type: array
        has_more:
          title: Has More
          type: boolean
        total:
          title: Total
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedQuerySets
      type: object
    PaginatedResult_CustomComponent_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CustomComponent'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[CustomComponent]
      type: object
    PaginatedResult_DeploymentEventResponse_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeploymentEventResponse'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[DeploymentEventResponse]
      type: object
    PaginatedResult_DeploymentResponse_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeploymentResponse'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[DeploymentResponse]
      type: object
    PaginatedResult_DeploymentRevisionResponse_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/DeploymentRevisionResponse'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[DeploymentRevisionResponse]
      type: object
    PaginatedResult_FeedbackSelectResult_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FeedbackSelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[FeedbackSelectResult]
      type: object
    PaginatedResult_FeedbackTag_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/FeedbackTag'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[FeedbackTag]
      type: object
    PaginatedResult_Feedback_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Feedback'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Feedback]
      type: object
    PaginatedResult_File_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/File'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[File]
      type: object
    PaginatedResult_MeUser_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/MeUser'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[MeUser]
      type: object
    PaginatedResult_Model_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Model'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Model]
      type: object
    PaginatedResult_PipelineIndex_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PipelineIndex'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[PipelineIndex]
      type: object
    PaginatedResult_PipelineLog_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PipelineLog'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[PipelineLog]
      type: object
    PaginatedResult_Pipeline_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Pipeline'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Pipeline]
      type: object
    PaginatedResult_QueryPipelineVersion_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/QueryPipelineVersion'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[QueryPipelineVersion]
      type: object
    PaginatedResult_RBACRoleController_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/RBACRoleController'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[RBACRoleController]
      type: object
    PaginatedResult_SearchCount_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SearchCount'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[SearchCount]
      type: object
    PaginatedResult_SessionFile_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SessionFile'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[SessionFile]
      type: object
    PaginatedResult_Session_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Session'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Session]
      type: object
    PaginatedResult_SharedPrototype_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SharedPrototype'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[SharedPrototype]
      type: object
    PaginatedResult_Token_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Token'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Token]
      type: object
    PaginatedResult_Union_MCPServerTool__PipelineTool__SelectResult__:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/MCPServerTool'
            - $ref: '#/components/schemas/PipelineTool'
            - $ref: '#/components/schemas/SelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Union[MCPServerTool, PipelineTool, SelectResult]]
      type: object
    PaginatedResult_Union_PipelineTemplate__PipelineTemplateSelectResult__:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/PipelineTemplate'
            - $ref: '#/components/schemas/PipelineTemplateSelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Union[PipelineTemplate, PipelineTemplateSelectResult]]
      type: object
    PaginatedResult_Union_PromptTemplate__PromptTemplateSelectResult__:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/PromptTemplate'
            - $ref: '#/components/schemas/PromptTemplateSelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Union[PromptTemplate, PromptTemplateSelectResult]]
      type: object
    PaginatedResult_Union_PublicPromptTemplate__PublicPromptTemplateSelectResult__:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/PublicPromptTemplate'
            - $ref: '#/components/schemas/PublicPromptTemplateSelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Union[PublicPromptTemplate, PublicPromptTemplateSelectResult]]
      type: object
    PaginatedResult_Union_Secret__SelectResult__:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/Secret'
            - $ref: '#/components/schemas/SelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Union[Secret, SelectResult]]
      type: object
    PaginatedResult_Union_WorkspaceSecret__SelectResult__:
      properties:
        data:
          items:
            anyOf:
            - $ref: '#/components/schemas/WorkspaceSecret'
            - $ref: '#/components/schemas/SelectResult'
          title: Data
          type: array
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedResult[Union[WorkspaceSecret, SelectResult]]
      type: object
    PaginatedSearchSessions:
      properties:
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        search_sessions:
          description: A list of all search sessions with their details.
          items:
            $ref: '#/components/schemas/SearchSessionGetResponse'
          title: Search Sessions
          type: array
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - search_sessions
      - has_more
      - total
      title: PaginatedSearchSessions
      type: object
    PaginatedSharedJobs:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SharedJobResponse'
          title: Data
          type: array
        has_more:
          title: Has More
          type: boolean
        total:
          title: Total
          type: integer
      required:
      - data
      - has_more
      - total
      title: PaginatedSharedJobs
      type: object
    ParseToolsRequest:
      anyOf:
      - items:
          additionalProperties: true
          type: object
        type: array
      - additionalProperties: true
        type: object
      description: Model for parsing a list of tool definitions from a request.
      title: ParseToolsRequest
    PatchSharedPrototype:
      additionalProperties: false
      properties:
        brand_color:
          anyOf:
          - type: string
          - type: 'null'
          description: Specify a hexadecimal color code to represent the branding
            of the shared prototype.
          title: Brand Color
        brand_logo:
          anyOf:
          - type: string
          - type: 'null'
          description: Provide a base64 encoded string of the brand logo image.
          title: Brand Logo
        default_runtime_params:
          additionalProperties: true
          description: 'Runtime parameters applied to every query sent through the
            shared prototype, for example `{"trove_selector": {"trove": "Science"}}`.
            Parameters sent with a query override these values key by key.'
          title: Default runtime parameters
          type: object
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Explain how you expect the users to use this pipeline. Users
            who visit the shared prototype will see this text. For more information
            on how to set the right expectations regarding your pipeline, see [Guidelines
            for Onboarding Your Users](https://docs.cloud.deepset.ai/docs/guidelines-for-onboarding-your-users).
          title: Description
        file_upload_enabled:
          default: false
          description: Set `True` if you want your users to be able to upload files
            in the shared prototype.
          title: File upload enabled
          type: boolean
        runtime_params_enabled:
          default: false
          description: Set `True` if you want your users to be able to use runtime
            parameters in the shared prototype.
          title: Runtime parameters enabled
          type: boolean
        show_files:
          default: false
          description: Select `True` if you want your users to be able to view the
            pipeline files.
          title: Show files
          type: boolean
        show_metadata_filters:
          default: false
          description: Select `True` if you want your users to be able to filter the
            documents by metadata.
          title: Show metadata filters
          type: boolean
      title: PatchSharedPrototype
      type: object
    Permission:
      properties:
        action:
          $ref: '#/components/schemas/Action'
        asset:
          $ref: '#/components/schemas/Assets'
      required:
      - asset
      - action
      title: Permission
      type: object
    Pipeline:
      properties:
        created_at:
          description: Datetime object, specifies when the pipeline was created.
          format: date-time
          title: Pipeline Creation
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who created the pipeline.
          title: Created by
        deepset_cloud_version:
          $ref: '#/components/schemas/DeepsetCloudVersion'
          description: The version of deepset the pipeline was created with.
          title: deepset Version
        deleted:
          default: false
          description: Soft deletion of pipelines.
          title: Pipeline Deleted
          type: boolean
        deployed_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the pipeline version that is deployed.
          title: Deployed Version ID
        desired_status:
          description: 'Desired status of a pipeline. Possible values are: ''DEPLOYED''
            or ''UNDEPLOYED''. '
          title: Desired pipeline status
          type: string
        draft_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the pipeline's current draft version.
          title: Draft Version ID
        gpu_enabled:
          description: Indicates whether GPU acceleration is enabled for the pipeline.
            When enabled, the pipeline can use GPU resources for faster processing.
            If the pipeline doesn't require GPUs, it will run on CPU regardless of
            this setting.
          readOnly: true
          title: GPU Enabled
          type: boolean
        has_file_inputs:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates whether the pipeline's deployed version, or its default
            version if it isn't deployed, declares a `files` input. Null if the version
            can't be read. Only set by GET /workspaces/{workspace_name}/pipelines/{pipeline_name}.
          title: Has File Inputs
        idle_timeout_in_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          description: 'The time in seconds after which the pipeline is put on standby
            if it''s not used. '
          title: Pipeline Idle Timeout
        is_default:
          description: Pipeline is set to default.
          title: Pipeline is default
          type: boolean
        last_deployed_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime object, specifies when the pipeline was last deployed.
          title: Last deployment time
        last_edited_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime object, specifies when the pipeline was edited.
          title: Last update time
        last_edited_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who last edited the pipeline.
          title: Last edited by user
        max_query_replica_count:
          description: The maximum number of query replicas for the pipeline. This
            determines the upper limit for scaling the pipeline.
          title: Maximum Query Replica Count
          type: integer
        min_query_replica_count:
          description: The minimum number of query replicas for the pipeline. This
            determines the baseline number of replicas that will always be running.
          title: Minimum Query Replica Count
          type: integer
        name:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
        output_type:
          description: 'Specifies the type of output the pipeline returns. Possible
            values are: ''generative'', ''extractive'', ''chat'', or ''document''.'
          title: Pipeline output type
          type: string
        pipeline_id:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline ID
          type: string
        running_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the pipeline version that is currently running.
          title: Running Version ID
        service_level:
          $ref: '#/components/schemas/PipelineServiceLevelWithDraftEnum'
          description: Service level determines the infrastructure and availability
            requirements for a pipeline. Pipelines at 'PRODUCTION' service level have
            an extended active period before they enter the standby mode and offer
            enhanced scalability. 'DEVELOPMENT' pipelines enter standby after 20 minutes
            and lack scalability in case of any infrastructure issues.
          title: Pipeline Service Level
        status:
          description: 'The current status of a pipeline. '
          title: Query pipeline status (deprecated).
          type: string
        supports_prompt:
          description: Indicates whether the pipeline supports prompts.
          title: Pipeline supports prompt
          type: boolean
        tags:
          description: Tags attached to the pipeline.
          items:
            type: string
          title: Pipeline tags
          type: array
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Datetime object, specifies when the pipeline was last updated.
          title: Pipeline Last Update
      required:
      - name
      - pipeline_id
      - status
      - desired_status
      - created_at
      - is_default
      - supports_prompt
      - output_type
      - service_level
      - idle_timeout_in_seconds
      - deepset_cloud_version
      - deployed_version_id
      - min_query_replica_count
      - max_query_replica_count
      - gpu_enabled
      title: Pipeline Object
      type: object
    PipelineExceptionLog:
      properties:
        trace:
          description: The traceback of the exception.
          items:
            $ref: '#/components/schemas/ExceptionTraceLog'
          title: Trace
          type: array
        type:
          description: The type of the exception.
          title: Type
          type: string
        value:
          description: The value of the exception.
          title: Value
          type: string
      required:
      - type
      - value
      title: PipelineExceptionLog
      type: object
    PipelineFeedbackFile:
      properties:
        id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of a file.
          title: File ID
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the file.
          title: File name
      title: PipelineFeedbackFile
      type: object
    PipelineFieldSearchResult:
      properties:
        data:
          description: A list of fields that you searched for.
          items:
            anyOf:
            - type: string
            - type: integer
            - type: number
            - type: boolean
            - format: date-time
              type: string
          title: Field Search Results
          type: array
        has_more:
          description: Indicates whether the paginated result has more results.
          title: Has More
          type: boolean
        total:
          description: The total number of results matching your query.
          title: Total Number of Results
          type: integer
      required:
      - data
      - has_more
      - total
      title: PipelineFieldSearchResult
      type: object
    PipelineIndex:
      properties:
        capture_traces:
          default: false
          description: 'Whether every file queued for this index records an indexing
            trace: how it was converted and split. When off, only a file reindexed
            with `capture_trace` is traced.'
          title: Capture Traces
          type: boolean
        config_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: Config YAML of the pipeline index.
          title: Pipeline Index Config YAML
        created_at:
          description: Timestamp when the pipeline index was created.
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: ID of the user who created the pipeline index.
          title: Created By User ID
        deployed_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when the pipeline index was deployed.
          title: Pipeline Index Deployed At
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Description of the pipeline index.
          title: Pipeline Index Description
        desired_status:
          $ref: '#/components/schemas/PipelineIndexDesiredStatus'
          description: The desired status of the pipeline index.
          title: Pipeline Index Desired Status
        document_store_type:
          anyOf:
          - type: string
          - type: 'null'
          description: Type of the document store used by this index.
          title: Pipeline Index Document Store Type
        embedding_model:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the embedding model used by this index.
          title: Pipeline Index Embedding Model
        file_meta_filter:
          anyOf:
          - items:
              $ref: '#/components/schemas/MetaFilterCondition'
            type: array
          - type: 'null'
          description: A list of metadata conditions used to filter which files are
            indexed by this pipeline index. Each condition specifies a metadata field,
            an operator ('==' or '!='), and a value. All conditions are applied with
            AND logic — only files matching every condition are indexed. Set to null
            to disable filtering and index all files.
          title: File Meta Filter
        file_name_prefix_filter:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma-separated prefix pattern filter (e.g. 'prefix1*,prefix2').
            A prefix pattern to filter which files are indexed by this pipeline index.
            Only files whose names match the prefix will be indexed. Use the pattern
            like 'myprefix*' to match all files starting with 'myprefix'. Set to null
            to disable filtering and index all files.
          title: File Name Prefix Filter
        gpu_enabled:
          description: Indicates whether GPU acceleration is enabled for the pipeline
            index. When enabled, the pipeline can use GPU resources for faster processing.
            If the pipeline doesn't require GPUs, it will run on CPU regardless of
            this setting.
          readOnly: true
          title: GPU Enabled
          type: boolean
        instance_size:
          anyOf:
          - enum:
            - small
            - medium
            - large
            - xl
            type: string
          - type: 'null'
          description: 'The size of the pod that indexes files for this index: small,
            medium, large, or xl. For example, set `large` for an index that converts
            big files. If you leave it unset, the index uses the default pod size.'
          title: Instance Size
        last_edited_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when the pipeline index was last edited.
          title: Last Edited At
        last_edited_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: ID of the user who last edited the pipeline index.
          title: Last Edited By User ID
        max_index_replica_count:
          description: Maximum number of replicas allowed for the pipeline index.
          title: Maximum Index Replica Count
          type: integer
        name:
          description: Name of the pipeline index.
          title: Pipeline Index Name
          type: string
        pipeline_index_id:
          description: Unique identifier of the pipeline index.
          format: uuid
          title: Pipeline Index ID
          type: string
        settings:
          additionalProperties: true
          default: {}
          description: Settings for the pipeline index.
          title: Pipeline Index Settings
          type: object
        status:
          $ref: '#/components/schemas/PipelineIndexingStatusDetail'
          description: Indexing status of the pipeline index.
          title: Pipeline Index Indexing
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when the pipeline index was last updated.
          title: Updated At
        workspace_id:
          description: Workspace ID of the pipeline index.
          format: uuid
          title: Pipeline Index Workspace ID
          type: string
      required:
      - pipeline_index_id
      - name
      - config_yaml
      - workspace_id
      - desired_status
      - deployed_at
      - last_edited_at
      - max_index_replica_count
      - created_at
      - updated_at
      - created_by
      - last_edited_by
      - status
      - gpu_enabled
      title: PipelineIndex
      type: object
    PipelineIndexDesiredStatus:
      enum:
      - DEPLOYED
      - UNDEPLOYED
      title: PipelineIndexDesiredStatus
      type: string
    PipelineIndexMetadataProperty:
      properties:
        type:
          description: The associated data type of the metadata field such as 'keyword',
            'long', 'float', or 'date'.
          title: Data type of the the metadata field.
          type: string
      required:
      - type
      title: PipelineIndexMetadataProperty
      type: object
    PipelineIndexMetadataPropertyWithNesting:
      anyOf:
      - $ref: '#/components/schemas/PipelineIndexMetadataProperty'
      - additionalProperties:
          $ref: '#/components/schemas/PipelineIndexMetadataPropertyWithNesting'
        type: object
      title: PipelineIndexMetadataPropertyWithNesting
    PipelineIndexingStatusDetail:
      properties:
        failed_file_count:
          description: Files that failed to be indexed.
          title: Failed Files
          type: integer
        indexed_file_count:
          description: Files that were successfully indexed.
          title: Indexed Files
          type: integer
        indexed_no_documents_file_count:
          description: The number of files that were indexed but didn't create documents.
          title: Indexed Files with No Documents.
          type: integer
        pending_file_count:
          description: The number of files pending to be indexed.
          title: Pending Files
          type: integer
        total_file_count:
          description: The total number of files assigned to a pipeline.
          title: Total Files
          type: integer
      required:
      - indexed_no_documents_file_count
      - indexed_file_count
      - pending_file_count
      - failed_file_count
      - total_file_count
      title: PipelineIndexingStatusDetail
      type: object
    PipelineIssue:
      properties:
        match:
          description: A search term used to match against pipeline logs to identify
            runtime issues.
          title: Match
          type: string
        message:
          description: The details of a pipeline runtime issue.
          title: Message
          type: string
        title:
          description: The title of a pipeline runtime issue.
          title: Title
          type: string
      required:
      - title
      - message
      - match
      title: PipelineIssue
      type: object
    PipelineIssues:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PipelineIssue'
          title: Data
          type: array
        total:
          description: The total number of results matching your query.
          title: Total number of results
          type: integer
      required:
      - data
      - total
      title: PipelineIssues
      type: object
    PipelineLog:
      properties:
        exceptions:
          anyOf:
          - items:
              $ref: '#/components/schemas/PipelineExceptionLog'
            type: array
          - type: 'null'
          description: Describes the exception that occurred.
          title: Exceptions
        extra_fields:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Extra fields that were logged.
          title: Extra Fields
        level:
          description: The log level.
          title: Level
          type: string
        log_id:
          description: The ID of the log.
          title: Log ID
          type: string
        logged_at:
          description: The time the log message was created.
          format: date-time
          title: Logged At
          type: string
        message:
          description: The log message.
          title: Message
          type: string
        origin:
          $ref: '#/components/schemas/LogOrigin'
          description: The origin of the log.
          title: Log Origin
      required:
      - log_id
      - message
      - logged_at
      - level
      - origin
      title: PipelineLog
      type: object
    PipelineMetadataAggregation:
      properties:
        max:
          anyOf:
          - type: number
          - type: string
          - type: 'null'
          description: The maximum value of the metadata field.
          title: Maximum Value of the Metadata Field
        min:
          anyOf:
          - type: number
          - type: string
          - type: 'null'
          description: The minimum value of the metadata field.
          title: Minimum Value of the Metadata Field
      required:
      - min
      - max
      title: PipelineMetadataAggregation
      type: object
    PipelineName:
      properties:
        name:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      required:
      - name
      title: PipelineName
      type: object
    PipelineOutputType:
      enum:
      - generative
      - extractive
      - document
      - unknown
      - chat
      title: PipelineOutputType
      type: string
    PipelineParseToolResponse:
      description: Model for the result of parsing a pipeline tool definition.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        pipeline:
          $ref: '#/components/schemas/PipelineToolData'
          description: Pipeline configuration data
        tool_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier for the tool
          title: Tool Id
        tool_type:
          const: pipeline
          default: pipeline
          description: Type of tool, must be 'pipeline'
          title: Tool Type
          type: string
      required:
      - name
      - pipeline
      title: PipelineParseToolResponse
      type: object
    PipelinePrompt:
      properties:
        config_path:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: The path in the pipeline YAML where the prompt is defined.
          title: Prompt config path
        connected_inputs:
          description: List of inputs connected to this component.
          items:
            $ref: '#/components/schemas/ConnectedInput'
          title: Connected Inputs
          type: array
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          description: A human friendly name for the prompt.
          title: Prompt display name
        param_key:
          anyOf:
          - type: string
          - type: 'null'
          description: The component's run parameter key to set the prompt at runtime.
          title: Prompt parameter key
        template_name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the template used for the prompt. This field is
            deprecated and will be removed in future versions.
          title: Prompt template name (deprecated)
        text:
          description: The prompt text used in the pipeline.
          title: Prompt text
          type: string
      required:
      - text
      title: PipelinePrompt
      type: object
    PipelinePrompts:
      properties:
        prompts:
          additionalProperties:
            anyOf:
            - $ref: '#/components/schemas/PipelinePrompt'
            - items:
                $ref: '#/components/schemas/PipelinePrompt'
              type: array
          description: A dictionary of prompts where each key is the prompt node name
            and each value is either a single prompt definition or a list of prompt
            definitions for that node. Each prompt definition contains the prompt
            text and can optionally include a template_name.
          title: Prompts of the pipeline
          type: object
      required:
      - prompts
      title: PipelinePrompts
      type: object
    PipelineQuery:
      examples:
      - debug: true
        filters:
          conditions:
          - field: meta.country
            operator: ==
            value: France
          - field: meta.date
            operator: '>='
            value: '2025-01-01'
          - conditions:
            - field: meta.city
              operator: ==
              value: Paris
            - field: meta.name
              operator: in
              value:
              - Paris
              - Lyon
            operator: OR
          operator: AND
        params:
          retriever:
            top_k: 2
        queries:
        - What is the capital of France?
        view_prompts: false
      properties:
        debug:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Shows debug output for the pipeline or deployed service (for
            example, prompt).
          title: Debug Flag
        files:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: IDs of temporary files to pass to the pipeline as input files.
            Upload each file first with `POST /api/v1/workspaces/{workspace_name}/temporary_files`.
            Workspace file IDs are not accepted, and this field does not filter the
            indexed files that the pipeline searches.
          title: Files
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: 'Parameters you can use to customize the pipeline or deployed
            service. For details, see [Haystack documentation for the pipeline `run()`
            method](https://docs.haystack.deepset.ai/reference/pipeline-api). These
            filters can be used to pass additional parameters to the pipeline.(Haystack
            is the underlying technology for deepset.) '
          title: Pipeline Parameters
        queries:
          description: A list of queries you want to run through the pipeline or deployed
            service.
          items:
            type: string
          title: Queries
          type: array
        search_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the search session you want to use for chat.
          title: Search Session ID
        view_prompts:
          default: false
          description: Adds the runtime prompts of all nodes to the response. (The
            pipeline or deployed service runs in debug mode.)
          title: View prompts
          type: boolean
      required:
      - queries
      title: PipelineQuery
      type: object
    PipelineServiceLevelEnum:
      enum:
      - DEVELOPMENT
      - PRODUCTION
      title: PipelineServiceLevelEnum
      type: string
    PipelineServiceLevelWithDraftEnum:
      enum:
      - DRAFT
      - DEVELOPMENT
      - PRODUCTION
      title: PipelineServiceLevelWithDraftEnum
      type: string
    PipelineStatistics:
      properties:
        accuracy_of_answers:
          anyOf:
          - type: number
          - type: 'null'
          description: The accuracy of answers is calculated by dividing the total
            number of positive feedback messages by the total number of all feedback
            messages. Pipelines with feedback on multiple responses are counted only
            once.
          title: Accuracy of Answers
        avg_feedback_per_query:
          default: 0
          description: The average number of feedback messages per query.
          title: Average Feedback per Query
          type: number
        correct_answers:
          default: 0
          description: The number of answers marked as correct.
          title: Correct Answers
          type: integer
        experiments_created:
          default: 0
          description: The total number of experiments created for this pipeline.
          title: Experiments Created
          type: integer
        indexed_files:
          default: 0
          description: The total number of files indexed for this pipeline.
          title: Indexed Files
          type: integer
        latency:
          default: 0
          description: The average latency of the queries in seconds.
          title: Latency
          type: number
        manual_feedback_input:
          default: 0
          description: The total number of manual feedback inputs provided by users
            for this pipeline.
          title: Manual Feedback Input
          type: integer
        max_latency:
          default: 0
          description: The maximum latency of the queries in seconds.
          title: Max Latency
          type: number
        min_latency:
          default: 0
          description: The minimum latency of the queries in seconds.
          title: Min Latency
          type: number
        total_documents:
          default: 0
          description: The total number of documents created for this pipeline.
          title: Total Documents
          type: integer
        total_queries:
          default: 0
          description: The total number of queries for this pipeline.
          title: Total Queries
          type: integer
        users_provided_feedback:
          default: 0
          description: The total number of unique feedback messages the users provided
            for the results of this pipeline.
          title: Feedback Provided by Users
          type: integer
        wrong_answers:
          default: 0
          description: The number of answers marked as wrong.
          title: Wrong Answers
          type: integer
        wrong_answers_with_correct_document:
          default: 0
          description: The number of answers marked as wrong by the user while the
            document was marked as correct.
          title: Wrong Answers with Correct Document
          type: integer
      title: PipelineStatistics
      type: object
    PipelineStatus:
      enum:
      - UNDEPLOYED
      - DEPLOYED
      - DEPLOYMENT_IN_PROGRESS
      - UNDEPLOYMENT_IN_PROGRESS
      - DEPLOYMENT_FAILED
      - IDLE
      - ACTIVATING
      title: PipelineStatus
      type: string
    PipelineTagAdd:
      properties:
        name:
          description: Name of the tag.
          title: Tag Name
          type: string
      required:
      - name
      title: PipelineTagAdd
      type: object
    PipelineTemplate:
      properties:
        author:
          description: Author of the pipeline template.
          title: Pipeline Template Author
          type: string
        available_to_all_organization_types:
          default: false
          description: Whether the pipeline template is available to all organization
            types in deepset.
          title: Available to all organization types
          type: boolean
        best_for:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: The best use case for the pipeline template.
          title: Best For
        deepset_cloud_version:
          $ref: '#/components/schemas/DeepsetCloudVersion'
          description: The version of deepset this pipeline template is compatible
            with.
          title: deepset Version
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Description of the pipeline template.
          title: Pipeline Template Description
        expected_output:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: The output of this pipeline template.
          title: Expected Output
        indexing_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The Haystack pipeline YAML configuration for indexing provided
            by the pipeline template.
          title: Indexing YAML
        name:
          description: Name of the pipeline template.
          title: Pipeline Template Name
          type: string
        pipeline_name:
          description: Initial name of a pipeline when created from this template.
          title: Name of the Pipeline
          type: string
        pipeline_template_id:
          description: Unique identifier of the pipeline template.
          format: uuid
          title: Pipeline Template ID
          type: string
        pipeline_type:
          $ref: '#/components/schemas/PipelineType'
          description: The type of pipeline this template is for.
          title: Pipeline Type
        potential_applications:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Examples of real-life scenarios for this pipeline templates.
          title: Potential Applications
        query_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The Haystack pipeline YAML configuration for querying provided
            by the pipeline template.
          title: Query YAML
        recommended_dataset:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: The type of data this pipeline template works best on.
          title: Recommended Dataset
        tags:
          description: The tags assigned to the pipeline template.
          items:
            $ref: '#/components/schemas/Tag'
          title: Pipeline Template Tags
          type: array
      required:
      - pipeline_template_id
      - name
      - author
      - pipeline_name
      - pipeline_type
      - tags
      - deepset_cloud_version
      title: PipelineTemplate
      type: object
    PipelineTemplateSelectResult:
      additionalProperties: true
      description: The pipeline template fields you selected.
      title: Selected Pipeline Template Fields
      type: object
    PipelineTool:
      description: Model for a Pipeline tool response.
      properties:
        created_at:
          description: Timestamp when the tool was created
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: User who created the tool
          title: Created By
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        pipeline:
          $ref: '#/components/schemas/PipelineToolData'
          description: Pipeline configuration data
        tool_definition:
          additionalProperties: true
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
          type: object
        tool_id:
          description: Unique identifier for the tool
          format: uuid
          title: Tool Id
          type: string
        tool_type:
          const: pipeline
          default: pipeline
          description: Type of tool, will be 'pipeline'
          title: Tool Type
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Timestamp when the tool was last updated
          title: Updated At
      required:
      - name
      - tool_id
      - created_at
      - tool_definition
      - pipeline
      title: PipelineTool
      type: object
    PipelineToolData:
      description: Model for pipeline tool-specific data.
      properties:
        inputs_outputs:
          anyOf:
          - $ref: '#/components/schemas/PipelineToolInputsOutputs'
          - type: 'null'
          description: Inputs and outputs configuration for the pipeline tool.
        pipeline_definition:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: The definition of the pipeline as a dictionary
          title: Pipeline Definition
        pipeline_template_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the pipeline template to use.
          title: Pipeline Template Id
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the pipeline version to use.
          title: Pipeline Version Id
      title: PipelineToolData
      type: object
    PipelineToolInputsOutputs:
      description: Model for Pipeline tool inputs and outputs
      properties:
        inputs:
          additionalProperties:
            $ref: '#/components/schemas/ToolInputConfig'
          description: Mapping of input names to their configuration (source and optional
            description)
          title: Inputs
          type: object
        outputs:
          additionalProperties:
            $ref: '#/components/schemas/ToolOutputConfig'
          description: Mapping of output names to their configuration (destination)
          title: Outputs
          type: object
      title: PipelineToolInputsOutputs
      type: object
    PipelineToolRequest:
      description: Pipeline tool to validate or create.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        pipeline:
          $ref: '#/components/schemas/PipelineToolData'
          description: Pipeline configuration data
        tool_type:
          const: pipeline
          default: pipeline
          description: Type of tool, must be 'pipeline'
          title: Tool Type
          type: string
      required:
      - name
      - pipeline
      title: PipelineToolRequest
      type: object
    PipelineToolUpdateData:
      description: Model for pipeline tool-specific data update.
      properties:
        inputs_outputs:
          anyOf:
          - $ref: '#/components/schemas/PipelineToolInputsOutputs'
          - type: 'null'
          description: Inputs and outputs configuration for the pipeline tool.
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the pipeline version to use.
          title: Pipeline Version Id
      title: PipelineToolUpdateData
      type: object
    PipelineToolUpdateRequest:
      description: Update request model for pipeline tools.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Updated description of what the tool does
          title: Description
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Updated name of the tool
          title: Name
        pipeline:
          $ref: '#/components/schemas/PipelineToolUpdateData'
          description: Updated pipeline configuration data
      required:
      - pipeline
      title: PipelineToolUpdateRequest
      type: object
    PipelineToolValidationResponse:
      description: Model for Pipeline tool validation result.
      properties:
        can_create:
          default: false
          description: Whether the tool can be created from this validation result.
            Pipeline tools may be created even when the embedded pipeline has validation
            errors.
          title: Can Create
          type: boolean
        error_details:
          description: Detailed information about validation errors, if any.
          items:
            $ref: '#/components/schemas/PipelineValidationError'
          title: Error Details
          type: array
        errors:
          description: List of validation errors, if any.
          items:
            type: string
          title: Errors
          type: array
        input_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Input schema of the tool
          title: Input Schema
        inputs_outputs:
          anyOf:
          - $ref: '#/components/schemas/PipelineToolInputsOutputs'
          - type: 'null'
          description: Inputs and outputs configuration for the pipeline tool.
        state_schema_update:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Updates for Agent's state_schema required by the pipeline tool.
          title: State Schema Update
        tool_definition:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
      title: PipelineToolValidationResponse
      type: object
    PipelineType:
      enum:
      - indexing
      - query
      title: PipelineType
      type: string
    PipelineUpdateRequest:
      properties:
        gpu_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Enable or disable GPU acceleration for the pipeline. When enabled,
            the pipeline can automatically use GPU resources for supported operations.
            Pipelines that don't require GPUs will continue to run on CPU.
          title: GPU Enabled
        idle_timeout_in_seconds:
          anyOf:
          - exclusiveMinimum: 0.0
            maximum: 2592000.0
            type: integer
          - type: 'null'
          description: Set the time in seconds after which the pipeline is put on
            standby if it's not used. Must be at least 1 second.
          title: Pipeline Idle Timeout
        max_query_replica_count:
          anyOf:
          - maximum: 10.0
            minimum: 1.0
            type: integer
          - type: 'null'
          description: Set the maximum number of query replicas for the pipeline.
            Must be at least equal to the minimum replica count. Maximum allowed value
            is 10.
          title: Maximum Query Replica Count
        min_query_replica_count:
          anyOf:
          - maximum: 10.0
            minimum: 1.0
            type: integer
          - type: 'null'
          description: Set the minimum number of query replicas for the pipeline.
            Must be at least 1 and cannot exceed the maximum replica count. Maximum
            allowed value is 10.
          title: Minimum Query Replica Count
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the pipeline.
          title: Pipeline Name
        service_level:
          anyOf:
          - $ref: '#/components/schemas/PipelineServiceLevelEnum'
          - type: 'null'
          description: Service level determines the infrastructure and availability
            requirements for a pipeline. Pipelines at 'PRODUCTION' service level have
            an extended active period before they enter the standby mode and offer
            enhanced scalability. 'DEVELOPMENT' pipelines enter standby after 20 minutes
            and lack scalability in case of any infrastructure issues.
          title: Pipeline Service Level
        status:
          anyOf:
          - $ref: '#/components/schemas/PipelineStatus'
          - type: 'null'
          description: 'The current status of a pipeline. '
          title: Query pipeline status (deprecated).
      title: PipelineUpdateRequest
      type: object
    PipelineValidationError:
      properties:
        category:
          default: ERROR
          enum:
          - ERROR
          - WARNING
          title: Category
          type: string
        code:
          anyOf:
          - type: string
          - type: 'null'
          title: Code
        json_pointer:
          anyOf:
          - type: string
          - type: 'null'
          title: Json Pointer
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      title: PipelineValidationError
      type: object
    PipelineVisualizationMetadata:
      properties:
        components:
          additionalProperties:
            $ref: '#/components/schemas/ComponentVisualizationMetadata'
          description: Component names and their visualizations.
          title: Components
          type: object
        groups:
          default: []
          description: Group names and their properties.
          items:
            $ref: '#/components/schemas/GroupVisualizationMetadata'
          title: Groups
          type: array
      required:
      - components
      title: PipelineVisualizationMetadata
      type: object
    PipelineYAMLConfiguration:
      properties:
        deepset_cloud_version:
          $ref: '#/components/schemas/DeepsetCloudVersion'
          description: The version of deepset the pipeline was created with.
          title: deepset Version
        query_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
      required:
      - query_yaml
      - deepset_cloud_version
      title: PipelineYAMLConfiguration
      type: object
    PostSharedPrototype:
      properties:
        brand_color:
          anyOf:
          - type: string
          - type: 'null'
          description: Specify a hexadecimal color code to represent the branding
            of the shared prototype.
          title: Brand Color
        brand_logo:
          anyOf:
          - type: string
          - type: 'null'
          description: Provide a base64 encoded string of the brand logo image.
          title: Brand Logo
        default_runtime_params:
          additionalProperties: true
          description: 'Runtime parameters applied to every query sent through the
            shared prototype, for example `{"trove_selector": {"trove": "Science"}}`.
            Parameters sent with a query override these values key by key.'
          title: Default runtime parameters
          type: object
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Explain how you expect the users to use this pipeline. Users
            who visit the shared prototype will see this text. For more information
            on how to set the right expectations regarding your pipeline, see [Guidelines
            for Onboarding Your Users](https://docs.cloud.deepset.ai/docs/guidelines-for-onboarding-your-users).
          title: Description
        expiration_date:
          description: The date after which the generated link will expire and become
            invalid. The expiration date must be within 60 days from the current date.
          format: date-time
          title: Expiration date
          type: string
        file_upload_enabled:
          default: false
          description: Set `True` if you want your users to be able to upload files
            in the shared prototype.
          title: File upload enabled
          type: boolean
        login_required:
          default: false
          description: Select whether users need to log in to access the shared prototype.
          title: Login required
          type: boolean
        pipeline_names:
          description: The names of the pipelines which you want to share.
          items:
            type: string
          title: Pipeline names
          type: array
        runtime_params_enabled:
          default: false
          description: Set `True` if you want your users to be able to use runtime
            parameters in the shared prototype.
          title: Runtime parameters enabled
          type: boolean
        service_names:
          description: The names of the services (deployments) which you want to share.
            Required when `type` is `service`.
          items:
            type: string
          title: Service names
          type: array
        show_files:
          default: false
          description: Select `True` if you want your users to be able to view the
            pipeline files.
          title: Show files
          type: boolean
        show_metadata_filters:
          default: false
          description: Select `True` if you want your users to be able to filter the
            documents by metadata.
          title: Show metadata filters
          type: boolean
        type:
          $ref: '#/components/schemas/SharedPrototypeType'
          default: pipeline
          description: Whether the shared prototype targets a `service` (deployment)
            or a `pipeline`. Determines which runtime endpoint the shared link's token
            is used against. Defaults to `pipeline`.
          title: Type
      required:
      - expiration_date
      title: PostSharedPrototype
      type: object
    PresignedPrefix:
      properties:
        fields:
          additionalProperties:
            type: string
          description: The fields to include in the request to the presigned URL.
            These fields are required in the body of each request.
          examples:
          - key: 7a3749f5-448a-475f-8d94-b87872a0342d/7d0a7027-5b3d-48f2-97d6-28fc138f2821/upload_sessions/5c38259b-19ee-4a99-8f38-7c3007dcaaae/
            policy: <policy>
            x-amz-algorithm: AWS4-HMAC-SHA256
            x-amz-credential: <credential>
            x-amz-date: 20230419T152408Z
            x-amz-security-token: <security-token>
            x-amz-signature: <signature>
          title: Request fields
          type: object
        url:
          description: The presigned URL to upload the file to. This URL was generated
            using the AWS ShareObjectPresignedUrl feature. To learn more, see [AWS
            Documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html).
          title: Presigned URL
          type: string
      required:
      - url
      - fields
      title: PresignedPrefix
      type: object
    PresignedUrlResponse:
      properties:
        url:
          title: Url
          type: string
      required:
      - url
      title: PresignedUrlResponse
      type: object
    PromptTemplate:
      properties:
        description:
          description: Description of the prompt template.
          title: Prompt Template Description
          type: string
        name:
          description: Name of the prompt template.
          title: Prompt Template Name
          type: string
        prompt_template_id:
          description: Unique identifier of the prompt template.
          format: uuid
          title: Prompt Template ID
          type: string
        tags:
          description: Tags assigned to the prompt template.
          items:
            $ref: '#/components/schemas/Tag'
          title: Prompt Template Tags
          type: array
        text:
          description: Text of the prompt.
          title: Prompt Template Text
          type: string
        user:
          $ref: '#/components/schemas/UserIdName'
          description: All user information.
          title: User
      required:
      - prompt_template_id
      - text
      - name
      - tags
      - description
      - user
      title: PromptTemplate
      type: object
    PromptTemplatePost:
      properties:
        description:
          description: Description of the prompt template.
          title: Prompt Template Description
          type: string
        name:
          description: Name of the prompt template.
          title: Prompt Template Name
          type: string
        tags:
          description: Tags assigned to the prompt template.
          items:
            type: string
          title: Prompt Template Tags
          type: array
        text:
          description: Text of the prompt.
          title: Prompt Template Text
          type: string
      required:
      - name
      - text
      - description
      - tags
      title: PromptTemplatePost
      type: object
    PromptTemplatePut:
      properties:
        description:
          description: Description of the prompt template.
          title: Prompt Template Description
          type: string
        name:
          description: Name of the prompt template.
          title: Prompt Template Name
          type: string
        tags:
          description: Tags assigned to the prompt template.
          items:
            type: string
          title: Prompt Template Tags
          type: array
        text:
          description: Text of the prompt.
          title: Prompt Template Text
          type: string
      required:
      - name
      - text
      - description
      - tags
      title: PromptTemplatePut
      type: object
    PromptTemplateSelectResult:
      additionalProperties: true
      description: Result of a prompt template select operation.
      title: Prompt Template Select Result
      type: object
    PublicJobResultResponse:
      description: 'A job result as shown to an external, unauthenticated viewer of
        a shared job link.


        Deliberately excludes internal fields the full `JobResultResponse` has (e.g.
        `filters`,

        `params`, `prompt(s)`, the raw pipeline `response`, `error`) -- those can
        carry internal

        document content or implementation detail this viewer has no other access
        to.'
      properties:
        answer:
          title: Answer
          type: string
        duration:
          format: float
          title: Duration
          type: number
        failed:
          title: Failed
          type: boolean
        file:
          anyOf:
          - type: string
          - type: 'null'
          title: File
        group_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Name
        no_answer:
          anyOf:
          - type: boolean
          - type: 'null'
          title: No Answer
        query:
          title: Query
          type: string
        query_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Query Label
      required:
      - query
      - answer
      - file
      - no_answer
      - duration
      - failed
      - query_label
      - group_name
      title: PublicJobResultResponse
      type: object
    PublicPromptTemplate:
      properties:
        description:
          description: Description of the prompt template.
          title: Prompt Template Description
          type: string
        meta:
          additionalProperties: true
          description: Metadata of the prompt template.
          title: Prompt Template Meta
          type: object
        name:
          description: Name of the prompt template.
          title: Prompt Template Name
          type: string
        public_prompt_template_id:
          description: Unique identifier of the prompt template.
          format: uuid
          title: Prompt Template ID
          type: string
        tags:
          description: Tags assigned to the prompt template.
          items:
            $ref: '#/components/schemas/Tag'
          title: Prompt Template Tags
          type: array
        text:
          description: Text of the prompt.
          title: Prompt Template Text
          type: string
        version:
          description: Version of the prompt template.
          title: Prompt Template Version
          type: string
      required:
      - public_prompt_template_id
      - text
      - name
      - tags
      - meta
      - version
      - description
      title: PublicPromptTemplate
      type: object
    PublicPromptTemplateSelectResult:
      additionalProperties: true
      description: Result of a prompt template select operation.
      title: Prompt Template Select Result
      type: object
    PublicSharedJobResponse:
      description: 'A shared job as shown to an external, unauthenticated viewer resolving
        its link.


        Deliberately excludes internal fields the full `SharedJobResponse`/`JobResponse`
        have (e.g.

        `workspace_id`, `pipeline_id`, `created_by`) -- this viewer isn''t a member
        of the workspace.'
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        duration:
          anyOf:
          - format: float
            type: number
          - type: 'null'
          title: Duration
        executed_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: Executed At
        job_name:
          title: Job Name
          type: string
        results:
          items:
            $ref: '#/components/schemas/PublicJobResultResponse'
          title: Results
          type: array
        status:
          $ref: '#/components/schemas/JobStatus'
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
      required:
      - title
      - description
      - job_name
      - status
      - executed_at
      - duration
      - results
      title: PublicSharedJobResponse
      type: object
    QueryDocumentsParams:
      properties:
        all_terms_must_match:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Specifies if returned documents must match all query terms.
          title: All Terms Must Match
        custom_query:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Sends a custom query.
          title: Custom Query
        efficient_filtering:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Specifies if efficient filtering should be used.
          title: Efficient Filtering
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        query:
          anyOf:
          - type: string
          - type: 'null'
          description: The search query.
          title: Query
        query_emb:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          description: The vector representation of the query.
          title: Query Emb
        return_embedding:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Returns vector representations of the documents.
          title: Return Embedding
        top_k:
          default: 10
          description: The number of results to return.
          title: Top K
          type: integer
        use_prefiltering:
          anyOf:
          - type: boolean
          - type: 'null'
          deprecated: true
          description: 'Specifies if documents should be prefiltered in the document
            store instead of within the retriever. DEPRECATED: This parameter will
            be removed in a future version. Use efficient_filtering parameter instead.'
          title: Use Prefiltering
      title: QueryDocumentsParams
      type: object
    QueryPipelineVersion:
      properties:
        config_yaml:
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
          type: string
        created_at:
          description: The date and time when the pipeline version was created.
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who created the pipeline version.
          title: Created By
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: The description of the pipeline version.
          title: Description
        is_default:
          default: false
          description: Whether this is the default version for the pipeline. Only
            non-draft versions can be set as default. Setting a version as default
            automatically unsets the previous default.
          title: Is Default
          type: boolean
        is_draft:
          default: false
          description: Whether the pipeline version is a draft.
          title: Is Draft
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the pipeline version.
          title: Name
        output_type:
          $ref: '#/components/schemas/PipelineOutputType'
          default: unknown
          description: The type of output this pipeline version produces, such as
            GENERATIVE, EXTRACTIVE, DOCUMENT, CHAT, or UNKNOWN.
          title: Output Type
        read_only:
          default: true
          description: Whether the pipeline version is read-only for the current user.
          title: Read Only
          type: boolean
        supports_prompt:
          description: Indicates whether this pipeline version includes components
            with prompt templates you can customize.
          title: Has Customizable Prompts
          type: boolean
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the pipeline version was last updated.
          title: Updated At
        updated_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who last updated the pipeline version.
          title: Updated By
        version_id:
          description: The ID of the pipeline version.
          format: uuid
          title: Version ID
          type: string
        version_number:
          anyOf:
          - type: integer
          - type: 'null'
          description: The number of the pipeline version.
          title: Version Number
      required:
      - config_yaml
      - version_id
      - created_by
      - created_at
      - supports_prompt
      title: QueryPipelineVersion
      type: object
    QueryPipelineVersionCreateRequest:
      properties:
        config_yaml:
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: The description of the pipeline version.
          title: Description
        is_draft:
          default: false
          description: Whether the pipeline version is a draft.
          title: Is Draft
          type: boolean
        pipeline_visualization_metadata:
          $ref: '#/components/schemas/PipelineVisualizationMetadata'
          default:
            components: {}
            groups: []
          description: Component names and their visualizations.
          title: Components
      required:
      - config_yaml
      title: QueryPipelineVersionCreateRequest
      type: object
    QueryPipelineVersionPatchRequest:
      properties:
        config_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: The description of the pipeline version.
          title: Description
        is_default:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether this is the default version for the pipeline. Only
            non-draft versions can be set as default. Setting a version as default
            automatically unsets the previous default.
          title: Is Default
        is_draft:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether the pipeline version is a draft.
          title: Is Draft
        pipeline_visualization_metadata:
          anyOf:
          - $ref: '#/components/schemas/PipelineVisualizationMetadata'
          - type: 'null'
          description: Component names and their visualizations.
          title: Components
      title: QueryPipelineVersionPatchRequest
      type: object
    QueryRow:
      properties:
        filters:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Filters
        group_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Name
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Params
        query:
          title: Query
          type: string
        query_index:
          anyOf:
          - type: integer
          - type: 'null'
          title: Query Index
        query_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Query Label
      required:
      - query
      title: QueryRow
      type: object
    QuerySetResponse:
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Created By
        name:
          title: Name
          type: string
        query_count:
          title: Query Count
          type: integer
        query_set_id:
          format: uuid
          title: Query Set Id
          type: string
      required:
      - query_set_id
      - name
      - query_count
      - created_by
      - created_at
      title: QuerySetResponse
      type: object
    RBACRoleController:
      description: 'A response model for the RBACRole.

        This is used to return the RBACRole to the client.'
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: The description of the role
          title: Description
        is_custom:
          description: Whether the role is a predefined role or a custom role.
          title: Is Custom
          type: boolean
        permissions:
          description: The permissions of the role
          items:
            $ref: '#/components/schemas/Permission'
          title: Permissions
          type: array
        role_id:
          description: The ID of the role
          format: uuid
          title: Role Id
          type: string
        role_name:
          description: The name of the role
          title: Role Name
          type: string
      required:
      - role_name
      - description
      - role_id
      - is_custom
      - permissions
      title: RBACRoleController
      type: object
    RawHaystackDocument:
      properties:
        content:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          title: Content
        embedding:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Embedding
        id:
          title: Id
          type: string
        meta:
          additionalProperties: true
          default: {}
          title: Meta
          type: object
        score:
          anyOf:
          - type: number
          - type: 'null'
          title: Score
      required:
      - id
      title: RawHaystackDocument
      type: object
    ReasoningDelta:
      properties:
        extra:
          additionalProperties: true
          description: Any extra information related to the reasoning, such as signature
            for encrypted/redacted reasoning.
          title: Reasoning Extra Information
          type: object
        reasoning_text:
          description: The text describing the reasoning process of the model.
          title: Reasoning Text
          type: string
      required:
      - reasoning_text
      title: ReasoningDelta
      type: object
    RepoConnectionAuthorizeResponse:
      description: Where to send the admin's browser to install the GitHub App on
        their repo.
      properties:
        install_url:
          description: GitHub App installation URL the admin should be redirected
            to.
          title: Install Url
          type: string
      required:
      - install_url
      title: RepoConnectionAuthorizeResponse
      type: object
    RepoConnectionResponse:
      description: The org's current *connected* skills repo (the GitHub App install
        flow), if any.
      properties:
        connected:
          description: Whether the organization has connected its own GitHub repo.
          title: Connected
          type: boolean
        connected_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: When the connection was created.
          title: Connected At
        repository:
          anyOf:
          - type: string
          - type: 'null'
          description: Connected repository as "owner/name".
          title: Repository
        source:
          anyOf:
          - type: string
          - type: 'null'
          description: Provenance tag for skills from this repo (e.g. ORG).
          title: Source
      required:
      - connected
      title: RepoConnectionResponse
      type: object
    RevisionGitSource:
      properties:
        branch:
          anyOf:
          - maxLength: 255
            type: string
          - type: 'null'
          title: Branch
        dirty:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Dirty
        repo:
          anyOf:
          - maxLength: 300
            type: string
          - type: 'null'
          title: Repo
        sha:
          anyOf:
          - maxLength: 64
            type: string
          - type: 'null'
          title: Sha
      title: RevisionGitSource
      type: object
    RevisionSourceInfo:
      description: Optional, client-reported origin of a code-pushed revision; only
        these keys are kept.
      properties:
        ci:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ci
        custom:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Custom
        file:
          anyOf:
          - maxLength: 1024
            type: string
          - type: 'null'
          title: File
        git:
          anyOf:
          - $ref: '#/components/schemas/RevisionGitSource'
          - type: 'null'
      title: RevisionSourceInfo
      type: object
    RunComponentRequest:
      properties:
        component_type:
          description: Type of the component.
          title: Component Type
          type: string
        init_params:
          additionalProperties: true
          description: Component init params as key-value pairs of param name and
            value.
          title: Init Params
          type: object
        input:
          additionalProperties: true
          description: Input data for the component run.
          title: Input
          type: object
        input_types:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          description: Optional input types used to deserialize data, defining how
            raw input is converted into usable Python objects before the component
            runs. If not provided, they're inferred from the component's input definitions.
          title: Input Types
        skills:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          description: Optional Agent skills the component's SkillToolset resolves,
            as references of the form `{id, hash, source}`. A pipeline config carries
            these in its top-level `skills` block; a single-component run has no pipeline,
            so they are sent as their own field.
          title: Skills
      required:
      - component_type
      - init_params
      - input
      title: RunComponentRequest
      type: object
    RunComponentResponse:
      additionalProperties: true
      title: RunComponentResponse
      type: object
    RunDetail:
      properties:
        execution:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Execution
        run:
          $ref: '#/components/schemas/RunRow'
        submission:
          anyOf:
          - $ref: '#/components/schemas/RunSubmission'
          - type: 'null'
      required:
      - run
      - execution
      title: RunDetail
      type: object
    RunErrorCategory:
      enum:
      - success
      - system_error
      - user_error
      - timeout
      - cancelled
      - unknown
      title: RunErrorCategory
      type: string
    RunList:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RunRow'
          title: Items
          type: array
        next_before:
          anyOf:
          - type: string
          - type: 'null'
          title: Next Before
      required:
      - items
      - next_before
      title: RunList
      type: object
    RunPipelineRequest:
      properties:
        include_outputs_from:
          anyOf:
          - items:
              type: string
            type: array
            uniqueItems: true
          - type: 'null'
          description: Optional component names to include outputs from. If not provided,
            all outputs will be included.
          title: Include Outputs From
        input_types:
          anyOf:
          - additionalProperties:
              additionalProperties:
                type: string
              type: object
            type: object
          - type: 'null'
          description: Optional input types used to deserialize data, defining how
            raw input is converted into usable Python objects before the pipeline
            runs. If not provided, they're inferred from the component's input definitions.
          title: Input Types
        inputs:
          additionalProperties:
            additionalProperties: true
            type: object
          description: Input data for the pipeline run.
          title: Inputs
          type: object
        pipeline_config:
          additionalProperties: true
          description: Pipeline configuration as a dictionary containing components,
            connections, and other pipeline settings.
          title: Pipeline Config
          type: object
        pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of a pipeline.
          title: Pipeline Id
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The version of pipeline used to execute the query.
          title: Pipeline Version ID
      required:
      - pipeline_config
      - inputs
      title: RunPipelineRequest
      type: object
    RunPipelineResponse:
      additionalProperties: true
      title: RunPipelineResponse
      type: object
    RunRow:
      description: Explicit allowlist of receipt fields the API exposes (contract
        §8.2). Never add keys/inputs.
      properties:
        attempt:
          anyOf:
          - type: integer
          - type: 'null'
          title: Attempt
        client_source_path:
          anyOf:
          - type: string
          - type: 'null'
          title: Client Source Path
        created_at:
          title: Created At
          type: string
        created_by_user_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Created By User Id
        deployment_id:
          format: uuid
          title: Deployment Id
          type: string
        execution_created_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Execution Created At
        execution_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Execution Id
        execution_updated_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Execution Updated At
        id:
          format: uuid
          title: Id
          type: string
        kind:
          title: Kind
          type: string
        last_observed_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Observed At
        observation_state:
          title: Observation State
          type: string
        query_id:
          format: uuid
          title: Query Id
          type: string
        query_preview:
          title: Query Preview
          type: string
        revision_id:
          format: uuid
          title: Revision Id
          type: string
        sequence:
          anyOf:
          - type: integer
          - type: 'null'
          title: Sequence
        status:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
        submission_error:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Submission Error
        submission_state:
          title: Submission State
          type: string
        summary:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Summary
        terminal_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Terminal At
      required:
      - id
      - execution_id
      - deployment_id
      - revision_id
      - query_id
      - created_by_user_id
      - client_source_path
      - query_preview
      - kind
      - created_at
      - submission_state
      - submission_error
      - status
      - attempt
      - sequence
      - execution_created_at
      - execution_updated_at
      - terminal_at
      - last_observed_at
      - observation_state
      - summary
      title: RunRow
      type: object
    RunSubmission:
      properties:
        idempotency_key:
          description: You receive the original client submission key. Replay requires
            the same request and submitting identity within the replay window.
          title: Idempotency Key
          type: string
        request:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: You receive the original validated public request. Older receipts
            return null.
          title: Request
      required:
      - idempotency_key
      title: RunSubmission
      type: object
    SQLRequest:
      properties:
        cursor:
          anyOf:
          - type: string
          - type: 'null'
          description: The cursor for paginating through results.
          title: Cursor
        fetch_size:
          anyOf:
          - type: integer
          - type: 'null'
          description: The number of results to return per page.
          title: Fetch size
        query:
          anyOf:
          - type: string
          - type: 'null'
          description: The OpenSearch SQL query to execute.
          title: SQL query
      title: SQLRequest
      type: object
    SSOConnectionCreateRequest:
      properties:
        binding_type:
          default: POST
          description: 'SAML binding used for the authentication request: ''REDIRECT'',
            ''POST'', or ''POST_AUTO''.'
          enum:
          - REDIRECT
          - POST
          - POST_AUTO
          title: SAML Binding
          type: string
        client_id:
          anyOf:
          - type: string
          - type: 'null'
          description: OIDC client ID (consumer key) issued by the identity provider.
          title: OIDC Client ID
        client_secret:
          anyOf:
          - type: string
          - type: 'null'
          description: OIDC client secret. Stored encrypted and never returned.
          title: OIDC Client Secret
        display_name:
          description: Human-readable name for the SSO connection. Must be unique
            within the organization.
          minLength: 1
          title: Display Name
          type: string
        domains:
          description: Email domains routed to this connection at login. Public/free
            email providers (for example 'gmail.com') are rejected, and each domain
            may be claimed by only one connection.
          items:
            type: string
          maxItems: 50
          title: Email Domains
          type: array
        enabled:
          default: true
          description: Whether the connection accepts logins. Disabled connections
            are configured but not active.
          title: Enabled
          type: boolean
        idp_signing_certificate:
          anyOf:
          - type: string
          - type: 'null'
          description: PEM-encoded X.509 certificate the identity provider signs SAML
            assertions with. Required for SAML.
          title: IdP Signing Certificate
        issuer:
          anyOf:
          - type: string
          - type: 'null'
          description: SAML identity-provider issuer / entity ID.
          title: SAML Issuer
        oidc_well_known_url:
          anyOf:
          - type: string
          - type: 'null'
          description: OIDC discovery (.well-known/openid-configuration) URL of the
            identity provider.
          title: OIDC Discovery URL
        provider_type:
          $ref: '#/components/schemas/SSOConnectionProviderType'
          description: 'SSO protocol the connection uses: ''OIDC'' or ''SAML''.'
          title: Provider Type
        sign_requests:
          default: false
          description: Whether to sign outbound SAML authentication requests. Most
            identity providers do not require this.
          title: Sign SAML Requests
          type: boolean
        slo_url:
          anyOf:
          - type: string
          - type: 'null'
          description: SAML identity-provider single logout URL.
          title: SAML SLO URL
        sso_url:
          anyOf:
          - type: string
          - type: 'null'
          description: SAML identity-provider single sign-on (login) URL.
          title: SAML SSO URL
        vendor:
          anyOf:
          - $ref: '#/components/schemas/SSOConnectionVendor'
          - type: 'null'
          description: Predefined OIDC identity-provider vendor (uses Authentik's
            dedicated provider type). Omit for a generic OIDC IdP. Ignored for SAML.
          title: OIDC Vendor
      required:
      - display_name
      - provider_type
      title: SSOConnectionCreateRequest
      type: object
    SSOConnectionProviderType:
      enum:
      - OIDC
      - SAML
      title: SSOConnectionProviderType
      type: string
    SSOConnectionResponse:
      properties:
        callback_url:
          anyOf:
          - type: string
          - type: 'null'
          description: Redirect/callback URL the admin must register at the OIDC identity
            provider. Unique per connection and populated only after creation. Null
            for SAML connections.
          title: Callback URL
        config:
          additionalProperties: true
          description: Non-secret protocol configuration echoed back for the UI (discovered/echoed
            URLs, issuer, binding, and the callback/ACS URL).
          title: Protocol Configuration
          type: object
        created_at:
          description: Timestamp when the connection was created, in ISO 8601 format.
          format: date-time
          title: Created At
          type: string
        display_name:
          description: Human-readable name for the SSO connection. Must be unique
            within the organization.
          title: Display Name
          type: string
        domains:
          description: Email domains routed to this connection at login. Public/free
            email providers (for example 'gmail.com') are rejected, and each domain
            may be claimed by only one connection.
          items:
            type: string
          title: Email Domains
          type: array
        enabled:
          description: Whether the connection accepts logins. Disabled connections
            are configured but not active.
          title: Enabled
          type: boolean
        organization_id:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization ID
          type: string
        provider_type:
          description: 'SSO protocol the connection uses: ''OIDC'' or ''SAML''.'
          title: Provider Type
          type: string
        sso_connection_id:
          description: Unique identifier of the SSO connection.
          format: uuid
          title: SSO Connection ID
          type: string
        vendor:
          anyOf:
          - type: string
          - type: 'null'
          description: Predefined OIDC identity-provider vendor (uses Authentik's
            dedicated provider type). Omit for a generic OIDC IdP. Ignored for SAML.
          title: OIDC Vendor
      required:
      - sso_connection_id
      - organization_id
      - display_name
      - provider_type
      - enabled
      - domains
      - config
      - created_at
      title: SSOConnectionResponse
      type: object
    SSOConnectionTestRequest:
      properties:
        oidc_well_known_url:
          anyOf:
          - type: string
          - type: 'null'
          description: OIDC discovery URL to validate. Required when testing an OIDC
            provider.
          title: OIDC Discovery URL
        provider_type:
          $ref: '#/components/schemas/SSOConnectionProviderType'
          description: 'SSO protocol to validate: ''OIDC'' or ''SAML''.'
          title: Provider Type
        sso_url:
          anyOf:
          - type: string
          - type: 'null'
          description: SAML IdP SSO URL to check for reachability. Required when testing
            a SAML provider.
          title: SAML SSO URL
      required:
      - provider_type
      title: SSOConnectionTestRequest
      type: object
    SSOConnectionTestResult:
      properties:
        discovered:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Metadata discovered from the identity provider during the test
            (for example OIDC endpoints).
          title: Discovered Metadata
        message:
          description: Human-readable outcome of the connection test.
          title: Result Message
          type: string
        valid:
          description: Whether the provided identity-provider configuration passed
            validation.
          title: Valid
          type: boolean
      required:
      - valid
      - message
      title: SSOConnectionTestResult
      type: object
    SSOConnectionUpdateRequest:
      properties:
        binding_type:
          anyOf:
          - enum:
            - REDIRECT
            - POST
            - POST_AUTO
            type: string
          - type: 'null'
          description: 'SAML binding used for the authentication request: ''REDIRECT'',
            ''POST'', or ''POST_AUTO''. Omit to keep the current binding.'
          title: SAML Binding
        client_id:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: OIDC client ID (consumer key) issued by the identity provider.
            Omit to keep the existing one.
          title: OIDC Client ID
        client_secret:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: OIDC client secret. Stored encrypted and never returned. Omit
            to keep the existing one.
          title: OIDC Client Secret
        display_name:
          description: Human-readable name for the SSO connection. Must be unique
            within the organization.
          minLength: 1
          title: Display Name
          type: string
        domains:
          anyOf:
          - items:
              type: string
            maxItems: 50
            type: array
          - type: 'null'
          description: Email domains routed to this connection at login. Public/free
            email providers (for example 'gmail.com') are rejected, and each domain
            may be claimed by only one connection. Omit to keep the current domains.
          title: Email Domains
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether the connection accepts logins. Omit to keep the current
            enabled state.
          title: Enabled
        idp_signing_certificate:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: New PEM-encoded X.509 IdP signing certificate. Omit to keep
            the existing one.
          title: IdP Signing Certificate
        issuer:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: SAML identity-provider issuer / entity ID. Omit to keep the
            existing one.
          title: SAML Issuer
        oidc_well_known_url:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: OIDC discovery (.well-known/openid-configuration) URL of the
            identity provider. Omit to keep the existing one.
          title: OIDC Discovery URL
        sign_requests:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether to sign outbound SAML authentication requests. Most
            identity providers do not require this. Omit to keep the current setting.
          title: Sign SAML Requests
        slo_url:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: SAML identity-provider single logout URL. Omit to keep the
            existing one.
          title: SAML SLO URL
        sso_url:
          anyOf:
          - minLength: 1
            type: string
          - type: 'null'
          description: SAML identity-provider single sign-on (login) URL. Omit to
            keep the existing one.
          title: SAML SSO URL
        vendor:
          anyOf:
          - $ref: '#/components/schemas/SSOConnectionVendor'
          - type: 'null'
          description: Predefined OIDC identity-provider vendor (uses Authentik's
            dedicated provider type). Omit for a generic OIDC IdP. Ignored for SAML.
            Omit to keep the current vendor.
          title: OIDC Vendor
      required:
      - display_name
      title: SSOConnectionUpdateRequest
      type: object
    SSOConnectionVendor:
      description: 'Predefined OIDC IdP vendors. Map to Authentik''s dedicated OAuth
        provider types;

        anything else (or unset) falls back to generic ``openidconnect``. Not applicable
        to SAML.'
      enum:
      - GOOGLE_WORKSPACE
      - OKTA
      title: SSOConnectionVendor
      type: string
    SSOPlatformMetadataResponse:
      description: 'The platform-wide signing keypair''s public half. Identical for
        every connection, so the

        admin configures it once at their IdP (only relevant when request signing
        is enabled).'
      properties:
        signing_algorithm:
          description: Signature algorithm of the signing certificate, for example
            'RSA-SHA256'.
          title: Signing Algorithm
          type: string
        signing_certificate:
          description: PEM-encoded public certificate for the platform-wide SAML signing
            keypair. The private key never leaves Authentik.
          title: Signing Certificate
          type: string
        signing_certificate_fingerprint_sha256:
          description: Uppercase, colon-separated SHA-256 fingerprint of the DER certificate.
          title: Signing Certificate Fingerprint
          type: string
      required:
      - signing_certificate
      - signing_certificate_fingerprint_sha256
      - signing_algorithm
      title: SSOPlatformMetadataResponse
      type: object
    SchemaDefinitions:
      description: 'All definitions


        We distinguish between components and types (primitives).'
      properties:
        Components:
          additionalProperties: true
          description: Components of the schema
          title: Components
          type: object
        haystackTypes:
          additionalProperties: true
          description: Types of the schema
          title: Haystacktypes
          type: object
      required:
      - Components
      - haystackTypes
      title: SchemaDefinitions
      type: object
    SearchCount:
      properties:
        count:
          description: Number of queries that were sent.
          title: Query Count
          type: integer
        date:
          description: Date of the counted search queries.
          title: Search Count Dates
          type: string
      required:
      - date
      - count
      title: SearchCount
      type: object
    SearchCountMode:
      enum:
      - day
      - hour
      title: SearchCountMode
      type: string
    SearchHistory:
      properties:
        api_key:
          anyOf:
          - $ref: '#/components/schemas/APIKey'
          - type: 'null'
        client_source_path:
          anyOf:
          - type: string
          - type: 'null'
          description: The origin of the request (e.g. BUILDER, PLAYGROUND, PROMPT-EXPLORER,
            SYSTEM).
          title: Client Source Path
        duration:
          description: Duration of the query in milliseconds.
          title: Query Duration
          type: number
        feedback:
          anyOf:
          - $ref: '#/components/schemas/SimpleFeedback'
          - type: 'null'
        labels:
          items:
            type: string
          title: Labels
          type: array
        note:
          anyOf:
          - type: string
          - type: 'null'
          title: Note
        pipeline:
          $ref: '#/components/schemas/PipelineName'
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The version of pipeline used to execute the query.
          title: Pipeline Version ID
        replayed_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: For a Session Replay Run, the ID of the Session whose first
            request was replayed. Empty for any other run.
          title: Replayed Session ID
        request:
          $ref: '#/components/schemas/SearchHistoryRequest'
          description: Query request.
          title: Query Request
        response:
          description: Response list from Haystack open source.
          items:
            $ref: '#/components/schemas/SearchResultHistoryEntry'
          title: Response List
          type: array
        search_history_id:
          description: Unique identifier of the search.
          format: uuid
          title: Search history ID
          type: string
        session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the search session you want to use for chat.
          title: Search Session ID
        status:
          anyOf:
          - enum:
            - success
            - failed
            - degraded
            type: string
          - type: 'null'
          description: Whether the pipeline run succeeded, failed, or was degraded.
            A degraded run returned a result although a component in it raised an
            error.
          title: Run Status
        time:
          description: Timestamp when the query was sent.
          format: date-time
          title: Query Time
          type: string
        user:
          $ref: '#/components/schemas/UserIdName'
      required:
      - search_history_id
      - request
      - response
      - time
      - duration
      - user
      - pipeline
      title: Search History
      type: object
    SearchHistoryGroupByField:
      enum:
      - QUERY
      - PIPELINE
      - SESSION_ID
      - USER
      - FEEDBACK_SCORE
      - FEEDBACK_RATING
      - BOOKMARKED
      - API_KEY
      - ANSWER
      title: SearchHistoryGroupByField
      type: string
    SearchHistoryLabelsRequest:
      description: Request body for assigning or removing labels on a search history
        record.
      properties:
        labels:
          description: List of label strings to add or remove.
          items:
            type: string
          maxItems: 50
          minItems: 1
          title: Labels
          type: array
      required:
      - labels
      title: SearchHistoryLabelsRequest
      type: object
    SearchHistoryLabelsResponse:
      description: Response body listing unique labels.
      properties:
        data:
          description: List of unique label strings.
          items:
            type: string
          title: Data
          type: array
      required:
      - data
      title: SearchHistoryLabelsResponse
      type: object
    SearchHistoryNoteRequest:
      description: Request body for setting a note on a search history record.
      properties:
        note:
          description: Free-text note for a search history record.
          title: Note
          type: string
      required:
      - note
      title: SearchHistoryNoteRequest
      type: object
    SearchHistoryRequest:
      additionalProperties: true
      properties:
        added_files:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Added Files
        files:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Files
        filters:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Filters
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Params
        query:
          anyOf:
          - type: string
          - type: 'null'
          title: Query
      title: SearchHistoryRequest
      type: object
    SearchHistoryResultData:
      properties:
        answer:
          anyOf:
          - type: string
          - type: 'null'
          title: Answer
        context:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          - items: {}
            type: array
          - type: 'null'
          title: Context
        documents:
          items:
            additionalProperties: true
            type: object
          title: Documents
          type: array
        files:
          items:
            $ref: '#/components/schemas/PipelineFeedbackFile'
          title: Files
          type: array
        meta:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Meta
        offsets_in_context:
          anyOf:
          - items:
              additionalProperties:
                type: integer
              type: object
            type: array
          - type: 'null'
          title: Offsets In Context
        prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt
        query_id:
          format: uuid
          title: Query Id
          type: string
        rank:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rank
        score:
          anyOf:
          - type: number
          - type: 'null'
          title: Score
        search:
          $ref: '#/components/schemas/FeedbackSearchQuery'
        search_history_result_id:
          format: uuid
          title: Search History Result Id
          type: string
        type:
          title: Type
          type: string
      required:
      - search_history_result_id
      - query_id
      - documents
      - type
      - rank
      - score
      - files
      - context
      - answer
      - meta
      - offsets_in_context
      - prompt
      - search
      title: SearchHistoryResultData
      type: object
    SearchHistoryV2:
      properties:
        _debug:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Debug
        answers:
          default: []
          description: List of deepset answers.
          items:
            $ref: '#/components/schemas/DeepsetCloudAnswer'
          title: Answers
          type: array
        created_at:
          description: Specifies when the search query was run.
          format: date-time
          title: Created At
          type: string
        documents:
          default: []
          description: List of deepset documents.
          items:
            $ref: '#/components/schemas/DeepsetCloudDocument'
          title: Documents
          type: array
        duration:
          description: The number of seconds the pipeline took to find the answer.
          title: Duration
          type: number
        extra_outputs:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Additional outputs returned by the pipeline. You can specify
            which extra outputs you want to include using the pipeline yaml `outputs`
            configuration section.
          title: Extra Outputs
        filters:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        haystack_trace:
          anyOf:
          - $ref: '#/components/schemas/HaystackTraceV1'
          - type: 'null'
          description: Haystack pipeline run trace with spans and logs. Included only
            when requested via include=trace.
        labels:
          items:
            type: string
          title: Labels
          type: array
        note:
          anyOf:
          - type: string
          - type: 'null'
          description: Free-text note for a search history record.
          title: Note
        output_files:
          default: []
          description: Files generated by the pipeline, available for download.
          items:
            $ref: '#/components/schemas/OutputFile'
          title: Output Files
          type: array
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The version of pipeline used to execute the query.
          title: Pipeline Version Id
        prompts:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          description: The prompts used in the query. This is only returned if the
            `view_prompts` flag is set to `true`.
          title: Prompts
        query:
          description: The search query.
          title: Query
          type: string
        query_id:
          description: Unique identifier of the search query.
          format: uuid
          title: Query ID
          type: string
        session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the search session you want to use for chat.
          title: Search Session ID
        status:
          default: success
          description: Whether the pipeline run succeeded, failed, or was degraded.
            A degraded run returned a result although a component in it raised an
            error.
          enum:
          - success
          - failed
          - degraded
          title: Run Status
          type: string
      required:
      - query
      - created_at
      - duration
      title: SearchHistoryV2
      type: object
    SearchResult:
      properties:
        query_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The search query.
          title: Query
        results:
          description: List of search results.
          items:
            $ref: '#/components/schemas/DeepsetCloudQueryResponse'
          title: Search Results
          type: array
      required:
      - results
      title: SearchResult
      type: object
    SearchResultHistoryEntry:
      properties:
        documents:
          description: Documents that contain the search result.
          items:
            additionalProperties: true
            type: object
          title: Search Result Documents
          type: array
        rank:
          anyOf:
          - type: integer
          - type: 'null'
          description: The rank of the search result. A lower value means more relevant
            result.
          title: Search Result Rank
        result:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: List of search results.
          title: Search Results
        score:
          anyOf:
          - type: number
          - type: 'null'
          description: The score of the search result.
          title: Search Result Score
        search_result_history_id:
          description: List of search results.
          format: uuid
          title: Search Results
          type: string
        type:
          description: The type of the search result. This can be either 'document'
            or 'answer'.
          title: Search Result Type
          type: integer
      required:
      - search_result_history_id
      - type
      - documents
      title: SearchResultHistoryEntry
      type: object
    SearchSessionGetResponse:
      properties:
        deployment_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the deployment this search session belongs to. Set
            instead of the pipeline ID for sessions created against a deployment.
          title: Deployment ID
        pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of a pipeline.
          title: Pipeline ID
        search_history:
          anyOf:
          - $ref: '#/components/schemas/SearchSessionSearchHistoryEntry'
          - type: 'null'
          description: Query request.
          title: Query Request
        search_session_id:
          description: The ID of the search session you want to use for chat.
          format: uuid
          title: Search Session ID
          type: string
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title of the search session
      required:
      - search_session_id
      title: SearchSessionGetResponse
      type: object
    SearchSessionPostBody:
      properties:
        pipeline_id:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline ID
          type: string
      required:
      - pipeline_id
      title: SearchSessionPostBody
      type: object
    SearchSessionPostResponse:
      properties:
        search_session_id:
          description: The ID of the search session you want to use for chat.
          format: uuid
          title: Search Session ID
          type: string
      required:
      - search_session_id
      title: SearchSessionPostResponse
      type: object
    SearchSessionSearchHistoryEntry:
      properties:
        created_at:
          description: Specifies when the search query was run.
          title: Created At
          type: string
        query:
          description: The search query.
          title: Query
          type: string
        search_history_id:
          description: Unique identifier of the search.
          format: uuid
          title: Search history ID
          type: string
      required:
      - search_history_id
      - query
      - created_at
      title: SearchSessionSearchHistoryEntry
      type: object
    SearchStream:
      properties:
        data:
          anyOf:
          - $ref: '#/components/schemas/SearchStreamDeltaEventData'
          - $ref: '#/components/schemas/SearchStreamErrorEventData'
          - $ref: '#/components/schemas/SearchStreamResultEventData'
          - $ref: '#/components/schemas/SearchStreamToolCallEventData'
          - $ref: '#/components/schemas/SearchStreamToolCallResultEventData'
          - $ref: '#/components/schemas/SearchStreamDoneEventData'
          - $ref: '#/components/schemas/SearchStreamPingEventData'
          - $ref: '#/components/schemas/SearchStreamReasoningEventData'
          title: Data
      required:
      - data
      title: SearchStream
      type: object
    SearchStreamDelta:
      properties:
        meta:
          additionalProperties: true
          description: The metadata associated with this update.
          title: Metadata
          type: object
        text:
          description: The incremental text added to the result in this update.
          title: Delta Text
          type: string
      required:
      - text
      - meta
      title: SearchStreamDelta
      type: object
    SearchStreamDeltaEventData:
      properties:
        delta:
          $ref: '#/components/schemas/SearchStreamDelta'
          description: The incremental update to the search results.
          title: Delta Data
        finish_reason:
          anyOf:
          - enum:
            - stop
            - length
            - tool_calls
            - content_filter
            - tool_call_results
            type: string
          - type: 'null'
          description: The reason why the content generation was finished.
          title: Finish Reason
        index:
          anyOf:
          - type: integer
          - type: 'null'
          description: The index of the content part to be updated.
          title: Delta Index
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        start:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates if this is the start of the content part.
          title: Start Flag
        type:
          const: delta
          description: Indicates that this event contains an incremental update to
            the search results.
          title: Event Type
          type: string
      required:
      - type
      - query_id
      - delta
      title: SearchStreamDeltaEventData
      type: object
    SearchStreamDoneEventData:
      properties:
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        type:
          const: done
          description: 'Signals that the stream completed successfully. This is always
            the last frame on a clean completion. Error frames (`type: error`) are
            terminal on their own and are never followed by a done frame.'
          title: Event Type
          type: string
      required:
      - type
      - query_id
      title: SearchStreamDoneEventData
      type: object
    SearchStreamErrorEventData:
      properties:
        _debug:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Optional debug information related to the error.
          title: Debug Information
        error:
          description: A description of the error that occurred during the search.
          title: Error Message
          type: string
        error_category:
          anyOf:
          - $ref: '#/components/schemas/RunErrorCategory'
          - type: 'null'
          description: Classifies who is responsible for the error. `user_error` means
            the caller can fix it (for example, invalid input or a provider 4xx).
            `system_error` means the platform failed (for example, a pipeline fault
            or provider 5xx). `unknown` is the catch-all when the cause cannot be
            determined.
          title: Error Category
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        type:
          const: error
          description: Indicates that this event contains an error message.
          title: Event Type
          type: string
      required:
      - type
      - query_id
      - error
      title: SearchStreamErrorEventData
      type: object
    SearchStreamPingEventData:
      properties:
        phase:
          anyOf:
          - type: string
          - type: 'null'
          description: '`cold_start` tells you that temporary infrastructure and pipeline
            preparation is still running. It is not answer text. Phase values are
            extensible, so you can ignore pings and values you do not recognize.'
          title: Ping Phase
        type:
          const: ping
          description: Indicates that this event is a ping to keep the connection
            alive.
          title: Ping Event Type
          type: string
      required:
      - type
      title: SearchStreamPingEventData
      type: object
    SearchStreamReasoningEventData:
      properties:
        index:
          anyOf:
          - type: integer
          - type: 'null'
          description: The index of the content part to be updated.
          title: Delta Index
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        reasoning:
          $ref: '#/components/schemas/ReasoningDelta'
          description: The reasoning output from the model, which may include the
            intermediate steps taken by the model to arrive at the final answer.
          title: Reasoning
        start:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates if this is the start of the content part.
          title: Start Flag
        type:
          const: reasoning
          description: Indicates that this event contains reasoning information.
          title: Event Type
          type: string
      required:
      - type
      - query_id
      - reasoning
      title: SearchStreamReasoningEventData
      type: object
    SearchStreamResultEventData:
      properties:
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        result:
          $ref: '#/components/schemas/DeepsetCloudQueryResponse'
          description: The final search results for the query.
          title: Search Result
        type:
          const: result
          description: Indicates that this event contains the final search results.
          title: Event Type
          type: string
      required:
      - type
      - query_id
      - result
      title: SearchStreamResultEventData
      type: object
    SearchStreamToolCallEventData:
      properties:
        index:
          anyOf:
          - type: integer
          - type: 'null'
          description: The index of the content part to be updated.
          title: Delta Index
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        start:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates if this is the start of the content part.
          title: Start Flag
        tool_call_delta:
          $ref: '#/components/schemas/ToolCallDelta'
          description: Information about the tool call made during the search.
          title: Tool Call Delta
        type:
          const: tool_call_delta
          description: Indicates that this event contains tool call information.
          title: Event Type
          type: string
      required:
      - type
      - query_id
      - tool_call_delta
      title: SearchStreamToolCallEventData
      type: object
    SearchStreamToolCallResultEventData:
      properties:
        index:
          anyOf:
          - type: integer
          - type: 'null'
          description: The index of the content part to be updated.
          title: Delta Index
        query_id:
          description: The unique identifier for the search query.
          format: uuid
          title: Query ID
          type: string
        start:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates if this is the start of the content part.
          title: Start Flag
        tool_call_result:
          $ref: '#/components/schemas/ToolCallResult'
          description: The result of the tool call made during the search.
          title: Tool Call Result
        type:
          const: tool_call_result
          description: Indicates that this event contains the result of a tool call.
          title: Event Type
          type: string
      required:
      - type
      - query_id
      - tool_call_result
      title: SearchStreamToolCallResultEventData
      type: object
    Secret:
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the secret was created.
          title: Created At
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who created the secret.
          title: Created By
        last_edited_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who last edited the secret.
          title: Last Edited By
        masked_secret:
          description: Masked secret value. The actual secret is not returned for
            security reasons.
          title: Masked Secret
          type: string
        name:
          description: The name of the secret.
          title: Secret Name
          type: string
        secret_id:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the secret was last updated.
          title: Updated At
        workspace:
          anyOf:
          - $ref: '#/components/schemas/rest_api__src__api__v2__models__Workspace'
          - type: 'null'
          description: The workspace the secret belongs to. If not provided, the secret
            is global to the organization.
          title: Workspace
      required:
      - secret_id
      - name
      - masked_secret
      title: Get Secret
      type: object
    SelectResult:
      additionalProperties: true
      description: Model for partial selection results when using field selectors.
      title: SelectResult
      type: object
    ServiceName:
      properties:
        deployment_id:
          description: The ID of the deployment backing the shared service.
          format: uuid
          title: Deployment ID
          type: string
        name:
          description: The names of the services (deployments) which this prototype
            shares.
          title: Service names
          type: string
      required:
      - name
      - deployment_id
      title: ServiceName
      type: object
    Session:
      properties:
        created_at:
          description: The time when the session was created.
          format: date-time
          title: Session Created At
          type: string
        created_by:
          $ref: '#/components/schemas/UserIdName'
          description: The user who created the session.
          title: Session Created By User
        expires_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The time when the session expires.
          title: Session Expires At
        session_id:
          description: Unique identifier of a session.
          format: uuid
          title: Session ID
          type: string
        status:
          $ref: '#/components/schemas/SessionStatusEnum'
          default: OPEN
          description: The status of the upload session. The status can be 'OPEN'
            or 'CLOSED'.
          title: Session Status
        write_mode:
          $ref: '#/components/schemas/FileWriteModeEnum'
          default: KEEP
          description: Determines how to handle files that already exist. You can
            KEEP the existing file, OVERWRITE it, or FAIL to ingest if a file with
            the same name is already in your workspace.
          title: Write Mode
      required:
      - expires_at
      - created_by
      - created_at
      title: Session
      type: object
    SessionDetail:
      properties:
        documentation_url:
          default: https://docs.cloud.deepset.ai/docs/upload-files
          description: The URL to the documentation of the session.
          title: Session Documentation URL
          type: string
        expires_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The time when the session expires.
          title: Session Expires At
        ingestion_status:
          $ref: '#/components/schemas/FileIngestionStatus'
          description: The status of the ingestion process for this file.
          title: Ingestion status
        session_id:
          description: Unique identifier of a session.
          format: uuid
          title: Session ID
          type: string
        status:
          $ref: '#/components/schemas/SessionStatusEnum'
          default: OPEN
          description: The status of the upload session. The status can be 'OPEN'
            or 'CLOSED'.
          title: Session Status
        write_mode:
          $ref: '#/components/schemas/FileWriteModeEnum'
          default: KEEP
          description: Determines how to handle files that already exist. You can
            KEEP the existing file, OVERWRITE it, or FAIL to ingest if a file with
            the same name is already in your workspace.
          title: Write Mode
      required:
      - expires_at
      - ingestion_status
      title: SessionDetail
      type: object
    SessionFile:
      properties:
        file_ingestion_id:
          description: The ID of the ingested file.
          format: uuid
          title: Ingested File ID
          type: string
        ingestion_status:
          $ref: '#/components/schemas/FileIngestionStatusEnum'
          description: The ingestion status of the ingested file.
          title: Ingested File Ingestion Status
        ingestion_status_reason:
          anyOf:
          - $ref: '#/components/schemas/FileIngestionStatusReasonEnum'
          - type: 'null'
          description: The ingestion status message that explains the ingestion status.
            This is only available for files that failed to ingest.
          title: Explanation of the Ingestion Status
        name:
          description: The name of the ingested file.
          title: Ingested File Name
          type: string
      required:
      - name
      - ingestion_status
      title: SessionFile
      type: object
    SessionStatusEnum:
      enum:
      - OPEN
      - CLOSED
      - EXPIRED
      title: SessionStatusEnum
      type: string
    SharedJobResponse:
      properties:
        created_at:
          format: date-time
          title: Created At
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        expiration_date:
          format: date-time
          title: Expiration Date
          type: string
        is_revoked:
          title: Is Revoked
          type: boolean
        job_id:
          format: uuid
          title: Job Id
          type: string
        link:
          title: Link
          type: string
        login_required:
          title: Login Required
          type: boolean
        shared_job_id:
          format: uuid
          title: Shared Job Id
          type: string
        show_files:
          title: Show Files
          type: boolean
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        workspace_id:
          format: uuid
          title: Workspace Id
          type: string
        workspace_name:
          title: Workspace Name
          type: string
      required:
      - shared_job_id
      - job_id
      - workspace_id
      - workspace_name
      - link
      - is_revoked
      - expiration_date
      - description
      - show_files
      - title
      - login_required
      - created_at
      title: SharedJobResponse
      type: object
    SharedPrototype:
      properties:
        brand_color:
          anyOf:
          - type: string
          - type: 'null'
          description: Specify a hexadecimal color code to represent the branding
            of the shared prototype.
          title: Brand Color
        brand_logo:
          anyOf:
          - type: string
          - type: 'null'
          description: Provide a base64 encoded string of the brand logo image.
          title: Brand Logo
        created_by_id:
          description: Unique ID of the user who created the shared prototype.
          format: uuid
          title: Created by ID
          type: string
        default_runtime_params:
          additionalProperties: true
          description: 'Runtime parameters applied to every query sent through the
            shared prototype, for example `{"trove_selector": {"trove": "Science"}}`.
            Parameters sent with a query override these values key by key.'
          title: Default runtime parameters
          type: object
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Explain how you expect the users to use this pipeline. Users
            who visit the shared prototype will see this text. For more information
            on how to set the right expectations regarding your pipeline, see [Guidelines
            for Onboarding Your Users](https://docs.cloud.deepset.ai/docs/guidelines-for-onboarding-your-users).
          title: Description
        expiration_date:
          description: The date after which the generated link will expire and become
            invalid. The expiration date must be within 60 days from the current date.
          format: date-time
          title: Expiration date
          type: string
        file_upload_enabled:
          default: false
          description: Set `True` if you want your users to be able to upload files
            in the shared prototype.
          title: File upload enabled
          type: boolean
        is_revoked:
          description: If a prototype is revoked, it's no longer accessible with the
            link.
          title: Is revoked
          type: boolean
        link:
          description: The generated link to the shared pipelines.
          title: Link
          type: string
        login_required:
          default: false
          description: Select whether users need to log in to access the shared prototype.
          title: Login required
          type: boolean
        pipeline_names:
          description: The names of the pipelines which you want to share.
          items:
            type: string
          title: Pipeline names
          type: array
        runtime_params_enabled:
          default: false
          description: Set `True` if you want your users to be able to use runtime
            parameters in the shared prototype.
          title: Runtime parameters enabled
          type: boolean
        service_names:
          description: The names of the services (deployments) which this prototype
            shares.
          items:
            type: string
          title: Service names
          type: array
        shared_pipelines:
          description: The names of the pipelines which this prototype shares.
          items:
            $ref: '#/components/schemas/PipelineName'
          title: Pipeline names
          type: array
        shared_prototype_id:
          description: The ID of the shared prototype
          format: uuid
          title: Shared Prototype ID
          type: string
        shared_services:
          description: The names of the services (deployments) which this prototype
            shares.
          items:
            $ref: '#/components/schemas/ServiceName'
          title: Service names
          type: array
        show_files:
          default: false
          description: Select `True` if you want your users to be able to view the
            pipeline files.
          title: Show files
          type: boolean
        show_metadata_filters:
          default: false
          description: Select `True` if you want your users to be able to filter the
            documents by metadata.
          title: Show metadata filters
          type: boolean
        type:
          $ref: '#/components/schemas/SharedPrototypeType'
          default: pipeline
          description: Whether the shared prototype targets a `service` (deployment)
            or a `pipeline`. Determines which runtime endpoint the shared link's token
            is used against. Defaults to `pipeline`.
          title: Type
      required:
      - expiration_date
      - shared_prototype_id
      - created_by_id
      - link
      - is_revoked
      title: SharedPrototype
      type: object
    SharedPrototypeType:
      enum:
      - pipeline
      - service
      title: SharedPrototypeType
      type: string
    ShellToolsetData:
      description: Model for shell toolset-specific data.
      properties:
        catalog:
          description: The catalog of backend tools and/or toolsets exposed through
            the shell, given as a single tool/toolset definition or a list thereof.
            Catalog entries may themselves be toolsets (e.g. an MCP toolset or another
            shell toolset), which are parsed/validated recursively.
          items:
            additionalProperties: true
            type: object
          title: Catalog
          type: array
        dump_results_dir:
          anyOf:
          - type: string
          - type: 'null'
          description: Directory to which every tool call result is additionally written,
            if set.
          title: Dump Results Dir
        enable_shell_pipes:
          default: true
          description: If true, pipeline segments that are not 'tools' commands are
            executed as real shell commands. If false, the whole command is treated
            as a single in-process 'tools' command and no subprocess is spawned.
          title: Enable Shell Pipes
          type: boolean
        shell_executable:
          anyOf:
          - type: string
          - type: 'null'
          description: Shell executable used to run pipeline segments, if any.
          title: Shell Executable
        tool_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional override for the shell tool's description.
          title: Tool Description
        tool_name:
          default: tools
          description: Name of the single shell tool exposed to the LLM.
          title: Tool Name
          type: string
      required:
      - catalog
      title: ShellToolsetData
      type: object
    ShellToolsetParseData:
      description: Model for the result of parsing a shell toolset's data.
      properties:
        catalog:
          description: The parsed catalog of backend tools and/or toolsets exposed
            through the shell.
          items:
            anyOf:
            - $ref: '#/components/schemas/MCPServerParseToolResponse'
            - $ref: '#/components/schemas/PipelineParseToolResponse'
            - $ref: '#/components/schemas/ComponentParseToolResponse'
            - $ref: '#/components/schemas/CodeParseToolResponse'
            - $ref: '#/components/schemas/ShellToolsetParseToolResponse'
            - $ref: '#/components/schemas/SkillToolsetParseToolResponse'
          title: Catalog
          type: array
        dump_results_dir:
          anyOf:
          - type: string
          - type: 'null'
          description: Directory to which every tool call result is additionally written,
            if set.
          title: Dump Results Dir
        enable_shell_pipes:
          default: true
          description: If true, pipeline segments that are not 'tools' commands are
            executed as real shell commands. If false, the whole command is treated
            as a single in-process 'tools' command and no subprocess is spawned.
          title: Enable Shell Pipes
          type: boolean
        shell_executable:
          anyOf:
          - type: string
          - type: 'null'
          description: Shell executable used to run pipeline segments, if any.
          title: Shell Executable
        tool_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional override for the shell tool's description.
          title: Tool Description
        tool_name:
          default: tools
          description: Name of the single shell tool exposed to the LLM.
          title: Tool Name
          type: string
      required:
      - catalog
      title: ShellToolsetParseData
      type: object
    ShellToolsetParseToolResponse:
      description: Model for the result of parsing a shell toolset definition.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        shell_toolset:
          $ref: '#/components/schemas/ShellToolsetParseData'
          description: Shell toolset configuration data.
        tool_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier for the tool
          title: Tool Id
        tool_type:
          const: shell_toolset
          default: shell_toolset
          description: Type of tool, will be 'shell_toolset'
          title: Tool Type
          type: string
      required:
      - name
      - shell_toolset
      title: ShellToolsetParseToolResponse
      type: object
    ShellToolsetRequest:
      description: Shell toolset to validate or create.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        shell_toolset:
          $ref: '#/components/schemas/ShellToolsetData'
          description: Shell toolset configuration data.
        tool_type:
          const: shell_toolset
          default: shell_toolset
          description: Type of tool, must be 'shell_toolset'
          title: Tool Type
          type: string
      required:
      - name
      - shell_toolset
      title: ShellToolsetRequest
      type: object
    ShellToolsetValidationResponse:
      description: Model for Shell toolset validation result.
      properties:
        can_create:
          default: false
          description: Whether the tool can be created from this validation result.
            Pipeline tools may be created even when the embedded pipeline has validation
            errors.
          title: Can Create
          type: boolean
        catalog:
          anyOf:
          - items:
              anyOf:
              - $ref: '#/components/schemas/MCPServerParseToolResponse'
              - $ref: '#/components/schemas/PipelineParseToolResponse'
              - $ref: '#/components/schemas/ComponentParseToolResponse'
              - $ref: '#/components/schemas/CodeParseToolResponse'
              - $ref: '#/components/schemas/ShellToolsetParseToolResponse'
              - $ref: '#/components/schemas/SkillToolsetParseToolResponse'
            type: array
          - type: 'null'
          description: The parsed catalog of backend tools and/or toolsets exposed
            through the shell.
          title: Catalog
        error_details:
          description: Detailed information about validation errors, if any.
          items:
            $ref: '#/components/schemas/PipelineValidationError'
          title: Error Details
          type: array
        errors:
          description: List of validation errors, if any.
          items:
            type: string
          title: Errors
          type: array
        tool_definition:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
      title: ShellToolsetValidationResponse
      type: object
    SimpleFeedback:
      description: Simple feedback model for embedding in search history responses.
      properties:
        api_token_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Api Token Id
        bookmarked:
          default: false
          title: Bookmarked
          type: boolean
        comment:
          default: ''
          title: Comment
          type: string
        created_at:
          format: date-time
          title: Created At
          type: string
        created_by_user_id:
          format: uuid
          title: Created By User Id
          type: string
        feedback_id:
          format: uuid
          title: Feedback Id
          type: string
        result_id:
          format: uuid
          title: Result Id
          type: string
        score:
          anyOf:
          - type: string
          - type: 'null'
          title: Score
        tags:
          items:
            format: uuid
            type: string
          title: Tags
          type: array
      required:
      - feedback_id
      - created_by_user_id
      title: SimpleFeedback
      type: object
    SingleToolValidationResponse:
      description: Model for single tool validation result (e.g. Code or Component
        tools).
      properties:
        can_create:
          default: false
          description: Whether the tool can be created from this validation result.
            Pipeline tools may be created even when the embedded pipeline has validation
            errors.
          title: Can Create
          type: boolean
        error_details:
          description: Detailed information about validation errors, if any.
          items:
            $ref: '#/components/schemas/PipelineValidationError'
          title: Error Details
          type: array
        errors:
          description: List of validation errors, if any.
          items:
            type: string
          title: Errors
          type: array
        input_schema:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Input schema of the tool
          title: Input Schema
        tool_definition:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
      title: SingleToolValidationResponse
      type: object
    SkillDetail:
      description: 'Skill detail returned on get/create/update: metadata + a download
        URL for the zip archive.'
      properties:
        archive_key:
          anyOf:
          - type: string
          - type: 'null'
          description: S3 object key of the archive. Keyed by an immutable tree sha,
            so unlike the presigned archive_url it never expires — the runtime reads
            it directly with its own IAM role, which is what lets a stored config
            (a fleet warmup recipe, a cached worker pipeline) stay runnable.
          title: Archive object key
        archive_url:
          description: Time-limited URL to download the skill's contents as a zip
            archive (content-addressed by tree sha).
          title: Archive URL
          type: string
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Short description of the skill from the manifest, shown in
            the catalog.
          title: Description
        editable:
          description: Whether the organization may modify this skill. False for the
            shared deepset repo (read-only for orgs); the UI should not offer edit/upload/delete
            when False.
          title: Editable
          type: boolean
        id:
          description: Skill id / folder name in kebab-case (e.g. 'web-research').
          title: Skill ID
          type: string
        name:
          description: Human-readable skill name from the manifest; falls back to
            the id if unset.
          title: Name
          type: string
        path:
          description: Path of the skill folder within the repository.
          title: Path
          type: string
        security:
          anyOf:
          - $ref: '#/components/schemas/SkillScanSummary'
          - type: 'null'
          description: Automated security-scan verdict for this version (severity,
            score, recommendation). Present on create/update responses; null when
            scanning is disabled or unavailable.
          title: Security scan
        security_score:
          anyOf:
          - type: integer
          - type: 'null'
          description: Risk score (0-100, higher is riskier) from the security scan
            of this skill's current version. Recorded on every create/update, so it
            always describes the version identified by 'sha'. Null when the version
            has never been scanned — scanning is disabled, was unavailable at write
            time, or the skill was changed outside the platform (e.g. pushed straight
            to a connected repository).
          title: Security score
        sha:
          description: Git tree sha of the skill folder (identifies the current version).
          title: SHA
          type: string
        source:
          $ref: '#/components/schemas/SkillSource'
          description: 'Where the skill comes from: ''DEEPSET'' (built by deepset,
            from our shared repo), ''ORG'' (the organization''s own repo), or ''WORKSPACE''
            (workspace-scoped).'
          title: Source
        source_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Identifier of the specific connected repo this skill lives
            in. None for the shared deepset repo. Carried on the durable skill reference
            so a run resolves the exact repo.
          title: Source Id
        web_url:
          anyOf:
          - type: string
          - type: 'null'
          description: Browsable URL of this skill's folder on the host that serves
            it, pinned to this version. Host-specific (GitHub and GitLab lay their
            tree URLs out differently, and a self-managed instance has its own hostname),
            so it is built server-side rather than assembled by clients.
          title: Web URL
        workspace:
          anyOf:
          - type: string
          - type: 'null'
          description: Workspace id this skill is scoped to, when source is WORKSPACE.
            None for org-wide and deepset skills.
          title: Workspace
      required:
      - id
      - name
      - source
      - editable
      - path
      - sha
      - archive_url
      title: SkillDetail
      type: object
    SkillFile:
      description: 'A single file within a skill folder.


        ``content_base64`` is base64 so binary assets (images, PDFs) round-trip losslessly.

        ``sha`` is the GitHub blob sha; populated on reads, ignored on writes.'
      properties:
        content_base64:
          description: Base64-encoded file content. Base64 keeps binary assets (images,
            PDFs) lossless on read and write.
          title: File content (base64)
          type: string
        path:
          description: Path relative to the skill folder, e.g. 'SKILL.md' or 'reference/forms.md'.
          title: File path
          type: string
        sha:
          anyOf:
          - type: string
          - type: 'null'
          description: Git blob sha of the file. Returned on reads; ignored on writes.
          title: File SHA
      required:
      - path
      - content_base64
      title: SkillFile
      type: object
    SkillScanFile:
      description: One file the security scan flagged.
      properties:
        path:
          description: Path of the flagged file, relative to the skill folder.
          title: Path
          type: string
        severity:
          description: 'Worst severity found in this file: LOW | MEDIUM | HIGH | CRITICAL.'
          title: Severity
          type: string
      required:
      - path
      - severity
      title: SkillScanFile
      type: object
    SkillScanSummary:
      description: Automated security-scan verdict for a skill version.
      properties:
        files:
          description: The files behind this verdict, worst severity first — a summary
            of 'issues' for badging and filtering. Empty when the scanner located
            no files, and for versions scanned before findings were recorded.
          items:
            $ref: '#/components/schemas/SkillScanFile'
          title: Files
          type: array
        issues:
          description: 'The scanner''s individual findings, passed through as reported:
            typically a rule id, severity, location, the matched snippet, and an explanation.
            This is the scanner''s own schema rather than ours, so treat the keys
            as advisory and render defensively — it can change when the scanner is
            upgraded. Empty for versions scanned before findings were recorded.'
          items:
            additionalProperties: true
            type: object
          title: Issues
          type: array
        recommendation:
          anyOf:
          - type: string
          - type: 'null'
          description: e.g. SAFE | CAUTION | DO_NOT_INSTALL.
          title: Recommendation
        score:
          anyOf:
          - type: integer
          - type: 'null'
          description: Numeric risk score (0-100).
          title: Score
        severity:
          description: 'Overall severity: LOW | MEDIUM | HIGH | CRITICAL.'
          title: Severity
          type: string
      required:
      - severity
      title: SkillScanSummary
      type: object
    SkillSource:
      description: Provenance of a skill, for the catalog to badge (e.g. "Built by
        deepset").
      enum:
      - DEEPSET
      - ORG
      - WORKSPACE
      title: SkillSource
      type: string
    SkillSummary:
      description: 'Lightweight catalog entry: manifest name/description + source,
        but no file contents.'
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Short description of the skill from the manifest, shown in
            the catalog.
          title: Description
        editable:
          description: Whether the organization may modify this skill. False for the
            shared deepset repo (read-only for orgs); the UI should not offer edit/upload/delete
            when False.
          title: Editable
          type: boolean
        id:
          description: Skill id / folder name in kebab-case (e.g. 'web-research').
          title: Skill ID
          type: string
        name:
          description: Human-readable skill name from the manifest; falls back to
            the id if unset.
          title: Name
          type: string
        path:
          description: Path of the skill folder within the repository.
          title: Path
          type: string
        security_score:
          anyOf:
          - type: integer
          - type: 'null'
          description: Risk score (0-100, higher is riskier) from the security scan
            of this skill's current version. Recorded on every create/update, so it
            always describes the version identified by 'sha'. Null when the version
            has never been scanned — scanning is disabled, was unavailable at write
            time, or the skill was changed outside the platform (e.g. pushed straight
            to a connected repository).
          title: Security score
        sha:
          description: Git tree sha of the skill folder (identifies the current version).
          title: SHA
          type: string
        source:
          $ref: '#/components/schemas/SkillSource'
          description: 'Where the skill comes from: ''DEEPSET'' (built by deepset,
            from our shared repo), ''ORG'' (the organization''s own repo), or ''WORKSPACE''
            (workspace-scoped).'
          title: Source
        source_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Identifier of the specific connected repo this skill lives
            in. None for the shared deepset repo (resolved from config). An org can
            have more than one repo (a connected external repo and a managed one),
            so 'source' alone can't disambiguate — the durable skill reference carries
            this so a run resolves the exact repo.
          title: Source Id
        workspace:
          anyOf:
          - type: string
          - type: 'null'
          description: Workspace id this skill is scoped to, when source is WORKSPACE.
            None for org-wide and deepset skills. Carried on the durable reference
            so a run resolves the right workspace tree.
          title: Workspace
      required:
      - id
      - name
      - source
      - editable
      - path
      - sha
      title: SkillSummary
      type: object
    SkillToolsetData:
      description: Model for skill toolset-specific data.
      properties:
        skills_dir:
          anyOf:
          - type: string
          - additionalProperties: true
            type: object
          description: 'Directory the toolset''s skill store reads its skills from:
            either a fixed path, or a serialized environment variable secret (for
            example, {''type'': ''env_var'', ''env_vars'': [''DEEPSET_SKILLS_DIR_AGENT''],
            ''strict'': true}). Use the secret form for skills referenced in the pipeline''s
            ''skills'' block: the platform stages them per run and sets the variable.'
          title: Skills Dir
      required:
      - skills_dir
      title: SkillToolsetData
      type: object
    SkillToolsetParseToolResponse:
      description: Model for the result of parsing a skill toolset definition.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        skill_toolset:
          $ref: '#/components/schemas/SkillToolsetData'
          description: Skill toolset configuration data.
        tool_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier for the tool
          title: Tool Id
        tool_type:
          const: skill_toolset
          default: skill_toolset
          description: Type of tool, will be 'skill_toolset'
          title: Tool Type
          type: string
      required:
      - name
      - skill_toolset
      title: SkillToolsetParseToolResponse
      type: object
    SkillToolsetRequest:
      description: Skill toolset to validate or create.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description of what the tool does
          title: Description
        name:
          description: The name of the tool
          title: Name
          type: string
        skill_toolset:
          $ref: '#/components/schemas/SkillToolsetData'
          description: Skill toolset configuration data.
        tool_type:
          const: skill_toolset
          default: skill_toolset
          description: Type of tool, must be 'skill_toolset'
          title: Tool Type
          type: string
      required:
      - name
      - skill_toolset
      title: SkillToolsetRequest
      type: object
    SkillVersion:
      description: One entry in a skill's version history (a git commit touching the
        skill folder).
      properties:
        author:
          anyOf:
          - type: string
          - type: 'null'
          description: The author of this version.
          title: Author
        committed_at:
          anyOf:
          - type: string
          - type: 'null'
          description: ISO-8601 timestamp of when this version was committed.
          title: Committed at
        message:
          description: The commit message for this version.
          title: Commit message
          type: string
        ref:
          description: Git commit sha identifying this version of the skill.
          title: Ref
          type: string
      required:
      - ref
      - message
      title: SkillVersion
      type: object
    SortingOrderEnum:
      enum:
      - ASC
      - DESC
      title: SortingOrderEnum
      type: string
    StartJobBody:
      properties:
        callbacks:
          description: Endpoints that deepset notifies once, when the job finishes.
            deepset sends each callback a single time and does not retry it, so use
            it as a notification to trigger your own follow-up rather than as a guaranteed
            delivery. To confirm the outcome of a job, call `GET /workspaces/{workspace_id}/jobs/{job_id}`,
            which is the authoritative job status. Omit this field to poll that endpoint
            instead of receiving a callback.
          items:
            $ref: '#/components/schemas/JobCallback'
          title: Callbacks
          type: array
      title: StartJobBody
      type: object
    StreamPipelineRequest:
      properties:
        chat_history_granularity:
          anyOf:
          - $ref: '#/components/schemas/ChatHistoryGranularity'
          - type: 'null'
          description: Controls how much of the chat history is replayed to the pipeline.
            Use `all_messages` to include every message (tool calls, reasoning, etc.)
            from the last turns, or `query_answer` (default) to include only the user
            query and the final answer from each turn. Can also be set per-pipeline
            in the pipeline YAML under `history.granularity`.
          title: Chat History Granularity
        chat_history_limit:
          default: 3
          description: The number of the most recent chat history items to include
            in the chat. For example, setting the limit to 3 will show the last three
          title: Chat History Limit
          type: integer
        files:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: IDs of temporary files to pass to the pipeline as input files.
            Upload each file first with `POST /api/v1/workspaces/{workspace_name}/temporary_files`.
            Workspace file IDs are not accepted, and this field does not filter the
            indexed files that the pipeline searches.
          title: Files
        include_outputs_from:
          anyOf:
          - items:
              type: string
            type: array
            uniqueItems: true
          - type: 'null'
          description: Optional component names to include outputs from. If not provided,
            all outputs will be included.
          title: Include Outputs From
        include_reasoning:
          default: false
          description: 'Includes the reasoning output under key ''reasoning'' when
            set to `true`. Defaults to `false`.

            The reasoning output may include the intermediate steps taken by the model
            to arrive at the final answer. Example reasoning output:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "reasoning",
            "reasoning": {"reasoning_text": "This is the plan:\nStep 1: Retrieve documents\nStep
            2: Process documents\nStep 3: Generate answer", "extra": {}}}

            ```'
          title: Include Reasoning
          type: boolean
        include_result:
          default: false
          description: Whether to include the final pipeline result in the stream.
          title: Include Result
          type: boolean
        include_tool_call_results:
          default: false
          description: Whether to include tool call result events in the stream.
          title: Include Tool Call Results
          type: boolean
        include_tool_calls:
          anyOf:
          - type: boolean
          - const: rendered
            type: string
          default: false
          description: Tool call streaming mode. Set to `true` for structured `tool_call_delta`
            events, or to `rendered` to embed tool calls as markdown text in `delta`
            events.
          title: Include Tool Calls
        inputs:
          additionalProperties:
            additionalProperties: true
            type: object
          description: Input data for the pipeline run.
          title: Inputs
          type: object
        pipeline_config:
          additionalProperties: true
          description: Pipeline configuration as a dictionary containing components,
            connections, and other pipeline settings.
          title: Pipeline Config
          type: object
        pipeline_id:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline ID
          type: string
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The version of pipeline used to execute the query.
          title: Pipeline Version ID
        query:
          description: The search query.
          title: Query
          type: string
        search_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the search session you want to use for chat.
          title: Search Session ID
      required:
      - pipeline_id
      - query
      - pipeline_config
      title: StreamPipelineRequest
      type: object
    StreamingQuery:
      examples:
      - debug: true
        filters:
          conditions:
          - field: meta.country
            operator: ==
            value: France
          - field: meta.date
            operator: '>='
            value: '2025-01-01'
          - conditions:
            - field: meta.city
              operator: ==
              value: Paris
            - field: meta.name
              operator: in
              value:
              - Paris
              - Lyon
            operator: OR
          operator: AND
        include_result: false
        params:
          retriever:
            top_k: 2
        query: What is the capital of France?
        search_session_id: 123e4567-e89b-12d3-a456-426614174000
        view_prompts: false
      properties:
        debug:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Shows debug output for the pipeline or deployed service (for
            example, prompt).
          title: Debug Flag
        files:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: IDs of temporary files to pass to the pipeline as input files.
            Upload each file first with `POST /api/v1/workspaces/{workspace_name}/temporary_files`.
            Workspace file IDs are not accepted, and this field does not filter the
            indexed files that the pipeline searches.
          title: Files
        filters:
          anyOf:
          - $ref: '#/components/schemas/LogicalCondition'
          - $ref: '#/components/schemas/ComparisonCondition'
          - $ref: '#/components/schemas/EmptyFilters'
          - type: 'null'
          description: Filters you can use to narrow down the search. For more information,
            see [filtering logic](https://docs.cloud.deepset.ai/docs/filtering-logic).
          title: Haystack Filters
        include_reasoning:
          default: false
          description: 'Includes the reasoning output under key ''reasoning'' when
            set to `true`. Defaults to `false`.

            The reasoning output may include the intermediate steps taken by the model
            to arrive at the final answer. Example reasoning output:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "reasoning",
            "reasoning": {"reasoning_text": "This is the plan:\nStep 1: Retrieve documents\nStep
            2: Process documents\nStep 3: Generate answer", "extra": {}}}

            ```'
          title: Include Reasoning
          type: boolean
        include_result:
          default: false
          description: Includes the result of the pipeline or deploed service at the
            end of the stream under key 'result'.
          title: Include Result
          type: boolean
        include_tool_call_results:
          default: false
          description: 'Includes the tool call results under key ''tool_call_result''
            when set to `true`. Defaults to `false`.

            Example tool call result event:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_result",
            "tool_call_result": {"origin": {"tool_name": "example_tool", "arguments":
            {"arg1": "val1"}, "index": 0}, "result": "This is an example result.",
            "error": false}}

            ```'
          title: Include Tool Call Results
          type: boolean
        include_tool_calls:
          anyOf:
          - type: boolean
          - const: rendered
            type: string
          default: rendered
          description: 'Includes tool calls as tool call delta objects under key ''tool_call_delta''
            when set to `true`. When set to `rendered`, tool call events are rendered
            as markdown text instead. This parameter only affects the stream (not
            the final result) and is only effective when the pipeline or deployed
            service makes tool calls (e.g. using the Agent component). Defaults to
            `rendered`.

            Example tool call delta events:

            ```json

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"tool_name": "example_tool", "index": 0, "id": "tool_call_01"}}

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"arguments": "{\"arg1\": ", "index": 0}}

            {"query_id": "e2084408-48f8-4f52-9b59-43dd924705ef", "type": "tool_call_delta",
            "tool_call_delta": {"arguments": "\"val1\"}", "index": 0}}

            ```'
          title: Include Tool Calls
        params:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: 'Parameters you can use to customize the pipeline or deployed
            service. For details, see [Haystack documentation for the pipeline `run()`
            method](https://docs.haystack.deepset.ai/reference/pipeline-api). These
            filters can be used to pass additional parameters to the pipeline.(Haystack
            is the underlying technology for deepset.) '
          title: Pipeline Parameters
        query:
          description: The search query.
          title: Query
          type: string
        search_session_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the search session you want to use for chat.
          title: Search Session ID
        view_prompts:
          default: false
          description: Adds the runtime prompts of all nodes to the response. (The
            pipeline or deployed service runs in debug mode.)
          title: View prompts
          type: boolean
      required:
      - query
      title: StreamingQuery
      type: object
    SupportRequest:
      properties:
        description:
          description: Describe the issue you are facing.
          title: Description
          type: string
        request_type:
          $ref: '#/components/schemas/SupportRequestType'
          description: What kind of request do you have?
          title: Support request type
        user_blocked_description:
          anyOf:
          - $ref: '#/components/schemas/UserBlockedDescription'
          - type: 'null'
          description: How does the issue affect you?
          title: User blocked description
      required:
      - description
      - request_type
      title: SupportRequest
      type: object
    SupportRequestType:
      enum:
      - BUG
      - FEATURE_REQUEST
      - BILLING_QUESTION
      - LEAVE_FEEDBACK
      - OTHER
      title: SupportRequestType
      type: string
    Tag:
      properties:
        name:
          description: Name of the tag.
          title: Tag Name
          type: string
        tag_id:
          description: Unique identifier of the tag.
          format: uuid
          title: Tag ID
          type: string
      required:
      - tag_id
      - name
      title: Tag
      type: object
    Token:
      properties:
        all_workspaces:
          default: false
          title: All Workspaces
          type: boolean
        api_token_id:
          description: Unique identifier of the API token.
          format: uuid
          title: API Token ID
          type: string
        expires:
          description: Specifies whether the API token expires.
          title: API Token Expires
          type: boolean
        expires_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the token expires. The timestamp is
            in the ISO 8601 format and follows the convention YYY-MM-DDTHH:MM:SS.sssZ.
            For more information, see [Date-Time](https://docs.cloud.deepset.ai/reference/api-best-practices#date-time).
          title: API Token Expiry
        masked_token:
          description: The masked API token. The first and last 4 characters are visible,
            the rest is masked.
          title: API Token
          type: string
        name:
          description: The name of the API token.
          title: API Token Name
          type: string
        organization_role:
          $ref: '#/components/schemas/OrganizationRoles'
          description: The role of the API token in the organization. Defaults to
            the role of the user that created the token. Admin users can create tokens
            with any role.
          title: Organization Role
        personal:
          description: Indicates if the API token is a personal or service level token.
          title: API Token type
          type: boolean
        role:
          deprecated: true
          description: The role of the API token. Defaults to the role of the user
            that created the token. Admin users can create tokens with any role.
          title: API Token Role (Deprecated)
          type: string
        user:
          $ref: '#/components/schemas/UserName'
        workspaces:
          items:
            $ref: '#/components/schemas/WorkspaceName'
          title: Workspaces
          type: array
      required:
      - name
      - masked_token
      - personal
      - expires
      - expires_at
      - api_token_id
      - user
      - role
      - organization_role
      - workspaces
      title: Token Meta
      type: object
    TokenUsageBreakdownEntry:
      properties:
        cost_total:
          anyOf:
          - type: number
          - type: 'null'
          description: Sum of priced generations' cost for this group. null when nothing
            was priced.
          title: Cost Total
        key:
          description: 'The group''s identifying value: a model or provider name for
            group_by=model / provider, or a UUID string for any of the other dimensions
            (workspace / pipeline / deployment / api_key).'
          title: Key
          type: string
        label:
          description: Human-readable name for this group. Equal to key for group_by=model
            / provider. For the other dimensions, the current name of the workspace/pipeline/deployment/API
            key, falling back to key if it's since been deleted.
          title: Label
          type: string
        total_requests:
          description: Number of distinct queries in this group (not the number of
            LLM calls).
          title: Total Requests
          type: integer
        total_tokens:
          description: Sum of tokens for this group.
          title: Total Tokens
          type: integer
        workspace_id:
          anyOf:
          - type: string
          - type: 'null'
          description: For group_by=pipeline or deployment, the workspace the pipeline
            or deployment belongs to, for linking to it. Null for the other dimensions.
          title: Workspace ID
        workspace_name:
          anyOf:
          - type: string
          - type: 'null'
          description: The current name of that workspace. Null for the other dimensions,
            or if the workspace has since been deleted.
          title: Workspace Name
      required:
      - key
      - label
      - cost_total
      - total_tokens
      - total_requests
      title: TokenUsageBreakdownEntry
      type: object
    TokenUsageBreakdownResponse:
      properties:
        data:
          description: One entry per distinct value of group_by in scope for this
            page, in the requested sort order.
          items:
            $ref: '#/components/schemas/TokenUsageBreakdownEntry'
          title: Breakdown
          type: array
        group_by:
          description: Which dimension this breakdown is grouped by.
          title: Group By
          type: string
        has_more:
          description: Indicates if there are more results to show.
          title: Has more results
          type: boolean
        total:
          description: The total number of groups in scope, across all pages.
          title: Total number of results
          type: integer
      required:
      - group_by
      - data
      - total
      - has_more
      title: TokenUsageBreakdownResponse
      type: object
    TokenUsageTotalsResponse:
      properties:
        avg_cost_per_request:
          anyOf:
          - type: number
          - type: 'null'
          description: total_cost divided by total_requests. null when total_cost
            is null or there are no requests.
          title: Average Cost per Request
        currency:
          default: USD
          description: Currency of every cost figure in this response.
          title: Currency
          type: string
        is_cost_complete:
          description: True when every LLM call in scope is priced, so total_cost
            is exact. False when any call is unpriced or pending.
          title: Is Cost Complete
          type: boolean
        pending_generation_count:
          description: 'Number of LLM calls in scope whose cost hasn''t been calculated
            yet, or is being recalculated after a reprice. This usually clears within
            a minute. When greater than 0, total_cost isn''t final: it leaves out
            new calls and still uses the previous cost of calls being recalculated.'
          title: Pending Generation Count
          type: integer
        pending_tokens:
          description: Sum of tokens across the pending LLM calls in scope.
          title: Pending Tokens
          type: integer
        priced_generation_count:
          description: Number of LLM calls in scope with a resolved price.
          title: Priced Generation Count
          type: integer
        total_cost:
          anyOf:
          - type: number
          - type: 'null'
          description: Sum of priced generations' cost. null when nothing in scope
            has been priced yet.
          title: Total Cost
        total_requests:
          description: Number of distinct queries in scope (not the number of LLM
            calls).
          title: Total Requests
          type: integer
        total_tokens:
          description: Sum of tokens across all generations in scope.
          title: Total Tokens
          type: integer
        unpriced_generation_count:
          description: 'Number of LLM calls in scope with no resolved price (no price
            on file, or missing a model). They''re priced again automatically once
            a price for their model is added: a default price covers all of them,
            an override the ones from its effective date on. When greater than 0,
            total_cost is a lower bound, not an exact total. See unpriced_models for
            which models they used.'
          title: Unpriced Generation Count
          type: integer
        unpriced_models:
          description: One entry per model with unpriced LLM calls in scope, most
            calls first. Add a price for a model to price its calls from then on.
            Empty when unpriced_generation_count is 0.
          items:
            $ref: '#/components/schemas/UnpricedModelEntry'
          title: Unpriced Models
          type: array
        unpriced_tokens:
          description: Sum of tokens across the unpriced LLM calls in scope, to show
            how much usage total_cost is missing.
          title: Unpriced Tokens
          type: integer
      required:
      - total_cost
      - total_tokens
      - total_requests
      - avg_cost_per_request
      - priced_generation_count
      - unpriced_generation_count
      - pending_generation_count
      - unpriced_tokens
      - pending_tokens
      - is_cost_complete
      - unpriced_models
      title: TokenUsageTotalsResponse
      type: object
    ToolCall:
      properties:
        arguments:
          additionalProperties: true
          description: The arguments to call the Tool with.
          title: Tool Arguments
          type: object
        id:
          anyOf:
          - type: string
          - type: 'null'
          description: The ID of the tool call.
          title: Tool Call ID
        tool_name:
          description: The name of the Tool to call.
          title: Tool Name
          type: string
      required:
      - tool_name
      - arguments
      title: ToolCall
      type: object
    ToolCallDelta:
      properties:
        arguments:
          anyOf:
          - type: string
          - type: 'null'
          description: Either the full arguments in JSON format or an incremental
            of the arguments.
          title: Tool Arguments
        id:
          anyOf:
          - type: string
          - type: 'null'
          description: The ID of the tool call.
          title: Tool Call ID
        index:
          description: The index of the tool call in the list of tool calls.
          title: Tool Call Index
          type: integer
        meta:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Additional metadata related to the tool call.
          title: Metadata
        tool_name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the Tool to call.
          title: Tool Name
      required:
      - index
      title: ToolCallDelta
      type: object
    ToolCallResult:
      properties:
        error:
          description: Whether the Tool invocation resulted in an error.
          title: Tool Call Error
          type: boolean
        origin:
          $ref: '#/components/schemas/ToolCall'
          description: The Tool call that produced this result.
          title: Tool Call Origin
        result:
          description: The result of the Tool invocation.
          title: Tool Call Result
          type: string
      required:
      - result
      - origin
      - error
      title: ToolCallResult
      type: object
    ToolInputConfig:
      description: Model for tool input configuration.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional description explaining what this input represents
            and how it should be used
          title: Description
        from:
          $ref: '#/components/schemas/ToolInputFrom'
          description: Source location for the tool input (LLM or STATE)
      required:
      - from
      title: ToolInputConfig
      type: object
    ToolInputFrom:
      description: Enum for tool input locations.
      enum:
      - LLM
      - STATE
      title: ToolInputFrom
      type: string
    ToolOutputConfig:
      description: Model for tool output configuration.
      properties:
        to:
          $ref: '#/components/schemas/ToolOutputTo'
          description: Destination location(s) for the tool output (LLM, STATE, or
            LLM_AND_STATE)
      required:
      - to
      title: ToolOutputConfig
      type: object
    ToolOutputTo:
      description: Enum for tool output locations.
      enum:
      - LLM
      - STATE
      - LLM_AND_STATE
      title: ToolOutputTo
      type: string
    ToolUpdateRequest:
      description: Base model for a tool update request.
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Updated description of what the tool does
          title: Description
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Updated name of the tool
          title: Name
      title: ToolUpdateRequest
      type: object
    ToolValidationResponseBase:
      description: Base model for tool validation response.
      properties:
        can_create:
          default: false
          description: Whether the tool can be created from this validation result.
            Pipeline tools may be created even when the embedded pipeline has validation
            errors.
          title: Can Create
          type: boolean
        error_details:
          description: Detailed information about validation errors, if any.
          items:
            $ref: '#/components/schemas/PipelineValidationError'
          title: Error Details
          type: array
        errors:
          description: List of validation errors, if any.
          items:
            type: string
          title: Errors
          type: array
        tool_definition:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Definition of the tool, for example to be used in the Agent's
            tools init parameter.
          title: Tool Definition
      title: ToolValidationResponseBase
      type: object
    UnpricedModelEntry:
      properties:
        generation_count:
          description: Number of unpriced LLM calls for this model.
          title: Generation Count
          type: integer
        last_seen_at:
          description: UTC timestamp of the most recent unpriced call for this model.
          format: date-time
          title: Last Seen At
          type: string
        model:
          anyOf:
          - type: string
          - type: 'null'
          description: The model name as recorded on the LLM call, for example gpt-5.
            Null for calls recorded without a model name, which no price can match.
          title: Model
        total_tokens:
          description: Sum of tokens across those calls.
          title: Total Tokens
          type: integer
      required:
      - model
      - generation_count
      - total_tokens
      - last_seen_at
      title: UnpricedModelEntry
      type: object
    UpdateDeploymentRequest:
      properties:
        cpu_limit:
          anyOf:
          - type: string
          - type: 'null'
          title: Cpu Limit
        cpu_request:
          anyOf:
          - type: string
          - type: 'null'
          title: Cpu Request
        deployment_mode:
          anyOf:
          - $ref: '#/components/schemas/DeploymentMode'
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        durable_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Durable Enabled
        durable_replace:
          default: false
          title: Durable Replace
          type: boolean
        durable_retire_binding_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Durable Retire Binding Id
        durable_settings:
          anyOf:
          - $ref: '#/components/schemas/DurableExecutionSettings'
          - type: 'null'
        gpu_limit_gigabyte:
          anyOf:
          - type: integer
          - type: 'null'
          title: Gpu Limit Gigabyte
        group_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Label
        idle_timeout_in_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          title: Idle Timeout In Seconds
        instance_size:
          anyOf:
          - enum:
            - small
            - medium
            - large
            - xl
            type: string
          - type: 'null'
          description: 'Fleet pool this serverless service claims from: small, medium,
            large, or xl. Ignored for managed services. Defaults to medium, which
            is the pool every fleet call used before this field existed. Changing
            the size drains the service''s running fleet pods, so the next request
            starts cold on the new size.'
          title: Instance Size
        max_concurrency_per_replica:
          anyOf:
          - exclusiveMinimum: 0.0
            type: integer
          - type: 'null'
          title: Max Concurrency Per Replica
        max_index_replica_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Index Replica Count
        max_query_replica_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Query Replica Count
        memory_limit:
          anyOf:
          - type: string
          - type: 'null'
          title: Memory Limit
        memory_request:
          anyOf:
          - type: string
          - type: 'null'
          title: Memory Request
        min_query_replica_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Min Query Replica Count
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        service_level:
          anyOf:
          - $ref: '#/components/schemas/DeploymentServiceLevel'
          - type: 'null'
      title: UpdateDeploymentRequest
      type: object
    UpdateExposedPipelineRequest:
      description: Partial update for an exposed pipeline's MCP tool metadata.
      properties:
        custom_instructions:
          anyOf:
          - type: string
          - type: 'null'
          description: Additional instructions for LLM behaviour. Omit to keep the
            existing value, send null to clear it.
          title: Custom Instructions
        custom_tool_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom description for the MCP tool. Omit to keep the existing
            value, send null to clear it.
          title: Custom Tool Description
        custom_tool_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom tool name shown to MCP clients. Omit to keep the existing
            value, send null to clear it.
          title: Custom Tool Name
        pipeline_version_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Optional pipeline version ID. When set, MCP tool execution
            loads the query YAML from this specific version. Omit to keep the existing
            value, send null to unpin.
          title: Pipeline Version Id
      title: UpdateExposedPipelineRequest
      type: object
    UpdateExposedServiceRequest:
      description: Partial update for an exposed service's MCP tool metadata.
      properties:
        custom_instructions:
          anyOf:
          - type: string
          - type: 'null'
          description: Additional instructions for LLM behaviour. Omit to keep the
            existing value, send null to clear it.
          title: Custom Instructions
        custom_tool_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom description for the MCP tool. Omit to keep the existing
            value, send null to clear it.
          title: Custom Tool Description
        custom_tool_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Custom tool name shown to MCP clients. Omit to keep the existing
            value, send null to clear it.
          title: Custom Tool Name
      title: UpdateExposedServiceRequest
      type: object
    UpdateFeedback:
      properties:
        bookmarked:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Bookmarked
        comment:
          anyOf:
          - type: string
          - type: 'null'
          title: Comment
        score:
          anyOf:
          - type: string
          - type: 'null'
          title: Score
        tags:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          title: Tags
      title: UpdateFeedback
      type: object
    UpdateFileMetaBulkRequest:
      additionalProperties:
        $ref: '#/components/schemas/FileMetadata'
      propertyNames:
        $ref: '#/components/schemas/FileId'
      title: Bulk file metadata update request
      type: object
    UpdateFileMetaBulkResponse:
      properties:
        failed_count:
          description: The number of files that failed to update.
          title: Failed file count
          type: integer
        failed_files:
          description: The files that failed to update.
          items:
            $ref: '#/components/schemas/FileUpdateError'
          title: Failed files
          type: array
        updated_count:
          description: The number of files that were updated.
          title: Updated file count
          type: integer
      required:
      - updated_count
      - failed_count
      - failed_files
      title: UpdateFileMetaBulkResponse
      type: object
    UpdateJob:
      properties:
        concurrency:
          anyOf:
          - maximum: 20.0
            minimum: 1.0
            type: integer
          - type: 'null'
          title: Concurrency
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        execution_mode:
          anyOf:
          - $ref: '#/components/schemas/ExecutionMode'
          - type: 'null'
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        pipeline_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Pipeline Name
      title: UpdateJob
      type: object
    UpdateMCPConfigRequest:
      description: Partial update for a workspace MCP server configuration.
      properties:
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Whether the MCP server is active.
          title: Enabled
        instructions:
          anyOf:
          - type: string
          - type: 'null'
          description: Server-level instructions for LLM clients.
          title: Instructions
        server_description:
          anyOf:
          - type: string
          - type: 'null'
          description: Internal description for workspace UI; not sent in MCP handshake.
          title: Server Description
        server_icons:
          anyOf:
          - items:
              $ref: '#/components/schemas/IconModel'
            type: array
          - type: 'null'
          description: Icons for the MCP server.
          title: Server Icons
        server_name:
          anyOf:
          - type: string
          - type: 'null'
          description: Display name shown to MCP clients.
          title: Server Name
        server_version:
          anyOf:
          - type: string
          - type: 'null'
          description: Version of this MCP server.
          title: Server Version
        server_website_url:
          anyOf:
          - type: string
          - type: 'null'
          description: URL to the server website.
          title: Server Website Url
      title: UpdateMCPConfigRequest
      type: object
    UpdateModelRequest:
      properties:
        chat_generator_config:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: The configuration for the chat generator as expected in a pipeline
            YAML
          title: Chat Generator Config
        generation_kwargs:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: The available generation kwargs for the model as OpenAPI schema
          title: Generation Kwargs
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the model, e.g., 'gpt-5' or 'Claude 4 Sonnet'
          title: Name
        provider:
          anyOf:
          - type: string
          - type: 'null'
          description: The provider of the model, e.g., 'openai' or 'anthropic'
          title: Provider
      title: UpdateModelRequest
      type: object
    UpdatePipelineIndexRequest:
      additionalProperties: false
      properties:
        capture_traces:
          anyOf:
          - type: boolean
          - type: 'null'
          description: 'Whether every file queued for this index records an indexing
            trace: how it was converted and split. When off, only a file reindexed
            with `capture_trace` is traced.'
          title: Capture Traces
        config_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: Config YAML of the pipeline index.
          title: Pipeline Index Config YAML
        description:
          anyOf:
          - type: string
          - type: 'null'
          description: Description of the pipeline index.
          title: Pipeline Index Description
        file_meta_filter:
          anyOf:
          - items:
              $ref: '#/components/schemas/MetaFilterCondition'
            type: array
          - type: 'null'
          description: Set metadata conditions to filter which files are indexed by
            this pipeline index. Each condition specifies a metadata field, an operator
            ('==' or '!='), and a value. All conditions are applied with AND logic.
            Set to null to disable filtering and index all files. Can only be updated
            while the index is not deployed.
          title: File Meta Filter
        file_name_prefix_filter:
          anyOf:
          - type: string
          - type: 'null'
          description: Set a prefix pattern to filter which files are indexed by this
            pipeline index. Use the pattern like 'myprefix*' to match all files starting
            with 'myprefix'. Set to null to disable filtering and index all files.
            Can only be updated while the index is not deployed.
          title: File Name Prefix Filter
        gpu_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Enable or disable GPU acceleration for the pipeline index.
            When enabled, the pipeline can automatically use GPU resources for supported
            operations. Pipelines that don't require GPUs will continue to run on
            CPU.
          title: GPU Enabled
        instance_size:
          anyOf:
          - enum:
            - small
            - medium
            - large
            - xl
            type: string
          - type: 'null'
          description: 'The size of the pod that indexes files for this index: small,
            medium, large, or xl. For example, set `large` for an index that converts
            big files. If you leave it unset, the index uses the default pod size.'
          title: Instance Size
        max_index_replica_count:
          anyOf:
          - maximum: 10.0
            minimum: 1.0
            type: integer
          - type: 'null'
          description: Set the maximum number of index replicas for the pipeline index.
            Must be at least 1. Maximum allowed value is 10.
          title: Maximum Index Replica Count
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: Name of the pipeline index.
          title: Pipeline Index Name
      title: UpdatePipelineIndexRequest
      type: object
    UpdatePipelineYAMLRequest:
      properties:
        deepset_cloud_version:
          $ref: '#/components/schemas/DeepsetCloudVersion'
          default: v2
          description: The version of deepset the pipeline was created with.
          title: deepset Version
        indexing_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for indexing.
          title: Indexing YAML
        query_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
      title: UpdatePipelineYAMLRequest
      type: object
    UpdateSharedJob:
      properties:
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        login_required:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Login Required
        show_files:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Show Files
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
      title: UpdateSharedJob
      type: object
    UpdateSkillRequest:
      properties:
        files:
          description: The files that make up the skill.
          items:
            $ref: '#/components/schemas/SkillFile'
          title: Files
          type: array
        message:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional commit message for this change. If omitted, a message
            is auto-generated per file.
          title: Commit message
        source:
          anyOf:
          - $ref: '#/components/schemas/SkillSource'
          - type: 'null'
          description: 'Where the skill comes from: ''DEEPSET'' (built by deepset,
            from our shared repo), ''ORG'' (the organization''s own repo), or ''WORKSPACE''
            (workspace-scoped).'
          title: Source
        source_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Identifier of the specific repo to write to (from the catalog
            entry's 'source_id'). Required when the organization has more than one
            writable repo; disambiguates which one the write lands in. When omitted,
            writes target the organization's single writable repo.
          title: Source Id
      required:
      - files
      title: UpdateSkillRequest
      type: object
    UpdateToken:
      additionalProperties: false
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the API token.
          title: API Token Name
        organization_role:
          anyOf:
          - $ref: '#/components/schemas/OrganizationRoles'
          - type: 'null'
          description: The role of the API token in the organization. Defaults to
            the role of the user that created the token. Admin users can create tokens
            with any role.
          title: Organization Role
        personal:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Indicates if the API token is a personal or service level token.
          title: API Token type
        role_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the role assigned to the API token. Defaults to the
            role of the user who created it. Admin users can create tokens with any
            role.
          title: API Token Role ID
      title: UpdateToken
      type: object
    UploadFileResponse:
      properties:
        file_id:
          description: Unique identifier of a file.
          format: uuid
          title: File ID
          type: string
      required:
      - file_id
      title: UploadFileResponse
      type: object
    UploadSession:
      properties:
        aws_prefixed_request_config:
          $ref: '#/components/schemas/PresignedPrefix'
          description: The request configuration used for uploading files. Set each
            file key to `<org_id>/<workspace_id>/<session_id>/${filename}`, where
            filename is <file_name>.<txt|pdf> or <file_name>.<txt|pdf>.meta.json for
            meta files.
          title: AWS Prefix
        documentation_url:
          default: https://docs.cloud.deepset.ai/docs/upload-files
          description: The URL to the documentation of the session.
          title: Session Documentation URL
          type: string
        expires_at:
          description: The time when the session expires.
          format: date-time
          title: Session Expires At
          type: string
        session_id:
          description: Unique identifier of a session.
          format: uuid
          title: Session ID
          type: string
      required:
      - expires_at
      - aws_prefixed_request_config
      title: UploadSession
      type: object
    User:
      properties:
        deleted:
          description: Indicates if a user is deleted.
          title: Deleted
          type: boolean
        email:
          anyOf:
          - type: string
          - type: 'null'
          description: Email of a user.
          title: Email
        family_name:
          description: Family name of a user.
          title: Family name
          type: string
        given_name:
          description: Given name of a user.
          title: Given name
          type: string
        oauth_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Oauth ID from the identity provider
          title: Oauth ID
        oauth_provider:
          description: 'Oauth provider used to authenticate the user. For example:
            ''authentik'', ''google-auth'', ''github'', and the like.'
          title: Oauth Provider
          type: string
        organization:
          $ref: '#/components/schemas/OrganizationFormatted'
          description: The deepset organization the user belongs to.
          title: Organization
        settings:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: User-specific settings stored as JSON.
          title: User Settings
        user_id:
          description: Unique identifier of a user.
          format: uuid
          title: User ID
          type: string
      required:
      - given_name
      - family_name
      - user_id
      - oauth_id
      - oauth_provider
      - organization
      - deleted
      title: User
      type: object
    UserBlockedDescription:
      enum:
      - WORKAROUND
      - BLOCKED
      - NOT_URGENT
      - SEARCH_BROKEN
      title: UserBlockedDescription
      type: string
    UserIdName:
      properties:
        family_name:
          description: Family name of a user.
          title: Family name
          type: string
        given_name:
          description: Given name of a user.
          title: Given name
          type: string
        user_id:
          description: Unique identifier of a user.
          format: uuid
          title: User ID
          type: string
      required:
      - given_name
      - family_name
      - user_id
      title: Oauth User
      type: object
    UserInvitationController:
      properties:
        email:
          description: Email of a user.
          title: Email
          type: string
        family_name:
          description: Family name of a user.
          title: Family name
          type: string
        given_name:
          description: Given name of a user.
          title: Given name
          type: string
        role:
          description: Role of the user. This can be a custom role or one of the default
            roles.
          title: User Role
          type: string
        workspace_ids:
          default: []
          description: A list of unique identifiers for workspaces.
          items:
            format: uuid
            type: string
          title: Workspace IDs
          type: array
      required:
      - given_name
      - family_name
      - email
      - role
      title: User Invitation
      type: object
    UserName:
      properties:
        family_name:
          description: Family name of a user.
          title: Family name
          type: string
        given_name:
          description: Given name of a user.
          title: Given name
          type: string
      required:
      - given_name
      - family_name
      title: User Name
      type: object
    UserOrganizationRole:
      properties:
        role:
          $ref: '#/components/schemas/OrganizationRoles'
          description: Organization role of the user. This can be either 'admin' or
            'member'.
          title: User's organization role
      required:
      - role
      title: UserOrganizationRole
      type: object
    UserSettingsUpdate:
      description: Model for updating user settings via PATCH endpoint.
      properties:
        settings:
          additionalProperties: true
          description: User-specific settings stored as JSON.
          title: Settings
          type: object
      required:
      - settings
      title: User Settings
      type: object
    ValidateGenerationKwargsRequest:
      properties:
        generation_kwargs:
          additionalProperties: true
          description: The available generation kwargs for the model as OpenAPI schema
          title: Generation Kwargs
          type: object
      required:
      - generation_kwargs
      title: ValidateGenerationKwargsRequest
      type: object
    ValidateModelRequest:
      properties:
        chat_generator_config:
          additionalProperties: true
          description: The configuration for the chat generator as expected in a pipeline
            YAML
          title: Chat Generator Config
          type: object
      required:
      - chat_generator_config
      title: ValidateModelRequest
      type: object
    ValidatePipelineYaml:
      additionalProperties: false
      properties:
        deepset_cloud_version:
          $ref: '#/components/schemas/DeepsetCloudVersion'
          default: v2
          description: The version of deepset the pipeline was created with.
          title: deepset Version
        indexing_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for indexing.
          title: Indexing YAML
        pipeline_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of a pipeline used for tracking events.
          title: Pipeline ID
        pipeline_index_id:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Unique identifier of the pipeline index.
          title: Pipeline Index ID
        query_yaml:
          anyOf:
          - type: string
          - type: 'null'
          description: The deepset pipeline YAML configuration for querying.
          title: Query YAML
      title: ValidatePipelineYaml
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
      - loc
      - msg
      - type
      title: ValidationError
      type: object
    WorkspaceDocumentStoreCredentials:
      properties:
        pipeline_document_store_credentials_id:
          description: The ID of the credentials for the OpenSearch cluster you want
            to use to serve your deployed pipelines. Use the endpoint 'list_available_opensearch_credentials'
            to list all credentials available in your organization.
          format: uuid
          title: Pipeline cluster credentials ID
          type: string
        workspace_document_store_credentials_id:
          description: The ID of the credentials for the OpenSearch cluster you want
            to use for managing the files in this workspace.Use the endpoint 'list_available_opensearch_credentials'
            to list all credentials available in your organization.
          format: uuid
          title: Workspace document store credentials ID
          type: string
      required:
      - workspace_document_store_credentials_id
      - pipeline_document_store_credentials_id
      title: WorkspaceDocumentStoreCredentials
      type: object
    WorkspaceFileStoreCredentials:
      properties:
        file_store_credentials_id:
          description: The ID of the credentials for the S3 bucket you want to use
            to serve your deployed pipelines. Use the endpoint 'list_available_s3_credentials'
            to list all credentials available in your organization.
          format: uuid
          title: File Store Credentials ID
          type: string
      required:
      - file_store_credentials_id
      title: WorkspaceFileStoreCredentials
      type: object
    WorkspaceList:
      items:
        $ref: '#/components/schemas/rest_api__src__api__models__Workspace'
      title: User List
      type: array
    WorkspaceName:
      properties:
        name:
          description: The name of the workspace. It must be longer than 3 characters.
          title: Workspace name
          type: string
      required:
      - name
      title: WorkspaceName
      type: object
    WorkspaceSecret:
      properties:
        created_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the secret was created.
          title: Created At
        created_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who created the secret.
          title: Created By
        last_edited_by:
          anyOf:
          - $ref: '#/components/schemas/UserIdName'
          - type: 'null'
          description: The user who last edited the secret.
          title: Last Edited By
        masked_secret:
          description: Masked secret value. The actual secret is not returned for
            security reasons.
          title: Masked Secret
          type: string
        name:
          description: The name of the secret.
          title: Secret Name
          type: string
        overridden_organization_secret:
          anyOf:
          - $ref: '#/components/schemas/OverriddenSecret'
          - type: 'null'
          description: The organization secret that is overridden by this workspace
            secret.
          title: Overridden Secret
        secret_id:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
        updated_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: The date and time when the secret was last updated.
          title: Updated At
        workspace:
          anyOf:
          - $ref: '#/components/schemas/rest_api__src__api__v2__models__Workspace'
          - type: 'null'
          description: The workspace the secret belongs to. If not provided, the secret
            is global to the organization.
          title: Workspace
      required:
      - secret_id
      - name
      - masked_secret
      title: Get Secret
      type: object
    WorkspaceStats:
      properties:
        average_response_time:
          description: The average response time of the search requests in the workspace.
          title: Average response time
          type: number
        document_count:
          description: Total number of documents in the workspace across all pipelines.
          title: Document count
          type: integer
        file_count:
          description: The number of files in the workspace.
          title: File count
          type: integer
        search_request_count:
          description: The number of search requests made in the workspace.
          title: Search request count
          type: integer
      required:
      - file_count
      - document_count
      - search_request_count
      - average_response_time
      title: WorkspaceStats
      type: object
    WorkspaceUserInvitation:
      description: 'Request model for inviting users directly to a workspace.

        This model is used to invite users to a specific workspace with a designated
        role.

        The user will be added to the organization if they don''t already exist, and
        then

        assigned the specified role within the target workspace.'
      example:
        email: user@example.com
        family_name: Doe
        given_name: John
        role: EDITOR
      properties:
        email:
          description: Email of a user.
          title: Email
          type: string
        family_name:
          description: Family name of a user.
          title: Family name
          type: string
        given_name:
          description: Given name of a user.
          title: Given name
          type: string
        role:
          description: Role of the user. This can be a custom role or one of the default
            roles.
          title: User Role
          type: string
      required:
      - given_name
      - family_name
      - email
      - role
      title: Workspace User Invitation
      type: object
    rest_api__src__api__models__Workspace:
      properties:
        default_idle_timeout_in_seconds:
          anyOf:
          - type: integer
          - type: 'null'
          description: Default idle timeout for pipelines. Pipelines will go on standby
            after this time. Reach out to deepset support to change this limit.
          title: Workspace default idle timeout
        languages:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          description: Supported languages within a workspace.
          title: Workspace languages
        member_count:
          default: 0
          description: Number of members in the workspace.
          title: Workspace member count
          type: integer
        name:
          description: The name of the workspace. It must be longer than 3 characters.
          title: Workspace name
          type: string
        workspace_id:
          description: Unique identifier of a workspace.
          format: uuid
          title: Workspace ID
          type: string
      required:
      - name
      - workspace_id
      title: Workspace
      type: object
    rest_api__src__api__v2__models__Workspace:
      properties:
        name:
          description: Name of the workspace.
          title: Workspace Name
          type: string
        workspace_id:
          description: Unique identifier of the workspace
          format: uuid
          title: Workspace ID
          type: string
      required:
      - workspace_id
      - name
      title: Workspace
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http
info:
  description: deepset API description
  title: Haystack Enterprise Platform
  version: 1.0.0
openapi: 3.1.0
paths:
  /api/v1/haystack/components:
    get:
      description: 'Returns components available to be used in Haystack Enterprise
        Platform.


        By default, it returns the components for the deepset domain.'
      operationId: get_available_components_api_v1_haystack_components_get
      parameters:
      - description: The service domain to fetch components for.
        in: query
        name: domain
        required: false
        schema:
          $ref: '#/components/schemas/ComponentDomain'
          default: deepset-cloud
          description: The service domain to fetch components for.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HaystackComponentSchema'
          description: Schema for all available haystack components.
        '404':
          description: Schema not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Available Components
      tags:
      - haystack
  /api/v1/haystack/components/input-output:
    get:
      description: 'Returns the haystack components available for the domain of the
        current version.


        This can be used to identify the input values required for each component
        and the output

        values that will be returned.


        By default, it returns the components for the deepset domain.


        If names are provided, it will return the input/output schema for the provided
        components.

        We use exact match for the component names.

        If no names are provided, it will return the input/output schema for all available
        components.'
      operationId: get_components_input_output_api_v1_haystack_components_input_output_get
      parameters:
      - description: The service domain to fetch components for.
        in: query
        name: domain
        required: false
        schema:
          $ref: '#/components/schemas/ComponentDomain'
          default: deepset-cloud
          description: The service domain to fetch components for.
      - in: query
        name: names
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Names
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/HaystackComponentInputOutputSchema'
                title: Response 200 Get Components Input Output Api V1 Haystack Components
                  Input Output Get
                type: array
          description: Input and output schema for available components.
        '404':
          description: Input and output schema not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Components Input Output
      tags:
      - haystack
  /api/v1/haystack/components/input-output/generate:
    post:
      description: 'Returns updated input output schemas for Haystack components containing
        dynamic parameters.


        Dynamic parameters are component input output parameters, which are postulated
        by component init params.'
      operationId: create_components_dynamic_input_output_api_v1_haystack_components_input_output_generate_post
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/HaystackComponentInputOutputGenerationParams'
              title: Component Params
              type: array
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/HaystackComponentInputOutputSchema'
                title: Response 200 Create Components Dynamic Input Output Api V1
                  Haystack Components Input Output Generate Post
                type: array
          description: Generated dynamic input output component schemas.
        '400':
          description: Failed to generate dynamic input output schemas.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Components Dynamic Input Output
      tags:
      - haystack
  /api/v1/haystack/components/run:
    post:
      description: 'Runs a haystack component with the provided parameters.


        This is useful for testing components or running them with specific input
        data.'
      operationId: run_component_api_v1_haystack_components_run_post
      parameters:
      - in: query
        name: api_endpoint
        required: false
        schema:
          default: haystack_components_run
          title: Api Endpoint
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunComponentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunComponentResponse'
          description: The output produced by running the component.
        '400':
          description: The component failed to run because of incorrect parameters
            or input, or it references a disabled index. Enable the index first before
            running the component.
        '404':
          description: The component doesn't exist or is missing. Make sure the component
            name is correct.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Run Component
      tags:
      - haystack
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v1/haystack/pipelines/run:
    post:
      deprecated: true
      description: 'Runs a haystack pipeline with the provided configuration and inputs.


        This is useful for testing pipelines or running them with specific input data.'
      operationId: run_pipeline_api_v1_haystack_pipelines_run_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunPipelineRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunPipelineResponse'
          description: The output produced by running the pipeline.
        '400':
          description: The pipeline failed to run because of incorrect configuration,
            parameters or input, or it references a disabled index. Enable the index
            first before running the pipeline.
        '404':
          description: The pipeline configuration is invalid or contains components
            that don't exist. Make sure the pipeline configuration is correct.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Run Pipeline
      tags:
      - haystack
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/infrastructure/document_stores:
    get:
      description: List all OpenSearch credentials that exist for the current organization.
      operationId: list_available_opensearch_credentials_api_v1_infrastructure_document_stores_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ExternalFacingDocumentStoreCredentials'
                title: Response List Available Opensearch Credentials Api V1 Infrastructure
                  Document Stores Get
                type: array
          description: The list of document store credentials that exist for the current
            organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List OpenSearch credentials
      tags:
      - infrastructure
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    post:
      description: Add credentials to your own OpenSearch cluster.
      operationId: add_opensearch_credentials_api_v1_infrastructure_document_stores_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewOpenSearchVPCCredentials'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalFacingDocumentStoreCredentials'
          description: Credentials to your own OpenSearch cluster added.
        '400':
          description: We couldn't add the credentials to your OpenSearch cluster.
            See the documentation for [how to obtain the correct credentials](https://docs.cloud.deepset.ai/docs/connect-your-own-file-storage).
        '412':
          description: We couldn't create the connection to the OpenSearch domain
            you provided. Follow the instructions in the [documentation](https://docs.cloud.deepset.ai/docs/connect-your-own-file-storage)
            to allow deepset to connect to your OpenSearch domain.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add OpenSearch credentials
      tags:
      - infrastructure
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/infrastructure/document_stores/{credentials_id}:
    delete:
      description: Delete credentials to your own OpenSearch cluster.
      operationId: delete_opensearch_credentials_api_v1_infrastructure_document_stores__credentials_id__delete
      parameters:
      - description: A unique identifier of the credentials you want to delete. Use
          the [List Available OpenSearch Credentials](https://docs.cloud.deepset.ai/reference/list_available_opensearch_credentials_api_v1_infrastructure_document_stores_get)
          endpoint to check the ID.
        in: path
        name: credentials_id
        required: true
        schema:
          description: A unique identifier of the credentials you want to delete.
            Use the [List Available OpenSearch Credentials](https://docs.cloud.deepset.ai/reference/list_available_opensearch_credentials_api_v1_infrastructure_document_stores_get)
            endpoint to check the ID.
          format: uuid
          title: Credentials ID
          type: string
      responses:
        '204':
          description: Credentials to your own OpenSearch cluster deleted
        '400':
          description: We couldn't delete the specified document store credentials
            because they are currently in use. Delete all workspaces which use these
            credentials and try again.
        '404':
          description: We couldn't find the specified credentials. Use the endpoint
            'list_available_opensearch_credentials' for listing document store credentials
            in your organization and 'list_available_s3_credentials' for listing S3
            credentials in your organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete OpenSearch credentials
      tags:
      - infrastructure
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/infrastructure/file_stores:
    get:
      description: List all S3 bucket credentials that exist for the current organization.
      operationId: list_available_s3_credentials_api_v1_infrastructure_file_stores_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ExternalS3Credentials'
                title: Response List Available S3 Credentials Api V1 Infrastructure
                  File Stores Get
                type: array
          description: The list of S3 bucket credentials that exist for the current
            organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Available S3 Credentials
      tags:
      - infrastructure
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    post:
      description: Add credentials to your own S3 bucket.
      operationId: add_s3_credentials_api_v1_infrastructure_file_stores_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewS3Credentials'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalS3Credentials'
          description: Credentials to your own S3 bucket added
        '412':
          description: We couldn't create the connection to the S3 bucket you provided.
            Possible reasons are a wrong bucket name or missing bucket permissions.
            Check the response body for more details. See the documentation for [how
            to correctly configure the bucket permissions](https://docs.cloud.deepset.ai/).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add S3 Credentials
      tags:
      - infrastructure
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/infrastructure/file_stores/{credentials_id}:
    delete:
      description: Delete credentials to your own S3 bucket.
      operationId: delete_s3_credentials_api_v1_infrastructure_file_stores__credentials_id__delete
      parameters:
      - description: A unique identifier of the credentials you want to delete. Use
          the [List Available OpenSearch Credentials](https://docs.cloud.deepset.ai/reference/list_available_opensearch_credentials_api_v1_infrastructure_document_stores_get)
          endpoint to check the ID.
        in: path
        name: credentials_id
        required: true
        schema:
          description: A unique identifier of the credentials you want to delete.
            Use the [List Available OpenSearch Credentials](https://docs.cloud.deepset.ai/reference/list_available_opensearch_credentials_api_v1_infrastructure_document_stores_get)
            endpoint to check the ID.
          format: uuid
          title: Credentials ID
          type: string
      responses:
        '204':
          description: Credentials to your own S3 bucket deleted.
        '400':
          description: We couldn't delete the specified S3 credentials because they
            are currently in use. Delete all workspaces which use these credentials
            and try again.
        '404':
          description: We couldn't find the specified S3 bucket credentials. Use the
            endpoint 'list_available_s3_buckets' to check the S3 bucket credentials
            that exist in your organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete S3 Credentials
      tags:
      - infrastructure
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/me:
    get:
      description: Retrieve the properties of the current user.
      operationId: read_users_me_api_v1_me_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Read Users Me
      tags:
      - user
  /api/v1/me/workspaces/{workspace_name}/permissions:
    get:
      description: "Returns the permissions for the current user on the specified\
        \ workspace.\n\nIt is a list of Permission objects, where each Permission\
        \ has:\n    - \"asset\" is the type of the asset the user has permissions\
        \ to.\n    - \"action\" is the action the user can perform on the asset.\n\
        \nExample:\n```\n for an admin: [{\"asset\": \"pipelines\", \"action\": \"\
        write\"}]\n for a search_user: [{\"asset\": \"pipelines\", \"action\": \"\
        read\"}, ...]\n```"
      operationId: read_users_me_workspace_permissions_api_v1_me_workspaces__workspace_name__permissions_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Permission'
                title: Response Read Users Me Workspace Permissions Api V1 Me Workspaces  Workspace
                  Name  Permissions Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Read Users Me Workspace Permissions
      tags:
      - user
  /api/v1/organization:
    get:
      description: Returns the name of the current deepset organization.
      operationId: get_organization_api_v1_organization_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationName'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Organization
      tags:
      - organization
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/permissions:
    get:
      description: Returns the permissions that exist in the organization.
      operationId: get_permissions_api_v1_organization_permissions_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetCollection'
          description: Successful Response
      summary: Get Permissions
      tags:
      - organization_permissions
  /api/v1/organization/{organization_id}/invitation:
    post:
      description: Sends an email to the user inviting them to your deepset organization.
      operationId: invite_user_to_organization_api_v1_organization__organization_id__invitation_post
      parameters:
      - description: A unique identifier of the organization. You can obtain the organization
          ID from the [Get Users Me](https://docs.cloud.deepset.ai/reference/read_users_me_api_v1_me_get)  endpoint.
        in: path
        name: organization_id
        required: true
        schema:
          description: A unique identifier of the organization. You can obtain the
            organization ID from the [Get Users Me](https://docs.cloud.deepset.ai/reference/read_users_me_api_v1_me_get)  endpoint.
          title: Organization ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInvitationController'
              description: The definition of the user you want to invite to the organization.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema: {}
          description: The user has been invited to the organization.
        '402':
          description: Inviting users is not available on the free plan. To invite
            team members, please upgrade to a paid plan.
        '409':
          description: The user already belongs to the organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '503':
          description: Something went wrong during signup.
      security:
      - HTTPBearer: []
      summary: Invite User To Organization
      tags:
      - organization
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/roles:
    get:
      description: Returns the roles that exist in the specified organization.
      operationId: get_roles_api_v1_organization__organization_id__roles_get
      parameters:
      - description: The ID of the organization
        in: path
        name: organization_id
        required: true
        schema:
          description: The ID of the organization
          format: uuid
          title: Organization Id
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`is_custom`</li><li>`name`</li><li>`updated_at`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`is_custom`</li><li>`name`</li><li>`updated_at`</li></ul>
          enum:
          - name
          - is_custom
          - created_at
          - updated_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_RBACRoleController_'
                items:
                  $ref: '#/components/schemas/RBACRoleController'
                title: Response 200 Get Roles Api V1 Organization  Organization Id  Roles
                  Get
                type: array
          description: The roles that exist in the specified organization.
        '404':
          description: Organization not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Roles
      tags:
      - organization_roles
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
    post:
      description: Adds a role to the specified organization.
      operationId: add_role_api_v1_organization__organization_id__roles_post
      parameters:
      - description: The ID of the organization
        in: path
        name: organization_id
        required: true
        schema:
          description: The ID of the organization
          format: uuid
          title: Organization Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRoleBody'
              description: The role to add to the specified organization.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RBACRoleController'
          description: The role that was added to the specified organization.
        '404':
          description: Organization not found
        '409':
          description: Role already exists
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add Role
      tags:
      - organization_roles
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/roles/{role_id}:
    delete:
      description: Deletes a role from the specified organization.
      operationId: delete_role_api_v1_organization__organization_id__roles__role_id__delete
      parameters:
      - description: The ID of the role
        in: path
        name: role_id
        required: true
        schema:
          description: The ID of the role
          format: uuid
          title: Role Id
          type: string
      - description: The ID of the organization
        in: path
        name: organization_id
        required: true
        schema:
          description: The ID of the organization
          format: uuid
          title: Organization Id
          type: string
      responses:
        '204':
          description: The role that was deleted from the specified organization.
        '404':
          description: Role not found
        '409':
          description: Cannot delete role. Role is still assigned to <some_number>
            user(s).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Role
      tags:
      - organization_roles
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    put:
      description: Adds a role to the specified organization.
      operationId: update_role_api_v1_organization__organization_id__roles__role_id__put
      parameters:
      - description: The ID of the role
        in: path
        name: role_id
        required: true
        schema:
          description: The ID of the role
          format: uuid
          title: Role Id
          type: string
      - description: The ID of the organization
        in: path
        name: organization_id
        required: true
        schema:
          description: The ID of the organization
          format: uuid
          title: Organization Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddRoleBody'
              description: The role to add to the specified organization.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RBACRoleController'
          description: The role that was updated in the specified organization.
        '404':
          description: Role not found
        '409':
          description: Role already exists
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Role
      tags:
      - organization_roles
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/sso-connections:
    get:
      description: Returns all SSO connections configured for the organization.
      operationId: list_sso_connections_api_v1_organization__organization_id__sso_connections_get
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SSOConnectionResponse'
                title: Response List Sso Connections Api V1 Organization  Organization
                  Id  Sso Connections Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List SSO connections
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    post:
      description: Creates an SSO connection for the organization and provisions the
        corresponding source in the identity platform. OIDC connections require client_id,
        client_secret, and oidc_well_known_url; SAML connections require sso_url and
        idp_signing_certificate.
      operationId: create_sso_connection_api_v1_organization__organization_id__sso_connections_post
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOConnectionCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConnectionResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create SSO connection
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/sso-connections/platform-metadata:
    get:
      description: Returns the platform-wide SAML request-signing certificate. It
        is identical across connections and not organization-scoped; an admin trusts
        it once at their identity provider. Only relevant when request signing is
        enabled on a connection.
      operationId: get_sso_platform_metadata_api_v1_organization__organization_id__sso_connections_platform_metadata_get
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOPlatformMetadataResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get SSO platform metadata
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/sso-connections/test-connection:
    post:
      description: 'Validates identity-provider settings without persisting a connection:
        checks OIDC discovery metadata or SAML IdP reachability so misconfiguration
        surfaces before the connection is saved.'
      operationId: test_sso_connection_api_v1_organization__organization_id__sso_connections_test_connection_post
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOConnectionTestRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConnectionTestResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Test SSO connection
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/sso-connections/{sso_connection_id}:
    delete:
      description: Deletes an SSO connection and tears down its source in the identity
        platform. Users who signed in through the connection can no longer authenticate
        with it.
      operationId: delete_sso_connection_api_v1_organization__organization_id__sso_connections__sso_connection_id__delete
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      - description: Unique identifier of the SSO connection.
        in: path
        name: sso_connection_id
        required: true
        schema:
          description: Unique identifier of the SSO connection.
          format: uuid
          title: Sso Connection Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete SSO connection
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    get:
      description: Returns a single SSO connection by ID.
      operationId: get_sso_connection_api_v1_organization__organization_id__sso_connections__sso_connection_id__get
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      - description: Unique identifier of the SSO connection.
        in: path
        name: sso_connection_id
        required: true
        schema:
          description: Unique identifier of the SSO connection.
          format: uuid
          title: Sso Connection Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConnectionResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get SSO connection
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    put:
      description: Updates an SSO connection. Omitted optional fields keep their stored
        values; secrets are only replaced when a new value is supplied.
      operationId: update_sso_connection_api_v1_organization__organization_id__sso_connections__sso_connection_id__put
      parameters:
      - description: Unique identifier of the organization that owns the SSO connection.
        in: path
        name: organization_id
        required: true
        schema:
          description: Unique identifier of the organization that owns the SSO connection.
          format: uuid
          title: Organization Id
          type: string
      - description: Unique identifier of the SSO connection.
        in: path
        name: sso_connection_id
        required: true
        schema:
          description: Unique identifier of the SSO connection.
          format: uuid
          title: Sso Connection Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOConnectionUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConnectionResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update SSO connection
      tags:
      - sso_connections
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/organization/{organization_id}/support_request:
    post:
      description: Reach out to our support team for help with your issue.
      operationId: create_support_request_api_v1_organization__organization_id__support_request_post
      parameters:
      - description: A unique identifier of the organization. You can obtain the organization
          ID from the [Get Users Me](https://docs.cloud.deepset.ai/reference/read_users_me_api_v1_me_get)  endpoint.
        in: path
        name: organization_id
        required: true
        schema:
          description: A unique identifier of the organization. You can obtain the
            organization ID from the [Get Users Me](https://docs.cloud.deepset.ai/reference/read_users_me_api_v1_me_get)  endpoint.
          title: Organization ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupportRequest'
              description: The definition of the user you want to invite to the organization.
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Support Request
      tags:
      - organization
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/pipeline-utils/yaml-integrate:
    post:
      deprecated: true
      operationId: generate_integrated_pipeline_yaml_api_v1_pipeline_utils_yaml_integrate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateIntegratedYamlData'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                title: Response Generate Integrated Pipeline Yaml Api V1 Pipeline
                  Utils Yaml Integrate Post
                type: string
          description: Returns a merged YAML file, integrating changes from the updated
            dictionary into the original YAML.
        '422':
          description: Raises an error when the request body is invalid.
      security:
      - HTTPBearer: []
      summary: Generate Integrated Pipeline Yaml
      tags:
      - pipeline_utils
  /api/v1/public_prompt_templates:
    get:
      description: Lists public prompt templates available in Prompt Studio.
      operationId: list_public_prompt_templates_api_v1_public_prompt_templates_get
      parameters:
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li></ul>
          enum:
          - name
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Union_PublicPromptTemplate__PublicPromptTemplateSelectResult__'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Public Prompt Templates
      tags:
      - prompts
  /api/v1/token:
    get:
      description: Returns all API keys present in Haystack Enterprise Platform together
        with their properties.
      operationId: get_tokens_api_v1_token_get
      parameters:
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`expires_at`</li><li>`name`</li><li>`role`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`expires_at`</li><li>`name`</li><li>`role`</li></ul>
          enum:
          - name
          - role
          - created_at
          - expires_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Token_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Tokens
      tags:
      - api_token
    post:
      description: Creates the API key that you can use to connect Haystack Enterprise
        Platform to your application.
      operationId: create_token_api_v1_token_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateToken'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APITokenResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Token
      tags:
      - api_token
  /api/v1/token/{api_token_id}:
    delete:
      description: Deletes the API key with the ID you specify.
      operationId: remove_token_api_v1_token__api_token_id__delete
      parameters:
      - description: A unique identifier of the API token you want to delete. Call
          the Get Tokens endpoint to check the IDs of the existing API tokens.
        in: path
        name: api_token_id
        required: true
        schema:
          description: A unique identifier of the API token you want to delete. Call
            the Get Tokens endpoint to check the IDs of the existing API tokens.
          format: uuid
          title: Api Token Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Token
      tags:
      - api_token
    get:
      description: Returns the API key with the ID you specify. This ID can be obtained
        by calling the list endpoint of this resource.
      operationId: retrieve_token_api_v1_token__api_token_id__get
      parameters:
      - description: A unique identifier of the API token you want to delete. Call
          the Get Tokens endpoint to check the IDs of the existing API tokens.
        in: path
        name: api_token_id
        required: true
        schema:
          description: A unique identifier of the API token you want to delete. Call
            the Get Tokens endpoint to check the IDs of the existing API tokens.
          format: uuid
          title: Api Token Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Retrieve Token
      tags:
      - api_token
    patch:
      description: Updates the name of a token in the database.
      operationId: patch_token_api_v1_token__api_token_id__patch
      parameters:
      - description: A unique identifier of the API token you want to delete. Call
          the Get Tokens endpoint to check the IDs of the existing API tokens.
        in: path
        name: api_token_id
        required: true
        schema:
          description: A unique identifier of the API token you want to delete. Call
            the Get Tokens endpoint to check the IDs of the existing API tokens.
          format: uuid
          title: Api Token Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateToken'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Patch Token
      tags:
      - api_token
  /api/v1/users:
    get:
      description: Retrieve the properties of all user objects in your organization.
      operationId: get_users_api_v1_users_get
      parameters:
      - description: Includes deleted users in the response.
        in: query
        name: include_deleted
        required: false
        schema:
          default: false
          description: Includes deleted users in the response.
          title: Include Deleted
          type: boolean
      - description: Includes external users in the response.
        in: query
        name: include_external
        required: false
        schema:
          default: false
          description: Includes external users in the response.
          title: Include External
          type: boolean
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_MeUser_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Users
      tags:
      - user
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v1/users/{user_id}:
    delete:
      description: Deletes a user from Haystack Enterprise Platform.
      operationId: delete_user_api_v1_users__user_id__delete
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete User
      tags:
      - user
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    get:
      description: Retrieve the properties of the specified user.
      operationId: get_user_api_v1_users__user_id__get
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get User
      tags:
      - user
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    patch:
      description: Update user permissions.
      operationId: update_user_organization_role_api_v1_users__user_id__patch
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserOrganizationRole'
              description: Specify the new role for the user.
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update User Organization Role
      tags:
      - user
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/users/{user_id}/roles:
    post:
      operationId: assign_role_api_v1_users__user_id__roles_post
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignedRoleRequest'
              description: Specify the workspace name and role to assign to the user
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Role
      tags:
      - user
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/users/{user_id}/settings:
    put:
      description: 'Update user settings.


        Only the user themselves can update their own settings.'
      operationId: update_user_settings_api_v1_users__user_id__settings_put
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserSettingsUpdate'
              description: User settings to update
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update User Settings
      tags:
      - user
  /api/v1/users/{user_id}/unassign:
    post:
      operationId: remove_role_api_v1_users__user_id__unassign_post
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceName'
              description: Specify the workspace name from which to remove the user
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Role
      tags:
      - user
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/workspaces:
    get:
      description: Lists all deepset workspaces and their properties.
      operationId: list_workspaces_api_v1_workspaces_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceList'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Workspaces
      tags:
      - workspace
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
    post:
      description: Creates a workspace within an organization.
      operationId: create_workspace_api_v1_workspaces_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewWorkspace'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '400':
          description: The name of the workspace '{workspace_name}' must contain more
            than 3 characters. Give your workspace a longer name.
        '402':
          description: Creating workspaces is not supported with your current plan.
            Please contact deepset support.
        '404':
          description: We couldn't find the specified credentials. Use the endpoint
            'list_available_opensearch_credentials' for listing document store credentials
            in your organization and 'list_available_s3_credentials' for listing S3
            credentials in your organization.
        '406':
          description: You reached the workspace limit. Delete an existing workspace
            to create a new one.
        '409':
          description: This workspace {workspace_name} already exists. Try giving
            your new workspace a different name.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Workspace
      tags:
      - workspace
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v1/workspaces/{workspace_name}:
    delete:
      description: Deletes a workspace and everything that is associated with it.
        Be careful as this action cannot be undone.
      operationId: delete_workspace_api_v1_workspaces__workspace_name__delete
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Workspace
      tags:
      - workspace
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    get:
      description: Returns the specified workspace and its properties.
      operationId: get_workspace_by_name_api_v1_workspaces__workspace_name__get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rest_api__src__api__models__Workspace'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace By Name
      tags:
      - workspace
  /api/v1/workspaces/{workspace_name}/datasets:
    get:
      description: 'Lists all datasets in a workspace with their associated files.

        Supports pagination.'
      operationId: list_datasets_api_v1_workspaces__workspace_name__datasets_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetPagination'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Datasets
      tags:
      - datasets
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/datasets/{dataset_name}:
    post:
      description: Adds files to a dataset by calling the file service's add_file
        method for each file.
      operationId: add_files_api_v1_workspaces__workspace_name__datasets__dataset_name__post
      parameters:
      - in: path
        name: dataset_name
        required: true
        schema:
          title: Dataset Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '204':
          description: Dataset uploaded successfully
        '404':
          description: Dataset not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add Files
      tags:
      - datasets
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployment-tags:
    get:
      description: 'List distinct tag strings attached to deployments in this workspace.


        Returns tag names currently in use, suitable for autocomplete when adding
        tags.

        Use the ``name`` query parameter for case-insensitive substring search.

        Use ``order`` to control alphabetical sort direction (default ascending).


        To filter the deployments list by tag, use ``GET .../deployments`` with repeated

        ``tags`` query parameters; matching is case-insensitive and uses OR semantics.'
      operationId: list_deployment_tags_api_v1_workspaces__workspace_name__deployment_tags_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Case-insensitive substring filter on tag names. Use for autocomplete
          when selecting tags.
        in: query
        name: name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Case-insensitive substring filter on tag names. Use for autocomplete
            when selecting tags.
          title: Name
      - description: Sort distinct tag names alphabetically in ascending or descending
          order.
        in: query
        name: order
        required: false
        schema:
          default: ASC
          description: Sort distinct tag names alphabetically in ascending or descending
            order.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                title: Response List Deployment Tags Api V1 Workspaces  Workspace
                  Name  Deployment Tags Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Deployment Tags
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments:
    get:
      description: "List deployments in the workspace, sorted by ``updated_at`` descending\
        \ by default.\n\nThe runtime ``status`` of each deployment is reconciled from\
        \ the operator before returning.\n``total`` reflects any active filters.\n\
        \nPagination supports offset (``page_number`` and ``limit``) and keyset cursor\n\
        (``before`` / ``after``) modes; use one at a time. Keyset cursor pagination\n\
        (``before`` / ``after``) is not supported together with ``field=pipeline_name``\n\
        and returns 422 if combined.\n\nYou can filter results using OData syntax\
        \ via the ``filter`` query parameter. Supported fields:\n- ``status``: Filter\
        \ by persisted deployment status (``eq`` only), e.g.\n  ``filter=status eq\
        \ 'DEPLOYED'``\n- ``pipeline_name``: Filter by pipeline name from the active-revision\
        \ lineage (``eq`` only), e.g.\n  ``filter=pipeline_name eq 'my-pipeline'``\n\
        - Combined filters: ``filter=status eq 'DEPLOYED' and pipeline_name eq 'my-pipeline'``\n\
        \nYou can sort results via ``field`` and ``order`` query parameters. Supported\
        \ sort fields:\n- ``updated_at``, ``created_at``, ``name``, ``pipeline_name``\n\
        - Directions: ``ASC``, ``DESC``\n- Sort applies to the full result set before\
        \ pagination.\n\nStatus filter semantics — ``filter=status eq '<value>'``\
        \ accepts only the persisted\n``DeploymentStatus`` values:\n- ``DEPLOYED``\
        \ (UI: Active): filterable\n- ``UNDEPLOYED`` (UI: Inactive): filterable\n\
        - ``DEPLOYMENT_IN_PROGRESS`` (UI: Starting): filterable\n- ``DEPLOYMENT_FAILED``\
        \ (UI: Failed): filterable\n- ``IDLE`` (UI: Standby): accepted but returns\
        \ 0 rows — derived at read time, never persisted\nAny other value returns\
        \ 422. UI-only states such as \"No version published\" (no active revision)\n\
        are not filterable.\n\nExample requests:\n- ``?limit=10&page_number=1``\n\
        - ``?filter=status eq 'DEPLOYED'&limit=10``\n- ``?filter=status eq 'IDLE'&limit=10``\n\
        - ``?filter=pipeline_name eq '{pipeline-name}'&limit=10``\n- ``?filter=status\
        \ eq 'DEPLOYED' and pipeline_name eq '{pipeline-name}'&limit=10``\n- ``?field=pipeline_name&order=ASC&limit=10``\n\
        - ``?field=pipeline_name&order=DESC&limit=10``\n- ``?field=updated_at&order=DESC&limit=10``"
      operationId: list_deployments_api_v1_workspaces__workspace_name__deployments_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Filter deployments by group label.
        in: query
        name: group_label
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter deployments by group label.
          title: Group Label
      - description: Filter deployments that have any of the listed tags. Repeat the
          parameter for multiple values, e.g. ?tags=production&tags=support. Matching
          is case-insensitive.
        in: query
        name: tags
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Filter deployments that have any of the listed tags. Repeat
            the parameter for multiple values, e.g. ?tags=production&tags=support.
            Matching is case-insensitive.
          title: Tags
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
          filter fields:<ul><li>`pipeline_name`</li><li>`status`</li></ul>'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
            filter fields:<ul><li>`pipeline_name`</li><li>`status`</li></ul>'
          title: Filter
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li><li>`pipeline_name`</li><li>`updated_at`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: updated_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li><li>`pipeline_name`</li><li>`updated_at`</li></ul>
          enum:
          - updated_at
          - created_at
          - name
          - pipeline_name
          title: Field
          type: string
      - description: Sort order.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Sort order.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_DeploymentResponse_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Deployments
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
    post:
      description: 'Create a deployment bucket, optionally linked to a pipeline.


        Default service sizing follows Development unless explicit sizing fields are
        provided.

        You can pass up to three tags, which follow the same rules as adding a tag
        to an existing

        deployment. If any tag is invalid, the request fails and no deployment is
        created.'
      operationId: create_deployment_api_v1_workspaces__workspace_name__deployments_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Deployment
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/v1/chat/completions:
    post:
      description: "Run a deployment's active revision as a chat completion (OpenAI-style).\n\
        \nThe chat completion endpoint sends a list of conversation messages to an\
        \ AI model and returns\nthe next assistant response. For multi-turn chats,\
        \ clients maintain the history by including prior\nuser and assistant messages\
        \ in each request, along with the new user message. The run is stored\nin\
        \ search history so you can inspect traces.\n\nBy default (``stream: false``),\
        \ a single JSON response is returned once generation completes.\nPass ``stream:\
        \ true`` to instead receive the response streamed as SSE.\n\n`model` identifies\
        \ which deployed service to run, as `{workspace_name}/{deployment_id}`.\n\n\
        Example request:\n```json\n{\n    \"messages\": [\n        {\"role\": \"user\"\
        , \"content\": \"How does streaming work with Haystack Enterprise Platform?\"\
        }\n    ],\n    \"model\": \"my_workspace/3fa85f64-5717-4562-b3fc-2c963f66afa6\"\
        \n}\n```\n\nExample non-streaming (``stream: false``, the default) response:\n\
        ```json\n{\n    \"id\": \"chatcmpl-123\",\n    \"object\": \"chat.completion\"\
        ,\n    \"created\": 1730000000,\n    \"model\": \"my_workspace/3fa85f64-5717-4562-b3fc-2c963f66afa6\"\
        ,\n    \"choices\": [\n        {\n            \"index\": 0,\n            \"\
        message\": {\"role\": \"assistant\", \"content\": \"Streaming sends the response\
        \ as SSE chunks.\"},\n            \"finish_reason\": \"stop\"\n        }\n\
        \    ]\n}\n```\n\n### Extra OpenAI parameters\n\nYou can send extra OpenAI\
        \ fields besides ``messages``, ``model``, and ``stream``, for example\n``temperature``,\
        \ ``top_p``, and other generation parameters. They are placed in a\n``generation_kwargs``\
        \ dict and passed to the deployed service as a named input.\n\nOpenAI-style\
        \ ``tools`` and ``tool_choice`` are not supported and are ignored from the\
        \ request.\n\nExample request:\n```json\n{\n    \"messages\": [{\"role\":\
        \ \"user\", \"content\": \"What's the weather in Berlin?\"}],\n    \"model\"\
        : \"my_workspace/3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n    \"temperature\"\
        : 1.0,\n    \"max_completion_tokens\": 512\n}\n```\n\nThe Agent receives those\
        \ values when the revision YAML ``inputs`` mapping names\n``generation_kwargs``:\n\
        \n```yaml\ninputs:\n  messages:\n    - agent.messages\n  generation_kwargs:\n\
        \    - agent.generation_kwargs\n```\n\n``generation_kwargs`` is merged into\
        \ the agent's chat generator at run time.\n\n### Tools\n\nClient-side OpenAI-style\
        \ ``tools`` and ``tool_choice`` are not supported. If the deployed service\n\
        uses an ``Agent`` with its own configured tools, those pipeline tools still\
        \ run inside the service.\n\n### File references\n\nA message can reference\
        \ a file already stored in this workspace via a ``file`` content part:\n``{\"\
        type\": \"file\", \"file\": {\"file_id\": \"<uuid>\"}}``. ``file_id`` must\
        \ be a UUID of a file in this\nworkspace, not an OpenAI file id. You can also\
        \ send inline ``file_data`` (a base64 data URL)\nor an ``image_url`` part\
        \ with a base64 data URL. ``input_audio`` parts and HTTP ``image_url``s\n\
        are ignored; they do not fail the request."
      operationId: chat_completions_api_v1_workspaces__workspace_name__deployments_v1_chat_completions_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Set to `off` to suppress the `: keep-alive` comment lines that
          the stream sends while it waits for pipeline output. Set to `on` or omit
          the header to keep them.'
        in: header
        name: X-Deepset-Stream-Keepalive
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Set to `off` to suppress the `: keep-alive` comment lines
            that the stream sends while it waits for pipeline output. Set to `on`
            or omit the header to keep them.'
          title: X-Deepset-Stream-Keepalive
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentChatCompletionRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
            text/event-stream: {}
          description: Streaming response from the deployed service (SSE) when `stream`
            is true, or a single JSON `chat.completion` object when `stream` is false
            (default).
        '400':
          description: No user message in messages, the deployed service has no query
            input, the 'model' field's workspace doesn't match the URL workspace,
            or a file content part's file_id is not a UUID.
        '404':
          description: We couldn't find the deployed service. Check if the deployment
            ID is correct, make sure the deployed service exists in the workspace
            you specified, and try again.
        '409':
          description: The deployed service was in a conflicted state (for example,
            it wasn't deployed).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '503':
          description: The deployed service is unavailable or the run failed before
            a completion was produced. Retry the request.
      security:
      - HTTPBearer: []
      summary: Chat Completions
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/v1/models/:
    get:
      description: 'List the workspace''s deployed services as OpenAI-compatible models.


        This is an OpenAI-compatible ``/v1/models`` endpoint, for

        integrations to discover deployed services (for example, Open WebUI or Thunderbolt),
        paired with

        ``POST /workspaces/{workspace_name}/deployments/v1/chat/completions``.


        Each model''s ``id`` is formatted as ``{workspace_name}/{deployment_id}``
        - the same pair

        the chat-completions endpoint expects as the ``model`` parameter.'
      operationId: list_models_api_v1_workspaces__workspace_name__deployments_v1_models__get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelsListResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Models
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}:
    delete:
      description: You delete a service and its revisions. Set discard_durable_history
        to close durable admission and discard completed durable run history and results.
        Unfinished or unknown runs return 409 with admission closed. During host removal,
        you receive 202 and retry the same request until you receive 204.
      operationId: delete_deployment_api_v1_workspaces__workspace_name__deployments__deployment_id__delete
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: You discard completed durable run history and results.
        in: query
        name: discard_durable_history
        required: false
        schema:
          default: false
          description: You discard completed durable run history and results.
          title: Discard Durable History
          type: boolean
      responses:
        '202':
          description: You retry deletion after durable host removal completes.
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Deployment
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
    get:
      description: Get deployment details including the active revision and runtime
        status.
      operationId: get_deployment_api_v1_workspaces__workspace_name__deployments__deployment_id__get
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Deployment
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
    patch:
      description: Update deployment metadata, sizing, or execution mode.
      operationId: patch_deployment_api_v1_workspaces__workspace_name__deployments__deployment_id__patch
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDeploymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Patch Deployment
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/activate:
    post:
      description: Re-activate the deployment's current active revision, marking it
        as desired to be served.
      operationId: activate_deployment_api_v1_workspaces__workspace_name__deployments__deployment_id__activate_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Activate Deployment
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/activity:
    get:
      description: List activation and revision activity for a deployment.
      operationId: list_deployment_activity_api_v1_workspaces__workspace_name__deployments__deployment_id__activity_get
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_DeploymentEventResponse_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Deployment Activity
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/chat:
    post:
      description: Run a chat query (search history appended) against a deployment's
        deployed service.
      operationId: chat_api_v1_workspaces__workspace_name__deployments__deployment_id__chat_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatQuery'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Chat
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/chat-stream:
    post:
      description: "Run a chat query against a deployed service, streaming the response\
        \ as Server-Sent Events, using prior\nturns from a search session as chat\
        \ history.\n\nThe chat history of a search session is passed automatically\
        \ to deployed services that are designed for\nconversations. You can specify\
        \ how many search history items (query and answer) from a given search session\n\
        you want to display in the chat.\n\nYou'll need a search session ID to group\
        \ queries into a conversation. If omitted, a new session is\ncreated automatically\
        \ and returned in the `X-Search-Session-Id` response header for reuse in subsequent\n\
        requests.\nUse the search session endpoints for deployed services to manage\
        \ search sessions.\n\nExample request:\n```json\n{\n    \"query\": \"How does\
        \ streaming work with Haystack Enterprise Platform?\",\n    \"search_session_id\"\
        : \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n}\n```\n\nOptions:\n- `search_session_id`\
        \ groups queries into a conversation, allowing them to use previous queries\
        \ and answers\nas chat history. If omitted, a new session is created automatically.\
        \ Its ID is returned in the\n`X-Search-Session-Id` response header for reuse\
        \ in subsequent requests.\n- Tool calls are streamed if `include_tool_calls=True`\
        \ (default `rendered`, converted to markdown text deltas).\n- Tool call results\
        \ are streamed if `include_tool_call_results=True`.\n- Reasoning output is\
        \ streamed if `include_reasoning=True`.\n\nPing events are connection status,\
        \ not answer text. `{\"type\":\"ping\"}` is a heartbeat, while\n`{\"type\"\
        :\"ping\",\"phase\":\"cold_start\"}` tells you that temporary infrastructure\
        \ and pipeline preparation is\nstill running. You can ignore either form.\
        \ After you receive a ping, later failures arrive as one terminal\n`error`\
        \ event over the HTTP 200 stream and are not followed by `done`.\n\nSchema\
        \ of each streamed event where `delta`, `result`, `tool_call_delta`, `tool_call_result`,\
        \ `reasoning`, `ping`\nand `error` are mutually exclusive:\n\n```\n{\n   \
        \ \"query_id\": UUID,\n    \"type\": Literal[\"delta\", \"result\", \"error\"\
        , \"tool_call_delta\", \"tool_call_result\", \"reasoning\", \"ping\"],\n \
        \   \"delta\": Optional[StreamDelta],\n    \"result\": Optional[DeepsetCloudQueryResponse],\n\
        \    \"error\": Optional[str],\n    \"tool_call_delta\": Optional[ToolCallDelta],\n\
        \    \"tool_call_result\": Optional[ToolCallResult],\n    \"reasoning\": Optional[ReasoningDelta],\n\
        \    \"index\": Optional[int],\n    \"start\": Optional[bool],\n    \"finish_reason\"\
        : Optional[str],\n}\n```\n\nPingEvent format (unlike other events, a ping\
        \ has no `query_id`):\n```\n{\n    \"type\": \"ping\",\n    \"phase\": Optional[str],\n\
        }\n```\n\nStreamDelta format:\n```\n{\n    \"text\": str,\n    \"meta\": Optional[dict[str,\
        \ Any]],\n}\n```\n\nToolCallDelta format:\n```\n{\n    \"index\": int,\n \
        \   \"tool_name\": Optional[str],\n    \"id\": Optional[str],\n    \"arguments\"\
        : Optional[str],\n}\n```\n\nToolCallResult format:\n```\n{\n    \"result\"\
        : str,\n    \"origin\": {\n        \"tool_name\": str,\n        \"arguments\"\
        : dict[str, Any],\n        \"id\": Optional[str],\n    },\n    \"error\":\
        \ bool,\n}\n```\n\nReasoningDelta format:\n```\n{\n    \"reasoning_text\"\
        : str,\n    \"extra\": dict[str, Any],\n}\n```\n\nExample code to consume\
        \ the stream in Python:\n```python\nimport httpx\nimport json\nfrom httpx_sse\
        \ import EventSource\nimport asyncio\n\nTOKEN = \"MY_TOKEN\"\nDEPLOYMENT_URL\
        \ = \"https://api.cloud.deepset.ai/api/v1/workspaces/MY_WORKSPACE/deployments/MY_DEPLOYMENT_ID\"\
        \n\n\nasync def main():\n    query = {\n        \"query\": \"How does streaming\
        \ work with Haystack Enterprise Platform?\",\n        # search_session_id\
        \ is optional: omit it to have Haystack Enterprise Platform create one for\
        \ you\n        \"search_session_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\
        ,\n        \"include_tool_calls\": True,\n        \"include_tool_call_results\"\
        : True,\n    }\n    headers = {\n        \"Authorization\": f\"Bearer {TOKEN}\"\
        \n    }\n    async with httpx.AsyncClient(base_url=DEPLOYMENT_URL, headers=headers,\
        \ timeout=httpx.Timeout(300.0)) as client:\n        async with client.stream(\"\
        POST\", \"/chat-stream\", json=query) as response:\n            # Check if\
        \ the response is successful\n            if response.status_code != 200:\n\
        \                await response.aread()\n                print(f\"An error\
        \ occurred with status code: {response.status_code}\")\n                print(response.json()[\"\
        errors\"][0])\n                return\n\n            # Optionally save this\
        \ to pass back as search_session_id on the next turn of the conversation.\n\
        \            search_session_id = response.headers[\"X-Search-Session-Id\"\
        ]\n\n            event_source = EventSource(response)\n            # Stream\
        \ the response\n            async for event in event_source.aiter_sse():\n\
        \                event_data = json.loads(event.data)\n                chunk_type\
        \ = event_data[\"type\"]\n                # Check the type of the chunk and\
        \ print the data accordingly\n                match chunk_type:\n        \
        \            # Delta chunk contains the next text chunk of the answer\n  \
        \                  case \"delta\":\n                        delta = event_data[\"\
        delta\"]\n                        if event_data.get(\"start\"):\n        \
        \                    print(f\"\\n\\nAnswer: \", flush=True, end=\"\")\n  \
        \                      token: str = delta[\"text\"]\n                    \
        \    print(token, flush=True, end=\"\\n\" if event_data.get(\"finish_reason\"\
        ) else \"\")\n                    # Result chunk contains the final deployment\
        \ result\n                    case \"result\":\n                        print(\"\
        \\n\\nDeployment result: \")\n                        print(json.dumps(event_data[\"\
        result\"]))\n                    # Error chunk contains the error message\n\
        \                    case \"error\":\n                        print(\"\\n\\\
        nAn error occurred while streaming:\")\n                        print(event_data[\"\
        error\"])\n                    # Ping chunks are connection status, not answer\
        \ text, and can be ignored\n                    case \"ping\":\n         \
        \               continue\n                    case \"tool_call_delta\":\n\
        \                        tool_call_delta = event_data[\"tool_call_delta\"\
        ]\n                        if tool_call_delta[\"tool_name\"]:\n          \
        \                  tool_id = tool_call_delta[\"id\"]\n                   \
        \         tool_name = tool_call_delta[\"tool_name\"]\n                   \
        \         print(f\"\\n\\nTool call {tool_id} started {tool_name} with arguments:\
        \ \")\n                        elif tool_call_delta[\"arguments\"]:\n    \
        \                        print(tool_call_delta[\"arguments\"], flush=True,\
        \ end=\"\")\n                    case \"tool_call_result\":\n            \
        \            tool_call_result = event_data[\"tool_call_result\"]\n       \
        \                 tool_id = tool_call_result[\"origin\"][\"id\"]\n       \
        \                 tool_name = tool_call_result[\"origin\"][\"tool_name\"]\n\
        \                        if tool_call_result[\"error\"]:\n               \
        \             print(f\"\\n\\nTool call {tool_name} with id {tool_id} failed.\"\
        )\n                        else:\n                            print(f\"\\\
        n\\nTool call {tool_name} with id {tool_id} result:\")\n                 \
        \           print(tool_call_result[\"result\"])\n                    case\
        \ \"reasoning\":\n                        reasoning = event_data[\"reasoning\"\
        ]\n                        if event_data.get(\"start\"):\n               \
        \             print(f\"\\n\\nReasoning: \")\n                        print(f\"\
        {reasoning['reasoning_text']}\", flush=True, end=\"\")\n\n\nasyncio.run(main())\n\
        ```"
      operationId: chat_stream_api_v1_workspaces__workspace_name__deployments__deployment_id__chat_stream_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Set to `off` to suppress the `: keep-alive` comment lines that
          the stream sends while it waits for pipeline output. Set to `on` or omit
          the header to keep them.'
        in: header
        name: X-Deepset-Stream-Keepalive
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Set to `off` to suppress the `: keep-alive` comment lines
            that the stream sends while it waits for pipeline output. Set to `on`
            or omit the header to keep them.'
          title: X-Deepset-Stream-Keepalive
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentChatStreamingQuery'
        required: true
      responses:
        '200':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Chat Stream
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/deactivate:
    post:
      description: Mark the deployment as no longer desired to be served, keeping
        its active revision.
      operationId: deactivate_deployment_api_v1_workspaces__workspace_name__deployments__deployment_id__deactivate_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Deactivate Deployment
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/executions:
    get:
      description: List shared durable service receipts, including earlier generations
        while new admission is closed.
      operationId: list_executions_api_v1_workspaces__workspace_name__deployments__deployment_id__executions_get
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: query
        name: status
        required: true
        schema:
          enum:
          - active
          - history
          title: Status
          type: string
      - in: query
        name: limit
        required: false
        schema:
          default: 20
          maximum: 50
          minimum: 1
          title: Limit
          type: integer
      - in: query
        name: before
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Before
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunList'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Executions
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
    post:
      description: Submit a durable service execution with an idempotency key. New
        submissions require open admission and a ready host; retries use the original
        frozen receipt.
      operationId: submit_execution_api_v1_workspaces__workspace_name__deployments__deployment_id__executions_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: header
        name: Idempotency-Key
        required: true
        schema:
          title: Idempotency-Key
          type: string
      - in: header
        name: x-client-source-path
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Client-Source-Path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamingQuery'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Submit Execution
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/executions/{execution_id}:
    get:
      description: Read a durable receipt and its execution from the original host.
        The receipt remains visible when that host is unavailable.
      operationId: get_execution_api_v1_workspaces__workspace_name__deployments__deployment_id__executions__execution_id__get
      parameters:
      - in: path
        name: execution_id
        required: true
        schema:
          title: Execution Id
          type: string
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunDetail'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Execution
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/executions/{execution_id}/cancel:
    post:
      description: Request cancellation from the original durable execution host.
        Accepted executions remain cancellable while new admission is closed.
      operationId: cancel_execution_api_v1_workspaces__workspace_name__deployments__deployment_id__executions__execution_id__cancel_post
      parameters:
      - in: path
        name: execution_id
        required: true
        schema:
          title: Execution Id
          type: string
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Cancel Execution
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/executions/{execution_id}/stream:
    get:
      description: Observe durable execution events from the original host. Use the
        opaque after cursor to reconnect; interruption does not mean execution failure.
      operationId: stream_execution_api_v1_workspaces__workspace_name__deployments__deployment_id__executions__execution_id__stream_get
      parameters:
      - in: path
        name: execution_id
        required: true
        schema:
          title: Execution Id
          type: string
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: query
        name: after
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: After
      responses:
        '200':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Stream Execution
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/revisions:
    get:
      description: List revisions for a deployment.
      operationId: list_deployment_revisions_api_v1_workspaces__workspace_name__deployments__deployment_id__revisions_get
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_DeploymentRevisionResponse_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Deployment Revisions
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
    post:
      description: Push a new deployment revision from a platform pipeline version.
      operationId: create_deployment_revision_api_v1_workspaces__workspace_name__deployments__deployment_id__revisions_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRevisionRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentRevisionResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Deployment Revision
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/revisions/{revision_id}/activate:
    post:
      description: Activate a revision, marking it as the deployment's desired served
        revision.
      operationId: activate_deployment_revision_api_v1_workspaces__workspace_name__deployments__deployment_id__revisions__revision_id__activate_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Revision ID
        in: path
        name: revision_id
        required: true
        schema:
          description: Revision ID
          format: uuid
          title: Revision Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeploymentResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Activate Deployment Revision
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/search_sessions:
    post:
      description: Creates a search session you can later use as chat history against
        this deployed service.
      operationId: create_search_session_api_v1_workspaces__workspace_name__deployments__deployment_id__search_sessions_post
      parameters:
      - description: Deployment ID
        in: path
        name: deployment_id
        required: true
        schema:
          description: Deployment ID
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchSessionPostResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Search Session
      tags:
      - deployments
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/tags:
    post:
      description: 'Add a tag to a deployment.


        Tag names must be 1-50 characters and may contain letters, digits, spaces,
        underscores,

        and hyphens. Duplicate tags are rejected case-insensitively. Each deployment
        supports at

        most three tags. Returns the deployment''s full tag list after the add.'
      operationId: add_deployment_tag_api_v1_workspaces__workspace_name__deployments__deployment_id__tags_post
      parameters:
      - in: path
        name: deployment_id
        required: true
        schema:
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentTagAdd'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                title: Response Add Deployment Tag Api V1 Workspaces  Workspace Name  Deployments  Deployment
                  Id  Tags Post
                type: array
          description: Successful Response
        '404':
          description: The deployment was not found.
        '409':
          description: Tag limit reached or tag already exists on the deployment.
        '422':
          description: Invalid tag name.
      security:
      - HTTPBearer: []
      summary: Add Deployment Tag
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/deployments/{deployment_id}/tags/{tag_name}:
    delete:
      description: 'Remove a tag from a deployment.


        Tag matching is case-insensitive. Returns the deployment''s full tag list
        after removal.

        Returns 404 if the deployment or tag is not found.'
      operationId: delete_deployment_tag_api_v1_workspaces__workspace_name__deployments__deployment_id__tags__tag_name__delete
      parameters:
      - in: path
        name: deployment_id
        required: true
        schema:
          format: uuid
          title: Deployment Id
          type: string
      - in: path
        name: tag_name
        required: true
        schema:
          title: Tag Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                title: Response Delete Deployment Tag Api V1 Workspaces  Workspace
                  Name  Deployments  Deployment Id  Tags  Tag Name  Delete
                type: array
          description: Successful Response
        '404':
          description: We couldn't find the deployment you specified, or the tag is
            not attached to the deployment.
        '422':
          description: Invalid tag name.
      security:
      - HTTPBearer: []
      summary: Delete Deployment Tag
      tags:
      - deployments
      x-deepset-permissions:
        action: write
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v1/workspaces/{workspace_name}/files:
    delete:
      description: Deletes files specified in the `names` parameter from a workspace.
        If `names` is empty, it deletes all files.
      operationId: delete_files_api_v1_workspaces__workspace_name__files_delete
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/FileNames'
              - type: 'null'
              description: Type the names of the files you want to delete, separated
                with commas.
              title: Files
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Files
      tags:
      - file
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
    get:
      description: Lists files in a workspace. This endpoint supports pagination and
        filtering by name and metadata.
      operationId: list_files_api_v1_workspaces__workspace_name__files_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the file you want to view.
        in: query
        name: name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the file you want to view.
          title: Name
      - description: The contents of the file you want to view.
        in: query
        name: content
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The contents of the file you want to view.
          title: Content
      - deprecated: true
        description: Type the metadata key by which you want to filter the files.
        in: query
        name: meta_key
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          deprecated: true
          description: Type the metadata key by which you want to filter the files.
          title: Meta Key
      - deprecated: true
        description: Type the metadata value by which you want to filter the files.
        in: query
        name: meta_value
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          deprecated: true
          description: Type the metadata value by which you want to filter the files.
          title: Meta Value
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: 'Enter a value if you want to see all files that are sorted after
          this value and a file ID defined in the ''after_file_id'' parameter. This
          value must match the type of the field you want to sort by. You can only
          use this parameter in combination with the ''after_file_id'' parameter.
          If you are using the default sorting by ''created_at'', you can set this
          value to an URL-encoded datetime in the ISO format. For example: Use ''2023-04-25T07%3A37%3A58.326042%2B00%3A00''
          to filter for files created after ''2023-04-25T07:37:58.326042+00:00''.'
        in: query
        name: after_value
        required: false
        schema:
          anyOf:
          - {}
          - type: 'null'
          description: 'Enter a value if you want to see all files that are sorted
            after this value and a file ID defined in the ''after_file_id'' parameter.
            This value must match the type of the field you want to sort by. You can
            only use this parameter in combination with the ''after_file_id'' parameter.
            If you are using the default sorting by ''created_at'', you can set this
            value to an URL-encoded datetime in the ISO format. For example: Use ''2023-04-25T07%3A37%3A58.326042%2B00%3A00''
            to filter for files created after ''2023-04-25T07:37:58.326042+00:00''.'
          title: After Value
      - description: Enter a file ID if you want to see all files after this file
          ID.You can only use this parameter in combination with the 'after_value'
          parameter.
        in: query
        name: after_file_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter a file ID if you want to see all files after this file
            ID.You can only use this parameter in combination with the 'after_value'
            parameter.
          title: After File Id
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li></ul>
          enum:
          - created_at
          - name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: ASC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_File_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Files
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
    post:
      description: Uploads a file into the workspace. You can also use this endpoint
        to create a text file. To do that, enter the file name and text as its contents.
      operationId: upload_file_api_v1_workspaces__workspace_name__files_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the file you want to create. Use this field only
          if you're creating a file to upload. If you're uploading an existing file,
          leave this field empty.
        in: query
        name: file_name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the file you want to create. Use this field only
            if you're creating a file to upload. If you're uploading an existing file,
            leave this field empty.
          title: File Name
      - description: 'The write mode determines how to handle uploading a file if
          it''s already in the workspace. Your options are: KEEP: keep the file with
          the same name, FAIL: make the request fail if a file with the same name
          already exists, or OVERWRITE: overwrite the file. If you choose to overwrite,
          all files with the same name are overwritten.'
        in: query
        name: write_mode
        required: false
        schema:
          $ref: '#/components/schemas/FileWriteModeEnum'
          default: KEEP
          description: 'The write mode determines how to handle uploading a file if
            it''s already in the workspace. Your options are: KEEP: keep the file
            with the same name, FAIL: make the request fail if a file with the same
            name already exists, or OVERWRITE: overwrite the file. If you choose to
            overwrite, all files with the same name are overwritten.'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_file_api_v1_workspaces__workspace_name__files_post'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadFileResponse'
          description: Your file's in the workspace.
        '400':
          description: 'We couldn''t upload your file because some of the arguments
            specified were incompatible. You can upload a file from your disk or create
            a file by providing a file name and text as its contents. '
        '402':
          description: You've either reached the file limit or the file size limit
            for your organization. Upgrade to a plan with more file limits.
        '409':
          description: A file with the name '<your file name>' already exists in the
            workspace.
        '413':
          description: Too large payload.Either the file uploaded is larger than 200
            MB or the metadata you tried to upload is too large. The string '<your-string>'
            of key '<your-key>' is longer than 32766 bytes, which approximately equals
            the same number of characters.To upload files larger than 200 MB, use
            the [deepset SDK](https://github.com/deepset-ai/deepset-cloud-sdk).
        '415':
          description: Haystack Enterprise Platform supports .txt, .csv, .json, .xml,
            .html, .md, .pdf, .docx, .pptx, .xlsx, .xlsb, .xlsm, .msg, .zip and ..DS_Store
            files. Upload a file in the supported format.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Upload File
      tags:
      - file
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/files/_search:
    post:
      description: Executes an OpenSearch query on the workspace's file index and
        returns the raw response. The query must follow the [OpenSearch Query DSL
        syntax](https://opensearch.org/docs/latest/query-dsl/).
      operationId: search_files_api_v1_workspaces__workspace_name__files__search_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: true
              title: Query
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Search Files
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/files/_sql:
    post:
      description: Executes an SQL query on the workspace's file index and returns
        the raw response. The query must follow the [OpenSearch SQL Query syntax](https://docs.opensearch.org/latest/search-plugins/sql/sql/index/).The
        table must be `file`.
      operationId: query_files_api_v1_workspaces__workspace_name__files__sql_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The format of the response. For explanation, see [Opensearch
          response formats](https://docs.opensearch.org/latest/search-plugins/sql/response-formats/).
        in: query
        name: format
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The format of the response. For explanation, see [Opensearch
            response formats](https://docs.opensearch.org/latest/search-plugins/sql/response-formats/).
          title: Format
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SQLRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Query Files
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/files/update-meta:
    post:
      description: 'Updates the metadata of the files and of the documents created
        from these files. You can modify existing metadata or add new ones. If you
        send a new metadata dictionary, it''s merged with the existing dictionary.
        To change the value of an existing key, pass this key with the new value.
        To add a new key:value pair, simply pass it in the request. It will add the
        new metadata and keep the existing ones. To delete a key:value pair, pass
        the key with `None` as value, for example: "author":"None". (But to fully
        delete all metadata, upload the file again.)'
      operationId: update_file_meta_bulk_api_v1_workspaces__workspace_name__files_update_meta_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFileMetaBulkRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFileMetaBulkResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update File Meta Bulk
      tags:
      - file
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/files/{file_id}:
    delete:
      description: Removes the file from the workspace.
      operationId: delete_file_api_v1_workspaces__workspace_name__files__file_id__delete
      parameters:
      - in: path
        name: file_id
        required: true
        schema:
          format: uuid
          title: File ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete File
      tags:
      - file
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
    get:
      description: Retrieves the file contents.
      operationId: get_file_api_v1_workspaces__workspace_name__files__file_id__get
      parameters:
      - in: path
        name: file_id
        required: true
        schema:
          format: uuid
          title: File ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '404':
          description: There's no file with the ID '<file_id>' in the workspace. Check
            if the ID is correct. You can use the `list_files` endpoint to check file
            IDs.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '500':
          description: File with the ID '{file_id}' doesn't have a type.
      security:
      - HTTPBearer: []
      summary: Get File
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/files/{file_id}/meta:
    get:
      description: Displays the metadata of a file.
      operationId: get_file_meta_api_v1_workspaces__workspace_name__files__file_id__meta_get
      parameters:
      - in: path
        name: file_id
        required: true
        schema:
          format: uuid
          title: File ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadata'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get File Meta
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: files
        asset_description: Access to individual file details
        type: workspace
    patch:
      description: 'Updates the metadata of a file and of the documents created from
        this file. You can modify existing metadata or add new ones. If you send a
        new metadata dictionary, it''s merged with the existing dictionary. To change
        the value of an existing key, pass this key with the new value. To add a new
        key:value pair, simply pass it in the request. It will add the new metadata
        and keep the existing ones. To delete a key:value pair, pass the key with
        `None` as value, for example: "author":"None". (But to fully delete all metadata,
        upload the file again.)'
      operationId: update_file_meta_api_v1_workspaces__workspace_name__files__file_id__meta_patch
      parameters:
      - in: path
        name: file_id
        required: true
        schema:
          format: uuid
          title: File ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileMetadata'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update File Meta
      tags:
      - file
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/haystack/components/run:
    post:
      description: 'Runs a haystack component with the provided parameters in workspace
        scope (e.g. using workspace secrets).


        This is useful for testing components or running them with specific input
        data.'
      operationId: run_component_workspace_api_v1_workspaces__workspace_name__haystack_components_run_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: query
        name: api_endpoint
        required: false
        schema:
          default: haystack_components_run_workspace
          title: Api Endpoint
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunComponentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunComponentResponse'
          description: The output produced by running the component.
        '400':
          description: The component failed to run because of incorrect parameters
            or input, or it references a disabled index. Enable the index first before
            running the component.
        '404':
          description: The component doesn't exist or is missing. Make sure the component
            name is correct.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Run Component Workspace
      tags:
      - haystack
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/haystack/pipelines/run:
    post:
      deprecated: true
      description: 'Runs a haystack pipeline with the provided configuration and inputs
        in workspace scope.


        This is useful for testing pipelines or running them with specific input data.'
      operationId: run_pipeline_workspace_api_v1_workspaces__workspace_name__haystack_pipelines_run_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: query
        name: api_endpoint
        required: false
        schema:
          default: haystack_pipelines_run_workspace
          title: Api Endpoint
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunPipelineRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunPipelineResponse'
          description: The output produced by running the pipeline.
        '400':
          description: The pipeline failed to run because of incorrect configuration,
            parameters or input, or it references a disabled index. Enable the index
            first before running the pipeline.
        '404':
          description: The pipeline configuration is invalid or contains components
            that don't exist. Make sure the pipeline configuration is correct.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Run Pipeline Workspace
      tags:
      - haystack
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/haystack/pipelines/stream:
    post:
      description: 'Streams a haystack pipeline execution with Server-Sent Events
        (SSE) format in workspace scope.


        This endpoint executes a Haystack pipeline and streams the results as they
        become available.

        The response uses Server-Sent Events (SSE) format with the following event
        types:


        - **delta**: Content chunks from streaming-capable components (e.g., LLM generators)

        - **tool_call_delta**: Structured tool call events (if `include_tool_calls`
        is `true`)

        - **tool_call_result**: Tool call results (if include_tool_call_results is
        True)

        - **reasoning**: Reasoning steps emitted by the pipeline (if include_reasoning
        is True)

        - **result**: Final pipeline result (if include_result is True)

        - **error**: Error messages if pipeline execution fails


        When `include_tool_calls` is set to `rendered`, tool calls are emitted as
        markdown text in `delta` events.'
      operationId: stream_pipeline_workspace_api_v1_workspaces__workspace_name__haystack_pipelines_stream_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamPipelineRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema: {}
            text/event-stream: {}
          description: Streaming response from pipeline execution.
        '400':
          description: Run failed due to invalid pipeline configuration, parameters
            or input.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Stream Pipeline Workspace
      tags:
      - haystack
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes:
    get:
      operationId: get_indexes_api_v1_workspaces__workspace_name__indexes_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`name`</li></ul>
          enum:
          - name
          - created_at
          - created_by/user_id
          - created_by/given_name
          - created_by/family_name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_PipelineIndex_'
          description: Successful Response
        '404':
          description: Workspace not found
        '422':
          description: Invalid filter expression
      security:
      - HTTPBearer: []
      summary: Get Indexes
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
    post:
      description: Creates a new pipeline index.
      operationId: create_index_api_v1_workspaces__workspace_name__indexes_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePipelineIndexRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineIndex'
          description: Successful Response
        '402':
          description: You've reached the maximum number of indexes for your organization.
            Delete an existing index to create a new one.
        '409':
          description: An index with this name already exists in your workspace. Choose
            a unique name for your index.
        '422':
          description: Invalid request body or invalid index configuration.
      security:
      - HTTPBearer: []
      summary: Create Index
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}:
    delete:
      description: Deletes a pipeline index.
      operationId: delete_index_api_v1_workspaces__workspace_name__indexes__index_name__delete
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline index.
        in: path
        name: index_name
        required: true
        schema:
          description: Name of the pipeline index.
          title: Index Name
          type: string
      - description: Delete the index even if pipelines still use it.
        in: query
        name: force
        required: false
        schema:
          default: false
          description: Delete the index even if pipelines still use it.
          title: Force
          type: boolean
      responses:
        '204':
          description: Successful Response
        '400':
          description: The pipeline index is linked to a pipeline and cannot be deleted.
            Unlink the index from pipelines first.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Index
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
    get:
      description: Get a single pipeline index by ID.
      operationId: get_index_by_name_api_v1_workspaces__workspace_name__indexes__index_name__get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the pipeline index used to process the documents.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline index used to process the documents.
          title: Index Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineIndex'
          description: Successful Response
        '404':
          description: Index or workspace not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Index By Name
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
    patch:
      description: 'Updates specific fields of a pipeline index. Only description
        can be updated while the index is deployed.

        To update name or config_yaml, the index must be undeployed.'
      operationId: update_index_api_v1_workspaces__workspace_name__indexes__index_name__patch
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline index.
        in: path
        name: index_name
        required: true
        schema:
          description: Name of the pipeline index.
          title: Index Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePipelineIndexRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineIndex'
          description: Successful Response
        '404':
          description: Index or workspace not found
        '409':
          description: Cannot update 'name' or 'config_yaml' of a deployed pipeline
            index, or the index name already exists.
        '422':
          description: Invalid request body or invalid index configuration.
      security:
      - HTTPBearer: []
      summary: Update Index
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/deploy:
    post:
      description: Deploys a pipeline index to deepset.
      operationId: deploy_index_api_v1_workspaces__workspace_name__indexes__index_name__deploy_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline index.
        in: path
        name: index_name
        required: true
        schema:
          description: Name of the pipeline index.
          title: Index Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineIndex'
          description: Successful Response
        '400':
          description: Enabling the pipeline index failed because the pipeline index
            is not valid. Check the index configuration or choose a valid index.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '424':
          description: 'The model referenced in the pipeline index was not found,
            so the index was not created. Ensure the model exists. '
      security:
      - HTTPBearer: []
      summary: Deploy Index
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/documents-count:
    get:
      description: Counts the number of documents in the pipeline.
      operationId: count_documents_api_v1_workspaces__workspace_name__indexes__index_name__documents_count_get
      parameters:
      - description: The name of the pipeline.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline.
          title: Index Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DCDocumentCount'
          description: Documents retrieved successfully.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Count Documents
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/documents-query:
    post:
      description: Searches the documents for the specified query.
      operationId: query_documents_api_v1_workspaces__workspace_name__indexes__index_name__documents_query_post
      parameters:
      - description: The name of the pipeline.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline.
          title: Index Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryDocumentsParams'
              description: Retrieval parameters for the pipeline index.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RawHaystackDocument'
                title: Response 200 Query Documents Api V1 Workspaces  Workspace Name  Indexes  Index
                  Name  Documents Query Post
                type: array
          description: Documents retrieved successfully.
        '400':
          description: Invalid query parameters.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Query Documents
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/documents-stream:
    post:
      description: 'Returns documents created for a pipeline.


        Without pagination parameters, all documents are streamed. To paginate, pass
        `page_number`

        (1-indexed) together with `limit` in the request body. Paginated responses
        include

        `X-Total-Count` and `X-Has-More` response headers.'
      operationId: get_all_documents_stream_api_v1_workspaces__workspace_name__indexes__index_name__documents_stream_post
      parameters:
      - description: The name of the pipeline.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline.
          title: Index Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: header
        name: accept
        required: false
        schema:
          default: application/json
          title: Accept
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchDocumentsParams'
              description: Retrieval parameters for the pipeline index.
        required: true
      responses:
        '200':
          description: Successful Response
        '404':
          description: The index was not found in the workspace.
        '406':
          description: 'The server cannot produce a response matching the request.
            Requested format: your-accept-header'
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get All Documents Stream
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/documents/{document_id}:
    get:
      description: Displays the document content and its properties.
      operationId: get_document_api_v1_workspaces__workspace_name__indexes__index_name__documents__document_id__get
      parameters:
      - description: The identifier of the document. To obtain the ID, you can call
          the Get All Documents endpoint.
        in: path
        name: document_id
        required: true
        schema:
          description: The identifier of the document. To obtain the ID, you can call
            the Get All Documents endpoint.
          title: Document Id
          type: string
      - description: The name of the pipeline.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline.
          title: Index Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RawHaystackDocument'
          description: Documents retrieved successfully.
        '404':
          description: 'Document ''{document_id}'' doesn''t exist in index ''{index_name}''. '
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Document
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/files:
    get:
      description: Returns IDs of all files with a specific status and processed by
        a specified index.
      operationId: get_indexed_files_by_status_api_v1_workspaces__workspace_name__indexes__index_name__files_get
      parameters:
      - description: Name of the pipeline index.
        in: path
        name: index_name
        required: true
        schema:
          description: Name of the pipeline index.
          title: Index Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The indexing status of the files you want to display.
        in: query
        name: status
        required: false
        schema:
          $ref: '#/components/schemas/FileStatus'
          default: FAILED
          description: The indexing status of the files you want to display.
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  format: uuid
                  type: string
                title: Response Get Indexed Files By Status Api V1 Workspaces  Workspace
                  Name  Indexes  Index Name  Files Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Indexed Files By Status
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/files/{file_id}/reindex:
    post:
      description: 'Reindexes a single file on a pipeline index.


        Set `capture_trace` to `true` to record an indexing trace of the run. The
        trace covers the whole batch the file is

        indexed in: when the queue is busy, it also shows other files from that batch.
        Each file in the trace has its own

        `capture_trace` value, so you can tell which file you requested.'
      operationId: schedule_single_file_for_indexing_api_v1_workspaces__workspace_name__indexes__index_name__files__file_id__reindex_post
      parameters:
      - description: Name of the pipeline index.
        in: path
        name: index_name
        required: true
        schema:
          description: Name of the pipeline index.
          title: Index Name
          type: string
      - description: Unique identifier of a file.
        in: path
        name: file_id
        required: true
        schema:
          description: Unique identifier of a file.
          format: uuid
          title: File Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Record an indexing trace for this file''s run: how it was converted
          and split. The trace shows up under the index''s traces.'
        in: query
        name: capture_trace
        required: false
        schema:
          default: false
          description: 'Record an indexing trace for this file''s run: how it was
            converted and split. The trace shows up under the index''s traces.'
          title: Capture Trace
          type: boolean
      responses:
        '204':
          description: Successful Response
        '400':
          description: The pipeline index is not enabled.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Schedule Single File For Indexing
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/logs:
    get:
      description: Fetches pipeline index logs as JSON or CSV.
      operationId: get_pipeline_index_logs_api_v1_workspaces__workspace_name__indexes__index_name__logs_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the pipeline index used to process the documents.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline index used to process the documents.
          title: Index Name
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - in: query
        name: limit
        required: false
        schema:
          default: 10
          maximum: 100
          title: Limit
          type: integer
      - in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: After
      - in: query
        name: order
        required: false
        schema:
          $ref: '#/components/schemas/SortingOrderEnum'
          default: DESC
      - description: 'The format of the index logs. Supported formats: text/csv, application/json'
        in: header
        name: accept
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: application/json
          description: 'The format of the index logs. Supported formats: text/csv,
            application/json'
          title: Format
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/PaginatedResult_PipelineLog_'
                - type: string
                - $ref: '#/components/schemas/PaginatedResult_PipelineLog_'
                - type: string
                title: Response 200 Get Pipeline Index Logs Api V1 Workspaces  Workspace
                  Name  Indexes  Index Name  Logs Get
          description: The index logs were successfully retrieved.
        '400':
          description: The pipeline index logs could not be retrieved. Check the filters
            and try again.
        '404':
          description: The logs weren't found for the index <your-index-name>. Check
            if the index name is correct and if the index exists.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '504':
          description: The pipeline index logs could not be retrieved within the timeout
            period. Try again in a couple of minutes.
      security:
      - HTTPBearer: []
      summary: Get Pipeline Index Logs
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/undeploy:
    post:
      description: Disables a pipeline index in deepset.
      operationId: undeploy_index_api_v1_workspaces__workspace_name__indexes__index_name__undeploy_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline index.
        in: path
        name: index_name
        required: true
        schema:
          description: Name of the pipeline index.
          title: Index Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineIndex'
          description: Successful Response
        '400':
          description: The pipeline index is referenced by deployed pipelines and
            cannot be disabled. Undeploy the connected pipelines first.
        '404':
          description: The index was not found in the workspace.
        '409':
          description: The index is currently beeing backed up. Please try again later.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Undeploy Index
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/indexes/{index_name}/visualization:
    get:
      operationId: get_pipeline_visualization_api_v1_workspaces__workspace_name__indexes__index_name__visualization_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the pipeline index used to process the documents.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline index used to process the documents.
          title: Index Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineVisualizationMetadata'
          description: The visualization metadata of the pipeline index.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Visualization
      tags:
      - indexes
      x-deepset-permissions:
        action: read
        asset: indexes
        asset_description: Access to index details
        type: workspace
    put:
      operationId: update_pipeline_visualization_api_v1_workspaces__workspace_name__indexes__index_name__visualization_put
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the pipeline index used to process the documents.
        in: path
        name: index_name
        required: true
        schema:
          description: The name of the pipeline index used to process the documents.
          title: Index Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineVisualizationMetadata'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineVisualizationMetadata'
          description: The updated visualization metadata of the pipeline index.
        '404':
          description: The index was not found in the workspace.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Pipeline Visualization
      tags:
      - indexes
      x-deepset-permissions:
        action: write
        asset: indexes
        asset_description: Access to index details
        type: workspace
  /api/v1/workspaces/{workspace_name}/invitation:
    post:
      description: 'Invites a user directly to a specific workspace with the specified
        role.


        This endpoint allows workspace administrators to invite users directly to
        their workspace,

        bypassing the organization-level invitation process. The user will be:


        1. Created in the Haystack Enterprise Platform if they don''t already exist

        2. Added to the organization if they''re not already a member

        3. Assigned the specified role within the target workspace


        **Required Permissions:** WORKSPACE_MEMBERS write permission on the target
        workspace.


        **Valid preset roles are:** ADMIN, EDITOR'
      operationId: invite_user_to_workspace_api_v1_workspaces__workspace_name__invitation_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceUserInvitation'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema: {}
          description: User invited to workspace.
        '402':
          description: Inviting users is not available on the free plan. To invite
            team members, please upgrade to a paid plan.
        '409':
          description: The user already belongs to the organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '503':
          description: Something went wrong during signup.
      security:
      - HTTPBearer: []
      summary: Invite User To Workspace
      tags:
      - workspace
      x-deepset-permissions:
        action: write
        asset: workspace_members
        asset_description: Access to manage workspace members and invitations. Granting
          Write permissions allows users to send invites for this workspace using
          all available roles, resulting in admin-like permissions for this user.
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipeline-tags:
    get:
      description: 'List distinct tag strings attached to pipelines in this workspace.


        Returns tag names currently in use, suitable for autocomplete when adding
        tags.

        Use the ``name`` query parameter for case-insensitive substring search.

        Use ``order`` to control alphabetical sort direction (default ascending).


        To filter the pipelines list by tag, use ``GET .../pipelines`` with repeated

        ``tags`` query parameters; matching is case-insensitive and uses OR semantics.'
      operationId: list_pipeline_tags_api_v1_workspaces__workspace_name__pipeline_tags_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Case-insensitive substring filter on tag names. Use for autocomplete
          when selecting tags.
        in: query
        name: name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Case-insensitive substring filter on tag names. Use for autocomplete
            when selecting tags.
          title: Name
      - description: Sort distinct tag names alphabetically in ascending or descending
          order.
        in: query
        name: order
        required: false
        schema:
          default: ASC
          description: Sort distinct tag names alphabetically in ascending or descending
            order.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                title: Response List Pipeline Tags Api V1 Workspaces  Workspace Name  Pipeline
                  Tags Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Pipeline Tags
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipeline/versions:
    get:
      description: 'Lists query pipeline versions across all pipelines in the selected
        workspace. Supports OData filtering, pagination, and sorting. Allowed filter
        fields: is_draft and pipeline/name. Alias supported: pipeline_name maps to
        pipeline/name. Default sorting is version_number DESC. Pagination supports
        limit, before, after, and page_number. before/after cannot be used together,
        and before/after cannot be combined with page_number. Examples: GET /workspaces/default/pipeline/versions,
        GET /workspaces/default/pipeline/versions?filter=is_draft%20eq%20true, GET
        /workspaces/default/pipeline/versions?filter=pipeline/name%20eq%20''my-pipeline'',
        GET /workspaces/default/pipeline/versions?filter=pipeline_name%20eq%20''my-pipeline'',
        GET /workspaces/default/pipeline/versions?field=version_number&order=DESC&limit=20&page_number=1.'
      operationId: list_all_query_pipeline_versions_api_v1_workspaces__workspace_name__pipeline_versions_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`version_number`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: version_number
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`version_number`</li></ul>
          enum:
          - created_at
          - version_number
          - created_by/user_id
          - created_by/given_name
          - created_by/family_name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_QueryPipelineVersion_'
          description: Successful Response
        '400':
          description: Invalid pagination parameters. before and after cannot be used
            together, and before/after cannot be used with page_number.
        '403':
          description: The user is not authorized to read pipeline versions in this
            workspace.
        '404':
          description: The requested workspace was not found.
        '422':
          description: Invalid filter expression.
      security:
      - HTTPBearer: []
      summary: List all query pipeline versions in a workspace.
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipeline_templates:
    get:
      description: Retrieves the list of the pipeline templates.
      operationId: list_pipeline_templates_api_v1_workspaces__workspace_name__pipeline_templates_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li></ul>
          enum:
          - name
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Union_PipelineTemplate__PipelineTemplateSelectResult__'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Pipeline Templates
      tags:
      - pipeline_templates
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipeline_templates/{pipeline_name}:
    get:
      description: Return pipeline template by pipeline_name.
      operationId: get_pipeline_template_api_v1_workspaces__workspace_name__pipeline_templates__pipeline_name__get
      parameters:
      - in: path
        name: pipeline_name
        required: true
        schema:
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineTemplate'
          description: Return pipeline template by 'pipeline_name'.
        '404':
          description: The pipeline template you specified doesn't exist. Check if
            the 'pipeline_name' is correct.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Template
      tags:
      - pipeline_templates
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipeline_validations:
    post:
      description: Validates a pipeline YAML. Use this endpoint to validate your pipeline
        configuration before saving it.
      operationId: validate_pipeline_api_v1_workspaces__workspace_name__pipeline_validations_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidatePipelineYaml'
        required: true
      responses:
        '204':
          description: Your pipeline is valid.
        '400':
          description: Check the pipeline configuration and make sure the components
            and parameters are correct. Additionally, make sure third-party models
            are accessible. You can connect Haystack Enterprise Platform to model
            providers using Connections or by passing the provider's API key.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '503':
          description: The Haystack Runtime timed out while validating the pipeline.
            Try again in a few moments.
      security:
      - HTTPBearer: []
      summary: Validate Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines:
    get:
      description: 'Lists all the pipelines in the workspace.


        Filter by tag: ``?tags=production`` or ``?tags=a&tags=b`` — returns pipelines
        with any listed tag,

        case-insensitive.'
      operationId: list_pipelines_api_v1_workspaces__workspace_name__pipelines_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the pipeline you want to list.
        in: query
        name: pipeline_name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the pipeline you want to list.
          title: Pipeline Name
      - description: Returns deleted pipelines.
        in: query
        name: deleted
        required: false
        schema:
          default: false
          description: Returns deleted pipelines.
          title: Deleted
          type: boolean
      - description: The status of the pipelines you want to list.
        in: query
        name: status
        required: false
        schema:
          anyOf:
          - enum:
            - UNDEPLOYED
            - DEPLOYED
            - DEPLOYMENT_IN_PROGRESS
            - UNDEPLOYMENT_IN_PROGRESS
            - DEPLOYMENT_FAILED
            - IDLE
            - ACTIVATING
            type: string
          - type: 'null'
          description: The status of the pipelines you want to list.
          title: Status
      - description: The desired status of the pipelines you want to list.
        in: query
        name: desired_status
        required: false
        schema:
          anyOf:
          - enum:
            - UNDEPLOYED
            - DEPLOYED
            type: string
          - type: 'null'
          description: The desired status of the pipelines you want to list.
          title: Desired Status
      - description: The service level of the pipelines you want to list.
        in: query
        name: service_level
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/PipelineServiceLevelWithDraftEnum'
          - type: 'null'
          description: The service level of the pipelines you want to list.
          title: Service Level
      - description: Returns pipelines that support prompts.
        in: query
        name: supports_prompt
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Returns pipelines that support prompts.
          title: Supports Prompt
      - description: The ID of the index you want to use for filtering.
        in: query
        name: pipeline_index_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: The ID of the index you want to use for filtering.
          title: Pipeline Index Id
      - description: Filter pipelines that have any of the listed tags. Repeat the
          parameter for multiple values, e.g. ?tags=production&tags=support. Matching
          is case-insensitive.
        in: query
        name: tags
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Filter pipelines that have any of the listed tags. Repeat the
            parameter for multiple values, e.g. ?tags=production&tags=support. Matching
            is case-insensitive.
          title: Tags
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`desired_status`</li><li>`desired_status,updated_at`</li><li>`name`</li><li>`service_level`</li><li>`service_level,created_at`</li><li>`service_level,updated_at`</li><li>`updated_at`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: service_level,updated_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`desired_status`</li><li>`desired_status,updated_at`</li><li>`name`</li><li>`service_level`</li><li>`service_level,created_at`</li><li>`service_level,updated_at`</li><li>`updated_at`</li></ul>
          enum:
          - created_at
          - name
          - service_level
          - created_by/user_id
          - created_by/given_name
          - created_by/family_name
          - service_level,created_at
          - updated_at
          - service_level,updated_at
          - desired_status
          - desired_status,updated_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Pipeline_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Pipelines
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    post:
      description: Creates a pipeline YAML file.
      operationId: create_pipeline_api_v1_workspaces__workspace_name__pipelines_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Validates the pipeline without actually storing it.
        in: query
        name: dry_run
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          default: false
          description: Validates the pipeline without actually storing it.
          title: Dry Run
      requestBody:
        content:
          application/json:
            schema:
              $defs:
                DeepsetCloudVersion:
                  enum:
                  - v2
                  title: DeepsetCloudVersion
                  type: string
              $ref: '#/components/schemas/CreatePipeline'
              properties:
                deepset_cloud_version:
                  $ref: '#/components/schemas/DeepsetCloudVersion'
                  default: v2
                  description: The version of deepset the pipeline was created with.
                  title: deepset Version
                indexing_yaml:
                  anyOf:
                  - type: string
                  - type: 'null'
                  description: The deepset pipeline YAML configuration for indexing.
                  title: Indexing YAML
                name:
                  description: Name of the pipeline.
                  title: Pipeline Name
                  type: string
                query_yaml:
                  anyOf:
                  - type: string
                  - type: 'null'
                  description: The deepset pipeline YAML configuration for querying.
                  title: Query YAML
              required:
              - name
              title: CreatePipeline
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineName'
          description: Your pipeline was created.
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineName'
          description: Successful Response
        '402':
          description: You've reached the maximum number of pipelines for your organization.
        '409':
          description: A pipeline with this name is already in your workspace. You
            can't create pipelines with the same names. Give your pipeline a unique
            name and save it.
        '422':
          description: Invalid request body or pipeline configuration.
        '424':
          description: We couldn't find the model used in this pipeline so the pipeline
            wasn't created. Make sure you use an existing model.
      security:
      - HTTPBearer: []
      summary: Create Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/apply-migrations:
    post:
      description: 'Apply detected migrations to a pipeline asynchronously.


        Creates a migration job and dispatches it to a background worker.

        Poll the migrations endpoint to track progress.'
      operationId: apply_pipeline_migrations_api_v1_workspaces__workspace_name__pipelines_apply_migrations_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationJobStatusResponse'
          description: Migration job accepted and queued for processing.
        '409':
          description: A migration is already in progress for this pipeline.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Apply Pipeline Migrations
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/detect-migrations:
    post:
      description: 'Detect possible migrations in a pipeline.


        Call this endpoint after a successful validation to check if the pipeline

        contains components that can be removed/migrated.'
      operationId: detect_pipeline_migrations_api_v1_workspaces__workspace_name__pipelines_detect_migrations_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationDetectionResult'
          description: Detected pipeline migrations.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Detect Pipeline Migrations
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}:
    delete:
      description: Removes a pipeline from deepset within the specified workspace.
      operationId: delete_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__delete
      parameters:
      - description: The name of the pipeline you want to delete.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to delete.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: The pipeline was successfully deleted.
        '404':
          description: The pipeline wasn't found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    get:
      description: Returns a pipeline.
      operationId: get_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    patch:
      description: 'Updates the pipeline name, service level (development or production),
        or status.


        Search users have permission to change pipeline status only.'
      operationId: update_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__patch
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineUpdateRequest'
        required: true
      responses:
        '204':
          description: The pipeline was successfully renamed.
        '400':
          description: The pipeline name is invalid. Make sure the name only contains
            valid characters.
        '403':
          description: You don't have permission to update this pipeline.
        '404':
          description: We couldn't find the pipeline you specified. Make sure the
            name is correct and the pipeline exists in the workspace you specified.
        '409':
          description: Pipeline with the same name already exists, you're trying to
            activate an undeployed pipeline or you're trying to change the pipeline
            service level of an undeployed pipeline.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '424':
          description: We could not activate the pipeline because the linked index
            was not found. Please check if the index exists and is linked to the pipeline.
      security:
      - HTTPBearer: []
      summary: Update Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/activate:
    post:
      description: Activates the pipeline.
      operationId: activate_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__activate_post
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '204':
          description: The pipeline was successfully activated. This may take a couple
            of minutes to take effect.
        '403':
          description: You don't have permission to update this pipeline.
        '404':
          description: We couldn't find the pipeline you specified. Make sure the
            name is correct and the pipeline exists in the workspace you specified.
        '409':
          description: Pipeline with the same name already exists, you're trying to
            activate an undeployed pipeline or you're trying to change the pipeline
            service level of an undeployed pipeline.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '424':
          description: We could not activate the pipeline because the linked index
            was not found. Please check if the index exists and is linked to the pipeline.
      security:
      - HTTPBearer: []
      summary: Activate Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/chat:
    post:
      description: 'Run a chat query against a pipeline and include prior turns from
        a search session as chat history.


        You can provide a search session ID to continue a conversation. If you omit
        it, the endpoint creates a

        pipeline-owned session and returns its ID in the `X-Search-Session-Id` response
        header. You can use the search

        session endpoints to list or create sessions explicitly.'
      operationId: chat_api_v1_workspaces__workspace_name__pipelines__pipeline_name__chat_post
      parameters:
      - description: The name of the pipeline you want to use for search.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to use for search.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatQuery'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResult'
          description: Returns the search results.
        '403':
          description: The shared prototype does not allow runtime parameters.
        '404':
          description: We couldn't find the pipeline. Check if the pipeline name is
            correct, make sure the pipeline exists in the workspace you specified,
            and try again.
        '408':
          description: The request sent to your pipeline timed out.
        '409':
          description: The pipeline was in a conflicted state (for example, it wasn't
            deployed).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '429':
          description: The rate limit for this pipeline has been exceeded. Please
            try again later.
        '503':
          description: The pipeline is temporarily unavailable because of internal
            rebalancing processes. Try again in a few moments.
        '591':
          description: The pipeline was on standby, and is now being activated. Try
            again in a while.
      security:
      - HTTPBearer: []
      summary: Chat
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/chat-stream:
    post:
      description: "Run a chat query against a pipeline, streaming the response as\
        \ Server-Sent Events, using prior turns\nfrom a search session as chat history.\n\
        \nChat pipelines are based on the `chat` template that uses a search session\
        \ to include conversation history\nin the chat. You can specify how many search\
        \ history items (query and answer) from a given search session\nyou want to\
        \ display in the chat.\n\nYou'll need a search session ID to group queries\
        \ into a conversation. If omitted, a new session is\ncreated automatically\
        \ and returned in the `X-Search-Session-Id` response header for reuse in subsequent\n\
        requests. Use the search session endpoints for pipelines to manage search\
        \ sessions.\n\nExample request:\n```json\n{\n    \"query\": \"How does streaming\
        \ work with Haystack Enterprise Platform?\",\n    \"search_session_id\": \"\
        3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n}\n```\n\nOptions:\n- `search_session_id`\
        \ groups queries into a conversation, allowing them to use previous queries\
        \ and answers\nas chat history. If omitted, a new session is created automatically.\
        \ Its ID is returned in the\n`X-Search-Session-Id` response header for reuse\
        \ in subsequent requests.\n- The full result is included as the last stream\
        \ message if `include_result=True`.\n- Tool calls are streamed if `include_tool_calls=True`\
        \ (default `rendered`, converted to markdown text deltas).\n- Tool call results\
        \ are streamed if `include_tool_call_results=True`.\n- Reasoning output is\
        \ streamed if `include_reasoning=True`.\n\nPing events are connection status,\
        \ not answer text. `{\"type\":\"ping\"}` is a heartbeat, while\n`{\"type\"\
        :\"ping\",\"phase\":\"cold_start\"}` tells you that temporary infrastructure\
        \ and pipeline preparation is\nstill running. You can ignore either form.\
        \ After you receive a ping, later failures arrive as one terminal\n`error`\
        \ event over the HTTP 200 stream and are not followed by `done`.\n\nSchema\
        \ of each streamed event, where `delta`, `result`, `tool_call_delta`, `tool_call_result`,\
        \ `reasoning`, `ping`\nand `error` are mutually exclusive:\n\n```\n{\n   \
        \ \"query_id\": UUID,\n    \"type\": Literal[\"delta\", \"result\", \"error\"\
        , \"tool_call_delta\", \"tool_call_result\", \"reasoning\", \"ping\"],\n \
        \   \"delta\": Optional[StreamDelta],\n    \"result\": Optional[DeepsetCloudQueryResponse],\n\
        \    \"error\": Optional[str],\n    \"tool_call_delta\": Optional[ToolCallDelta],\n\
        \    \"tool_call_result\": Optional[ToolCallResult],\n    \"reasoning\": Optional[ReasoningDelta],\n\
        \    \"index\": Optional[int],\n    \"start\": Optional[bool],\n    \"finish_reason\"\
        : Optional[str],\n}\n```\n\nPingEvent format (unlike other events, a ping\
        \ has no `query_id`):\n```\n{\n    \"type\": \"ping\",\n    \"phase\": Optional[str],\n\
        }\n```\n\nStreamDelta format:\n```\n{\n    \"text\": str,\n    \"meta\": Optional[dict[str,\
        \ Any]],\n}\n```\n\nToolCallDelta format:\n```\n{\n    \"index\": int,\n \
        \   \"tool_name\": Optional[str],\n    \"id\": Optional[str],\n    \"arguments\"\
        : Optional[str],\n}\n```\n\nToolCallResult format:\n```\n{\n    \"result\"\
        : str,\n    \"origin\": {\n        \"tool_name\": str,\n        \"arguments\"\
        : dict[str, Any],\n        \"id\": Optional[str],\n    },\n    \"error\":\
        \ bool,\n}\n```\n\nReasoningDelta format:\n```\n{\n    \"reasoning_text\"\
        : str,\n    \"extra\": dict[str, Any],\n}\n```\n\nExample code to consume\
        \ the stream in Python:\n```python\nimport httpx\nimport json\nfrom httpx_sse\
        \ import EventSource\nimport asyncio\n\nTOKEN = \"MY_TOKEN\"\nPIPELINE_URL\
        \ = \"https://api.cloud.deepset.ai/api/v1/workspaces/MY_WORKSPACE/pipelines/MY_PIPELINE\"\
        \n\n\nasync def main():\n    query = {\n        \"query\": \"How does streaming\
        \ work with deepset?\",\n        \"search_session_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\
        ,  # optional: omit it to have deepset create one\n        \"include_tool_calls\"\
        : True,\n        \"include_tool_call_results\": True,\n    }\n    headers\
        \ = {\n        \"Authorization\": f\"Bearer {TOKEN}\"\n    }\n    async with\
        \ httpx.AsyncClient(base_url=PIPELINE_URL, headers=headers, timeout=httpx.Timeout(300.0))\
        \ as client:\n        async with client.stream(\"POST\", \"/chat-stream\"\
        , json=query) as response:\n            # Check if the response is successful\n\
        \            if response.status_code != 200:\n                await response.aread()\n\
        \                print(f\"An error occurred with status code: {response.status_code}\"\
        )\n                print(response.json()[\"errors\"][0])\n               \
        \ return\n\n            # Optionally save this to pass back as search_session_id\
        \ on the next turn of the conversation.\n            search_session_id = response.headers[\"\
        X-Search-Session-Id\"]\n\n            event_source = EventSource(response)\n\
        \            # Stream the response\n            async for event in event_source.aiter_sse():\n\
        \                event_data = json.loads(event.data)\n                chunk_type\
        \ = event_data[\"type\"]\n                # Check the type of the chunk and\
        \ print the data accordingly\n                match chunk_type:\n        \
        \            # Delta chunk contains the next text chunk of the answer\n  \
        \                  case \"delta\":\n                        delta = event_data[\"\
        delta\"]\n                        if event_data.get(\"start\"):\n        \
        \                    print(f\"\\n\\nAnswer: \", flush=True, end=\"\")\n  \
        \                      token: str = delta[\"text\"]\n                    \
        \    print(token, flush=True, end=\"\\n\" if event_data.get(\"finish_reason\"\
        ) else \"\")\n                    # Result chunk contains the final pipeline\
        \ result\n                    case \"result\":\n                        print(\"\
        \\n\\nPipeline result: \")\n                        print(json.dumps(event_data[\"\
        result\"]))\n                    # Error chunk contains the error message\n\
        \                    case \"error\":\n                        print(\"\\n\\\
        nAn error occurred while streaming:\")\n                        print(event_data[\"\
        error\"])\n                    # Ping chunks are connection status, not answer\
        \ text, and can be ignored\n                    case \"ping\":\n         \
        \               continue\n                    case \"tool_call_delta\":\n\
        \                        tool_call_delta = event_data[\"tool_call_delta\"\
        ]\n                        if tool_call_delta[\"tool_name\"]:\n          \
        \                  tool_id = tool_call_delta[\"id\"]\n                   \
        \         tool_name = tool_call_delta[\"tool_name\"]\n                   \
        \         print(f\"\\n\\nTool call {tool_id} started {tool_name} with arguments:\
        \ \")\n                        elif tool_call_delta[\"arguments\"]:\n    \
        \                        print(tool_call_delta[\"arguments\"], flush=True,\
        \ end=\"\")\n                    case \"tool_call_result\":\n            \
        \            tool_call_result = event_data[\"tool_call_result\"]\n       \
        \                 tool_id = tool_call_result[\"origin\"][\"id\"]\n       \
        \                 tool_name = tool_call_result[\"origin\"][\"tool_name\"]\n\
        \                        if tool_call_result[\"error\"]:\n               \
        \             print(f\"\\n\\nTool call {tool_name} with id {tool_id} failed.\"\
        )\n                        else:\n                            print(f\"\\\
        n\\nTool call {tool_name} with id {tool_id} result:\")\n                 \
        \           print(tool_call_result[\"result\"])\n                    case\
        \ \"reasoning\":\n                        reasoning = event_data[\"reasoning\"\
        ]\n                        if event_data.get(\"start\"):\n               \
        \             print(f\"\\n\\nReasoning: \")\n                        print(f\"\
        {reasoning['reasoning_text']}\", flush=True, end=\"\")\n\n\nasyncio.run(main())\n\
        ```"
      operationId: chat_stream_api_v1_workspaces__workspace_name__pipelines__pipeline_name__chat_stream_post
      parameters:
      - description: The name of the pipeline you want to use for search.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to use for search.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Set to `off` to suppress the `: keep-alive` comment lines that
          the stream sends while it waits for pipeline output. Set to `on` or omit
          the header to keep them.'
        in: header
        name: X-Deepset-Stream-Keepalive
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Set to `off` to suppress the `: keep-alive` comment lines
            that the stream sends while it waits for pipeline output. Set to `on`
            or omit the header to keep them.'
          title: X-Deepset-Stream-Keepalive
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatStreamingQuery'
        required: true
      responses:
        '200':
          content:
            text/event-stream:
              schema:
                $ref: '#/components/schemas/SearchStream'
          description: Returns the search results.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The stream keep-alive header carries a value other than `on`
            or `off`. Correct the value and send the request again.
        '403':
          description: The shared prototype does not allow runtime parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: We couldn't find the pipeline. Check if the pipeline name is
            correct, make sure the pipeline exists in the workspace you specified,
            and try again.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The pipeline was in a conflicted state (for example, it wasn't
            deployed).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The rate limit for this pipeline has been exceeded. Please
            try again later.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The pipeline is temporarily unavailable because of internal
            rebalancing processes. Try again in a few moments.
        '591':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The pipeline was on standby, and is now being activated. Try
            again in a while.
      security:
      - HTTPBearer: []
      summary: Chat Stream
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/default:
    post:
      description: Sets a pipeline as the default pipeline for search.
      operationId: set_default_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__default_post
      parameters:
      - description: The name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Default Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/deploy:
    post:
      description: Deploys a pipeline in deepset.
      operationId: deploy_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__deploy_post
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeploymentConfiguration'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
          description: Successful Response
        '400':
          description: The pipeline configuration is incorrect or the pipeline references
            disabled indexes. Ensure the pipeline configuration is valid and and all
            the connected indexes are enabled.
        '404':
          description: The pipeline with name '{pipeline_name}' could not be found.
            Try specifying a different pipeline.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Deploy Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/issues:
    get:
      description: Fetches pipeline runtime issues from pipeline logs.
      operationId: get_pipeline_issues_api_v1_workspaces__workspace_name__pipelines__pipeline_name__issues_get
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineIssues'
          description: Recent issues that occurred during running a pipeline.
        '404':
          description: The pipeline doesn't exist in the workspace or pipeline logs
            could not be found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '504':
          description: Fetching logs from OpenSearch timed out. Try again later.
      security:
      - HTTPBearer: []
      summary: Get Pipeline Issues
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/logs:
    get:
      description: Fetches pipeline logs as JSON or CSV.
      operationId: get_pipeline_logs_api_v1_workspaces__workspace_name__pipelines__pipeline_name__logs_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - in: query
        name: limit
        required: false
        schema:
          default: 10
          maximum: 100
          title: Limit
          type: integer
      - in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          title: After
      - in: query
        name: order
        required: false
        schema:
          $ref: '#/components/schemas/SortingOrderEnum'
          default: DESC
      - description: Type 'text/csv' to download the logs as a CSV file or 'application/json'
          to get the logs as JSONs.
        in: header
        name: accept
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: application/json
          description: Type 'text/csv' to download the logs as a CSV file or 'application/json'
            to get the logs as JSONs.
          title: Format
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/PaginatedResult_PipelineLog_'
                - type: string
                - $ref: '#/components/schemas/PaginatedResult_PipelineLog_'
                - type: string
                title: Response 200 Get Pipeline Logs Api V1 Workspaces  Workspace
                  Name  Pipelines  Pipeline Name  Logs Get
          description: List log messages for the given pipeline.
        '400':
          description: The filters you provided are invalid. Check the filters and
            try again.
        '404':
          description: The given pipeline does not exist or does not have logs. [List
            the deployed pipelines](https://docs.cloud.deepset.ai/reference/list_pipelines_api_v1_workspaces__workspace_name__pipelines_get)
            to get a list of valid pipeline names.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '504':
          description: Fetching logs timed out. Try again later.
      security:
      - HTTPBearer: []
      summary: Get Pipeline Logs
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/meta:
    get:
      description: 'Returns the metadata keys and their types for a pipeline''s connected
        index.

        For multi-index pipelines, the first found index''s metadata is returned.'
      operationId: get_pipeline_index_metadata_types_api_v1_workspaces__workspace_name__pipelines__pipeline_name__meta_get
      parameters:
      - description: The name of the pipeline whose files you want to display.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline whose files you want to display.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Whether to return information about nested metadata fields.
        in: query
        name: return_nested
        required: false
        schema:
          default: false
          description: Whether to return information about nested metadata fields.
          title: Return nested
          type: boolean
      - in: query
        name: pipeline_version_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Pipeline Version Id
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties:
                  $ref: '#/components/schemas/PipelineIndexMetadataProperty'
                title: Response 200 Get Pipeline Index Metadata Types Api V1 Workspaces  Workspace
                  Name  Pipelines  Pipeline Name  Meta Get
                type: object
          description: Metadata for the pipeline's index.
        '404':
          description: The pipeline you specified doesn't exist in this workspace.
            Check if the pipeline name is correct.
        '412':
          description: This pipeline's index doesn't exist or isn't enabled. Ensure
            the index connected to this pipeline exists and is enabled.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Index Metadata Types
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/meta/{field_name}:
    get:
      description: 'Returns metadata field values for a specified key across all files
        of a pipeline''s connected index.


        Specify the metadata field key and the pipeline and workspace names to retrieve
        the corresponding values for

        each file.

        For multi-index pipelines, the first found index''s metadata is searched.'
      operationId: get_pipeline_metadata_field_values_api_v1_workspaces__workspace_name__pipelines__pipeline_name__meta__field_name__get
      parameters:
      - description: The name of the pipeline whose metadata field values you want
          to display.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline whose metadata field values you want
            to display.
          title: Pipeline Name
          type: string
      - description: The name of the metadata field to search in. Use dot notation
          to search nested fields.
        in: path
        name: field_name
        required: true
        schema:
          description: The name of the metadata field to search in. Use dot notation
            to search nested fields.
          title: Field Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The query you want to use to search through metadata. You can
          use wildcards in the query, for example, '*query*' to list all values which
          contain the term 'query'.
        in: query
        name: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The query you want to use to search through metadata. You can
            use wildcards in the query, for example, '*query*' to list all values
            which contain the term 'query'.
          title: Query
      - in: query
        name: pipeline_version_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Pipeline Version Id
      - description: How many entries do you want to display?
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: How many entries do you want to display?
          maximum: 100
          title: Limit
          type: integer
      - description: Enter the offset for the pagination. Note that the results are
          0-indexed which means that with 'after=0', you will skip the first element.
        in: query
        name: after
        required: false
        schema:
          default: -1
          description: Enter the offset for the pagination. Note that the results
            are 0-indexed which means that with 'after=0', you will skip the first
            element.
          title: After
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineFieldSearchResult'
          description: Metadata for the pipeline's index.
        '400':
          description: We couldn't find the metadata field possibly because it doesn't
            support text search.Use the 'GET '/workspaces/{workspace_name}/pipelines/{pipeline_name}/meta'
            endpoint to to check if this field supports text search.
        '404':
          description: The pipeline you specified doesn't exist in this workspace.
            Check if the pipeline name is correct.
        '412':
          description: This pipeline's index doesn't exist or isn't enabled. Ensure
            the index connected to this pipeline exists and is enabled.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Metadata Field Values
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/meta/{meta_field}/aggregation:
    get:
      description: Returns the minimum and maximum values of a metadata field for
        the connected index of a given pipeline.
      operationId: get_pipeline_min_max_aggregation_metadata_api_v1_workspaces__workspace_name__pipelines__pipeline_name__meta__meta_field__aggregation_get
      parameters:
      - description: The name of the pipeline whose files you want to display.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline whose files you want to display.
          title: Pipeline Name
          type: string
      - description: The name of the metadata field to get the min and max values
          for.
        in: path
        name: meta_field
        required: true
        schema:
          description: The name of the metadata field to get the min and max values
            for.
          title: Meta Field
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - in: query
        name: pipeline_version_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          title: Pipeline Version Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineMetadataAggregation'
          description: Min and max value aggregation of the meta_field
        '400':
          description: The metadata field '{meta_field}' doesn't exist or doesn't
            support aggregation.
        '404':
          description: The pipeline you specified doesn't exist in this workspace.
            Check if the pipeline name is correct.
        '412':
          description: This pipeline hasn't been deployed and indexed yet. Deploy
            this pipeline to fetch the metadata.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Min Max Aggregation Metadata
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/migrations:
    get:
      description: Return all migration jobs for a pipeline, optionally filtered by
        status.
      operationId: list_migrations_api_v1_workspaces__workspace_name__pipelines__pipeline_name__migrations_get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Comma-separated list of statuses to filter by (e.g. PENDING,IN_PROGRESS).
        in: query
        name: status
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma-separated list of statuses to filter by (e.g. PENDING,IN_PROGRESS).
          title: Status
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/MigrationJobStatusResponse'
                title: Response List Migrations Api V1 Workspaces  Workspace Name  Pipelines  Pipeline
                  Name  Migrations Get
                type: array
          description: List of migration jobs for the pipeline.
        '404':
          description: Pipeline not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Migrations
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/migrations/{job_id}:
    get:
      description: Return a specific migration job by its ID.
      operationId: get_migration_by_id_api_v1_workspaces__workspace_name__pipelines__pipeline_name__migrations__job_id__get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: The ID of the migration job.
        in: path
        name: job_id
        required: true
        schema:
          description: The ID of the migration job.
          format: uuid
          title: Job Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationJobStatusResponse'
          description: The migration job details.
        '404':
          description: Migration job or pipeline not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Migration By Id
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/prompt:
    get:
      description: Returns the prompt of the pipeline.
      operationId: get_prompt_api_v1_workspaces__workspace_name__pipelines__pipeline_name__prompt_get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Convert Haystack special tokens like `{new_line}` in prompt.
        in: query
        name: convert_special_tokens
        required: false
        schema:
          default: false
          description: Convert Haystack special tokens like `{new_line}` in prompt.
          title: Convert Special Tokens
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelinePrompt'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Prompt
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/prompts:
    get:
      description: Returns the prompts of the pipeline as a dictionary of prompt node
        names and their respective prompts.
      operationId: get_prompts_api_v1_workspaces__workspace_name__pipelines__pipeline_name__prompts_get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Convert Haystack special tokens like `{new_line}` in prompt.
        in: query
        name: convert_special_tokens
        required: false
        schema:
          default: false
          description: Convert Haystack special tokens like `{new_line}` in prompt.
          title: Convert Special Tokens
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelinePrompts'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Prompts
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/search:
    post:
      description: 'Run a search query using a deployed pipeline. Use this endpoint
        for generative,

        extractive, and document search pipelines. For chat pipelines, use the Chat
        endpoint.'
      operationId: search_api_v1_workspaces__workspace_name__pipelines__pipeline_name__search_post
      parameters:
      - description: The name of the pipeline you want to use for search.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to use for search.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineQuery'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResult'
          description: Returns the search results.
        '400':
          description: Invalid search response format received from the pipeline.
        '403':
          description: The shared prototype does not allow runtime parameters.
        '404':
          description: We couldn't find the pipeline. Check if the pipeline name is
            correct, make sure the pipeline exists in the workspace you specified,
            and try again.
        '408':
          description: The request sent to your pipeline timed out.
        '409':
          description: The pipeline was in a conflicted state (for example, it wasn't
            deployed).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '429':
          description: The rate limit for this pipeline has been exceeded. Please
            try again later.
        '500':
          description: An internal error occurred while querying the pipeline.
        '503':
          description: The pipeline is temporarily unavailable because of internal
            rebalancing processes. Try again in a few moments.
        '591':
          description: The pipeline was on standby, and is now being activated. Try
            again in a while.
      security:
      - HTTPBearer: []
      summary: Search
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/search-stream:
    post:
      description: "Run a search using a pipeline and return the answer as stream.\n\
        \nOptions:\n- The full result can be accessed as the last stream message if\
        \ `include_result=True`.\n- Tool calls are streamed if `include_tool_calls=True`.\
        \ Defaults to `rendered` where tool calls are converted to\nmarkdown text\
        \ deltas.\n- Tool call results are streamed if `include_tool_call_result=True`.\n\
        - Reasoning output is streamed if `include_reasoning=True`.\n\nPing events\
        \ are connection status, not answer text. `{\"type\":\"ping\"}` is a heartbeat,\
        \ while\n`{\"type\":\"ping\",\"phase\":\"cold_start\"}` tells you that temporary\
        \ infrastructure and pipeline preparation is\nstill running. You can ignore\
        \ either form. After you receive a ping, later failures arrive as one terminal\n\
        `error` event over the HTTP 200 stream and are not followed by `done`.\n\n\
        Event data format where `delta`, `result`, `tool_call_delta`, `tool_call_result`,\
        \ `reasoning`, `ping` and `error`\nare mutually exclusive:\n```\n{\n    \"\
        query_id\": UUID,\n    \"type\": Literal[\"delta\", \"result\", \"error\"\
        , \"tool_call_delta\", \"tool_call_result\", \"reasoning\", \"ping\"],\n \
        \   \"delta\": Optional[StreamDelta],\n    \"result\": Optional[DeepsetCloudQueryResponse],\n\
        \    \"error\": Optional[str],\n    \"tool_call_delta\": Optional[ToolCallDelta],\n\
        \    \"tool_call_result\": Optional[ToolCallResult],\n    \"reasoning\": Optional[ReasoningDelta],\n\
        \    \"index\": Optional[int],\n    \"start\": Optional[bool],\n    \"finish_reason\"\
        : Optional[str],\n}\n```\n\nPingEvent format (unlike other events, a ping\
        \ has no `query_id`):\n```\n{\n    \"type\": \"ping\",\n    \"phase\": Optional[str],\n\
        }\n```\n\nStreamDelta format:\n```\n{\n    \"text\": str,\n    \"meta\": Optional[dict[str,\
        \ Any]],\n}\n```\n\nToolCallDelta format:\n```\n{\n    \"index\": int,\n \
        \   \"tool_name\": Optional[str],\n    \"id\": Optional[str],\n    \"arguments\"\
        : Optional[str],\n}\n```\n\nToolCallResult format:\n```\n{\n    \"result\"\
        : str,\n    \"origin\": {\n        \"tool_name\": str,\n        \"arguments\"\
        : dict[str, Any],\n        \"id\": Optional[str],\n    },\n    \"error\":\
        \ bool,\n}\n```\n\nReasoningDelta format:\n```\n{\n    \"reasoning_text\"\
        : str,\n    \"extra\": dict[str, Any],\n}\n```\n\nExample code to consume\
        \ the stream in Python:\n```python\nimport httpx\nimport json\nfrom httpx_sse\
        \ import EventSource\nimport asyncio\n\nTOKEN = \"MY_TOKEN\"\nPIPELINE_URL\
        \ = \"https://api.cloud.deepset.ai/api/v1/workspaces/MY_WORKSPACE/pipelines/MY_PIPELINE\"\
        \n\n\nasync def main():\n    query = {\n        \"query\": \"How does streaming\
        \ work with deepset?\",\n        \"include_result\": True,\n        \"include_tool_calls\"\
        : True,\n        \"include_tool_call_results\": True,\n    }\n    headers\
        \ = {\n        \"Authorization\": f\"Bearer {TOKEN}\"\n    }\n    async with\
        \ httpx.AsyncClient(base_url=PIPELINE_URL, headers=headers, timeout=httpx.Timeout(300.0))\
        \ as client:\n        async with client.stream(\"POST\", \"/search-stream\"\
        , json=query) as response:\n            # Check if the response is successful\n\
        \            if response.status_code != 200:\n                await response.aread()\n\
        \                print(f\"An error occurred with status code: {response.status_code}\"\
        )\n                print(response.json()[\"errors\"][0])\n               \
        \ return\n\n            event_source = EventSource(response)\n           \
        \ # Stream the response\n            async for event in event_source.aiter_sse():\n\
        \                event_data = json.loads(event.data)\n                chunk_type\
        \ = event_data[\"type\"]\n                # Check the type of the chunk and\
        \ print the data accordingly\n                match chunk_type:\n        \
        \            # Delta chunk contains the next text chunk of the answer\n  \
        \                  case \"delta\":\n                        delta = event_data[\"\
        delta\"]\n                        if event_data.get(\"start\"):\n        \
        \                    print(f\"\\n\\nAnswer: \", flush=True, end=\"\")\n  \
        \                      token: str = delta[\"text\"]\n                    \
        \    print(token, flush=True, end=\"\\n\" if event_data.get(\"finish_reason\"\
        ) else \"\")\n                    # Result chunk contains the final pipeline\
        \ result\n                    case \"result\":\n                        print(\"\
        \\n\\nPipeline result: \")\n                        print(json.dumps(event_data[\"\
        result\"]))\n                    # Error chunk contains the error message\n\
        \                    case \"error\":\n                        print(\"\\n\\\
        nAn error occurred while streaming:\")\n                        print(event_data[\"\
        error\"])\n                    # Ping chunks are connection status, not answer\
        \ text, and can be ignored\n                    case \"ping\":\n         \
        \               continue\n                    case \"tool_call_delta\":\n\
        \                        tool_call_delta = event_data[\"tool_call_delta\"\
        ]\n                        if tool_call_delta[\"tool_name\"]:\n          \
        \                  tool_id = tool_call_delta[\"id\"]\n                   \
        \         tool_name = tool_call_delta[\"tool_name\"]\n                   \
        \         print(f\"\\n\\nTool call {tool_id} started {tool_name} with arguments:\
        \ \")\n                        elif tool_call_delta[\"arguments\"]:\n    \
        \                        print(tool_call_delta[\"arguments\"], flush=True,\
        \ end=\"\")\n                    case \"tool_call_result\":\n            \
        \            tool_call_result = event_data[\"tool_call_result\"]\n       \
        \                 tool_id = tool_call_result[\"origin\"][\"id\"]\n       \
        \                 tool_name = tool_call_result[\"origin\"][\"tool_name\"]\n\
        \                        if tool_call_result[\"error\"]:\n               \
        \             print(f\"\\n\\nTool call {tool_name} with id {tool_id} failed.\"\
        )\n                        else:\n                            print(f\"\\\
        n\\nTool call {tool_name} with id {tool_id} result:\")\n                 \
        \           print(tool_call_result[\"result\"])\n                    case\
        \ \"reasoning\":\n                        reasoning = event_data[\"reasoning\"\
        ]\n                        if event_data.get(\"start\"):\n               \
        \             print(f\"\\n\\nReasoning: \")\n                        print(f\"\
        {reasoning['reasoning_text']}\", flush=True, end=\"\")\n\n\nasyncio.run(main())\n\
        ```"
      operationId: search_stream_api_v1_workspaces__workspace_name__pipelines__pipeline_name__search_stream_post
      parameters:
      - description: The name of the pipeline you want to use for search.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to use for search.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Set to `off` to suppress the `: keep-alive` comment lines that
          the stream sends while it waits for pipeline output. Set to `on` or omit
          the header to keep them.'
        in: header
        name: X-Deepset-Stream-Keepalive
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Set to `off` to suppress the `: keep-alive` comment lines
            that the stream sends while it waits for pipeline output. Set to `on`
            or omit the header to keep them.'
          title: X-Deepset-Stream-Keepalive
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StreamingQuery'
        required: true
      responses:
        '200':
          content:
            text/event-stream:
              schema:
                $ref: '#/components/schemas/SearchStream'
          description: Returns the search results.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The stream keep-alive header carries a value other than `on`
            or `off`. Correct the value and send the request again.
        '403':
          description: The shared prototype does not allow runtime parameters.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: We couldn't find the pipeline. Check if the pipeline name is
            correct, make sure the pipeline exists in the workspace you specified,
            and try again.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The pipeline was in a conflicted state (for example, it wasn't
            deployed).
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The rate limit for this pipeline has been exceeded. Please
            try again later.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The pipeline is temporarily unavailable because of internal
            rebalancing processes. Try again in a few moments.
        '591':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DefaultErrorResponse'
          description: The pipeline was on standby, and is now being activated. Try
            again in a while.
      security:
      - HTTPBearer: []
      summary: Search Stream
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/search_history:
    get:
      description: "Returns the search history for a pipeline, which includes information\
        \ such as the query, the answer,\nthe pipeline used, and more. Supports pagination,\
        \ filtering, and sorting.\n\nTwo pagination methods are supported:\n- **Cursor-based**\
        \ (recommended): follow the `next` cursor returned in each response by passing\
        \ it\n  back as the `cursor` query parameter. This is the only way to page\
        \ beyond the backing store's\n  result-window limit (10,000 records).\n- **Offset-based**:\
        \ use `offset` (or the legacy `after` integer). Cannot page past the result-window\n\
        \  limit; kept for backward compatibility."
      operationId: pipeline_search_history_api_v1_workspaces__workspace_name__pipelines__pipeline_name__search_history_get
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: If set to true, only returns search history from the recent cache
          (2 days), which speeds up the API call.
        in: query
        name: recent
        required: false
        schema:
          default: false
          description: If set to true, only returns search history from the recent
            cache (2 days), which speeds up the API call.
          title: Recent
          type: boolean
      - description: 'Groups sequential records by the specified field so that records
          sharing the same value appear consecutively. Supported values: `QUERY`,
          `PIPELINE`, `SESSION_ID`, `USER`, `FEEDBACK_SCORE`, `FEEDBACK_RATING`, `BOOKMARKED`,
          `API_KEY`, `ANSWER`.'
        in: query
        name: group_by
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SearchHistoryGroupByField'
          - type: 'null'
          description: 'Groups sequential records by the specified field so that records
            sharing the same value appear consecutively. Supported values: `QUERY`,
            `PIPELINE`, `SESSION_ID`, `USER`, `FEEDBACK_SCORE`, `FEEDBACK_RATING`,
            `BOOKMARKED`, `API_KEY`, `ANSWER`.'
          title: Group By
      - description: How many entries do you want to display?
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: How many entries do you want to display?
          maximum: 1000
          title: Limit
          type: integer
      - description: Enter the offset for the pagination. Note that the results are
          0-indexed which means that with 'offset=0', you will skip the first element.
        in: query
        name: offset
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Enter the offset for the pagination. Note that the results
            are 0-indexed which means that with 'offset=0', you will skip the first
            element.
          title: Offset
      - description: Opaque cursor from previous response for cursor-based pagination.
        in: query
        name: cursor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Opaque cursor from previous response for cursor-based pagination.
          title: Cursor
      - description: Enter the URL-encoded datetime in ISO format if you want to see
          all entries after this datetime.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - type: integer
          - format: date-time
            type: string
          - type: 'null'
          description: Enter the URL-encoded datetime in ISO format if you want to
            see all entries after this datetime.
          title: After
      - description: The OpenSearch document ID from the last item on the previous
          page. Used as a tie-breaker when multiple entries have the same timestamp.
          This parameter is optional but recommended for consistent pagination when
          entries share timestamps.
        in: query
        name: after_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The OpenSearch document ID from the last item on the previous
            page. Used as a tie-breaker when multiple entries have the same timestamp.
            This parameter is optional but recommended for consistent pagination when
            entries share timestamps.
          title: After Id
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
          filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
            filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`duration`</li><li>`feedbacks/score`</li><li>`query`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`duration`</li><li>`feedbacks/score`</li><li>`query`</li></ul>
          enum:
          - created_at
          - query
          - duration
          - feedbacks/score
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPaginatedResult_SearchHistory_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Pipeline Search History
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/search_history_archive:
    get:
      description: 'Retrieves pipeline''s complete search history sorted by the most
        recent items first.


        Pipeline''s search history is only available 30 minutes after completing a
        search request.

        To retrieve recent search history, use the

        [Pipeline Search History](https://docs.cloud.deepset.ai/reference/pipeline_search_history_api_v1_workspaces__workspace_name__pipelines__pipeline_name__search_history_get)

        endpoint.'
      operationId: pipeline_search_history_archive_api_v1_workspaces__workspace_name__pipelines__pipeline_name__search_history_archive_get
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Groups sequential records by the specified field so that records
          sharing the same value appear consecutively. Supported values: `QUERY`,
          `PIPELINE`, `SESSION_ID`, `USER`, `FEEDBACK_SCORE`, `FEEDBACK_RATING`, `BOOKMARKED`,
          `API_KEY`, `ANSWER`.'
        in: query
        name: group_by
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SearchHistoryGroupByField'
          - type: 'null'
          description: 'Groups sequential records by the specified field so that records
            sharing the same value appear consecutively. Supported values: `QUERY`,
            `PIPELINE`, `SESSION_ID`, `USER`, `FEEDBACK_SCORE`, `FEEDBACK_RATING`,
            `BOOKMARKED`, `API_KEY`, `ANSWER`.'
          title: Group By
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 1000
          title: Limit
          type: integer
      - description: Opaque pagination cursor from the previous response. Use this
          for reliable pagination with any sort order. If provided, 'after' and 'after_id'
          are ignored.
        in: query
        name: cursor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Opaque pagination cursor from the previous response. Use this
            for reliable pagination with any sort order. If provided, 'after' and
            'after_id' are ignored.
          title: Cursor
      - description: Enter the URL-encoded datetime in ISO format if you want to see
          all entries after this datetime.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Enter the URL-encoded datetime in ISO format if you want to
            see all entries after this datetime.
          title: After
      - description: The OpenSearch document ID from the last item on the previous
          page. Used as a tie-breaker when multiple entries have the same timestamp.
          This parameter is optional but recommended for consistent pagination when
          entries share timestamps.
        in: query
        name: after_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The OpenSearch document ID from the last item on the previous
            page. Used as a tie-breaker when multiple entries have the same timestamp.
            This parameter is optional but recommended for consistent pagination when
            entries share timestamps.
          title: After Id
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
          filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
            filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`duration`</li><li>`feedbacks/score`</li><li>`query`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`duration`</li><li>`feedbacks/score`</li><li>`query`</li></ul>
          enum:
          - created_at
          - query
          - duration
          - feedbacks/score
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPaginatedResult_SearchHistory_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Pipeline Search History Archive
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/stats:
    get:
      description: Returns pipeline statistics.
      operationId: get_pipeline_stats_api_v1_workspaces__workspace_name__pipelines__pipeline_name__stats_get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineStatistics'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Stats
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/tags:
    post:
      description: 'Add a tag to a pipeline.


        Tag names must be 1-50 characters and may contain letters, digits, spaces,
        underscores,

        and hyphens. Duplicate tags are rejected case-insensitively. Each pipeline
        supports at

        most three tags. Returns the pipeline''s full tag list after the add.'
      operationId: add_pipeline_tag_api_v1_workspaces__workspace_name__pipelines__pipeline_name__tags_post
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineTagAdd'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                title: Response Add Pipeline Tag Api V1 Workspaces  Workspace Name  Pipelines  Pipeline
                  Name  Tags Post
                type: array
          description: Successful Response
        '404':
          description: We couldn't find the pipeline you specified. Make sure the
            name is correct and the pipeline exists in the workspace you specified.
        '409':
          description: Tag limit reached or tag already exists on the pipeline.
        '422':
          description: Invalid tag name.
      security:
      - HTTPBearer: []
      summary: Add Pipeline Tag
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/tags/{tag_name}:
    delete:
      description: 'Remove a tag from a pipeline.


        Tag matching is case-insensitive. Returns the pipeline''s full tag list after
        removal.

        Returns 404 if the pipeline or tag is not found.'
      operationId: delete_pipeline_tag_api_v1_workspaces__workspace_name__pipelines__pipeline_name__tags__tag_name__delete
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - in: path
        name: tag_name
        required: true
        schema:
          title: Tag Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  type: string
                title: Response Delete Pipeline Tag Api V1 Workspaces  Workspace Name  Pipelines  Pipeline
                  Name  Tags  Tag Name  Delete
                type: array
          description: Successful Response
        '404':
          description: We couldn't find the pipeline you specified, or the tag is
            not attached to the pipeline.
        '422':
          description: Invalid tag name.
      security:
      - HTTPBearer: []
      summary: Delete Pipeline Tag
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/undeploy:
    post:
      description: Undeploys a pipeline in deepset. Undeployed pipelines cannot be
        used for search.
      operationId: undeploy_pipeline_api_v1_workspaces__workspace_name__pipelines__pipeline_name__undeploy_post
      parameters:
      - description: The name of the pipeline you want to undeploy.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to undeploy.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Undeploy Pipeline
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/versions:
    get:
      operationId: list_query_pipeline_versions_api_v1_workspaces__workspace_name__pipelines__pipeline_name__versions_get
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`version_number`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: version_number
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`created_by/user_id`</li><li>`version_number`</li></ul>
          enum:
          - created_at
          - version_number
          - created_by/user_id
          - created_by/given_name
          - created_by/family_name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_QueryPipelineVersion_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Query Pipeline Versions
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    post:
      operationId: create_query_pipeline_version_api_v1_workspaces__workspace_name__pipelines__pipeline_name__versions_post
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryPipelineVersionCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryPipelineVersion'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Query Pipeline Version
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/versions/{version_id}:
    get:
      operationId: get_query_pipeline_version_api_v1_workspaces__workspace_name__pipelines__pipeline_name__versions__version_id__get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The ID of the pipeline version.
        in: path
        name: version_id
        required: true
        schema:
          description: The ID of the pipeline version.
          format: uuid
          title: Version ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryPipelineVersion'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Query Pipeline Version
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    patch:
      operationId: patch_query_pipeline_version_api_v1_workspaces__workspace_name__pipelines__pipeline_name__versions__version_id__patch
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The ID of the pipeline version.
        in: path
        name: version_id
        required: true
        schema:
          description: The ID of the pipeline version.
          format: uuid
          title: Version ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryPipelineVersionPatchRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryPipelineVersion'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Patch Query Pipeline Version
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/versions/{version_id}/restore:
    post:
      operationId: restore_pipeline_version_api_v1_workspaces__workspace_name__pipelines__pipeline_name__versions__version_id__restore_post
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The ID of the pipeline version.
        in: path
        name: version_id
        required: true
        schema:
          description: The ID of the pipeline version.
          format: uuid
          title: Version ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryPipelineVersion'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Restore Pipeline Version
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/versions/{version_id}/visualization:
    get:
      operationId: get_query_pipeline_version_visualization_api_v1_workspaces__workspace_name__pipelines__pipeline_name__versions__version_id__visualization_get
      parameters:
      - description: The name of the pipeline you want to fetch.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: The name of the pipeline you want to fetch.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The ID of the pipeline version.
        in: path
        name: version_id
        required: true
        schema:
          description: The ID of the pipeline version.
          format: uuid
          title: Version ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineVisualizationMetadata'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Query Pipeline Version Visualization
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/visualization:
    get:
      operationId: get_pipeline_visualization_api_v1_workspaces__workspace_name__pipelines__pipeline_name__visualization_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineVisualizationMetadata'
          description: The visualization metadata of the pipeline.
        '404':
          description: The specified pipeline could not be found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Visualization
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    put:
      operationId: update_pipeline_visualization_api_v1_workspaces__workspace_name__pipelines__pipeline_name__visualization_put
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PipelineVisualizationMetadata'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineVisualizationMetadata'
          description: The updated visualization metadata of the pipeline.
        '404':
          description: The specified pipeline could not be found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Pipeline Visualization
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/pipelines/{pipeline_name}/yaml:
    get:
      description: Displays the pipeline YAML configurations.
      operationId: get_pipeline_yaml_configs_api_v1_workspaces__workspace_name__pipelines__pipeline_name__yaml_get
      parameters:
      - description: Specifies the name of the pipeline whose YAML you want to display.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Specifies the name of the pipeline whose YAML you want to display.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineYAMLConfiguration'
          description: Returns the pipeline as YAML.
        '404':
          description: A pipeline with this name wasn't found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Yaml Configs
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
    put:
      deprecated: true
      description: '**Deprecated.** Updates the pipeline YAML file.


        This endpoint is deprecated and will be removed in a future release.

        To update a pipeline, use the pipeline versions API instead:

        fetch the latest version, create a new version if the latest is not a draft,

        then patch it via `PATCH /workspaces/{workspace_name}/pipelines/{pipeline_name}/versions/{version_id}`.'
      operationId: update_pipeline_yaml_api_v1_workspaces__workspace_name__pipelines__pipeline_name__yaml_put
      parameters:
      - description: Name of the pipeline.
        in: path
        name: pipeline_name
        required: true
        schema:
          description: Name of the pipeline.
          title: Pipeline Name
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePipelineYAMLRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineName'
          description: The pipeline was successfully updated.
        '400':
          description: The pipeline was not updated because the pipeline configurations
            isn't valid.
        '403':
          description: You don't have permission to update this pipeline.
        '404':
          description: We couldn't find the pipeline you specified. Make sure the
            name is correct and the pipeline exists in the workspace you specified.
        '409':
          description: The pipeline was not updated because you can't update a deployed
            indexing pipeline.
        '422':
          description: The pipeline was not updated because the pipeline yaml can't
            be processed.
        '424':
          description: The pipeline was not updated because the request data is invalid.
      security:
      - HTTPBearer: []
      summary: Update Pipeline Yaml
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/prompt_templates:
    get:
      description: Retrieves the list of prompt templates for the given workspace.
      operationId: list_prompt_templates_api_v1_workspaces__workspace_name__prompt_templates_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li></ul>
          enum:
          - name
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Union_PromptTemplate__PromptTemplateSelectResult__'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Prompt Templates
      tags:
      - prompts
      x-deepset-permissions:
        action: read
        asset: prompts
        asset_description: Access to prompt details
        type: workspace
    post:
      description: Creates a prompt template. The template is saved under custom templates
        in Prompt Studio.
      operationId: create_prompt_template_api_v1_workspaces__workspace_name__prompt_templates_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromptTemplatePost'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Prompt Template
      tags:
      - prompts
      x-deepset-permissions:
        action: write
        asset: prompts
        asset_description: Access to prompt details
        type: workspace
  /api/v1/workspaces/{workspace_name}/prompt_templates/{prompt_template_id}:
    delete:
      description: Deletes the prompt template with the given ID.
      operationId: delete_prompt_templates_api_v1_workspaces__workspace_name__prompt_templates__prompt_template_id__delete
      parameters:
      - description: Unique identifier of the prompt template.
        in: path
        name: prompt_template_id
        required: true
        schema:
          description: Unique identifier of the prompt template.
          format: uuid
          title: Prompt Template ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Prompt Templates
      tags:
      - prompts
      x-deepset-permissions:
        action: write
        asset: prompts
        asset_description: Access to prompt details
        type: workspace
    put:
      description: Updates the prompt template with the given ID.
      operationId: update_prompt_template_api_v1_workspaces__workspace_name__prompt_templates__prompt_template_id__put
      parameters:
      - description: Unique identifier of the prompt template.
        in: path
        name: prompt_template_id
        required: true
        schema:
          description: Unique identifier of the prompt template.
          format: uuid
          title: Prompt Template ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromptTemplatePut'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Prompt Template
      tags:
      - prompts
      x-deepset-permissions:
        action: write
        asset: prompts
        asset_description: Access to prompt details
        type: workspace
  /api/v1/workspaces/{workspace_name}/search_count:
    get:
      description: 'Returns the number of search requests per time bucket.

        Supports daily or hourly granularity, optional pipeline filtering, and configurable
        time range.'
      operationId: search_count_api_v1_workspaces__workspace_name__search_count_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Filter by pipeline name.
        in: query
        name: pipeline_name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by pipeline name.
          title: Pipeline Name
      - description: 'Granularity: ''day'' or ''hour''.'
        in: query
        name: mode
        required: false
        schema:
          $ref: '#/components/schemas/SearchCountMode'
          default: day
          description: 'Granularity: ''day'' or ''hour''.'
      - description: Number of days to look back (1-90).
        in: query
        name: days
        required: false
        schema:
          default: 10
          description: Number of days to look back (1-90).
          maximum: 90
          minimum: 1
          title: Days
          type: integer
      - description: Filter search counts to a specific API key.
        in: query
        name: api_token_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Filter search counts to a specific API key.
          title: Api Token Id
      - description: Filter search counts to a specific user.
        in: query
        name: user_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Filter search counts to a specific user.
          title: User Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_SearchCount_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Search Count
      tags:
      - workspace
      x-deepset-permissions:
        action: read
        asset: workspace_statistics
        asset_description: Access to workspace statistics
        type: workspace
  /api/v1/workspaces/{workspace_name}/search_history:
    get:
      description: 'Returns the search history for a workspace. The history includes
        information such as the query, the answer,

        the pipeline used, and more.


        Supports two pagination methods:

        - **Offset-based**: Use `offset` (integer) and `limit` parameters

        - **Cursor-based**: Use `cursor` (opaque string from previous response) with
        `limit`


        When `cursor` is provided, it takes precedence over `offset`.


        You can filter the results using OData syntax via the `filter` query parameter.
        Supported fields include:

        - `created_at`: Filter by timestamp (e.g., `filter=created_at ge 2025-11-21T00:00:00Z`)

        - `query`: Filter by search query text

        - `answer`: Filter by answer text

        - `api_key`: Filter by API key

        - `created_by`: Filter by user ID

        - `session_id` or `search_session_id`: Filter by session ID

        - `deployment_id`: Filter by deployment ID (e.g., `filter=deployment_id eq
        ''<uuid>''`)

        - `tags/tag_id`: Filter by feedback tag ID

        - `feedbacks/score`: Filter by feedback score

        - `feedbacks/comment`: Filter by feedback comment

        - `feedbacks/bookmarked`: Filter by bookmark status (e.g., `filter=feedbacks/bookmarked
        eq true`)

        - `feedbacks`: Filter by feedback existence (e.g., `filter=feedbacks ne null`
        for entries with feedback)


        Example date range filter: `?filter=created_at ge 2025-11-01T00:00:00Z and
        created_at le 2025-11-30T23:59:59Z`

        Example bookmark filter: `?filter=feedbacks/bookmarked eq true`'
      operationId: search_history_api_v1_workspaces__workspace_name__search_history_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'Groups sequential records by the specified field so that records
          sharing the same value appear consecutively. Supported values: `QUERY`,
          `PIPELINE`, `SESSION_ID`, `USER`, `FEEDBACK_SCORE`, `FEEDBACK_RATING`, `BOOKMARKED`,
          `API_KEY`, `ANSWER`.'
        in: query
        name: group_by
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SearchHistoryGroupByField'
          - type: 'null'
          description: 'Groups sequential records by the specified field so that records
            sharing the same value appear consecutively. Supported values: `QUERY`,
            `PIPELINE`, `SESSION_ID`, `USER`, `FEEDBACK_SCORE`, `FEEDBACK_RATING`,
            `BOOKMARKED`, `API_KEY`, `ANSWER`.'
          title: Group By
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
          filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
            filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`duration`</li><li>`feedbacks/score`</li><li>`query`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`duration`</li><li>`feedbacks/score`</li><li>`query`</li></ul>
          enum:
          - created_at
          - query
          - duration
          - feedbacks/score
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: How many entries do you want to display?
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: How many entries do you want to display?
          maximum: 1000
          title: Limit
          type: integer
      - description: Enter the offset for the pagination. Note that the results are
          0-indexed which means that with 'offset=0', you will skip the first element.
        in: query
        name: offset
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Enter the offset for the pagination. Note that the results
            are 0-indexed which means that with 'offset=0', you will skip the first
            element.
          title: Offset
      - description: Opaque cursor from previous response for cursor-based pagination.
        in: query
        name: cursor
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Opaque cursor from previous response for cursor-based pagination.
          title: Cursor
      - description: Enter the URL-encoded datetime in ISO format if you want to see
          all entries after this datetime.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - type: integer
          - format: date-time
            type: string
          - type: 'null'
          description: Enter the URL-encoded datetime in ISO format if you want to
            see all entries after this datetime.
          title: After
      - description: The OpenSearch document ID from the last item on the previous
          page. Used as a tie-breaker when multiple entries have the same timestamp.
          This parameter is optional but recommended for consistent pagination when
          entries share timestamps.
        in: query
        name: after_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The OpenSearch document ID from the last item on the previous
            page. Used as a tie-breaker when multiple entries have the same timestamp.
            This parameter is optional but recommended for consistent pagination when
            entries share timestamps.
          title: After Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorPaginatedResult_SearchHistory_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Search History
      tags:
      - workspace
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v1/workspaces/{workspace_name}/search_history/export:
    get:
      description: Exports the search history to a downloadable CSV file. The file
        includes search queries, answers, prompts,feedback, and other metadata. If
        a single search entry has multiple feedback entries,each feedback entry appears
        in a separate row.
      operationId: export_search_history_api_v1_workspaces__workspace_name__search_history_export_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: 'List of columns to include in the CSV. If omitted, all columns
          are included. Supported fixed columns: query, answer, prompt, feedback_score,
          feedback_comment, feedback_tags, rank, file_name, file_id, query_id, result_id,
          created_at, duration, session_id, user_given_name, user_family_name, pipeline_name,
          pipeline_version_id, api_key_name, filters, params, result_type, result_score,
          documents, context, feedback_id, feedback_bookmarked, feedback_created_at,
          feedback_created_by_user_id, labels, service, client_source_path. Dynamic
          pipeline meta fields can be included using the meta.<key> prefix (for example,
          meta.model or meta.finish_reason).'
        in: query
        name: columns
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: 'List of columns to include in the CSV. If omitted, all columns
            are included. Supported fixed columns: query, answer, prompt, feedback_score,
            feedback_comment, feedback_tags, rank, file_name, file_id, query_id, result_id,
            created_at, duration, session_id, user_given_name, user_family_name, pipeline_name,
            pipeline_version_id, api_key_name, filters, params, result_type, result_score,
            documents, context, feedback_id, feedback_bookmarked, feedback_created_at,
            feedback_created_by_user_id, labels, service, client_source_path. Dynamic
            pipeline meta fields can be included using the meta.<key> prefix (for
            example, meta.model or meta.finish_reason).'
          title: Columns
      - description: Maximum number of search history items to export. Defaults to
          10,000.
        in: query
        name: limit
        required: false
        schema:
          default: 100000
          description: Maximum number of search history items to export. Defaults
            to 10,000.
          title: Limit
          type: integer
      - description: Optional pipeline ID to filter search history
        in: query
        name: pipeline_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Optional pipeline ID to filter search history
          title: Pipeline Id
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
          filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
            filter fields:<ul><li>`answer`</li><li>`api_key`</li><li>`client_source_path`</li><li>`created_at`</li><li>`created_by`</li><li>`deployment_id`</li><li>`duration`</li><li>`feedbacks`</li><li>`feedbacks/bookmarked`</li><li>`feedbacks/comment`</li><li>`feedbacks/result_id`</li><li>`feedbacks/score`</li><li>`labels`</li><li>`note`</li><li>`pipeline_version_id`</li><li>`query`</li><li>`query_id`</li><li>`request/filters`</li><li>`request/params`</li><li>`search_session_id`</li><li>`session_id`</li><li>`status`</li><li>`tags/tag_id`</li><li>`trace_id`</li></ul>'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Export Search History
      tags:
      - workspace
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v1/workspaces/{workspace_name}/search_sessions:
    get:
      description: Returns all search sessions. Search sessions are used in chat as
        chat history.
      operationId: get_search_sessions_api_v1_workspaces__workspace_name__search_sessions_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSearchSessions'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Search Sessions
      tags:
      - search_session
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
    post:
      description: Creates a search session you can later use in chat as chat history.
      operationId: create_search_session_api_v1_workspaces__workspace_name__search_sessions_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchSessionPostBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchSessionPostResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Search Session
      tags:
      - search_session
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/search_sessions/{search_session_id}:
    delete:
      description: Delete a search session together with its search history.
      operationId: delete_search_session_api_v1_workspaces__workspace_name__search_sessions__search_session_id__delete
      parameters:
      - description: The ID of the search session you want to delete.
        in: path
        name: search_session_id
        required: true
        schema:
          description: The ID of the search session you want to delete.
          format: uuid
          title: Search Session Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '204':
          description: We are processing your request to delete search session data.
        '404':
          description: Returned if search session id to be deleted is not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Search Session
      tags:
      - search_session
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/shared_prototypes:
    get:
      description: Lists active shared prototypes.
      operationId: list_prototypes_api_v1_workspaces__workspace_name__shared_prototypes_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_SharedPrototype_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Prototypes
      tags:
      - shared_prototype
      x-deepset-permissions:
        action: read
        asset: shared_prototypes
        asset_description: Access to shared prototypes
        type: workspace
    post:
      description: Creates a link to a pipeline prototype you can then share with
        others to try out.
      operationId: create_prototype_api_v1_workspaces__workspace_name__shared_prototypes_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostSharedPrototype'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedPrototype'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Prototype
      tags:
      - shared_prototype
      x-deepset-permissions:
        action: write
        asset: shared_prototypes
        asset_description: Access to shared prototypes
        type: workspace
  /api/v1/workspaces/{workspace_name}/shared_prototypes/{shared_prototype_id}:
    delete:
      description: Revokes a shared pipeline prototype. Once you revoke a prototype,
        users can no longer access it.
      operationId: revoke_shared_prototype_api_v1_workspaces__workspace_name__shared_prototypes__shared_prototype_id__delete
      parameters:
      - description: The ID of the shared prototype
        in: path
        name: shared_prototype_id
        required: true
        schema:
          description: The ID of the shared prototype
          format: uuid
          title: Shared Prototype ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: The access to the prototype was revoked successfully.
        '404':
          description: We couldn't find a shared prototype with the given ID. Make
            sure the ID is correct and try again.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Revoke Shared Prototype
      tags:
      - shared_prototype
      x-deepset-permissions:
        action: write
        asset: shared_prototypes
        asset_description: Access to shared prototypes
        type: workspace
    get:
      description: Returns the shared pipeline prototype by ID.
      operationId: get_shared_prototype_api_v1_workspaces__workspace_name__shared_prototypes__shared_prototype_id__get
      parameters:
      - description: The ID of the shared prototype
        in: path
        name: shared_prototype_id
        required: true
        schema:
          description: The ID of the shared prototype
          format: uuid
          title: Shared Prototype ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedPrototype'
          description: The requested prototype.
        '404':
          description: We couldn't find a shared prototype with the given ID. Make
            sure the ID is correct and try again.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Shared Prototype
      tags:
      - shared_prototype
      x-deepset-permissions:
        action: read
        asset: shared_prototypes
        asset_description: Access to shared prototypes
        type: workspace
    patch:
      description: Updates the shared prototype description and file options.
      operationId: edit_shared_prototype_api_v1_workspaces__workspace_name__shared_prototypes__shared_prototype_id__patch
      parameters:
      - description: The ID of the shared prototype
        in: path
        name: shared_prototype_id
        required: true
        schema:
          description: The ID of the shared prototype
          format: uuid
          title: Shared Prototype ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSharedPrototype'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedPrototype'
          description: The prototype was successfully updated with the new values.
        '404':
          description: We couldn't find a shared prototype with the given ID. Make
            sure the ID is correct and try again.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Edit Shared Prototype
      tags:
      - shared_prototype
      x-deepset-permissions:
        action: write
        asset: shared_prototypes
        asset_description: Access to shared prototypes
        type: workspace
  /api/v1/workspaces/{workspace_name}/stats:
    get:
      description: Displays the number of files and documents in a workspace, the
        number of search requests, and the average response time.
      operationId: get_workspace_stats_api_v1_workspaces__workspace_name__stats_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceStats'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Stats
      tags:
      - workspace
      x-deepset-permissions:
        action: read
        asset: workspace_statistics
        asset_description: Access to workspace statistics
        type: workspace
  /api/v1/workspaces/{workspace_name}/temporary_files:
    post:
      description: Uploads a file into the workspace. You can also use this endpoint
        to create a text file. To do that, enter the file name and text as its contents.
      operationId: upload_temporary_file_api_v1_workspaces__workspace_name__temporary_files_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The name of the file you want to create. Use this field only
          if you're creating a file to upload. If you're uploading an existing file,
          leave this field empty.
        in: query
        name: file_name
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The name of the file you want to create. Use this field only
            if you're creating a file to upload. If you're uploading an existing file,
            leave this field empty.
          title: File Name
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_temporary_file_api_v1_workspaces__workspace_name__temporary_files_post'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadFileResponse'
          description: Your file's in the workspace.
        '400':
          description: 'We couldn''t upload your file because some of the arguments
            specified were incompatible. You can upload a file from your disk or create
            a file by providing a file name and text as its contents. '
        '413':
          description: Too large payload.Either the file uploaded is larger than 200
            MB or the metadata you tried to upload is too large. The string '<your-string>'
            of key '<your-key>' is longer than 32766 bytes, which approximately equals
            the same number of characters.To upload files larger than 200 MB, use
            the [deepset SDK](https://github.com/deepset-ai/deepset-cloud-sdk).
        '415':
          description: Haystack Enterprise Platform supports .txt, .csv, .json, .xml,
            .html, .md, .pdf, .docx, .pptx, .xlsx, .xlsb, .xlsm, .msg, .zip and ..DS_Store
            files. Upload a file in the supported format.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Upload Temporary File
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/temporary_files/{file_id}:
    get:
      description: 'Retrieves the file contents of temporary files.


        :param session: The database session.

        :param file_id: The ID of the file to retrieve.

        :param workspace: The workspace from which to retrieve the file.'
      operationId: get_temporary_file_api_v1_workspaces__workspace_name__temporary_files__file_id__get
      parameters:
      - in: path
        name: file_id
        required: true
        schema:
          format: uuid
          title: File ID
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '404':
          description: There's no file with the ID '<file_id>' in the workspace. Check
            if the ID is correct. You can use the `list_files` endpoint to check file
            IDs.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '500':
          description: File with the ID '{file_id}' doesn't have a type.
      security:
      - HTTPBearer: []
      summary: Get Temporary File
      tags:
      - file
      x-deepset-permissions:
        action: read
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v1/workspaces/{workspace_name}/token:
    get:
      description: Returns all API keys that are exclusively scoped to the specified
        workspace.
      operationId: get_workspace_tokens_api_v1_workspaces__workspace_name__token_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`expires_at`</li><li>`name`</li><li>`role`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`expires_at`</li><li>`name`</li><li>`role`</li></ul>
          enum:
          - name
          - role
          - created_at
          - expires_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Token_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Tokens
      tags:
      - api_token
      x-deepset-permissions:
        action: read
        asset: api_keys
        asset_description: Access to API keys.
        type: workspace
    post:
      operationId: create_workspace_token_api_v1_workspaces__workspace_name__token_post
      parameters:
      - description: The name of the workspace. It must be longer than 3 characters.
        in: path
        name: workspace_name
        required: true
        schema:
          description: The name of the workspace. It must be longer than 3 characters.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceToken'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APITokenResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Workspace Token
      tags:
      - api_token
      x-deepset-permissions:
        action: write
        asset: api_keys
        asset_description: Access to API keys.
        type: workspace
  /api/v1/workspaces/{workspace_name}/token/{api_token_id}:
    delete:
      description: Deletes a workspace-scoped API token.
      operationId: delete_workspace_token_api_v1_workspaces__workspace_name__token__api_token_id__delete
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: A unique identifier of the API token you want to delete. Call
          the Get Tokens endpoint to check the IDs of the existing API tokens.
        in: path
        name: api_token_id
        required: true
        schema:
          description: A unique identifier of the API token you want to delete. Call
            the Get Tokens endpoint to check the IDs of the existing API tokens.
          format: uuid
          title: Api Token Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Workspace Token
      tags:
      - api_token
      x-deepset-permissions:
        action: write
        asset: api_keys
        asset_description: Access to API keys.
        type: workspace
    get:
      description: Returns the API key with the specified ID that is exclusively scoped
        to the workspace.
      operationId: get_workspace_token_api_v1_workspaces__workspace_name__token__api_token_id__get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: A unique identifier of the API token you want to delete. Call
          the Get Tokens endpoint to check the IDs of the existing API tokens.
        in: path
        name: api_token_id
        required: true
        schema:
          description: A unique identifier of the API token you want to delete. Call
            the Get Tokens endpoint to check the IDs of the existing API tokens.
          format: uuid
          title: Api Token Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Token
      tags:
      - api_token
      x-deepset-permissions:
        action: read
        asset: api_keys
        asset_description: Access to API keys.
        type: workspace
    patch:
      description: Updates the name, role, and personal flag of a workspace-scoped
        API token.
      operationId: update_workspace_token_api_v1_workspaces__workspace_name__token__api_token_id__patch
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: A unique identifier of the API token you want to delete. Call
          the Get Tokens endpoint to check the IDs of the existing API tokens.
        in: path
        name: api_token_id
        required: true
        schema:
          description: A unique identifier of the API token you want to delete. Call
            the Get Tokens endpoint to check the IDs of the existing API tokens.
          format: uuid
          title: Api Token Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateToken'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Workspace Token
      tags:
      - api_token
      x-deepset-permissions:
        action: write
        asset: api_keys
        asset_description: Access to API keys.
        type: workspace
  /api/v1/workspaces/{workspace_name}/upload_sessions:
    get:
      description: Returns a list of all active upload sessions.
      operationId: get_upload_sessions_api_v1_workspaces__workspace_name__upload_sessions_get
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Specifies if the session is expired.
        in: query
        name: is_expired
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Specifies if the session is expired.
          title: Is Expired
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`expires_at`</li><li>`file_count`</li><li>`ingestion_status_reason`</li><li>`name`</li><li>`status`</li><li>`write_mode`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`expires_at`</li><li>`file_count`</li><li>`ingestion_status_reason`</li><li>`name`</li><li>`status`</li><li>`write_mode`</li></ul>
          enum:
          - created_at
          - expires_at
          - ingestion_status_reason
          - name
          - file_count
          - status
          - write_mode
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Session_'
          description: Your upload sessions.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Upload Sessions
      tags:
      - upload_session
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
    post:
      description: Creates a session for uploading files and file metadata. The session
        remains active for 24 hours. You can upload up to 10 000 files in a session.
      operationId: create_upload_session_api_v1_workspaces__workspace_name__upload_sessions_post
      parameters:
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSession'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadSession'
          description: Your session is created.
        '402':
          description: You can't upload to this workspace through upload sessions
            on a free plan. To use this feature, upgrade to a paid plan. You can still
            upload files through the UI at no cost.
        '406':
          description: You can't upload files because you've reached the maximum number
            of upload sessions allowed per user. Close existing sessions using the
            Close Session endpoint before starting a new one.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Upload Session
      tags:
      - upload_session
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/upload_sessions/{session_id}:
    get:
      description: 'Displays the details of a session. Use this endpoint to check
        the status of the files in a session or the session

        expiration date.'
      operationId: get_session_status_api_v1_workspaces__workspace_name__upload_sessions__session_id__get
      parameters:
      - description: The ID of the session.
        in: path
        name: session_id
        required: true
        schema:
          description: The ID of the session.
          format: uuid
          title: Session Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionDetail'
          description: Your upload sessions.
        '404':
          description: 'There''s no session with the ID ''{session_id}'' in the workspace.
            Check if the ID is correct. '
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Session Status
      tags:
      - upload_session
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
    put:
      description: 'Closes the session and starts the ingestion process.

        If the session is not closed explicitly, the session will be automatically
        closed after 24 hours.'
      operationId: close_session_api_v1_workspaces__workspace_name__upload_sessions__session_id__put
      parameters:
      - description: The ID of the session.
        in: path
        name: session_id
        required: true
        schema:
          description: The ID of the session.
          format: uuid
          title: Session Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloseSession'
        required: true
      responses:
        '204':
          description: Your session details.
        '404':
          description: 'There''s no session with the ID ''{session_id}'' in the workspace.
            Check if the ID is correct. '
        '409':
          description: The session is already closed.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Close Session
      tags:
      - upload_session
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/upload_sessions/{session_id}/files:
    get:
      description: Displays the file details of a session. Use this endpoint to check
        the status of the files in a session or the session expiration date.
      operationId: get_session_files_api_v1_workspaces__workspace_name__upload_sessions__session_id__files_get
      parameters:
      - description: The ID of the session.
        in: path
        name: session_id
        required: true
        schema:
          description: The ID of the session.
          format: uuid
          title: Session Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      - description: Use this option to filter for files that are still being ingested
          or that were already ingested.
        in: query
        name: ingestion_status
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/FileIngestionStatusEnum'
          - type: 'null'
          description: Use this option to filter for files that are still being ingested
            or that were already ingested.
          title: Filter for Ingestion Status
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`ingestion_status`</li><li>`ingestion_status_reason`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`ingestion_status`</li><li>`ingestion_status_reason`</li><li>`name`</li></ul>
          enum:
          - created_at
          - ingestion_status
          - ingestion_status_reason
          - name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_SessionFile_'
          description: Returns a list of files registered to the session.
        '404':
          description: 'There''s no session with the ID ''{session_id}'' in the workspace.
            Check if the ID is correct. '
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Session Files
      tags:
      - upload_session
      x-deepset-permissions:
        action: write
        asset: files
        asset_description: Access to individual file details
        type: workspace
  /api/v1/workspaces/{workspace_name}/users/{user_id}/unassign:
    post:
      operationId: workspace_remove_role_api_v1_workspaces__workspace_name__users__user_id__unassign_post
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      - description: Type the name of the workspace.
        in: path
        name: workspace_name
        required: true
        schema:
          description: Type the name of the workspace.
          title: Workspace Name
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Workspace Remove Role
      tags:
      - workspace
      x-deepset-permissions:
        action: write
        asset: workspace_members
        asset_description: Access to manage workspace members and invitations. Granting
          Write permissions allows users to send invites for this workspace using
          all available roles, resulting in admin-like permissions for this user.
        type: workspace
  /api/v2/cost/organizations/{organization_id}/stats/breakdown:
    get:
      description: 'Returns the LLM cost, tokens, and requests grouped by model, workspace,
        pipeline, deployment,

        provider, or API key.


        Results are sorted by cost, highest first, unless you set sort_by and sort_order.
        Use limit and

        page_number to page through them. total is the number of groups across all
        pages. Costs are in USD.


        Filter by workspace_id to break down one workspace. You need cost read access
        in that workspace.

        Omitting workspace_id covers the whole organization and requires the organization
        admin role.'
      operationId: get_token_usage_breakdown_api_v2_cost_organizations__organization_id__stats_breakdown_get
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          format: uuid
          title: Organization ID
          type: string
      - description: Which dimension to break the totals down by.
        in: query
        name: group_by
        required: true
        schema:
          $ref: '#/components/schemas/GroupByDimension'
          description: Which dimension to break the totals down by.
      - description: Restrict to generations at or after this UTC timestamp. Defaults
          to 30 days before end_date, or before now if end_date is omitted.
        in: query
        name: start_date
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Restrict to generations at or after this UTC timestamp. Defaults
            to 30 days before end_date, or before now if end_date is omitted.
          title: Start Date
      - description: Restrict to generations strictly before this UTC timestamp. Omit
          for no upper bound.
        in: query
        name: end_date
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Restrict to generations strictly before this UTC timestamp.
            Omit for no upper bound.
          title: End Date
      - description: Restrict to this workspace. Omit for organization-wide totals.
        in: query
        name: workspace_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Restrict to this workspace. Omit for organization-wide totals.
          title: Workspace Id
      - description: Restrict to this pipeline.
        in: query
        name: pipeline_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Restrict to this pipeline.
          title: Pipeline Id
      - description: Restrict to any of these service deployments. Repeat the param
          for more than one.
        in: query
        name: deployment_id
        required: false
        schema:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: Restrict to any of these service deployments. Repeat the param
            for more than one.
          title: Deployment Id
      - description: Restrict to queries made with any of these API keys. Repeat the
          param for more than one.
        in: query
        name: api_token_id
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Restrict to queries made with any of these API keys. Repeat
            the param for more than one.
          title: Api Token Id
      - description: Restrict to any of these LLM providers, for example openai or
          anthropic. Repeat the param for more than one.
        in: query
        name: provider
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Restrict to any of these LLM providers, for example openai
            or anthropic. Repeat the param for more than one.
          title: Provider
      - description: 'The column to sort the breakdown by: label, cost_total, total_tokens,
          or total_requests. Groups with no priced cost always sort last when you
          sort by cost_total. Sorting by label ignores case. Defaults to cost_total.'
        in: query
        name: sort_by
        required: false
        schema:
          $ref: '#/components/schemas/BreakdownSortField'
          default: cost_total
          description: 'The column to sort the breakdown by: label, cost_total, total_tokens,
            or total_requests. Groups with no priced cost always sort last when you
            sort by cost_total. Sorting by label ignores case. Defaults to cost_total.'
      - description: Sort in ascending (ASC) or descending (DESC) order. Defaults
          to DESC.
        in: query
        name: sort_order
        required: false
        schema:
          $ref: '#/components/schemas/SortingOrderEnum'
          default: DESC
          description: Sort in ascending (ASC) or descending (DESC) order. Defaults
            to DESC.
      - description: The number of groups to return per page, from 1 to 100. Defaults
          to 10.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of groups to return per page, from 1 to 100. Defaults
            to 10.
          maximum: 100
          minimum: 1
          title: Limit
          type: integer
      - description: The page to return, starting from 1. Defaults to 1.
        in: query
        name: page_number
        required: false
        schema:
          default: 1
          description: The page to return, starting from 1. Defaults to 1.
          minimum: 1
          title: Page Number
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenUsageBreakdownResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Token Usage Breakdown
      tags:
      - token_usage
      x-deepset-permissions:
        action: read
        asset: costs
        asset_description: Access to LLM cost and token usage statistics for a workspace.
        type: workspace
  /api/v2/cost/organizations/{organization_id}/stats/cost-over-time:
    get:
      description: 'Returns the LLM cost per UTC day, in USD. Days without any usage
        are left out.


        Set group_by to split each day''s cost by model, workspace, pipeline, deployment,
        provider, or API

        key. The group_limit groups with the most cost over the whole range get their
        own points, the rest

        are merged into an other group, and usage with no value for the dimension
        goes into an

        unattributed group, so a day''s points always add up to its total. groups
        lists them in that order.


        Filter by workspace_id to get one workspace''s cost. You need cost read access
        in that workspace.

        Omitting workspace_id covers the whole organization and requires the organization
        admin role.'
      operationId: get_token_usage_cost_over_time_api_v2_cost_organizations__organization_id__stats_cost_over_time_get
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          format: uuid
          title: Organization ID
          type: string
      - description: Split each day's cost by this dimension. Omit it for one total
          per day.
        in: query
        name: group_by
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/GroupByDimension'
          - type: 'null'
          description: Split each day's cost by this dimension. Omit it for one total
            per day.
          title: Group By
      - description: With group_by, how many of the groups with the most cost keep
          their own points. The rest are merged into one group.
        in: query
        name: group_limit
        required: false
        schema:
          default: 5
          description: With group_by, how many of the groups with the most cost keep
            their own points. The rest are merged into one group.
          maximum: 20
          minimum: 1
          title: Group Limit
          type: integer
      - description: Restrict to generations at or after this UTC timestamp. Defaults
          to 30 days before end_date, or before now if end_date is omitted.
        in: query
        name: start_date
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Restrict to generations at or after this UTC timestamp. Defaults
            to 30 days before end_date, or before now if end_date is omitted.
          title: Start Date
      - description: Restrict to generations strictly before this UTC timestamp. Omit
          for no upper bound.
        in: query
        name: end_date
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Restrict to generations strictly before this UTC timestamp.
            Omit for no upper bound.
          title: End Date
      - description: Restrict to this workspace. Omit for organization-wide totals.
        in: query
        name: workspace_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Restrict to this workspace. Omit for organization-wide totals.
          title: Workspace Id
      - description: Restrict to this pipeline.
        in: query
        name: pipeline_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Restrict to this pipeline.
          title: Pipeline Id
      - description: Restrict to any of these service deployments. Repeat the param
          for more than one.
        in: query
        name: deployment_id
        required: false
        schema:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: Restrict to any of these service deployments. Repeat the param
            for more than one.
          title: Deployment Id
      - description: Restrict to queries made with any of these API keys. Repeat the
          param for more than one.
        in: query
        name: api_token_id
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Restrict to queries made with any of these API keys. Repeat
            the param for more than one.
          title: Api Token Id
      - description: Restrict to any of these LLM providers, for example openai or
          anthropic. Repeat the param for more than one.
        in: query
        name: provider
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Restrict to any of these LLM providers, for example openai
            or anthropic. Repeat the param for more than one.
          title: Provider
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostOverTimeResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Token Usage Cost Over Time
      tags:
      - token_usage
      x-deepset-permissions:
        action: read
        asset: costs
        asset_description: Access to LLM cost and token usage statistics for a workspace.
        type: workspace
  /api/v2/cost/organizations/{organization_id}/stats/totals:
    get:
      description: 'Returns the total LLM cost, tokens, and requests, and the average
        cost per request.


        Filter by workspace_id to get one workspace''s totals. You need cost read
        access in that

        workspace. Omitting workspace_id returns totals for the whole organization
        and requires the

        organization admin role.


        The response also says what total_cost is missing: LLM calls still waiting
        for a price and calls

        with no known price, with the models behind them. When is_cost_complete is
        false, total_cost is a

        lower bound. Costs are in USD.'
      operationId: get_token_usage_totals_api_v2_cost_organizations__organization_id__stats_totals_get
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          format: uuid
          title: Organization ID
          type: string
      - description: Restrict to generations at or after this UTC timestamp. Defaults
          to 30 days before end_date, or before now if end_date is omitted.
        in: query
        name: start_date
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Restrict to generations at or after this UTC timestamp. Defaults
            to 30 days before end_date, or before now if end_date is omitted.
          title: Start Date
      - description: Restrict to generations strictly before this UTC timestamp. Omit
          for no upper bound.
        in: query
        name: end_date
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Restrict to generations strictly before this UTC timestamp.
            Omit for no upper bound.
          title: End Date
      - description: Restrict to this workspace. Omit for organization-wide totals.
        in: query
        name: workspace_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Restrict to this workspace. Omit for organization-wide totals.
          title: Workspace Id
      - description: Restrict to this pipeline.
        in: query
        name: pipeline_id
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Restrict to this pipeline.
          title: Pipeline Id
      - description: Restrict to any of these service deployments. Repeat the param
          for more than one.
        in: query
        name: deployment_id
        required: false
        schema:
          anyOf:
          - items:
              format: uuid
              type: string
            type: array
          - type: 'null'
          description: Restrict to any of these service deployments. Repeat the param
            for more than one.
          title: Deployment Id
      - description: Restrict to queries made with any of these API keys. Repeat the
          param for more than one.
        in: query
        name: api_token_id
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Restrict to queries made with any of these API keys. Repeat
            the param for more than one.
          title: Api Token Id
      - description: Restrict to any of these LLM providers, for example openai or
          anthropic. Repeat the param for more than one.
        in: query
        name: provider
        required: false
        schema:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Restrict to any of these LLM providers, for example openai
            or anthropic. Repeat the param for more than one.
          title: Provider
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenUsageTotalsResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Token Usage Totals
      tags:
      - token_usage
      x-deepset-permissions:
        action: read
        asset: costs
        asset_description: Access to LLM cost and token usage statistics for a workspace.
        type: workspace
  /api/v2/custom_components:
    get:
      description: 'Get a list of custom components currently uploaded to Haystack
        Enterprise Platform.

        The list includes all the details of each component, such as its status and
        version.'
      operationId: get_custom_components_api_v2_custom_components_get
      parameters:
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`status`</li><li>`version`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`status`</li><li>`version`</li></ul>
          enum:
          - version
          - status
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_CustomComponent_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Custom Components
      tags:
      - custom_components
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    post:
      description: 'Imports a custom component as a zip file.

        Use the [Custom component template](https://github.com/deepset-ai/dc-custom-component-template)

        to write your component, and then upload the zipped template.'
      operationId: import_custom_components_api_v2_custom_components_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_import_custom_components_api_v2_custom_components_post'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomComponent'
          description: Returns the ID of the imported custom component.
        '400':
          description: Something went wrong while validating the custom component.
            {error_message}
        '409':
          description: Change the version of this custom component and upload it again.
            A custom component with this version already exists in your workspace.
        '415':
          description: Upload a valid ZIP file as the custom component. Currently,
            we only support the ZIP format for custom components.
        '422':
          description: Validation failed. The version or package format is invalid.
            {error_message}
      security:
      - HTTPBearer: []
      summary: Import Custom Components
      tags:
      - custom_components
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/custom_components/logs:
    get:
      description: Get custom component installation logs as plain text.
      operationId: get_custom_component_logs_api_v2_custom_components_logs_get
      responses:
        '200':
          content:
            text/plain:
              schema:
                type: string
          description: Returns the installation logs for the custom component as a
            text.
        '401':
          description: You are not authorized to download the logs of these custom
            components.
        '403':
          description: You don't have permissions to download the logs of these custom
            components.
        '404':
          description: Raised when the custom component logs are not found.
        '409':
          description: The requested resources are inactive due to user inactivity.
            Log in to the Haystack Enterprise Platform to re-enable access.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '500':
          description: An internal server error occurred while retrieving the custom
            component logs.
      security:
      - HTTPBearer: []
      summary: Get Custom Component Logs
      tags:
      - custom_components
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/custom_components/{custom_component_id}:
    get:
      description: 'Get the details of a custom component with a specific ID. The
        details include the component version and status.

        You may need to use the Get Custom Components endpoint first to obtain the
        component''s ID.'
      operationId: get_custom_component_api_v2_custom_components__custom_component_id__get
      parameters:
      - in: path
        name: custom_component_id
        required: true
        schema:
          format: uuid
          title: Custom Component ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomComponent'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Custom Component
      tags:
      - custom_components
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/models/custom:
    get:
      description: 'Returns organization-level custom model definitions.


        Supports OData ``$filter`` on ``name`` and ``provider``.'
      operationId: get_organization_custom_models_api_v2_models_custom_get
      parameters:
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li><li>`provider`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li><li>`provider`</li></ul>
          enum:
          - name
          - provider
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Model_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Organization Custom Models
      tags:
      - model
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
    post:
      description: Creates a new organization-level custom model definition.
      operationId: create_organization_model_api_v2_models_custom_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateModelRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
          description: Successful Response
        '409':
          description: A model with this name already exists.
        '422':
          description: The model configuration is invalid.
      security:
      - HTTPBearer: []
      summary: Create Organization Model
      tags:
      - model
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/models/custom/validate:
    post:
      description: Validates the chat_generator_config for an organization-level custom
        model.
      operationId: validate_organization_model_api_v2_models_custom_validate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidateModelRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelValidationResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Validate Organization Model
      tags:
      - model
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v2/models/custom/validate-generation-kwargs:
    post:
      description: 'Validates model parameters schema: checks that it is a valid JSON
        schema.'
      operationId: validate_organization_generation_kwargs_api_v2_models_custom_validate_generation_kwargs_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidateGenerationKwargsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelValidationResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Validate Organization Generation Kwargs
      tags:
      - model
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v2/models/custom/{model_id}:
    delete:
      description: Deletes an organization-level custom model definition.
      operationId: delete_organization_model_api_v2_models_custom__model_id__delete
      parameters:
      - description: The unique identifier of the model.
        in: path
        name: model_id
        required: true
        schema:
          description: The unique identifier of the model.
          format: uuid
          title: Model Id
          type: string
      responses:
        '204':
          description: Successful Response
        '404':
          description: We couldn't find the model with this ID. Check the ID and try
            again.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Organization Model
      tags:
      - model
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    patch:
      description: Updates an existing organization-level custom model definition.
      operationId: update_organization_model_api_v2_models_custom__model_id__patch
      parameters:
      - description: The unique identifier of the model.
        in: path
        name: model_id
        required: true
        schema:
          description: The unique identifier of the model.
          format: uuid
          title: Model Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateModelRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
          description: Successful Response
        '404':
          description: We couldn't find a model with this ID. Check the ID and try
            again.
        '409':
          description: A model with this name already exists.
        '422':
          description: The model configuration is invalid.
      security:
      - HTTPBearer: []
      summary: Update Organization Model
      tags:
      - model
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/secrets:
    get:
      description: Returns the existing secrets.
      operationId: get_secrets_api_v2_secrets_get
      parameters:
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`last_edited_by/family_name`</li><li>`last_edited_by/given_name`</li><li>`name`</li><li>`updated_at`</li><li>`workspace/name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`last_edited_by/family_name`</li><li>`last_edited_by/given_name`</li><li>`name`</li><li>`updated_at`</li><li>`workspace/name`</li></ul>
          enum:
          - name
          - created_at
          - updated_at
          - workspace/name
          - created_by/given_name
          - created_by/family_name
          - last_edited_by/given_name
          - last_edited_by/family_name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Union_Secret__SelectResult__'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Secrets
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
    post:
      description: Stores your secret in Haystack Enterprise Platform and returns
        the unique identifier for the secret.
      operationId: create_secret_api_v2_secrets_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecret'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSecretResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Secret
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/secrets-integrations:
    get:
      description: Returns the existing integrations.
      operationId: get_integrations_api_v2_secrets_integrations_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ConnectedIntegration'
                title: Response Get Integrations Api V2 Secrets Integrations Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Integrations
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v2/secrets-integrations/{provider}:
    delete:
      description: Disconnects an connected integration.
      operationId: disconnect_integration_api_v2_secrets_integrations__provider__delete
      parameters:
      - description: The provider of the model registry.
        in: path
        name: provider
        required: true
        schema:
          $ref: '#/components/schemas/ModelProvider'
          description: The provider of the model registry.
          title: Model Provider
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Disconnect Integration
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    post:
      description: Connects a secret to a provider.
      operationId: connect_integration_api_v2_secrets_integrations__provider__post
      parameters:
      - description: The provider of the model registry.
        in: path
        name: provider
        required: true
        schema:
          $ref: '#/components/schemas/ModelProvider'
          description: The provider of the model registry.
          title: Model Provider
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecretIntegration'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Connect Integration
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    put:
      description: Updates an already connected integration.
      operationId: update_integration_api_v2_secrets_integrations__provider__put
      parameters:
      - description: The provider of the model registry.
        in: path
        name: provider
        required: true
        schema:
          $ref: '#/components/schemas/ModelProvider'
          description: The provider of the model registry.
          title: Model Provider
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecretIntegration'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Integration
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/secrets/{secret_id}:
    delete:
      description: Deletes a secret from Haystack Enterprise Platform.
      operationId: remove_secret_api_v2_secrets__secret_id__delete
      parameters:
      - description: Unique identifier of the secret.
        in: path
        name: secret_id
        required: true
        schema:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Secret
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    get:
      description: Returns the secret with the given id.
      operationId: get_secret_api_v2_secrets__secret_id__get
      parameters:
      - description: Unique identifier of the secret.
        in: path
        name: secret_id
        required: true
        schema:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Secret'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Secret
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    put:
      description: Updates your secret in Haystack Enterprise Platform.
      operationId: update_secret_api_v2_secrets__secret_id__put
      parameters:
      - description: Unique identifier of the secret.
        in: path
        name: secret_id
        required: true
        schema:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecret'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Secret
      tags:
      - secrets
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/shared_jobs/{link}:
    get:
      description: Publicly resolve a shared job link and return the job's results.
        No deepset Cloud login is required unless the link was created with login_required=true,
        in which case a valid session is required (but not membership in the job's
        workspace).
      operationId: get_shared_job_by_link_api_v2_shared_jobs__link__get
      parameters:
      - in: path
        name: link
        required: true
        schema:
          title: Link
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicSharedJobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Shared Job By Link
      tags:
      - jobs
  /api/v2/skills:
    get:
      operationId: list_skills_api_v2_skills_get
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SkillSummary'
                title: Response List Skills Api V2 Skills Get
                type: array
          description: Returns the skills available to the organization.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Skills
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
    post:
      operationId: create_skill_api_v2_skills_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSkillRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillDetail'
          description: Returns the created skill's metadata and archive URL.
        '400':
          description: The skill failed validation. {error_message}
        '403':
          description: The shared deepset skills repository is read-only. Connect
            your organization's own repository to create, update, or delete skills.
        '404':
          description: The requested skill repository was not found for this organization.
            It may have been disconnected — reload the skill catalog and retry.
        '409':
          description: A skill with this id already exists.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Skill
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/skills/repo-connection:
    delete:
      description: 'Remove the organization''s connected GitHub repository, when it
        has exactly one.


        Returns 404 when there is no connection to remove, and 409 when there is more
        than one — an

        organization may connect several, and this route cannot say which. Use

        ``DELETE /skills/repo-connection/{connection_id}`` for those.'
      operationId: delete_repo_connection_api_v2_skills_repo_connection_delete
      responses:
        '204':
          description: The repository connection was removed.
        '404':
          description: No repository connection to remove.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Repo Connection
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    get:
      description: 'Return the organization''s current skills repository connection.


        Responds with ``connected=false`` (rather than a 404) when the organization
        has no connection yet.'
      operationId: get_repo_connection_api_v2_skills_repo_connection_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepoConnectionResponse'
          description: Returns the organization's current skills repository connection,
            or connected=false when none exists.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Repo Connection
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v2/skills/repo-connection/authorize:
    post:
      description: 'Start connecting the organization''s GitHub skills repository.


        Returns a GitHub App installation URL carrying a signed, short-lived ``state``.
        The admin opens it

        (in a new tab) to grant access; GitHub then redirects to the callback endpoint,
        which persists the

        connection.'
      operationId: authorize_repo_connection_api_v2_skills_repo_connection_authorize_post
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepoConnectionAuthorizeResponse'
          description: Returns a GitHub App installation URL. Open it to grant deepset
            access to your skills repository.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '503':
          description: The GitHub App is not configured, so a connection can't be
            started.
      security:
      - HTTPBearer: []
      summary: Authorize Repo Connection
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/skills/{skill_id}:
    delete:
      operationId: delete_skill_api_v2_skills__skill_id__delete
      parameters:
      - in: path
        name: skill_id
        required: true
        schema:
          title: Skill Id
          type: string
      - description: Which connected repo the skill lives in (e.g. DEEPSET for the
          shared repo, ORG for the organization's own repo). Defaults to the organization's
          own repo, then the shared repo.
        in: query
        name: source
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SkillSource'
          - type: 'null'
          description: Which connected repo the skill lives in (e.g. DEEPSET for the
            shared repo, ORG for the organization's own repo). Defaults to the organization's
            own repo, then the shared repo.
          title: Source
      - description: Id of the exact repo the skill lives in (from the catalog entry's
          'source_id'). Preferred over 'source' when the organization has more than
          one repo — it names the repo unambiguously.
        in: query
        name: source_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Id of the exact repo the skill lives in (from the catalog entry's
            'source_id'). Preferred over 'source' when the organization has more than
            one repo — it names the repo unambiguously.
          title: Source Id
      responses:
        '204':
          description: The skill was deleted.
        '403':
          description: The shared deepset skills repository is read-only. Connect
            your organization's own repository to create, update, or delete skills.
        '404':
          description: The requested skill was not found. The requested skill repository
            was not found for this organization. It may have been disconnected — reload
            the skill catalog and retry.
        '409':
          description: The skill was changed concurrently. Re-read the skill and retry.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Skill
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
    get:
      operationId: get_skill_api_v2_skills__skill_id__get
      parameters:
      - in: path
        name: skill_id
        required: true
        schema:
          title: Skill Id
          type: string
      - description: Git commit sha to view a specific version.
        in: query
        name: ref
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Git commit sha to view a specific version.
          title: Ref
      - description: Which connected repo the skill lives in (e.g. DEEPSET for the
          shared repo, ORG for the organization's own repo). Defaults to the organization's
          own repo, then the shared repo.
        in: query
        name: source
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SkillSource'
          - type: 'null'
          description: Which connected repo the skill lives in (e.g. DEEPSET for the
            shared repo, ORG for the organization's own repo). Defaults to the organization's
            own repo, then the shared repo.
          title: Source
      - description: Id of the exact repo the skill lives in (from the catalog entry's
          'source_id'). Preferred over 'source' when the organization has more than
          one repo — it names the repo unambiguously.
        in: query
        name: source_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Id of the exact repo the skill lives in (from the catalog entry's
            'source_id'). Preferred over 'source' when the organization has more than
            one repo — it names the repo unambiguously.
          title: Source Id
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillDetail'
          description: Returns the skill's metadata and a download URL for its archive.
        '404':
          description: The requested skill was not found. The requested skill repository
            was not found for this organization. It may have been disconnected — reload
            the skill catalog and retry.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Skill
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
    put:
      operationId: update_skill_api_v2_skills__skill_id__put
      parameters:
      - in: path
        name: skill_id
        required: true
        schema:
          title: Skill Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSkillRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SkillDetail'
          description: Returns the updated skill's metadata and archive URL.
        '400':
          description: The skill failed validation. {error_message}
        '403':
          description: The shared deepset skills repository is read-only. Connect
            your organization's own repository to create, update, or delete skills.
        '404':
          description: The requested skill was not found. The requested skill repository
            was not found for this organization. It may have been disconnected — reload
            the skill catalog and retry.
        '409':
          description: The skill was changed concurrently. Re-read the skill and retry.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Skill
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        type: organization
  /api/v2/skills/{skill_id}/history:
    get:
      operationId: get_skill_history_api_v2_skills__skill_id__history_get
      parameters:
      - in: path
        name: skill_id
        required: true
        schema:
          title: Skill Id
          type: string
      - description: Which connected repo the skill lives in (e.g. DEEPSET for the
          shared repo, ORG for the organization's own repo). Defaults to the organization's
          own repo, then the shared repo.
        in: query
        name: source
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SkillSource'
          - type: 'null'
          description: Which connected repo the skill lives in (e.g. DEEPSET for the
            shared repo, ORG for the organization's own repo). Defaults to the organization's
            own repo, then the shared repo.
          title: Source
      - description: Id of the exact repo the skill lives in (from the catalog entry's
          'source_id'). Preferred over 'source' when the organization has more than
          one repo — it names the repo unambiguously.
        in: query
        name: source_id
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Id of the exact repo the skill lives in (from the catalog entry's
            'source_id'). Preferred over 'source' when the organization has more than
            one repo — it names the repo unambiguously.
          title: Source Id
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SkillVersion'
                title: Response Get Skill History Api V2 Skills  Skill Id  History
                  Get
                type: array
          description: Returns the version history (commits) for the skill.
        '404':
          description: The requested skill was not found. The requested skill repository
            was not found for this organization. It may have been disconnected — reload
            the skill catalog and retry.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Skill History
      tags:
      - skills
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v2/tool/parse:
    post:
      description: 'Parse a tool definition from a pipeline (e.g. Agent).


        This endpoint takes a tool definition as provided in a pipeline context (such
        as

        when initializing an Agent with tools) and parses it into the format used
        by the

        validate and create tool endpoints. This allows users to verify and create
        tools

        based on definitions they are already using in their pipelines.'
      operationId: parse_tools_api_v2_tool_parse_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParseToolsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  anyOf:
                  - $ref: '#/components/schemas/MCPServerParseToolResponse'
                  - $ref: '#/components/schemas/PipelineParseToolResponse'
                  - $ref: '#/components/schemas/ComponentParseToolResponse'
                  - $ref: '#/components/schemas/CodeParseToolResponse'
                  - $ref: '#/components/schemas/ShellToolsetParseToolResponse'
                  - $ref: '#/components/schemas/SkillToolsetParseToolResponse'
                title: Response Parse Tools Api V2 Tool Parse Post
                type: array
          description: Successful Response
        '400':
          description: Raised when there is an error parsing a tool definition
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Parse Tools
      tags:
      - tools
      x-deepset-permissions:
        required_roles:
        - ADMIN
        - MEMBER
        type: organization
  /api/v2/workspaces/{workspace_id}/jobs:
    get:
      description: List batch jobs in this workspace, most recently created first.
      operationId: list_jobs_api_v2_workspaces__workspace_id__jobs_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li></ul>
          enum:
          - name
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedJobs'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Jobs
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
    post:
      description: Create a batch job against a pipeline, either referencing an existing
        query set via 'query_set_id' or providing 'queries' inline (an inline query
        set is created for you). The job is not run until 'POST .../jobs/{job_id}/start'
        is called.
      operationId: create_job_api_v2_workspaces__workspace_id__jobs_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateJob'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/filters/created-by:
    get:
      description: Distinct set of users who have created a job in this workspace,
        for filter dropdowns.
      operationId: list_job_creators_api_v2_workspaces__workspace_id__jobs_filters_created_by_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/UserIdName'
                title: Response List Job Creators Api V2 Workspaces  Workspace Id  Jobs
                  Filters Created By Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Job Creators
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/share:
    post:
      description: Create an externally-shareable, revocable link exposing a job's
        results.
      operationId: share_job_api_v2_workspaces__workspace_id__jobs_share_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSharedJob'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedJobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Share Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/{job_id}:
    delete:
      description: Delete a job and its results. Returns 409 if the job is currently
        STARTED.
      operationId: delete_job_api_v2_workspaces__workspace_id__jobs__job_id__delete
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
    get:
      description: Get a single job by ID, including its current status and progress
        counters.
      operationId: get_job_api_v2_workspaces__workspace_id__jobs__job_id__get
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Job
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
    patch:
      description: Update a job's editable fields. Only fields present in the request
        body are changed. Returns 409 if the job is currently STARTED (wait for it
        to finish first).
      operationId: update_job_api_v2_workspaces__workspace_id__jobs__job_id__patch
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateJob'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/{job_id}/results:
    get:
      description: 'Returns job results.


        In addition to the job result''s own fields, ''select'' also accepts ''query_id''
        and ''result_id'' —

        values extracted from the underlying pipeline response for the result''s first
        answer. These aren''t

        real columns: they''re only available through ''select'', not on a full (unselected)
        response, and they

        can be ''null'' if the query failed or produced no answer.'
      operationId: list_job_results_api_v2_workspaces__workspace_id__jobs__job_id__results_get
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`absolute_query_index`</li><li>`answer`</li><li>`context`</li><li>`created_at`</li><li>`file`</li><li>`group_name`</li><li>`prompt`</li><li>`query`</li><li>`query_index`</li><li>`query_label`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: query_index
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`absolute_query_index`</li><li>`answer`</li><li>`context`</li><li>`created_at`</li><li>`file`</li><li>`group_name`</li><li>`prompt`</li><li>`query`</li><li>`query_index`</li><li>`query_label`</li></ul>
          enum:
          - query
          - answer
          - prompt
          - context
          - file
          - group_name
          - query_label
          - created_at
          - query_index
          - absolute_query_index
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: ASC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedJobResults'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Job Results
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/{job_id}/results/export:
    get:
      description: Download all of the job's results as a CSV file.
      operationId: export_job_results_api_v2_workspaces__workspace_id__jobs__job_id__results_export_get
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Export Job Results
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/{job_id}/results/presigned-url:
    get:
      description: Upload the job's results as a CSV to S3 and return a time-limited
        presigned URL to download it.
      operationId: get_job_results_presigned_url_api_v2_workspaces__workspace_id__jobs__job_id__results_presigned_url_get
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresignedUrlResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Job Results Presigned Url
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/jobs/{job_id}/start:
    post:
      description: 'Enqueue the job for execution.


        To be notified when the job finishes, pass one or more `callbacks`. deepset
        sends a POST request to each callback URL with the JSON body `{"job_id": "<job_id>",
        "status": "<status>"}`. `status` is `ENDED` if the job completed and `FAILED`
        if it did not, so you receive exactly one of the two. Any `headers` you supply
        are sent with the request.


        Each callback is sent once, with a 10-second timeout and no retries, and the
        response code is not checked. Treat the callback as a notification and call
        `GET /workspaces/{workspace_id}/jobs/{job_id}` when you need the authoritative
        job status.


        Returns 409 if the job is already STARTED; pass ''?force=true'' to re-enqueue
        a stuck job without losing progress already made.'
      operationId: start_job_api_v2_workspaces__workspace_id__jobs__job_id__start_post
      parameters:
      - in: path
        name: job_id
        required: true
        schema:
          format: uuid
          title: Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: Re-enqueue a job stuck in STARTED state
        in: query
        name: force
        required: false
        schema:
          default: false
          description: Re-enqueue a job stuck in STARTED state
          title: Force
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/StartJobBody'
              - type: 'null'
              title: Body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Start Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/mcp/config:
    delete:
      description: Delete the MCP server configuration, disabling MCP access for this
        workspace.
      operationId: delete_mcp_config_api_v2_workspaces__workspace_id__mcp_config_delete
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Mcp Config
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    get:
      description: Get the MCP server configuration for a workspace.
      operationId: get_mcp_config_api_v2_workspaces__workspace_id__mcp_config_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPConfigResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Mcp Config
      tags:
      - mcp
      x-deepset-permissions:
        action: read
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    patch:
      description: Update the MCP server configuration for a workspace.
      operationId: update_mcp_config_api_v2_workspaces__workspace_id__mcp_config_patch
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMCPConfigRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPConfigResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Mcp Config
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    post:
      description: 'Create an MCP server configuration for a workspace.


        This enables the workspace to expose selected pipelines as MCP tools

        that external clients (Claude, ChatGPT, etc.) can invoke.'
      operationId: create_mcp_config_api_v2_workspaces__workspace_id__mcp_config_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMCPConfigRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCPConfigResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Mcp Config
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
  /api/v2/workspaces/{workspace_id}/mcp/config/pipelines:
    get:
      description: List pipelines currently exposed as MCP tools in this workspace.
      operationId: list_exposed_pipelines_api_v2_workspaces__workspace_id__mcp_config_pipelines_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ExposedPipelineResponse'
                title: Response List Exposed Pipelines Api V2 Workspaces  Workspace
                  Id  Mcp Config Pipelines Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Exposed Pipelines
      tags:
      - mcp
      x-deepset-permissions:
        action: read
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    post:
      description: 'Expose a pipeline as an MCP tool.


        The pipeline must exist in the same workspace. Optionally provide

        a custom tool name and description that will be shown to MCP clients.'
      operationId: add_exposed_pipeline_api_v2_workspaces__workspace_id__mcp_config_pipelines_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExposePipelineRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExposedPipelineResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add Exposed Pipeline
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
  /api/v2/workspaces/{workspace_id}/mcp/config/pipelines/{pipeline_id}:
    delete:
      description: Remove a pipeline from the MCP server (stop exposing it as a tool).
      operationId: delete_exposed_pipeline_api_v2_workspaces__workspace_id__mcp_config_pipelines__pipeline_id__delete
      parameters:
      - description: ID of the pipeline to stop exposing as an MCP tool.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: ID of the pipeline to stop exposing as an MCP tool.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Exposed Pipeline
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    patch:
      description: Update the MCP tool metadata (name, description, instructions)
        for an exposed pipeline.
      operationId: update_exposed_pipeline_api_v2_workspaces__workspace_id__mcp_config_pipelines__pipeline_id__patch
      parameters:
      - description: ID of the pipeline to update MCP tool metadata for.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: ID of the pipeline to update MCP tool metadata for.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateExposedPipelineRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExposedPipelineResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Exposed Pipeline
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
  /api/v2/workspaces/{workspace_id}/mcp/config/services:
    get:
      description: List services currently exposed as MCP tools in this workspace.
      operationId: list_exposed_services_api_v2_workspaces__workspace_id__mcp_config_services_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ExposedServiceResponse'
                title: Response List Exposed Services Api V2 Workspaces  Workspace
                  Id  Mcp Config Services Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Exposed Services
      tags:
      - mcp
      x-deepset-permissions:
        action: read
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    post:
      description: 'Expose a service as an MCP tool.


        The service must exist in the same workspace. Optionally provide a custom
        tool

        name and description that will be shown to MCP clients.'
      operationId: add_exposed_service_api_v2_workspaces__workspace_id__mcp_config_services_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExposeServiceRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExposedServiceResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Add Exposed Service
      tags:
      - mcp
      x-deepset-permissions:
        action: read
        asset: services
        asset_description: 'Access to services (deployments): create, update, publish
          and query.'
        type: workspace
  /api/v2/workspaces/{workspace_id}/mcp/config/services/{deployment_id}:
    delete:
      description: Remove a service from the MCP server (stop exposing it as a tool).
      operationId: delete_exposed_service_api_v2_workspaces__workspace_id__mcp_config_services__deployment_id__delete
      parameters:
      - description: ID of the service to stop exposing as an MCP tool.
        in: path
        name: deployment_id
        required: true
        schema:
          description: ID of the service to stop exposing as an MCP tool.
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Exposed Service
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
    patch:
      description: Update the MCP tool metadata (name, description, instructions)
        for an exposed service.
      operationId: update_exposed_service_api_v2_workspaces__workspace_id__mcp_config_services__deployment_id__patch
      parameters:
      - description: ID of the service to update MCP tool metadata for.
        in: path
        name: deployment_id
        required: true
        schema:
          description: ID of the service to update MCP tool metadata for.
          format: uuid
          title: Deployment Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateExposedServiceRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExposedServiceResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Exposed Service
      tags:
      - mcp
      x-deepset-permissions:
        action: write
        asset: mcp_server
        asset_description: Access to the workspace MCP server configuration and tool
          invocation.
        type: workspace
  /api/v2/workspaces/{workspace_id}/models:
    get:
      description: 'Returns the available models for a workspace.


        Custom models (workspace- and org-scoped) are listed first, followed by

        predefined models from the integration gateway.'
      operationId: get_workspace_models_api_v2_workspaces__workspace_id__models_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: Filter by connection status.
        in: query
        name: connected
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter by connection status.
          title: Connected
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Model_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Models
      tags:
      - model
      x-deepset-permissions:
        action: read
        asset: models
        asset_description: Access to model definitions in a workspace.
        type: workspace
  /api/v2/workspaces/{workspace_id}/models/custom:
    get:
      description: 'Returns workspace-scoped custom model definitions.


        Supports OData ``$filter`` on ``name`` and ``provider``.'
      operationId: get_workspace_custom_models_api_v2_workspaces__workspace_id__models_custom_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li><li>`provider`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li><li>`provider`</li></ul>
          enum:
          - name
          - provider
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Model_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Custom Models
      tags:
      - model
      x-deepset-permissions:
        action: read
        asset: models
        asset_description: Access to model definitions in a workspace.
        type: workspace
    post:
      description: Creates a new custom model definition in the workspace.
      operationId: create_workspace_model_api_v2_workspaces__workspace_id__models_custom_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateModelRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
          description: Successful Response
        '409':
          description: A model with this name already exists.
        '422':
          description: The model configuration is invalid.
      security:
      - HTTPBearer: []
      summary: Create Workspace Model
      tags:
      - model
      x-deepset-permissions:
        action: write
        asset: models
        asset_description: Access to model definitions in a workspace.
        type: workspace
  /api/v2/workspaces/{workspace_id}/models/custom/validate:
    post:
      description: Validates the chat_generator_config for a workspace-scoped custom
        model.
      operationId: validate_workspace_model_api_v2_workspaces__workspace_id__models_custom_validate_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidateModelRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelValidationResult'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Validate Workspace Model
      tags:
      - model
      x-deepset-permissions:
        action: read
        asset: models
        asset_description: Access to model definitions in a workspace.
        type: workspace
  /api/v2/workspaces/{workspace_id}/models/custom/{model_id}:
    delete:
      description: Deletes a workspace-scoped custom model definition.
      operationId: delete_workspace_model_api_v2_workspaces__workspace_id__models_custom__model_id__delete
      parameters:
      - description: The unique identifier of the model.
        in: path
        name: model_id
        required: true
        schema:
          description: The unique identifier of the model.
          format: uuid
          title: Model Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '404':
          description: We couldn't find the model with this ID. Check the ID and try
            again.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Workspace Model
      tags:
      - model
      x-deepset-permissions:
        action: write
        asset: models
        asset_description: Access to model definitions in a workspace.
        type: workspace
    patch:
      description: Updates an existing workspace-scoped custom model definition.
      operationId: update_workspace_model_api_v2_workspaces__workspace_id__models_custom__model_id__patch
      parameters:
      - description: The unique identifier of the model.
        in: path
        name: model_id
        required: true
        schema:
          description: The unique identifier of the model.
          format: uuid
          title: Model Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateModelRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
          description: Successful Response
        '404':
          description: We couldn't find a model with this ID. Check the ID and try
            again.
        '409':
          description: A model with this name already exists.
        '422':
          description: The model configuration is invalid.
      security:
      - HTTPBearer: []
      summary: Update Workspace Model
      tags:
      - model
      x-deepset-permissions:
        action: write
        asset: models
        asset_description: Access to model definitions in a workspace.
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/debug-tunnel:
    post:
      description: 'Start a debug tunnel for a pipeline.


        If another debug tunnel is already running for this pipeline, the existing
        tunnel will be stopped and a new one will

        be started.'
      operationId: start_debug_tunnel_api_v2_workspaces__workspace_id__pipelines__pipeline_id__debug_tunnel_post
      parameters:
      - description: Unique identifier of the pipeline you want to debug.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of the pipeline you want to debug.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DebugTunnelDeviceLoginCredentials'
          description: Debug tunnel started.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '424':
          description: Debug tunnel device login failed.
      security:
      - HTTPBearer: []
      summary: Start Debug Tunnel
      tags:
      - debug_tunnel
      x-deepset-permissions:
        action: write
        asset: pipelines
        asset_description: Access to individual pipeline details
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/feedback:
    get:
      description: 'Retrieves a paginated list of user feedback.

        Use this endpoint to fetch batches of feedback entries, sorted and filtered
        according to your preference.'
      operationId: get_paginated_feedback_api_v2_workspaces__workspace_id__pipelines__pipeline_id__feedback_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 1000
          title: Limit
          type: integer
      - description: Enter the URL-encoded datetime in ISO format if you want to see
          all entries after this datetime.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: Enter the URL-encoded datetime in ISO format if you want to
            see all entries after this datetime.
          title: After
      - description: Enter the offset for the pagination. Note that the results are
          0-indexed which means that with 'offset=0', you will skip the first element.
        in: query
        name: offset
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Enter the offset for the pagination. Note that the results
            are 0-indexed which means that with 'offset=0', you will skip the first
            element.
          title: Offset
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`search_history/score`</li><li>`search_history/search_query`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`search_history/score`</li><li>`search_history/search_query`</li></ul>
          enum:
          - created_at
          - search_history/score
          - search_history/search_query
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
          filter fields:<ul><li>`api_key`</li><li>`comment`</li><li>`created_by`</li><li>`query_id`</li><li>`result_id`</li><li>`score`</li><li>`search_history/search_query`</li><li>`tags/tag_id`</li></ul>'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).<br/><br/>Supported
            filter fields:<ul><li>`api_key`</li><li>`comment`</li><li>`created_by`</li><li>`query_id`</li><li>`result_id`</li><li>`score`</li><li>`search_history/search_query`</li><li>`tags/tag_id`</li></ul>'
          title: Filter
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/PaginatedResult_Feedback_'
                - $ref: '#/components/schemas/PaginatedResult_FeedbackSelectResult_'
                title: Response Get Paginated Feedback Api V2 Workspaces  Workspace
                  Id  Pipelines  Pipeline Id  Feedback Get
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Paginated Feedback
      tags:
      - feedback
      x-deepset-permissions:
        action: read
        asset: feedback_management
        asset_description: Higher level control over feedback, like deletions, tags,
          stats, export, etc.
        type: workspace
    post:
      description: 'Adds user feedback to a specific response.

        Use this endpoint to collect and store user ratings, comments, "

        "or other feedback about the quality or relevance of a response.'
      operationId: create_feedback_api_v2_workspaces__workspace_id__pipelines__pipeline_id__feedback_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeedback'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Feedback
      tags:
      - feedback
      x-deepset-permissions:
        action: write
        asset: feedback
        asset_description: Access to viewing, creating and updating and feedback.
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/feedback/export:
    get:
      description: Exports feedback to a csv file.
      operationId: export_feedback_api_v2_workspaces__workspace_id__pipelines__pipeline_id__feedback_export_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Export Feedback
      tags:
      - feedback
      x-deepset-permissions:
        action: read
        asset: feedback_management
        asset_description: Higher level control over feedback, like deletions, tags,
          stats, export, etc.
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/feedback/stats:
    get:
      description: Return feedback stats for a pipeline.
      operationId: get_pipeline_feedback_stats_api_v2_workspaces__workspace_id__pipelines__pipeline_id__feedback_stats_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackStats'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Pipeline Feedback Stats
      tags:
      - feedback
      x-deepset-permissions:
        action: read
        asset: feedback_management
        asset_description: Higher level control over feedback, like deletions, tags,
          stats, export, etc.
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/feedback/{feedback_id}:
    delete:
      description: Deletes a feedback entry. You can't bring back a deleted feedback
        entry.
      operationId: delete_feedback_api_v2_workspaces__workspace_id__pipelines__pipeline_id__feedback__feedback_id__delete
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      - in: path
        name: feedback_id
        required: true
        schema:
          format: uuid
          title: Feedback ID
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Feedback
      tags:
      - feedback
      x-deepset-permissions:
        action: write
        asset: feedback_management
        asset_description: Higher level control over feedback, like deletions, tags,
          stats, export, etc.
        type: workspace
    patch:
      description: 'Modifies and existing feedback entry.

        Use this endpoint to update the content and rating of a specific piece of
        user feedback.'
      operationId: update_feedback_api_v2_workspaces__workspace_id__pipelines__pipeline_id__feedback__feedback_id__patch
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      - in: path
        name: feedback_id
        required: true
        schema:
          format: uuid
          title: Feedback ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeedback'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Feedback
      tags:
      - feedback
      x-deepset-permissions:
        action: write
        asset: feedback
        asset_description: Access to viewing, creating and updating and feedback.
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history:
    delete:
      description: 'Deletes search history for a specific pipeline.

        Provide search_history_ids in the request body: {"search_history_ids": ["uuid1",
        "uuid2", ...]}

        Maximum 100 IDs allowed. If no body is provided or search_history_ids is null,

        deletes all search history for the pipeline.

        Deletion is done in the background and may take a few seconds to take effect.'
      operationId: delete_pipeline_search_history_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history_delete
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/DeleteSearchHistoryIds'
              - type: 'null'
              description: List of search history IDs to delete. If not provided,
                deletes all search history for the pipeline.
              title: Search History Ids
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Pipeline Search History
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history/bulk/labels:
    delete:
      description: Removes one or more labels from multiple search history records
        at once.
      operationId: bulk_unassign_search_history_labels_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history_bulk_labels_delete
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSearchHistoryLabelsRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Bulk Unassign Search History Labels
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: search_history
        asset_description: Access to search history
        type: workspace
    put:
      description: Assigns one or more labels to multiple search history records at
        once.
      operationId: bulk_assign_search_history_labels_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history_bulk_labels_put
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSearchHistoryLabelsRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Bulk Assign Search History Labels
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history/labels:
    get:
      description: Returns all unique labels used across a pipeline's search history
        records.
      operationId: get_search_history_labels_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history_labels_get
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchHistoryLabelsResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Search History Labels
      tags:
      - pipeline
      x-deepset-permissions:
        action: read
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history/labels/{label_name}:
    delete:
      description: Removes a label from all search history records in a pipeline.
      operationId: delete_search_history_label_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history_labels__label_name__delete
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: The label to remove from all search history records in this pipeline.
        in: path
        name: label_name
        required: true
        schema:
          description: The label to remove from all search history records in this
            pipeline.
          title: Label Name
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Search History Label
      tags:
      - pipeline
      x-deepset-permissions:
        action: write
        asset: search_history
        asset_description: Access to search history
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history/{query_id}:
    get:
      description: Returns the search history for a specific query_id.
      operationId: pipeline_search_history_result_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history__query_id__get
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Unique identifier of the search query.
        in: path
        name: query_id
        required: true
        schema:
          description: Unique identifier of the search query.
          format: uuid
          title: Query Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: 'Optional fields to include in the response. Supported values:
          `trace`.'
        in: query
        name: include
        required: false
        schema:
          anyOf:
          - items:
              const: trace
              type: string
            type: array
          - type: 'null'
          description: 'Optional fields to include in the response. Supported values:
            `trace`.'
          title: Include
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchHistoryV2'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Pipeline Search History Result
      tags:
      - pipeline
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history/{query_id}/labels:
    delete:
      description: Removes one or more labels from a search history record.
      operationId: unassign_search_history_labels_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history__query_id__labels_delete
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Unique identifier of the search query.
        in: path
        name: query_id
        required: true
        schema:
          description: Unique identifier of the search query.
          format: uuid
          title: Query Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchHistoryLabelsRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Unassign Search History Labels
      tags:
      - pipeline
    put:
      description: Assigns one or more labels to a search history record. Existing
        labels are preserved.
      operationId: assign_search_history_labels_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history__query_id__labels_put
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Unique identifier of the search query.
        in: path
        name: query_id
        required: true
        schema:
          description: Unique identifier of the search query.
          format: uuid
          title: Query Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchHistoryLabelsRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Assign Search History Labels
      tags:
      - pipeline
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/search_history/{query_id}/note:
    delete:
      description: Removes the note from a search history record.
      operationId: clear_search_history_note_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history__query_id__note_delete
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Unique identifier of the search query.
        in: path
        name: query_id
        required: true
        schema:
          description: Unique identifier of the search query.
          format: uuid
          title: Query Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Clear Search History Note
      tags:
      - pipeline
    put:
      description: Sets or replaces the note on a search history record.
      operationId: set_search_history_note_api_v2_workspaces__workspace_id__pipelines__pipeline_id__search_history__query_id__note_put
      parameters:
      - description: Unique identifier of a pipeline.
        in: path
        name: pipeline_id
        required: true
        schema:
          description: Unique identifier of a pipeline.
          format: uuid
          title: Pipeline Id
          type: string
      - description: Unique identifier of the search query.
        in: path
        name: query_id
        required: true
        schema:
          description: Unique identifier of the search query.
          format: uuid
          title: Query Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchHistoryNoteRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Set Search History Note
      tags:
      - pipeline
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/tags:
    get:
      description: 'Retrieves a paginated list of tags.

        Use this endpoint to fetch batches of feedback entries, "

        "sorted and filtered according to your preference.'
      operationId: get_paginated_tags_api_v2_workspaces__workspace_id__pipelines__pipeline_id__tags_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li></ul>
          enum:
          - name
          - created_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_FeedbackTag_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Paginated Tags
      tags:
      - feedback_tags
      x-deepset-permissions:
        action: write
        asset: feedback
        asset_description: Access to viewing, creating and updating and feedback.
        type: workspace
    post:
      description: 'Creates tags for a specified pipeline.

        Users will be able to choose these tags when giving feedback "

        "on reponses generated by this pipeline.

        Use tags to structure and categorize user feedback.'
      operationId: create_tags_api_v2_workspaces__workspace_id__pipelines__pipeline_id__tags_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTag'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackTag'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Tags
      tags:
      - feedback_tags
      x-deepset-permissions:
        action: write
        asset: feedback_management
        asset_description: Higher level control over feedback, like deletions, tags,
          stats, export, etc.
        type: workspace
  /api/v2/workspaces/{workspace_id}/pipelines/{pipeline_id}/tags/{tag_id}:
    delete:
      description: Permanently deletes tags with the given IDs. You can only delete
        tags that aren't connected to feedback entries.
      operationId: delete_tags_api_v2_workspaces__workspace_id__pipelines__pipeline_id__tags__tag_id__delete
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: path
        name: pipeline_id
        required: true
        schema:
          format: uuid
          title: Pipeline ID
          type: string
      - in: path
        name: tag_id
        required: true
        schema:
          format: uuid
          title: Tag ID
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Tags
      tags:
      - feedback_tags
      x-deepset-permissions:
        action: write
        asset: feedback_management
        asset_description: Higher level control over feedback, like deletions, tags,
          stats, export, etc.
        type: workspace
  /api/v2/workspaces/{workspace_id}/query_sets:
    get:
      description: List query sets in this workspace, most recently created first.
      operationId: list_query_sets_api_v2_workspaces__workspace_id__query_sets_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          title: Page
          type: integer
      - in: query
        name: limit
        required: false
        schema:
          default: 10
          maximum: 100
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedQuerySets'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Query Sets
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/query_sets/import:
    post:
      description: 'Create a query set from an uploaded CSV file. Expected columns:
        ''query'' (required), ''filters'', ''params'', ''group name'', ''query label''.
        Returns 409 if a query set with the given name already exists.'
      operationId: import_query_set_api_v2_workspaces__workspace_id__query_sets_import_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_import_query_set_api_v2_workspaces__workspace_id__query_sets_import_post'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuerySetResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Import Query Set
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/query_sets/{query_set_id}:
    delete:
      description: Delete a query set. Returns 409 if any job still references it.
      operationId: delete_query_set_api_v2_workspaces__workspace_id__query_sets__query_set_id__delete
      parameters:
      - in: path
        name: query_set_id
        required: true
        schema:
          format: uuid
          title: Query Set Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Query Set
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
    get:
      description: Get a single query set by ID.
      operationId: get_query_set_api_v2_workspaces__workspace_id__query_sets__query_set_id__get
      parameters:
      - in: path
        name: query_set_id
        required: true
        schema:
          format: uuid
          title: Query Set Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuerySetResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Query Set
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/secrets:
    get:
      description: Returns the existing secrets.
      operationId: get_workspace_secrets_api_v2_workspaces__workspace_id__secrets_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: Whether to include organization-level secrets in the results.
          Default is `false`.
        in: query
        name: include_organization_secrets
        required: false
        schema:
          default: false
          description: Whether to include organization-level secrets in the results.
            Default is `false`.
          title: Include Organization Secrets
          type: boolean
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`last_edited_by/family_name`</li><li>`last_edited_by/given_name`</li><li>`name`</li><li>`updated_at`</li><li>`workspace/name`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`created_by/family_name`</li><li>`created_by/given_name`</li><li>`last_edited_by/family_name`</li><li>`last_edited_by/given_name`</li><li>`name`</li><li>`updated_at`</li><li>`workspace/name`</li></ul>
          enum:
          - name
          - created_at
          - updated_at
          - workspace/name
          - created_by/given_name
          - created_by/family_name
          - last_edited_by/given_name
          - last_edited_by/family_name
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Union_WorkspaceSecret__SelectResult__'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Secrets
      tags:
      - secrets
      x-deepset-permissions:
        action: read
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    post:
      description: Stores your secret in Haystack Enterprise Platform and returns
        the unique identifier for the secret.
      operationId: create_workspace_secret_api_v2_workspaces__workspace_id__secrets_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecret'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSecretResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Create Workspace Secret
      tags:
      - secrets
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/secrets-integrations:
    get:
      description: Returns the existing integrations for a workspace.
      operationId: get_workspace_integrations_api_v2_workspaces__workspace_id__secrets_integrations_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ConnectedWorkspaceIntegration'
                title: Response Get Workspace Integrations Api V2 Workspaces  Workspace
                  Id  Secrets Integrations Get
                type: array
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Integrations
      tags:
      - secrets
      x-deepset-permissions:
        action: read
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/secrets-integrations/{provider}:
    delete:
      description: Disconnects a connected integration for a workspace.
      operationId: disconnect_workspace_integration_api_v2_workspaces__workspace_id__secrets_integrations__provider__delete
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: The provider of the model registry.
        in: path
        name: provider
        required: true
        schema:
          $ref: '#/components/schemas/ModelProvider'
          description: The provider of the model registry.
          title: Model Provider
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Disconnect Workspace Integration
      tags:
      - secrets
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    post:
      description: Connects a secret to a provider for a workspace.
      operationId: connect_workspace_integration_api_v2_workspaces__workspace_id__secrets_integrations__provider__post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: The provider of the model registry.
        in: path
        name: provider
        required: true
        schema:
          $ref: '#/components/schemas/ModelProvider'
          description: The provider of the model registry.
          title: Model Provider
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecretIntegration'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Connect Workspace Integration
      tags:
      - secrets
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    put:
      description: Updates an already connected integration for a workspace.
      operationId: update_workspace_integration_api_v2_workspaces__workspace_id__secrets_integrations__provider__put
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: The provider of the model registry.
        in: path
        name: provider
        required: true
        schema:
          $ref: '#/components/schemas/ModelProvider'
          description: The provider of the model registry.
          title: Model Provider
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecretIntegration'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Workspace Integration
      tags:
      - secrets
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/secrets/{secret_id}:
    delete:
      description: Deletes a secret from Haystack Enterprise Platform.
      operationId: remove_workspace_secret_api_v2_workspaces__workspace_id__secrets__secret_id__delete
      parameters:
      - description: Unique identifier of the secret.
        in: path
        name: secret_id
        required: true
        schema:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Remove Workspace Secret
      tags:
      - secrets
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    get:
      description: Returns the secret with the given id.
      operationId: get_workspace_secret_api_v2_workspaces__workspace_id__secrets__secret_id__get
      parameters:
      - description: Unique identifier of the secret.
        in: path
        name: secret_id
        required: true
        schema:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Secret'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Workspace Secret
      tags:
      - secrets
      x-deepset-permissions:
        action: read
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    put:
      description: Updates your secret in Haystack Enterprise Platform.
      operationId: update_workspace_secret_api_v2_workspaces__workspace_id__secrets__secret_id__put
      parameters:
      - description: Unique identifier of the secret.
        in: path
        name: secret_id
        required: true
        schema:
          description: Unique identifier of the secret.
          format: uuid
          title: Secret ID
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSecret'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Workspace Secret
      tags:
      - secrets
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/shared_jobs:
    get:
      description: List shared job links in this workspace, most recently created
        first.
      operationId: list_shared_jobs_api_v2_workspaces__workspace_id__shared_jobs_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          title: Page
          type: integer
      - in: query
        name: limit
        required: false
        schema:
          default: 10
          maximum: 100
          minimum: 1
          title: Limit
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSharedJobs'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: List Shared Jobs
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/shared_jobs/{shared_job_id}:
    get:
      description: Get a single shared job link by ID.
      operationId: get_shared_job_api_v2_workspaces__workspace_id__shared_jobs__shared_job_id__get
      parameters:
      - in: path
        name: shared_job_id
        required: true
        schema:
          format: uuid
          title: Shared Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedJobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Shared Job
      tags:
      - jobs
      x-deepset-permissions:
        action: read
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
    patch:
      description: Update a shared job link's display settings. Only fields present
        in the request body are changed.
      operationId: update_shared_job_api_v2_workspaces__workspace_id__shared_jobs__shared_job_id__patch
      parameters:
      - in: path
        name: shared_job_id
        required: true
        schema:
          format: uuid
          title: Shared Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSharedJob'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedJobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Update Shared Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/shared_jobs/{shared_job_id}/revoke:
    post:
      description: Revoke a shared job link so it no longer grants access to the job's
        results.
      operationId: revoke_shared_job_api_v2_workspaces__workspace_id__shared_jobs__shared_job_id__revoke_post
      parameters:
      - in: path
        name: shared_job_id
        required: true
        schema:
          format: uuid
          title: Shared Job Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedJobResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Revoke Shared Job
      tags:
      - jobs
      x-deepset-permissions:
        action: write
        asset: jobs
        asset_description: Access to jobs details
        type: workspace
  /api/v2/workspaces/{workspace_id}/tool/validate:
    post:
      description: 'Validate a new tool configuration without saving it.


        This unified endpoint handles validation for all tool types

        (MCP server tools and pipeline tools).


        For MCP server tools, provide mcp_server data with URL, transport type, and

        optional secret ID. For pipeline tools, provide pipeline data with pipeline
        ID

        and optional input/output mappings.


        If a new secret is provided for MCP server authentication, this endpoint

        creates and saves the secret.'
      operationId: validate_tool_api_v2_workspaces__workspace_id__tool_validate_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: Whether to connect to the MCP server to fetch tools. If false,
          only the configuration will be validated but not the MCP server connection
          itself. The connected status and the tools list will be null in this case.
        in: query
        name: connect_mcp
        required: false
        schema:
          default: true
          description: Whether to connect to the MCP server to fetch tools. If false,
            only the configuration will be validated but not the MCP server connection
            itself. The connected status and the tools list will be null in this case.
          title: Connect Mcp
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/MCPServerToolRequest'
              - $ref: '#/components/schemas/PipelineToolRequest'
              - $ref: '#/components/schemas/CodeToolRequest'
              - $ref: '#/components/schemas/ComponentToolRequest'
              - $ref: '#/components/schemas/ShellToolsetRequest'
              - $ref: '#/components/schemas/SkillToolsetRequest'
              title: Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/MCPServerToolValidationResponse'
                - $ref: '#/components/schemas/SingleToolValidationResponse'
                - $ref: '#/components/schemas/PipelineToolValidationResponse'
                - $ref: '#/components/schemas/ShellToolsetValidationResponse'
                - $ref: '#/components/schemas/ToolValidationResponseBase'
                title: Response Validate Tool Api V2 Workspaces  Workspace Id  Tool
                  Validate Post
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Validate Tool
      tags:
      - tools
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/tools:
    get:
      description: 'Get all tools in a workspace.


        Returns a paginated list of tools (both MCP server tools and pipeline tools)

        available in the specified workspace. Tools are used in agent contexts to

        provide additional capabilities.'
      operationId: get_tools_api_v2_workspaces__workspace_id__tools_get
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: Whether to connect to the MCP server to fetch tools. If false,
          only the configuration will be validated but not the MCP server connection
          itself. The connected status and the tools list will be null in this case.
        in: query
        name: connect_mcp
        required: false
        schema:
          default: true
          description: Whether to connect to the MCP server to fetch tools. If false,
            only the configuration will be validated but not the MCP server connection
            itself. The connected status and the tools list will be null in this case.
          title: Connect Mcp
          type: boolean
      - description: The number of entries to display. Leaving this field empty keeps
          the default, and max 10 results are returned.
        in: query
        name: limit
        required: false
        schema:
          default: 10
          description: The number of entries to display. Leaving this field empty
            keeps the default, and max 10 results are returned.
          maximum: 100
          title: Limit
          type: integer
      - description: Enter an ID if you want to see all entries before this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: before
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries before this ID.
            To use this option, clear the `page_number` parameter first.
          title: Before
      - description: Enter an ID if you want to see all entries after this ID. To
          use this option, clear the `page_number` parameter first.
        in: query
        name: after
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
          description: Enter an ID if you want to see all entries after this ID. To
            use this option, clear the `page_number` parameter first.
          title: After
      - description: The number of the page you want to see.
        in: query
        name: page_number
        required: false
        schema:
          anyOf:
          - minimum: 1
            type: integer
          - type: 'null'
          description: The number of the page you want to see.
          title: Page Number
      - description: The name of the entity you want to sort by.<br/><br/>Supported
          values:<ul><li>`created_at`</li><li>`name`</li><li>`tool_type`</li><li>`updated_at`</li></ul>
        in: query
        name: field
        required: false
        schema:
          default: created_at
          description: The name of the entity you want to sort by.<br/><br/>Supported
            values:<ul><li>`created_at`</li><li>`name`</li><li>`tool_type`</li><li>`updated_at`</li></ul>
          enum:
          - name
          - tool_type
          - created_at
          - updated_at
          title: Field
          type: string
      - description: Choose how you want to sort the results.
        in: query
        name: order
        required: false
        schema:
          default: DESC
          description: Choose how you want to sort the results.
          enum:
          - ASC
          - DESC
          title: Order
          type: string
      - description: 'The OData filter you want to use to in your query. It supports
          exact match and `AND` operations. For example, to filter for a metadata
          `category:news` and `published_date` greater than or equal to January 1
          2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
          eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
          work with cursor-based pagination (leave the `page_number` field blank to
          enable it).To learn more about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: filter
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'The OData filter you want to use to in your query. It supports
            exact match and `AND` operations. For example, to filter for a metadata
            `category:news` and `published_date` greater than or equal to January
            1 2025, here''s what the URL could look like: ''url = "https://api.cloud.deepset.ai/api/v1/workspaces/production/files?limit=10&filter=category
            eq ''news'' and published_date ge ''2025-01-01'' "''. OData filters only
            work with cursor-based pagination (leave the `page_number` field blank
            to enable it).To learn more about the OData filter syntax, see: [Querying
            Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Filter
      - description: 'Partial implementation of the OData $select operator. It currently
          only supports selecting fields from the root entity or a child entity. Selecting
          fields from children''s children is not supported. If you use this parameter,
          the API answer is always a flat list of distinct JSON objects with the selected
          properties, for example, ''[{"given_name": "user1", "user_id": "..."}, ...]''
          for ''select=created_by/given_name, created_by/user_id''. The results are
          ordered by the first selected attribute. To learn more about the OData filter
          syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
        in: query
        name: select
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Partial implementation of the OData $select operator. It currently
            only supports selecting fields from the root entity or a child entity.
            Selecting fields from children''s children is not supported. If you use
            this parameter, the API answer is always a flat list of distinct JSON
            objects with the selected properties, for example, ''[{"given_name": "user1",
            "user_id": "..."}, ...]'' for ''select=created_by/given_name, created_by/user_id''.
            The results are ordered by the first selected attribute. To learn more
            about the OData filter syntax, see: [Querying Data](https://www.odata.org/getting-started/basic-tutorial/#queryData).'
          title: Select
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResult_Union_MCPServerTool__PipelineTool__SelectResult__'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Tools
      tags:
      - tools
      x-deepset-permissions:
        action: read
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    post:
      description: 'Create a new tool.


        This unified endpoint handles creation for all tool types

        (MCP server tools and pipeline tools).


        For MCP server tools, provide mcp_server data with URL, transport type, and

        optional secret ID. For pipeline tools, provide pipeline data with pipeline
        ID

        and optional input/output mappings.'
      operationId: create_tool_api_v2_workspaces__workspace_id__tools_post
      parameters:
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/MCPServerToolRequest'
              - $ref: '#/components/schemas/PipelineToolRequest'
              - $ref: '#/components/schemas/CodeToolRequest'
              - $ref: '#/components/schemas/ComponentToolRequest'
              - $ref: '#/components/schemas/ShellToolsetRequest'
              - $ref: '#/components/schemas/SkillToolsetRequest'
              title: Request
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/MCPServerTool'
                - $ref: '#/components/schemas/PipelineTool'
                title: Response Create Tool Api V2 Workspaces  Workspace Id  Tools
                  Post
          description: Successful Response
        '400':
          description: Raised when MCP server connection failed
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '424':
          description: Error indicating that the secret used by the tool was not found.
      security:
      - HTTPBearer: []
      summary: Create Tool
      tags:
      - tools
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/tools/{tool_id}:
    delete:
      description: 'Delete a tool.


        Permanently removes a tool from the workspace. This operation cannot be undone.

        The tool will no longer be available for use by agents in this workspace.'
      operationId: delete_tool_api_v2_workspaces__workspace_id__tools__tool_id__delete
      parameters:
      - description: ID of the tool to delete
        in: path
        name: tool_id
        required: true
        schema:
          description: ID of the tool to delete
          format: uuid
          title: Tool Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete Tool
      tags:
      - tools
      x-deepset-permissions:
        action: write
        asset: tool_registry
        asset_description: Access to the tool registry.
        type: workspace
    get:
      description: 'Get a specific tool by ID.


        Retrieves detailed information about a specific tool, including its type-specific

        configuration (MCP server details or pipeline configuration).'
      operationId: get_tool_api_v2_workspaces__workspace_id__tools__tool_id__get
      parameters:
      - description: ID of the tool to retrieve
        in: path
        name: tool_id
        required: true
        schema:
          description: ID of the tool to retrieve
          format: uuid
          title: Tool Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      - description: Whether to connect to the MCP server to fetch tools. If false,
          only the configuration will be validated but not the MCP server connection
          itself. The connected status and the tools list will be null in this case.
        in: query
        name: connect_mcp
        required: false
        schema:
          default: true
          description: Whether to connect to the MCP server to fetch tools. If false,
            only the configuration will be validated but not the MCP server connection
            itself. The connected status and the tools list will be null in this case.
          title: Connect Mcp
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/MCPServerTool'
                - $ref: '#/components/schemas/PipelineTool'
                title: Response Get Tool Api V2 Workspaces  Workspace Id  Tools  Tool
                  Id  Get
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Get Tool
      tags:
      - tools
      x-deepset-permissions:
        action: read
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
    patch:
      description: 'Update an existing tool.


        Allows partial updates to a tool''s properties. Only the fields provided in
        the

        request will be updated; other fields will remain unchanged. The tool type
        cannot

        be changed after creation.'
      operationId: update_tool_api_v2_workspaces__workspace_id__tools__tool_id__patch
      parameters:
      - description: ID of the tool to update
        in: path
        name: tool_id
        required: true
        schema:
          description: ID of the tool to update
          format: uuid
          title: Tool Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/ToolUpdateRequest'
              - $ref: '#/components/schemas/MCPServerToolUpdateRequest'
              - $ref: '#/components/schemas/PipelineToolUpdateRequest'
              title: Request
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/MCPServerTool'
                - $ref: '#/components/schemas/PipelineTool'
                title: Response Update Tool Api V2 Workspaces  Workspace Id  Tools  Tool
                  Id  Patch
          description: Successful Response
        '400':
          description: Raised when an invalid param is provided or MCP server connection
            failed
        '404':
          description: Raised when the tool to update is not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '424':
          description: Error indicating that the secret used by the tool was not found.
      security:
      - HTTPBearer: []
      summary: Update Tool
      tags:
      - tools
      x-deepset-permissions:
        action: write
        asset: secrets
        asset_description: Access to secrets and integrations
        type: workspace
  /api/v2/workspaces/{workspace_id}/users/{user_id}/search_history:
    delete:
      description: 'Deletes all search history for a specific user.


        Callers may always delete their own search history; deleting another user''s

        search history requires SEARCH_HISTORY:WRITE on the workspace.

        Deletion is done in the background and may take a few seconds to take effect.'
      operationId: delete_user_search_history_api_v2_workspaces__workspace_id__users__user_id__search_history_delete
      parameters:
      - description: A unique identifier of the user. You can obtain it from the Get
          Users endpoint.
        in: path
        name: user_id
        required: true
        schema:
          description: A unique identifier of the user. You can obtain it from the
            Get Users endpoint.
          format: uuid
          title: User Id
          type: string
      - description: Type the id of the workspace.
        in: path
        name: workspace_id
        required: true
        schema:
          description: Type the id of the workspace.
          format: uuid
          title: Workspace Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
      - HTTPBearer: []
      summary: Delete User Search History
      tags:
      - pipeline
  /health:
    get:
      description: 'Checks if the API and database connection work correctly.


        It is enough to use the Depends, since we configured the database with `pre_ping`.

        Therefore the creation of the session will fail if the DB is not available.'
      operationId: health_health_get
      responses:
        '200':
          content:
            application/json:
              schema:
                title: Response Health Health Get
                type: string
          description: Successful Response
      summary: Health
      tags:
      - health
servers:
- description: deepset Europe
  url: https://api.cloud.deepset.ai
- description: deepset US
  url: https://api.us.deepset.ai
