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

# List the sources

> The domains engines read and cited, grouped by what you can act on, competitor-owned and yours. Retrieved and cited each have their own denominator.



## OpenAPI

````yaml /api-reference/openapi.json get /projects/{projectId}/sources
openapi: 3.1.0
info:
  title: Citino API
  version: v1
  description: >-
    Read how AI engines answer your market's questions, and keep your prompts,
    competitors, segments and engines in step from code. Every number carries
    its band and sample size.
servers:
  - url: https://api.citino.ai/v1
security:
  - bearerAuth: []
tags:
  - name: Brand and competitors
  - name: Definitions
  - name: Engines
  - name: Projects
  - name: Alerts
  - name: Attribution
  - name: Claims
  - name: Crawlability
  - name: Crawler activity
  - name: Metrics
  - name: Experiments
  - name: Prompts
  - name: Objections
  - name: Monthly reports
  - name: Reports
  - name: Runs
  - name: Searches
  - name: Sources
  - name: Work items
  - name: Settings
paths:
  /projects/{projectId}/sources:
    get:
      tags:
        - Sources
      summary: List the sources
      description: >-
        The domains engines read and cited, grouped by what you can act on,
        competitor-owned and yours. Retrieved and cited each have their own
        denominator.
      operationId: getProjectsByProjectIdSources
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: window
          in: query
          required: false
          description: >-
            A named window ending today in the project's market, or custom with
            from and to. Default 30d.
          schema:
            description: >-
              A named window ending today in the project's market, or custom
              with from and to. Default 30d.
            type: string
            enum:
              - 7d
              - 30d
              - 90d
              - 180d
              - 365d
              - custom
        - name: from
          in: query
          required: false
          description: First day, inclusive. Required with window=custom.
          schema:
            description: First day, inclusive. Required with window=custom.
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
        - name: to
          in: query
          required: false
          description: Last day, inclusive. Required with window=custom.
          schema:
            description: Last day, inclusive. Required with window=custom.
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
        - name: segments
          in: query
          required: false
          description: >-
            One value: your-segments (the default, the segments you claimed),
            all-segments, or one segment id.
          schema:
            description: >-
              One value: your-segments (the default, the segments you claimed),
              all-segments, or one segment id.
            type: string
            minLength: 1
            maxLength: 120
        - name: engines
          in: query
          required: false
          description: Comma-separated engine keys, narrowing the project's own engines.
          schema:
            description: Comma-separated engine keys, narrowing the project's own engines.
            type: string
            minLength: 1
            maxLength: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  project_id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    description: The project asked about.
                  scope:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties: {}
                    description: >-
                      What the figures cover: the window, its dates, the
                      engines, the segments and the answers counted.
                  retrieval_share:
                    type: object
                    properties:
                      value:
                        type:
                          - number
                          - 'null'
                      unit:
                        type: string
                        enum:
                          - percent
                          - points
                          - count
                          - score
                          - rank
                          - ratio
                      band:
                        type:
                          - number
                          - 'null'
                      'n':
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      delta:
                        type:
                          - number
                          - 'null'
                      within_noise:
                        type: boolean
                      low_sample:
                        type: boolean
                      state:
                        type: string
                        enum:
                          - measured
                          - no_data
                          - never_named
                      note:
                        type: string
                    required:
                      - value
                      - unit
                      - band
                      - 'n'
                      - delta
                      - within_noise
                      - low_sample
                      - state
                    additionalProperties: false
                    description: >-
                      A measured number with its uncertainty. value is null with
                      n = 0 (no answers yet); within_noise true means a delta is
                      not a move.
                  groups:
                    type: array
                    items:
                      type: object
                      properties:
                        group:
                          type: string
                          enum:
                            - actionable
                            - competitor_owned
                            - yours
                        actionable:
                          type: boolean
                        types:
                          type: array
                          items:
                            type: string
                        rows:
                          type: array
                          items:
                            type: object
                            properties:
                              domain:
                                type: string
                              type:
                                type: string
                              influenceable:
                                type: boolean
                              group:
                                type: string
                                enum:
                                  - actionable
                                  - competitor_owned
                                  - yours
                              retrieved:
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              cited:
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              retrieved_share:
                                type: number
                                description: >-
                                  Percent of answers whose engine reports what
                                  it read.
                              cited_share:
                                type: number
                                description: Percent of every answer.
                              prompts:
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              presence:
                                type: string
                                enum:
                                  - listed
                                  - absent
                                  - unknown
                                  - not_applicable
                            required:
                              - domain
                              - type
                              - influenceable
                              - group
                              - retrieved
                              - cited
                              - retrieved_share
                              - cited_share
                              - prompts
                              - presence
                            additionalProperties: false
                      required:
                        - group
                        - actionable
                        - types
                        - rows
                      additionalProperties: false
                  own_domain:
                    type: object
                    properties:
                      domain:
                        type:
                          - string
                          - 'null'
                      retrieved:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      cited:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      pages:
                        type: array
                        items:
                          type: object
                          properties:
                            page:
                              type: string
                            retrieved:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            cited:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            prompts:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            first_retrieved:
                              anyOf:
                                - type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                                - type: 'null'
                            last_seen:
                              anyOf:
                                - type: string
                                  pattern: ^\d{4}-\d{2}-\d{2}$
                                - type: 'null'
                          required:
                            - page
                            - retrieved
                            - cited
                            - prompts
                            - first_retrieved
                            - last_seen
                          additionalProperties: false
                    required:
                      - domain
                      - retrieved
                      - cited
                      - pages
                    additionalProperties: false
                required:
                  - project_id
                  - scope
                  - retrieval_share
                  - groups
                  - own_domain
                additionalProperties: false
              example:
                project_id: 00000000-0000-4000-8000-000000000001
                scope:
                  window: 30d
                  from: '2026-10-09'
                  to: '2026-11-07'
                  engines:
                    - chatgpt
                    - google-ai-overview
                    - perplexity
                  segmentScope: claimed
                  segments:
                    - wms
                  promptScope: category
                  promptsInScope: 0
                  answers: 0
                  subtitle: >-
                    0 prompts in your segments · 0 answers in 30 days · branded
                    prompts reported separately
                  customPromptsExcluded: true
                retrieval_share:
                  value: null
                  unit: percent
                  band: null
                  'n': 0
                  delta: null
                  within_noise: true
                  low_sample: true
                  state: no_data
                  note: needs one full run
                groups:
                  - group: actionable
                    actionable: true
                    types: []
                    rows: []
                  - group: competitor_owned
                    actionable: false
                    types: []
                    rows: []
                  - group: yours
                    actionable: true
                    types: []
                    rows: []
                own_domain:
                  domain: null
                  retrieved: 0
                  cited: 0
                  pages: []
        '400':
          description: The request is invalid; `error.field` names the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'No live API key in an `Authorization: Bearer` header.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: The key lacks the scope named in the message, or cannot write.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such resource in this key's projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Over the key's or the workspace's rate limit; see `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Busy or timed out; retry after `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-codeSamples:
        - lang: bash
          label: curl
          source: |-
            curl "https://api.citino.ai/v1/projects/{projectId}/sources" \
              -H "Authorization: Bearer $CITINO_API_KEY"
        - lang: python
          label: Python
          source: |-
            import os
            import requests

            res = requests.get(
                "https://api.citino.ai/v1/projects/{projectId}/sources",
                headers={"Authorization": f"Bearer {os.environ['CITINO_API_KEY']}"},
            )
            print(res.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const res = await
            fetch("https://api.citino.ai/v1/projects/{projectId}/sources", {
              headers: {
                Authorization: `Bearer ${process.env.CITINO_API_KEY}`,
              },
            });

            console.log(await res.json());
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: >-
                validation, unauthorized, forbidden, not_found, conflict,
                plan_limit, rate_limited, busy, query_timeout
            message:
              type: string
            field:
              type: string
            detail:
              type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An API key from Workspace settings → API keys, sent as `Authorization:
        Bearer <key>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.