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

# Obtenir les citations dans le temps

> Lisez les totaux quotidiens de citations et les séries quotidiennes des principaux domaines et pages.



## OpenAPI

````yaml GET /v1/monitors/{id}/citations
openapi: 3.1.0
info:
  title: querying.ai
  description: >-
    One API for every AI answer engine. Every task is asynchronous: submit, then
    collect the result via webhook or polling.
  version: 1.0.0
servers:
  - url: https://api.querying.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/monitors/{id}/citations:
    get:
      tags:
        - Monitors
      summary: Citations over time
      description: >-
        The data behind the dashboard's citation charts: daily citation totals
        for the window and a daily series for each of the top 20 domains and
        pages. A citation is one page appearing in one answer (URLs normalized,
        duplicates within an answer removed), unlike /sources, which counts
        distinct answers. kind, q and offset only narrow the domains and pages
        lists; totals, days and types always cover every source in the window,
        so a source's share is its citations divided by totals.citations. Reads
        stored results only and spends no credits.
      operationId: getMonitorCitations
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: days
          in: query
          required: false
          schema:
            type: integer
            enum:
              - 7
              - 30
              - 90
            default: 30
          description: >-
            Window length ending now. When since and until are set, the fixed
            window wins and days is only echoed as windowDays.
        - name: since
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Inclusive ISO instant with a timezone offset. Requires until.
        - name: until
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Exclusive ISO instant with a timezone offset. Requires since.
        - name: engine
          in: query
          required: false
          schema:
            type: string
          description: Same filter as the report.
        - name: prompt
          in: query
          required: false
          schema:
            type: string
            maxLength: 2000
          description: Same exact-prompt filter as the report.
        - name: kind
          in: query
          required: false
          schema:
            type: string
            enum:
              - all
              - owned
              - editorial
              - review_media
              - pr_wire
              - institution
              - reviews
              - commerce
              - social
              - blog
              - community
              - video
              - brand
              - content
              - other
            default: all
          description: Narrows the domains and pages lists to one source type.
        - name: q
          in: query
          required: false
          schema:
            type: string
            maxLength: 200
          description: >-
            Substring filter: domain name in the domains list, URL in the pages
            list.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 10000
            default: 0
          description: Skips this many rows in each list. Each list returns 20 rows.
      responses:
        '200':
          description: Citation totals, daily series and ranked sources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorCitationsResponse'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    MonitorCitationsResponse:
      type: object
      properties:
        success:
          type: boolean
          const: true
        data:
          type: object
          properties:
            totals:
              type: object
              properties:
                answers:
                  type: integer
                citedAnswers:
                  type: integer
                citations:
                  type: integer
                ownedCitations:
                  type: integer
            days:
              type: array
              description: >-
                One entry per UTC day with at least one answer. A day with
                answers but no citations has citations 0; a day with no answers
                is absent.
              items:
                type: object
                properties:
                  day:
                    type: string
                    format: date
                    description: UTC day, YYYY-MM-DD.
                  answers:
                    type: integer
                  citations:
                    type: integer
                  ownedCitations:
                    type: integer
            domains:
              type: array
              items:
                $ref: '#/components/schemas/MonitorCitationSource'
            pages:
              type: array
              items:
                $ref: '#/components/schemas/MonitorCitationSource'
            types:
              type: array
              description: Across all sources in the window, ignoring kind, q and offset.
              items:
                type: object
                properties:
                  key:
                    type: string
                    enum:
                      - owned
                      - editorial
                      - review_media
                      - pr_wire
                      - institution
                      - reviews
                      - commerce
                      - social
                      - blog
                      - community
                      - video
                      - brand
                      - content
                      - other
                  citations:
                    type: integer
                  domains:
                    type: integer
            pagination:
              type: object
              properties:
                offset:
                  type: integer
                limit:
                  type: integer
                  const: 20
                totalDomains:
                  type: integer
                totalPages:
                  type: integer
            windowDays:
              type: integer
              enum:
                - 7
                - 30
                - 90
            engine:
              type: string
              description: The engine filter, or all.
            prompt:
              type:
                - string
                - 'null'
            since:
              type: string
              format: date-time
            until:
              type: string
              format: date-time
    MonitorCitationSource:
      type: object
      properties:
        key:
          type: string
          description: The domain, or the normalized page URL.
        domain:
          type: string
        label:
          type: string
          description: The domain, or the page's cited title (falls back to its URL).
        kind:
          type: string
          enum:
            - owned
            - editorial
            - review_media
            - pr_wire
            - institution
            - reviews
            - commerce
            - social
            - blog
            - community
            - video
            - brand
            - content
            - other
        owned:
          type: boolean
          description: Matches one of the monitor's domains as configured now.
        citations:
          type: integer
        answers:
          type: integer
          description: Distinct answers citing this source.
        prompts:
          type: integer
          description: Distinct prompts whose answers cite this source.
        daily:
          type: array
          description: Only days with at least one citation.
          items:
            type: object
            properties:
              day:
                type: string
                format: date
                description: UTC day, YYYY-MM-DD.
              citations:
                type: integer
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          $ref: '#/components/schemas/ErrorDetail'
    ErrorDetail:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable, safe to branch on. See the Errors guide for the full list.
        message:
          type: string
          description: For humans. May change.
        details:
          description: >-
            Context for the error. An array of `{field, message}` on most
            `VALIDATION_ERROR`s; an object elsewhere (for example `{id}` on
            `RESOURCE_NOT_FOUND`, `retryAfterSec` on 429 and 503 codes). Omitted
            when there is nothing to add.
          oneOf:
            - type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
            - type: object
              additionalProperties: true
        timestamp:
          type: string
          format: date-time
  responses:
    ValidationError:
      description: >-
        The request is malformed — bad JSON, unrecognised `taskType`, or neither
        `payload.prompt` nor `payload.query` present. `details` names the
        offending field.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingPrompt:
              summary: Neither prompt nor query supplied
              value:
                success: false
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  details:
                    - field: payload.prompt
                      message: payload.prompt or payload.query is required
                  timestamp: '2026-07-09T04:12:00.000Z'
            badTaskType:
              summary: Unrecognised taskType
              value:
                success: false
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  details:
                    - field: taskType
                      message: '''NOPE'' is not recognized'
                  timestamp: '2026-07-09T04:12:00.000Z'
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: MISSING_API_KEY
              message: Missing or invalid API key
              timestamp: '2026-07-09T04:12:00.000Z'
    NotFound:
      description: >-
        No monitor with that id for this key, or no scored row with that task
        id. A monitor owned by another account is reported the same way rather
        than as a 403.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: NOT_FOUND
              message: No monitor with that id
              timestamp: '2026-09-22T04:12:00.000Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key, sent as `Authorization: Bearer <key>`.'

````

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