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

# Suivre des URL externes

> Enregistre des pages existantes ou URL tierces dans Content Hub pour attribuer citations et mentions. Crée des lignes external depuis les URL, sans génération ni crédits. Suivi immédiat : l’URL normalisée sert de jointure aux citations/métriques, sans publication nécessaire pour les pages citées dans les réponses suivies (articles invités, partenaires ou pages non générées par Athena). Idempotent par URL : une URL déjà présente, quel que soit son type, n’est pas dupliquée ; skipped indique content_id et type existants. Vérifiez le type avant toute action destructrice, car il peut s’agir d’un contenu propriétaire généré partageant l’URL. Les lignes n’ont pas de texte, inutile au suivi ; l’application pourra le récupérer ensuite. Les doublons d’un appel, variantes de paramètres de suivi incluses, ne créent qu’une ligne, première occurrence prioritaire. sheet_id facultatif classe sous un onglet ; les vues correspondent à l’inventaire principal (null), indiqué par ligne. Les fields par URL facultatifs alimentent les colonnes du client par nom affiché (text, number, date, checkbox, link, multi-select ; nouvelles options multiples créées). Colonne inconnue ou valeur incompatible refuse tout l’appel sans suivi ; les URL ignorées gardent leurs valeurs. Chaque création/omission inclut destination_name et content_hub_url : partagez-les avec les décomptes. Le lien ouvre l’élément avec site et destination sélectionnés. Sans sheet_id, l’inventaire partagé est utilisé indépendamment de l’onglet ouvert du navigateur. Une URL ignorée garde sa destination même si un autre sheet_id est demandé.



## OpenAPI

````yaml fr/api-reference/openapi.json post /api/v1/content/track
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/content/track:
    post:
      tags:
        - Content
      summary: Suivre des URL externes
      description: >-
        Enregistre des pages existantes ou URL tierces dans Content Hub pour
        attribuer citations et mentions. Crée des lignes external depuis les
        URL, sans génération ni crédits. Suivi immédiat : l’URL normalisée sert
        de jointure aux citations/métriques, sans publication nécessaire pour
        les pages citées dans les réponses suivies (articles invités,
        partenaires ou pages non générées par Athena). Idempotent par URL : une
        URL déjà présente, quel que soit son type, n’est pas dupliquée ; skipped
        indique content_id et type existants. Vérifiez le type avant toute
        action destructrice, car il peut s’agir d’un contenu propriétaire généré
        partageant l’URL. Les lignes n’ont pas de texte, inutile au suivi ;
        l’application pourra le récupérer ensuite. Les doublons d’un appel,
        variantes de paramètres de suivi incluses, ne créent qu’une ligne,
        première occurrence prioritaire. sheet_id facultatif classe sous un
        onglet ; les vues correspondent à l’inventaire principal (null), indiqué
        par ligne. Les fields par URL facultatifs alimentent les colonnes du
        client par nom affiché (text, number, date, checkbox, link, multi-select
        ; nouvelles options multiples créées). Colonne inconnue ou valeur
        incompatible refuse tout l’appel sans suivi ; les URL ignorées gardent
        leurs valeurs. Chaque création/omission inclut destination_name et
        content_hub_url : partagez-les avec les décomptes. Le lien ouvre
        l’élément avec site et destination sélectionnés. Sans sheet_id,
        l’inventaire partagé est utilisé indépendamment de l’onglet ouvert du
        navigateur. Une URL ignorée garde sa destination même si un autre
        sheet_id est demandé.
      operationId: content.track_urls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                website_id:
                  type: string
                  description: Site web sur lequel suivre les URL.
                urls:
                  type: array
                  minItems: 1
                  maxItems: 500
                  description: >-
                    Pages à suivre. Un chemin sans protocole comme
                    acme.com/blog/post convient ; le protocole est retiré au
                    stockage.
                  items:
                    type: object
                    properties:
                      url:
                        type: string
                        minLength: 1
                        maxLength: 2048
                      title:
                        type: string
                        minLength: 1
                        maxLength: 500
                        description: >-
                          Titre d’affichage facultatif, déduit du slug de l’URL
                          si omis.
                      fields:
                        type: array
                        maxItems: 50
                        description: >-
                          Valeurs facultatives des colonnes personnalisées du
                          client sur l’onglet de destination, écrites sur la
                          nouvelle ligne. Pas appliquées aux URL ignorées.
                          Chaque colonne au plus une fois par URL.
                        items:
                          type: object
                          properties:
                            column:
                              type: string
                              minLength: 1
                              maxLength: 200
                              description: >-
                                Nom de colonne affiché, insensible à la casse.
                                Types modifiables : text, number, date,
                                checkbox, link, multi_select. Les colonnes
                                générées (Ask Athena, approbation, image OG,
                                etc.) sont refusées.
                            value:
                              description: >-
                                Value in the column's type: string for text;
                                http(s) URL string for link; number or numeric
                                string for number; ISO 8601 date string
                                (2026-09-01 or 2026-09-01T10:00:00Z, other
                                formats are rejected; a date-only value is
                                stored as UTC midnight) for date; boolean (or
                                true/false, yes/no) for checkbox; array of
                                option labels, or a comma-separated string, for
                                multi_select (50 labels at most either way).
                                Unknown multi-select options are created;
                                existing ones match case-insensitively.
                              oneOf:
                                - type: string
                                  maxLength: 10000
                                - type: number
                                - type: boolean
                                - type: array
                                  maxItems: 50
                                  items:
                                    type: string
                                    maxLength: 200
                          required:
                            - column
                            - value
                    required:
                      - url
                sheet_id:
                  type: string
                  nullable: true
                  description: >-
                    Onglet de Content Hub dans lequel classer les nouvelles
                    lignes. Les onglets de type vue utilisent l’ensemble
                    principal (null).
              required:
                - website_id
                - urls
      responses:
        '201':
          description: >-
            Créé. Aussi renvoyé si toutes les URL étaient déjà suivies, réussite
            idempotente avec created_count 0.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  created_count:
                    type: number
                  skipped_count:
                    type: number
                  created:
                    type: array
                    items:
                      type: object
                      properties:
                        content_id:
                          type: string
                        url:
                          type: string
                          description: >-
                            URL enregistrée sans protocole, au format
                            d’affichage.
                        destination_name:
                          type: string
                          description: >-
                            Nom réel de l’onglet de destination, ou Réserve
                            partagée si aucune vue correspondante n’existe.
                        content_hub_url:
                          type: string
                          format: uri
                          description: >-
                            Ouvre l’élément dans Content Hub avec son site web
                            et son onglet de destination sélectionnés.
                        sheet_id:
                          type: string
                          nullable: true
                      required:
                        - content_id
                        - url
                        - sheet_id
                        - destination_name
                        - content_hub_url
                  skipped:
                    type: array
                    items:
                      type: object
                      properties:
                        content_id:
                          type: string
                          description: >-
                            Ligne existante vers laquelle cette URL d’entrée a
                            été résolue.
                        url:
                          type: string
                          description: URL d’entrée nettoyée qui a été ignorée.
                        destination_name:
                          type: string
                          description: >-
                            Destination réelle de la ligne existante,
                            éventuellement différente de l’onglet demandé.
                        content_hub_url:
                          type: string
                          format: uri
                          description: >-
                            Ouvre l’élément à son emplacement actuel dans
                            Content Hub. Les lignes ignorées ne sont pas
                            déplacées.
                        type:
                          type: string
                          description: >-
                            Type du contenu existant. external/imported signifie
                            URL déjà suivie ; tout autre type (draft, snipe,
                            etc.) signale une collision avec un contenu
                            propriétaire généré partageant la clé de jointure :
                            vérifiez avant d’enchaîner des actions
                            destructrices.
                        sheet_id:
                          type: string
                          nullable: true
                      required:
                        - content_id
                        - url
                        - type
                        - sheet_id
                        - destination_name
                        - content_hub_url
                required:
                  - success
                  - created_count
                  - skipped_count
                  - created
                  - skipped
        '400':
          description: >-
            Requête incorrecte : validation échouée (URL invalide du lot,
            sheet_id hors site, colonne inconnue ou valeur incompatible avec son
            type ; aucune écriture)
          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
        '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:
        - ApiKeyAuth: []
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.