> ## 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.

# Lister les vidéos YouTube

> Liste les vidéos YouTube citées dans les réponses d’IA pour un site web, classées par nombre de citations. Renvoie les titres enregistrés, les informations des chaînes, les catégories, les durées, les dates de publication, les nombres de citations, les pourcentages de réponses distinctes et les horodatages des liens. Les variantes de liens de lecture, Shorts et liens courts d’une même vidéo sont regroupées. Filtrez par channel_key ou video_id. Les métadonnées peuvent être en attente ou manquantes ; aucune donnée YouTube n’est récupérée en direct. Les dates correspondent à des jours UTC, bornes incluses. Les nombres portent sur les citations dans les réponses d’IA suivies par Athena, et non sur les vues YouTube ou les statistiques d’abonnés. Les métadonnées sont lues dans le cache enregistré d’Athena et peuvent être indisponibles. La part d’une chaîne se calcule sur toutes les citations YouTube, y compris les liens qui ne sont pas des vidéos ; les parts par catégorie et durée se calculent sur les citations de vidéos. Le champ citation_percentage d’une vidéo est le pourcentage de réponses d’IA distinctes répondant aux filtres qui citent cette vidéo. first_seen se situe dans la plage de dates sélectionnée. La répartition complète, avec les métriques de citations et les métadonnées enregistrées, est mise en cache pendant cinq minutes au maximum. Le tableau moments contient les secondes des 100 variantes d’URL les plus citées par vidéo ; il ne s’agit ni d’une liste exhaustive des horodatages ni d’une transcription. channel_key et video_id restreignent les vidéos renvoyées sans modifier le dénominateur des réponses.



## OpenAPI

````yaml fr/api-reference/openapi.json post /api/v1/sources/youtube-videos
openapi: 3.1.0
info:
  title: API AthenaHQ
  description: >-
    L’API AthenaHQ permet de gérer vos sites et prompts par programme pour
    l’optimisation de contenu par IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Serveur de production
security:
  - apiKey: []
tags:
  - name: Basics
    description: Opérations API principales pour gérer sites et prompts
  - name: Metrics
    description: Points de terminaison de métriques et analyses de visibilité IA
  - name: Billing
    description: Points de facturation et crédits pour gérer la consommation
  - name: Team Management
    description: Points de terminaison de gestion des membres et invitations
  - name: Groups
    description: Points de terminaison de gestion des groupes de sites
  - name: Content
    description: >-
      Points de terminaison Content Hub : onglets, URL suivies et détail des
      prompts par URL.
  - name: Pitch Workspace
    description: >-
      Points de terminaison des rapports Pitch Workspace : exécutions à
      l’échelle de l’organisation avec concurrents, prompts, attributs et
      métriques agrégées.
  - name: Knowledge Base
    description: >-
      Endpoints de lecture de la base de connaissances de la marque — faits
      approuvés et piliers qui les organisent.
paths:
  /api/v1/sources/youtube-videos:
    post:
      tags:
        - Sources
      summary: Lister les vidéos YouTube
      description: >-
        Liste les vidéos YouTube citées dans les réponses d’IA pour un site web,
        classées par nombre de citations. Renvoie les titres enregistrés, les
        informations des chaînes, les catégories, les durées, les dates de
        publication, les nombres de citations, les pourcentages de réponses
        distinctes et les horodatages des liens. Les variantes de liens de
        lecture, Shorts et liens courts d’une même vidéo sont regroupées.
        Filtrez par channel_key ou video_id. Les métadonnées peuvent être en
        attente ou manquantes ; aucune donnée YouTube n’est récupérée en direct.
        Les dates correspondent à des jours UTC, bornes incluses. Les nombres
        portent sur les citations dans les réponses d’IA suivies par Athena, et
        non sur les vues YouTube ou les statistiques d’abonnés. Les métadonnées
        sont lues dans le cache enregistré d’Athena et peuvent être
        indisponibles. La part d’une chaîne se calcule sur toutes les citations
        YouTube, y compris les liens qui ne sont pas des vidéos ; les parts par
        catégorie et durée se calculent sur les citations de vidéos. Le champ
        citation_percentage d’une vidéo est le pourcentage de réponses d’IA
        distinctes répondant aux filtres qui citent cette vidéo. first_seen se
        situe dans la plage de dates sélectionnée. La répartition complète, avec
        les métriques de citations et les métadonnées enregistrées, est mise en
        cache pendant cinq minutes au maximum. Le tableau moments contient les
        secondes des 100 variantes d’URL les plus citées par vidéo ; il ne
        s’agit ni d’une liste exhaustive des horodatages ni d’une transcription.
        channel_key et video_id restreignent les vidéos renvoyées sans modifier
        le dénominateur des réponses.
      operationId: sources.youtubeVideos
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                website_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)$
                filters:
                  type: object
                  properties:
                    start_date:
                      type: string
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      description: Premier jour, YYYY-MM-DD, inclus (UTC).
                    schedule_id:
                      description: >-
                        Une planification : "default" ou l’UUID d’une
                        planification personnalisée ou archivée. Omettez ce
                        champ pour utiliser Default, qui inclut tout
                        l’historique antérieur à la transition et les exécutions
                        ponctuelles. L’ancienne valeur "manual" est acceptée
                        comme alias de "default". Les planifications ne peuvent
                        pas être combinées.
                      anyOf:
                        - type: string
                          enum:
                            - default
                            - manual
                        - 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)$
                    end_date:
                      description: >-
                        Dernier jour, YYYY-MM-DD, inclus (UTC). Aujourd’hui par
                        défaut.
                      type: string
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    models:
                      description: >-
                        Modèles d’IA à inclure, sous forme de tableau même pour
                        un seul modèle, par exemple ["chatgpt", "perplexity"].
                        Omettez ce champ pour inclure tous les modèles.
                      type: array
                      items:
                        type: string
                        enum:
                          - chatgpt
                          - perplexity
                          - gemini
                          - google_ai_overview
                          - copilot
                          - claude
                          - ai_mode
                          - grok
                          - deepseek
                          - meta_ai
                          - mistral
                    prompt_ids:
                      description: >-
                        UUID des prompts à sélectionner, sous forme de tableau
                        même pour un seul id. Omettez ce champ pour inclure tous
                        les prompts.
                      type: array
                      items:
                        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)$
                    location_ids:
                      description: >-
                        UUID des localisations à sélectionner, sous forme de
                        tableau même pour un seul id. La chaîne littérale
                        "no-location" sélectionne les réponses exécutées sans
                        localisation. Omettez ce champ pour inclure toutes les
                        localisations.
                      type: array
                      items:
                        anyOf:
                          - 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)$
                          - type: string
                            const: no-location
                    persona_ids:
                      description: >-
                        UUID des personas à sélectionner, sous forme de tableau
                        même pour un seul id. Omettez ce champ pour inclure tous
                        les personas.
                      type: array
                      items:
                        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)$
                    target_identifiers:
                      description: >-
                        Chaînes d’identifiants cibles à sélectionner, sous forme
                        de tableau même pour une seule valeur. La chaîne
                        littérale "no-identifier" sélectionne les réponses sans
                        identifiant cible. Omettez ce champ pour tout inclure.
                      type: array
                      items:
                        anyOf:
                          - type: string
                          - type: string
                            const: no-identifier
                    variation_filter:
                      description: >-
                        Lignes de prompts à inclure, sous forme de tableau :
                        "prompt" pour les prompts de base, "variation" pour les
                        variations générées, ou les deux. Omettez ce champ pour
                        inclure les deux.
                      type: array
                      items:
                        type: string
                        enum:
                          - variation
                          - prompt
                    prompt_tags:
                      description: >-
                        UUID des étiquettes de prompts provenant de
                        get_prompt_tags.
                      type: array
                      items:
                        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)$
                    prompt_tags_operator:
                      description: >-
                        Combinaison des prompt_tags : "is_any_of" sélectionne
                        les prompts portant au moins une des étiquettes
                        indiquées ; "has_all_of", uniquement ceux portant toutes
                        les étiquettes indiquées.
                      type: string
                      enum:
                        - is_any_of
                        - has_all_of
                    prompt_status:
                      description: >-
                        Filtrez les prompts selon leur état de suivi : "active"
                        ou "paused". Omettez ce champ pour inclure les deux.
                      type: string
                      enum:
                        - active
                        - paused
                    prompt_type:
                      description: >-
                        Filtrez les prompts selon leur type : "branded"
                        (mentionne la marque) ou "non_branded". Omettez ce champ
                        pour inclure les deux.
                      type: string
                      enum:
                        - branded
                        - non_branded
                  required:
                    - start_date
                  additionalProperties: false
                page_num:
                  default: 0
                  description: Numéro de page à partir de zéro.
                  type: integer
                  minimum: 0
                  maximum: 1000000
                page_size:
                  type: integer
                  minimum: 1
                  maximum: 100
                  default: 30
                channel_key:
                  description: >-
                    Clé de groupe de la chaîne provenant de get_youtube_creators
                    ; omettez-la pour inclure tous les créateurs.
                  type: string
                  minLength: 1
                  maxLength: 500
                video_id:
                  description: >-
                    ID de la vidéo YouTube ; omettez-le pour inclure toutes les
                    vidéos.
                  type: string
                  pattern: ^[A-Za-z0-9_-]{11}$
              required:
                - website_id
                - filters
            example:
              website_id: 123e4567-e89b-42d3-a456-426614174000
              filters:
                start_date: '2026-10-01'
                end_date: '2026-10-31'
              page_num: 0
              page_size: 30
      responses:
        '200':
          description: Réussite
          content:
            application/json:
              schema:
                type: object
                properties:
                  videos:
                    type: array
                    items:
                      type: object
                      properties:
                        video_id:
                          type: string
                        url:
                          type: string
                        title:
                          type:
                            - string
                            - 'null'
                        channel:
                          type: object
                          properties:
                            channel_key:
                              type: string
                              description: >-
                                Clé de groupe stable ; utilisez-la comme
                                channel_key dans get_youtube_videos.
                            channel_id:
                              type:
                                - string
                                - 'null'
                            name:
                              type:
                                - string
                                - 'null'
                            handle:
                              type:
                                - string
                                - 'null'
                            url:
                              type:
                                - string
                                - 'null'
                            thumbnail_url:
                              type:
                                - string
                                - 'null'
                          required:
                            - channel_key
                            - channel_id
                            - name
                            - handle
                            - url
                            - thumbnail_url
                          additionalProperties: false
                        category_id:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        duration_seconds:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        published_at:
                          type:
                            - string
                            - 'null'
                        first_seen:
                          type: string
                        citations:
                          type: number
                        citation_percentage:
                          type: number
                        details_status:
                          type: string
                          enum:
                            - found
                            - pending
                            - missing
                        moments:
                          type: array
                          items:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          description: >-
                            Horodatages distincts des liens, en secondes,
                            provenant des 100 variantes d’URL les plus citées.
                            Il s’agit d’une liste limitée, et non de tous les
                            horodatages ou d’une transcription.
                      required:
                        - video_id
                        - url
                        - title
                        - channel
                        - category_id
                        - duration_seconds
                        - published_at
                        - first_seen
                        - citations
                        - citation_percentage
                        - details_status
                        - moments
                      additionalProperties: false
                  pagination:
                    type: object
                    properties:
                      page_num:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      page_size:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      total:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - page_num
                      - page_size
                      - total
                    additionalProperties: false
                  notice:
                    type: string
                required:
                  - videos
                  - pagination
                additionalProperties: false
        '400':
          description: Requête incorrecte — échec de validation
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '401':
          description: Non authentifié
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '403':
          description: Interdit
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '404':
          description: Introuvable
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '409':
          description: Conflit
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '429':
          description: Limite de débit atteinte
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '500':
          description: Erreur interne
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clé API d’authentification. Créez-en une
        [ici](https://app.athenahq.ai/organization?tab=api).

````

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