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

# Start Response Streaming

> Kicks off a response-streaming run for a website: Athena queries the selected AI models for the website's prompts and ingests the responses. Omit `prompt_ids` to run every active prompt, or pass a selection (up to 1,000). Returns immediately with the `workflow_id` of the run and `status: "running"`; poll **GET /api/v1/response-streaming/status** for progress. Requires a website-admin API key.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/response-streaming/start
openapi: 3.1.0
info:
  title: AthenaHQ API
  description: >-
    AthenaHQ API provides programmatic access to manage your websites and
    prompts for AI-powered content optimization.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Production server
security:
  - apiKey: []
tags:
  - name: Basics
    description: Core API operations for managing websites and prompts
  - name: Metrics
    description: Metrics and analytics endpoints for tracking AI visibility
  - name: Billing
    description: Billing and credits endpoints for managing usage
  - name: Team Management
    description: Endpoints for managing team members and invitations
  - name: Groups
    description: Endpoints for managing groups of websites
  - name: Content
    description: >-
      Endpoints for accessing Content Hub data — tabs, tracked URLs, and per-URL
      prompt breakdowns.
  - name: Pitch Workspace
    description: >-
      Endpoints for accessing pitch workspace reports — org-scoped pitch runs
      with competitors, prompts, attributes, and aggregate metrics.
paths:
  /api/v1/response-streaming/start:
    post:
      tags:
        - Basics
      summary: Start Response Streaming
      description: >-
        Kicks off a response-streaming run for a website: Athena queries the
        selected AI models for the website's prompts and ingests the responses.
        Omit `prompt_ids` to run every active prompt, or pass a selection (up to
        1,000). Returns immediately with the `workflow_id` of the run and
        `status: "running"`; poll **GET /api/v1/response-streaming/status** for
        progress. Requires a website-admin API key.
      operationId: startResponseStreaming
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - website_id
              properties:
                website_id:
                  type: string
                  format: uuid
                  description: Website to run the response streaming for.
                prompt_ids:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    Specific prompts to run (1–1,000). Omit to run all active
                    prompts for the website. Only active prompts are executed:
                    paused prompt IDs are accepted (the run still returns 201)
                    but are silently skipped and never queued, so pass active
                    prompt IDs.
                selected_models:
                  type: object
                  additionalProperties:
                    type: boolean
                  description: >-
                    Map of model id to enabled flag (e.g. `{ "ai_overview":
                    true, "ai_mode": false }`). Omit to run every currently
                    active model — this is not the dashboard's saved default
                    selection. An explicit selection that resolves to no
                    available models is rejected with 400.
                prompt_variations:
                  type: integer
                  minimum: 0
                  maximum: 10
                  description: >-
                    Number of paraphrased variations to generate per prompt
                    (0–10).
                use_personas:
                  type: boolean
                  description: Whether to run the prompts through configured personas.
                use_locations:
                  type: boolean
                  description: >-
                    Whether to run the prompts across the website's configured
                    locations.
                only_locations:
                  type: boolean
                  description: >-
                    When true, skip the base (non-localized) run and execute
                    only the location-scoped variants. Requires `use_locations:
                    true`: sending `only_locations: true` without
                    `use_locations: true` queues nothing (the base run is
                    skipped and no location variants are added), so the run
                    completes as a no-op.
      responses:
        '201':
          description: Run started
          content:
            application/json:
              schema:
                type: object
                properties:
                  workflow_id:
                    type: string
                  status:
                    type: string
                    enum:
                      - running
                required:
                  - workflow_id
                  - status
        '400':
          description: Bad request - Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - Admin access to this website is required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            Conflict - A response-streaming run is already in progress for this
            website. Poll GET /api/v1/response-streaming/status and retry once
            it is no longer `running`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: >-
                  A response-streaming run is already in progress for this
                  website
        '429':
          description: Too many requests - Rate limit exceeded. Retry after a short delay.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    Error:
      type: object
      description: Error response object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message describing what went wrong
          example: Unauthorized
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. You can create one
        [here](https://app.athenahq.ai/organization?tab=api).

````