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

# List Workflows

> Reference for listing available Workflows via GET /v1/workflows (Valyu-curated and your org's templates).



## OpenAPI

````yaml GET /v1/workflows
openapi: 3.0.3
info:
  title: Valyu API
  version: 2.3.0
  description: >
    The search API built for AI agents. One API that gives your AI unified
    access to web search, academic papers, financial data, SEC filings, clinical
    trials, patents, genomics, and 40+ proprietary data sources.


    ## Products


    | Product | Endpoint | Description |

    | --- | --- | --- |

    | **Search** | `POST /v1/search` | Multi-source search across web and
    proprietary datasets |

    | **Contents** | `POST /v1/contents` | Extract clean, structured content
    from URLs |

    | **Answer** | `POST /v1/answer` | AI-powered answers with real-time search
    |

    | **DeepResearch** | `POST /v1/deepresearch/tasks` | Async research agents
    for comprehensive analysis |

    | **Workflows** (Beta) | `GET /v1/workflows` | Templated, versioned
    DeepResearch for repeatable knowledge work |

    | **Datasources** | `GET /v1/datasources` | Discover available data sources
    and their schemas |


    ## Authentication


    All endpoints require an API key passed via the `X-API-Key` header (the
    lowercase `x-api-key` form is also accepted). Get your key at
    [platform.valyu.ai](https://platform.valyu.ai).


    ```

    X-API-Key: your_api_key_here

    ```


    ## Pricing


    Valyu uses transparent, pay-per-use pricing. Credits are shared across every
    API.

    - **Search**: CPM-based (cost per mille tokens retrieved)

    - **Contents**: $0.001 per URL extracted, +$0.001 with AI features

    - **Answer**: $0.10 per request + variable search and AI costs

    - **DeepResearch**: Fixed per-task pricing by mode ($0.10 - $15.00)


    All plans include web search and open academic sources. A subscription
    unlocks specialised and proprietary sources (SEC filings, patents, drug
    discovery, genomics, and more) at a lower cost per credit. See
    [docs.valyu.ai](https://docs.valyu.ai) for full pricing details.


    ## SDKs


    - [Python SDK](https://pypi.org/project/valyu/) - `pip install valyu`

    - [TypeScript SDK](https://www.npmjs.com/package/valyu) - `npm install
    valyu`
  contact:
    name: Valyu Support
    url: https://valyu.ai
    email: support@valyu.ai
  x-logo:
    url: https://valyu.ai/logo.png
    altText: Valyu
servers:
  - url: https://api.valyu.ai
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Search
    description: >-
      Search across web, academic, financial, and proprietary data sources.
      Returns results ready for RAG pipelines, AI agents, and applications.
    externalDocs:
      description: Search API Guide
      url: https://docs.valyu.ai/search/quickstart
  - name: Contents
    description: >-
      Extract clean, structured content from web pages at scale. Supports batch
      processing, AI-powered summaries, structured extraction via JSON schemas,
      and async jobs for large URL sets.
    externalDocs:
      description: Contents API Guide
      url: https://docs.valyu.ai/guides/content-extraction
  - name: Answer
    description: >-
      Get AI-powered answers grounded in real-time search results. The Answer
      API searches across web, academic, and financial sources, then uses AI to
      generate a readable response via Server-Sent Events streaming.
    externalDocs:
      description: Answer API Guide
      url: https://docs.valyu.ai/guides/answer-api
  - name: DeepResearch
    description: >-
      Async research agents that perform comprehensive, multi-step research.
      DeepResearch searches multiple sources, analyzes content, and generates
      detailed reports with citations. Tasks run in the background and can take
      minutes to complete.
    externalDocs:
      description: DeepResearch Guide
      url: https://docs.valyu.ai/guides/deepresearch
  - name: Batches
    description: >-
      Run multiple DeepResearch tasks in parallel with shared configuration,
      unified monitoring, and aggregated cost tracking.
    externalDocs:
      description: Batch API Guide
      url: https://docs.valyu.ai/guides/deepresearch-batch-quickstart
  - name: Workflows
    description: >-
      **Beta.** Templated, versioned DeepResearch for repeatable knowledge work
      - earnings previews, diligence reads, market sizings. A workflow bundles a
      prompt template with typed variables, a research strategy, report format,
      deliverables, tools, and a recommended mode. Workflows are immutably
      versioned; runs can pin a version. Two scopes exist: your organization's
      private workflows and curated Valyu workflows available to everyone. Run a
      workflow by passing `workflow_id` + `workflow_params` to `POST
      /v1/deepresearch/tasks` - same auth, billing, and task lifecycle as
      freeform DeepResearch.
    externalDocs:
      description: Workflows Guide (Beta)
      url: https://docs.valyu.ai/guides/workflows
  - name: Datasources
    description: >-
      Discover available data sources and their schemas. A tool manifest for AI
      agents - instead of hardcoding knowledge of available datasets, agents can
      query this API to discover sources, filter by category, and use
      `example_queries` for few-shot prompting.
    externalDocs:
      description: Datasources Guide
      url: https://docs.valyu.ai/guides/datasources
externalDocs:
  description: Complete API Documentation
  url: https://docs.valyu.ai
paths:
  /v1/workflows:
    get:
      tags:
        - Workflows
      summary: List workflows (Beta)
      description: >-
        **Beta.** List workflows visible to your organization. Includes both
        your org's private workflows and curated Valyu workflows. Run a workflow
        by passing its `slug` as `workflow_id` to `POST /v1/deepresearch/tasks`.
      operationId: listWorkflows
      parameters:
        - name: vertical
          in: query
          required: false
          schema:
            type: string
          description: Filter by vertical (e.g. `finance`, `life-sciences`).
          example: finance
        - name: scope
          in: query
          required: false
          schema:
            type: string
            enum:
              - valyu
              - org
              - all
            default: all
          description: >-
            Which workflows to return: `valyu` (curated only), `org` (your org
            only), or `all` (both, default).
        - name: q
          in: query
          required: false
          schema:
            type: string
          description: Free-text search across title, subtitle, and description.
          example: diligence
        - name: tags
          in: query
          required: false
          schema:
            type: string
          description: Comma-separated tags to filter by.
          example: earnings,equities
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          description: Maximum number of workflows to return (max 100).
        - name: expand
          in: query
          required: false
          schema:
            type: string
          description: >-
            Comma-separated list of fields to expand. Pass `version` to include
            the full current version row for each workflow.
          example: version
      responses:
        '200':
          description: List of workflows.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    WorkflowListResponse:
      type: object
      description: List of workflows.
      required:
        - workflows
        - total
      properties:
        workflows:
          type: array
          items:
            $ref: '#/components/schemas/Workflow'
        total:
          type: integer
          description: Total number of workflows matching the filter.
          example: 44
        next_cursor:
          type: string
          nullable: true
          description: >-
            Pagination cursor for the next page, or `null` when there are no
            more results.
          example: null
        verticals:
          type: array
          description: Distinct verticals present across the curated catalog.
          items:
            type: string
          example:
            - consulting
            - private-equity
            - life-sciences
            - investment-banking
            - hedge-funds
            - legal-regulatory
            - sales-intelligence
            - supply-chain
    Workflow:
      type: object
      description: >-
        A workflow: templated, versioned DeepResearch. Valyu-curated workflows
        (`is_valyu: true`) are read-only.


        List rows carry the discovery and template fields below. When fetching a
        single workflow (`GET /v1/workflows/{slug}`), creating, or updating, the
        response also includes the resolved version body - `prompt`, `strategy`,
        `report_format`, `tools`, `changelog`, and `output_formats`. On list,
        those version-body fields are included only when `?expand=true`.
      required:
        - slug
        - title
        - version
      properties:
        slug:
          type: string
          description: >-
            Unique slug identifying the workflow within its scope. Used as
            `workflow_id` when running.
          example: ib-company-profile
        version:
          type: integer
          description: The current (floating) published version number.
          minimum: 1
          example: 1
        vertical:
          type: string
          nullable: true
          description: >-
            Vertical the workflow targets (e.g. `investment-banking`,
            `private-equity`, `hedge-funds`, `consulting`, `life-sciences`,
            `legal-regulatory`, `sales-intelligence`, `supply-chain`).
          example: investment-banking
        tags:
          type: array
          description: Tags for discovery. Up to 20.
          items:
            type: string
          maxItems: 20
          example:
            - company-profile
            - equities
        title:
          type: string
          description: Display title.
          example: Company Profile
        subtitle:
          type: string
          nullable: true
          description: Short subtitle.
          example: One-page profile of a public company.
        description:
          type: string
          nullable: true
          description: Longer description of what the workflow does.
          example: >-
            Builds a company profile covering business, financials, and recent
            developments.
        popular:
          type: boolean
          description: Whether the workflow is flagged as popular.
          example: true
        recommended_mode:
          $ref: '#/components/schemas/WorkflowMode'
        estimated_time:
          type: string
          nullable: true
          description: Human-readable estimate of how long a run takes.
          example: 10-20 min
        is_valyu:
          type: boolean
          description: Whether this is a Valyu-curated workflow (read-only to users).
          example: true
        owner_org_id:
          type: string
          nullable: true
          description: >-
            Organization that owns the workflow. `null` for Valyu-curated
            workflows.
          example: null
        variables:
          type: array
          description: Typed variables referenced by the prompt template. Up to 50.
          items:
            $ref: '#/components/schemas/WorkflowVariable'
          maxItems: 50
        deliverables:
          type: array
          description: Deliverables the workflow produces. Up to 20.
          items:
            $ref: '#/components/schemas/WorkflowDeliverable'
          maxItems: 20
        created_at:
          type: string
          format: date-time
          description: When the workflow was created.
          example: '2026-01-10T12:00:00Z'
        updated_at:
          type: string
          format: date-time
          description: When the workflow's current version was last published.
          example: '2026-01-15T09:30:00Z'
        prompt:
          type: string
          description: >-
            Prompt template with `{key}` placeholders. Included on detail
            (get/create/update) and on list with `?expand=true`.
          example: >-
            Build a company profile for {company} covering its business,
            financials, and recent developments.
        strategy:
          type: string
          nullable: true
          description: >-
            Research strategy. Maps to DeepResearch `research_strategy`.
            Included on detail and on list with `?expand=true`.
        report_format:
          type: string
          nullable: true
          description: >-
            Report format instructions. Maps to DeepResearch `report_format`.
            Included on detail and on list with `?expand=true`.
        tools:
          $ref: '#/components/schemas/WorkflowTools'
        changelog:
          type: string
          nullable: true
          description: >-
            Changelog for the current version. Included on detail and on list
            with `?expand=true`.
        output_formats:
          $ref: '#/components/schemas/WorkflowOutputFormats'
    Error:
      type: object
      description: Standard error response.
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          description: Always `false` for error responses.
          example: false
        error:
          type: string
          description: Human-readable error message describing what went wrong.
          example: Invalid request parameters
    WorkflowMode:
      type: string
      description: >-
        Recommended DeepResearch mode for a workflow. Maps directly to the
        DeepResearch `mode` parameter.
      enum:
        - fast
        - standard
        - heavy
        - max
      example: heavy
    WorkflowVariable:
      type: object
      description: >-
        A typed variable referenced by `{key}` placeholders in the workflow
        prompt template.
      required:
        - key
        - label
      properties:
        key:
          type: string
          description: >-
            Unique key for the variable. Used as the `{key}` placeholder in the
            template and as the field name in `workflow_params`.
          example: company
        label:
          type: string
          description: Human-readable label for the variable.
          example: Company name
        type:
          $ref: '#/components/schemas/WorkflowVariableType'
        required:
          type: boolean
          description: Whether a value must be supplied for this variable.
          default: false
        placeholder:
          type: string
          description: Placeholder text shown in the input field.
          example: NVIDIA (NVDA)
        help:
          type: string
          description: Help text explaining what to enter.
          example: The company you want to profile.
        examples:
          type: array
          description: Example values for the variable.
          items:
            type: string
          example:
            - NVIDIA (NVDA)
            - Microsoft (MSFT)
        validation:
          type: object
          description: Validation rules applied to the variable's value.
          properties:
            min_length:
              type: integer
              description: Minimum string length.
              minimum: 0
            max_length:
              type: integer
              description: Maximum string length.
              minimum: 1
            pattern:
              type: string
              description: Regular expression the value must match.
            enum:
              type: array
              description: Allowed values when `type` is `enum`.
              items:
                type: string
    WorkflowDeliverable:
      type: object
      description: A deliverable file the workflow produces.
      required:
        - type
        - description
      properties:
        type:
          type: string
          description: File format for the deliverable.
          enum:
            - csv
            - xlsx
            - pptx
            - docx
            - pdf
          example: xlsx
        description:
          type: string
          description: What the deliverable should contain.
          example: A model summary tab with revenue, margins, and key ratios.
    WorkflowTools:
      type: object
      description: Optional tools the workflow's research agent may use.
      properties:
        code_execution:
          type: boolean
          description: Enable code execution in a sandboxed environment.
        screenshots:
          type: boolean
          description: Enable visual screenshot capture of web pages.
        browser_use:
          type: boolean
          description: Enable autonomous browser sessions.
        charts:
          type: boolean
          description: Enable chart and graph generation in the report.
    WorkflowOutputFormats:
      type: array
      description: >-
        Output formats the workflow produces. Items are the strings
        `"markdown"`, `"pdf"`, or `"toon"`, and/or a single JSON Schema object
        for structured output. Rules: at most one JSON Schema object; a JSON
        Schema object cannot be combined with `"markdown"` or `"pdf"`; `"toon"`
        requires a JSON Schema object. An invalid combination returns `400
        invalid_output_formats`.


        At run time, a task created with `workflow_id` inherits the workflow's
        `output_formats` when the request does not pass its own; a request-level
        `output_formats` always wins.
      items:
        oneOf:
          - type: string
            enum:
              - markdown
              - pdf
              - toon
          - type: object
            description: JSON Schema for structured output.
      example:
        - type: object
          properties:
            base_case:
              type: string
            bull_case:
              type: string
            bear_case:
              type: string
            confidence:
              type: number
        - toon
    WorkflowVariableType:
      type: string
      description: >-
        Input type for a workflow template variable. Controls how the variable
        is rendered and validated.
      enum:
        - text
        - textarea
        - number
        - date
        - enum
      example: text
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            example:
              summary: Invalid API key
              value:
                success: false
                error: Invalid API key
    Forbidden:
      description: The API key does not have permission for this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            example:
              summary: Permission denied
              value:
                success: false
                error: API key does not have inference permission
    InternalServerError:
      description: An unexpected error occurred on the server.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            example:
              summary: Internal error
              value:
                success: false
                error: Internal server error. Please try again later.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key for authentication. Get yours at
        [platform.valyu.ai](https://platform.valyu.ai).

````