> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bigdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit Workflow

> Submit a workflow that runs independently of your connection, and return immediately with its `execution_id`. Use this endpoint for production integrations: the run is unaffected if your client disconnects, and its result is always stored.

Poll `GET /v1/workflow/executions/{execution_id}` for status and the result, or attach to the event stream for live progress. To continue a run that stopped before it finished, pass its `execution_id`.



## OpenAPI

````yaml /api-rest/openapi/openapi_workflows.json post /v1/workflow/execute/async
openapi: 3.1.0
info:
  description: HTTP API for Bigdata Research Agent and Deep-Research capabilities
  title: Bigdata Research Agent API
  version: 1.0.0
servers:
  - description: Production server
    url: https://agents.bigdata.com
security: []
paths:
  /v1/workflow/execute/async:
    post:
      tags:
        - Workflows
      summary: Submit Workflow
      description: >-
        Submit a workflow that runs independently of your connection, and return
        immediately with its `execution_id`. Use this endpoint for production
        integrations: the run is unaffected if your client disconnects, and its
        result is always stored.


        Poll `GET /v1/workflow/executions/{execution_id}` for status and the
        result, or attach to the event stream for live progress. To continue a
        run that stopped before it finished, pass its `execution_id`.
      operationId: submit_workflow_async_v1_workflow_execute_async_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AsyncWorkflowExecuteRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncWorkflowSubmitResponse'
          description: The workflow was accepted and is now running.
        '409':
          description: >-
            The execution given in `execution_id` cannot be continued: it is
            still in progress, or it already completed.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - API Key Authentication: []
components:
  schemas:
    AsyncWorkflowExecuteRequest:
      description: >-
        Request to submit a workflow that runs independently of your connection.


        Runs submitted this way are always stored, so `persistence_mode` is not

        accepted here. Read the result with the execution retrieval endpoint,
        and

        delete the run when you no longer need it.
      properties:
        execution_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provide the ID of a run that stopped before it finished — one you
            cancelled, or one that ended in an error — to continue it from where
            it stopped. A run that is still in progress, or that already
            completed, cannot be continued and returns `409`.
          title: Execution Id
        input:
          anyOf:
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          description: Input values for template placeholders.
          title: Input
        model_name:
          $ref: '#/components/schemas/ModelName'
          default: base
          description: >-
            Selects the model capability tier. Use "base" for the default
            routing strategy, or "pro" to allow the most capable available model
            when higher reasoning or accuracy is required. Model selection is
            dynamic and may vary based on task type, availability, and failover.
        template:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/CreateWorkflowTemplate'
          description: Template ID (string) or inline template definition (object).
          title: Template
        time_range:
          anyOf:
            - $ref: '#/components/schemas/RollingTimeRange'
            - $ref: '#/components/schemas/DateRange'
            - type: 'null'
          description: Time range filter for the workflow. Omit for unconstrained.
          title: Time Range
      required:
        - template
      title: AsyncWorkflowExecuteRequest
      type: object
    AsyncWorkflowSubmitResponse:
      description: Acknowledgement that a workflow was accepted and is now running.
      properties:
        execution_id:
          description: >-
            Identifier for the submitted run. Use it to poll for status, stream
            events, cancel, and retrieve the result.
          title: Execution Id
          type: string
        status:
          $ref: '#/components/schemas/ExecutionStatus'
          description: Lifecycle status of the run at submission time.
      required:
        - execution_id
        - status
      title: AsyncWorkflowSubmitResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ModelName:
      description: Available models for execution.
      enum:
        - base
        - pro
      title: ModelName
      type: string
    CreateWorkflowTemplate:
      description: Inline workflow template definition.
      properties:
        content_filter:
          anyOf:
            - $ref: '#/components/schemas/ContentFilter'
            - type: 'null'
          description: Content filters applied to all searches.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Brief description of what this template does.
          title: Description
        expected_input:
          anyOf:
            - additionalProperties:
                $ref: '#/components/schemas/WorkflowInputSchema'
              type: object
            - type: 'null'
          description: >-
            Inputs the template expects. Each key is an abstract snake_case
            NAME, not a value. Reference a key as {{ key }} in the prompt to
            substitute its value inline; an unreferenced key is still provided
            to the model as attached context.
          title: Expected Input
        expected_output:
          anyOf:
            - minLength: 1
              type: string
            - type: 'null'
          description: >-
            Optional guidance for the final answer's tone, structure, and
            format.
          title: Expected Output
        name:
          description: Template display name.
          title: Name
          type: string
        prompt:
          description: The research prompt with optional placeholders.
          title: Prompt
          type: string
        ranking_parameters:
          anyOf:
            - $ref: '#/components/schemas/RankingParameters'
            - type: 'null'
          description: Search result ranking configuration.
        research_plan:
          anyOf:
            - $ref: '#/components/schemas/Plan'
            - type: 'null'
          description: Pre-defined research plan for the workflow.
        tools_configs:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          description: >-
            Per-tool configuration stored with the template, keyed by tool id.
            Two key families are supported: `python_code_execution` (toggles
            sandboxed Python and chart rendering for every run) and connector
            tool ids in the `<connector>__<tool>` form (e.g.
            `"factset__FactSet_Fundamentals": {"enabled": true}`). Search
            settings belong in `content_filter`, `ranking_parameters`, or the
            execution request — not here. See `GET /v1/tools` for each connector
            tool's config schema.
          examples:
            - factset__FactSet_Fundamentals:
                enabled: true
              python_code_execution:
                chart_generation_enabled: false
                enabled: true
          title: Tools Configs
      required:
        - name
        - prompt
      title: CreateWorkflowTemplate
      type: object
    RollingTimeRange:
      description: Predefined rolling time windows for filtering data.
      enum:
        - last_24_hours
        - last_7_days
        - last_30_days
        - last_60_days
        - last_90_days
        - last_180_days
        - last_365_days
      title: RollingTimeRange
      type: string
    DateRange:
      description: Absolute time range for filtering content.
      properties:
        end:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: End of the time range (ISO 8601 UTC, e.g. '2024-12-31T23:59:59Z').
          title: End
        start:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: Start of the time range (ISO 8601 UTC, e.g. '2024-01-01T00:00:00Z').
          title: Start
      title: DateRange
      type: object
    ExecutionStatus:
      description: Lifecycle status of a stored workflow execution.
      enum:
        - pending
        - running
        - completed
        - error
        - cancelled
      title: ExecutionStatus
      type: string
    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
    ContentFilter:
      description: Composable content filter using logical operators.
      properties:
        all_of:
          description: Match content satisfying all of these filters.
          items:
            discriminator:
              mapping:
                DOCUMENT_ID:
                  $ref: '#/components/schemas/DocumentIdFilter'
                SOURCE_TYPE:
                  $ref: '#/components/schemas/SourceFilter'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/DocumentIdFilter'
              - $ref: '#/components/schemas/SourceFilter'
          title: All Of
          type: array
        any_of:
          description: Match content satisfying at least one of these filters.
          items:
            discriminator:
              mapping:
                DOCUMENT_ID:
                  $ref: '#/components/schemas/DocumentIdFilter'
                SOURCE_TYPE:
                  $ref: '#/components/schemas/SourceFilter'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/DocumentIdFilter'
              - $ref: '#/components/schemas/SourceFilter'
          title: Any Of
          type: array
        none_of:
          description: Exclude content matching any of these filters.
          items:
            discriminator:
              mapping:
                DOCUMENT_ID:
                  $ref: '#/components/schemas/DocumentIdFilter'
                SOURCE_TYPE:
                  $ref: '#/components/schemas/SourceFilter'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/DocumentIdFilter'
              - $ref: '#/components/schemas/SourceFilter'
          title: None Of
          type: array
      title: ContentFilter
      type: object
    WorkflowInputSchema:
      description: Defines an input placeholder in a workflow template.
      properties:
        type:
          $ref: '#/components/schemas/WorkflowInputTypes'
          description: Expected input type for this placeholder.
      required:
        - type
      title: WorkflowInputSchema
      type: object
    RankingParameters:
      description: Parameters that influence how search results are ranked.
      properties:
        freshness_boost:
          anyOf:
            - maximum: 10
              minimum: 1
              type: integer
            - type: 'null'
          description: Prioritize more recent content (1-10).
          title: Freshness Boost
        source_boost:
          anyOf:
            - maximum: 10
              minimum: 1
              type: integer
            - type: 'null'
          description: Boost results from high-quality, authoritative sources (1-10).
          title: Source Boost
      title: RankingParameters
      type: object
    Plan:
      description: A structured research plan with ordered steps.
      properties:
        steps:
          default: []
          description: Ordered list of research steps.
          items:
            $ref: '#/components/schemas/Step'
          title: Steps
          type: array
        title:
          description: Short title summarizing the research objective.
          title: Title
          type: string
      required:
        - title
      title: Plan
      type: object
    DocumentIdFilter:
      description: Filter by specific document identifiers.
      properties:
        document_ids:
          description: Set of document IDs to match.
          items:
            type: string
          maxItems: 1000
          minItems: 1
          title: Document Ids
          type: array
          uniqueItems: true
        type:
          const: DOCUMENT_ID
          description: Filter type identifier.
          title: Type
          type: string
      required:
        - type
        - document_ids
      title: DocumentIdFilter
      type: object
    SourceFilter:
      description: Filter by content source identifiers.
      properties:
        sources_ids:
          description: Set of source IDs to match.
          items:
            type: string
          maxItems: 1000
          minItems: 1
          title: Sources Ids
          type: array
          uniqueItems: true
        type:
          const: SOURCE_TYPE
          description: Filter type identifier.
          title: Type
          type: string
      required:
        - type
        - sources_ids
      title: SourceFilter
      type: object
    WorkflowInputTypes:
      description: Supported input types for workflow template placeholders.
      enum:
        - rp_entity_id
        - string
      title: WorkflowInputTypes
      type: string
    Step:
      description: A single step within a research plan.
      properties:
        description:
          description: What this step will investigate or produce.
          title: Description
          type: string
        status:
          $ref: '#/components/schemas/StepStatus'
          default: NOT_STARTED
          description: Current status of this step.
      required:
        - description
      title: Step
      type: object
    StepStatus:
      description: Status of a research plan step.
      enum:
        - NOT_STARTED
        - IN_PROGRESS
        - COMPLETED
        - SKIPPED
        - FAILED
      title: StepStatus
      type: string
  securitySchemes:
    API Key Authentication:
      description: API key for authentication.
      in: header
      name: X-API-Key
      type: apiKey

````