Deepset Haystack API

The haystack API from Deepset — 8 operation(s) for haystack.

Operations 8

GET /api/v1/haystack/components Get Available Components #
GET /api/v1/haystack/components/input-output Get Components Input Output #
POST /api/v1/haystack/components/input-output/generate Create Components Dynamic Input Output #
POST /api/v1/haystack/components/run Run Component #
POST /api/v1/haystack/pipelines/run Run Pipeline #
POST /api/v1/workspaces/{workspace_name}/haystack/components/run Run Component Workspace #
POST /api/v1/workspaces/{workspace_name}/haystack/pipelines/run Run Pipeline Workspace #
POST /api/v1/workspaces/{workspace_name}/haystack/pipelines/stream Stream Pipeline Workspace #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

deepset-haystack-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: deepset API description
  title: Enterprise Platform Haystack API
  version: 1.0.0
servers:
- description: deepset Europe
  url: https://api.cloud.deepset.ai
- description: deepset US
  url: https://api.us.deepset.ai
tags:
- name: haystack
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/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
components:
  schemas:
    RunPipelineResponse:
      additionalProperties: true
      title: RunPipelineResponse
      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
    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
    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
    RunComponentResponse:
      additionalProperties: true
      title: RunComponentResponse
      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
    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
    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
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ComponentDomain:
      enum:
      - deepset-cloud
      - community
      title: ComponentDomain
      type: string
    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
    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
    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
    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
    ChatHistoryGranularity:
      enum:
      - ALL_MESSAGES
      - QUERY_ANSWER
      title: ChatHistoryGranularity
      type: string
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http