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

# Query fanouts

> Bearer-authed twin of `/api/v1/me/citations/fanouts`. Returns the LLM-decomposed sub-questions per (tracked prompt x engine) for the calling key's workspace. `truncated_groups` is true when the response hit the group cap — narrow the range to see the remainder.



## OpenAPI

````yaml /api-reference/public-openapi.json get /api/public/v1/citations/fanouts
openapi: 3.1.0
info:
  title: FixAEO Customer API
  version: 2026.05.23
  description: >-
    Bearer-authed read API over your FixAEO workspace. Create a key in Settings,
    then send it as `Authorization: Bearer <key>`. Every route is scoped to the
    key's own account.


    Generated from the server's OpenAPI spec — see
    scripts/build-public-openapi.py.
servers:
  - url: https://api.fixaeo.com
security:
  - bearerAuth: []
paths:
  /api/public/v1/citations/fanouts:
    get:
      tags:
        - Public API
      summary: Query fanouts
      description: >-
        Bearer-authed twin of `/api/v1/me/citations/fanouts`. Returns the
        LLM-decomposed sub-questions per (tracked prompt x engine) for the
        calling key's workspace. `truncated_groups` is true when the response
        hit the group cap — narrow the range to see the remainder.
      parameters:
        - $ref: '#/components/parameters/RangeQuery'
      responses:
        '200':
          description: Fanout groups within the range.
          content:
            application/json:
              schema:
                type: object
                properties:
                  range_days:
                    type: integer
                  prompts:
                    type: array
                    items:
                      $ref: '#/components/schemas/FanoutPromptGroup'
                  truncated_groups:
                    type: boolean
      security:
        - bearerAuth: []
components:
  parameters:
    RangeQuery:
      name: range
      in: query
      schema:
        type: string
        enum:
          - 7d
          - 30d
          - 90d
        default: 30d
      description: Time window for time-series + aggregations.
  schemas:
    FanoutPromptGroup:
      type: object
      description: >-
        All fanouts the LLM extracted for one (prompt × engine) snapshot.
        Returned by /me/citations/fanouts.
      properties:
        prompt_id:
          type: integer
          format: int64
        prompt_text:
          type: string
        brand_slug:
          type: string
        brand_name:
          type: string
        engine:
          type: string
        snapshot_date:
          type: string
          format: date
        fanouts:
          type: array
          items:
            $ref: '#/components/schemas/FanoutEntry'
    FanoutEntry:
      type: object
      description: One sub-question + its attributed citation URLs.
      properties:
        index:
          type: integer
          description: >-
            1-based position in the LLM's emitted order — lower = more
            prominent.
        sub_question:
          type: string
        citations:
          type: array
          items:
            type: string
            format: uri
          description: >-
            URLs the engine attributed to this sub-question. Empty array = the
            engine couldn't tie any citations to this sub-question (a content
            gap for your brand to fill).
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: fxa_
      description: |
        API keys generated via `POST /api/v1/me/api-keys`. Format:
        `Authorization: Bearer fxa_<32-char-secret>`. Only accepted on
        `/api/public/v1/*`. Cookie auth is rejected on that surface.

````