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

# Lancer le pipeline de contenu

> Génère un article ou brief dans AthenaHQ. Récupère les URL sources, transmet leur contenu à des fournisseurs IA externes et consomme des crédits de contenu. Obtenez l’accord de l’utilisateur avant l’appel. Ne publie pas vers un site/CMS. En draft, auto_approve vaut true par défaut ; false génère seulement le brief, en attente de approve_brief. Interrogez GET /api/v1/content/{content_id}/status pour chaque content_ids renvoyé. Slice renvoie slice_titles et un content_ids vide ; les éléments sont listables avec GET /api/v1/content/items. Pour conserver un article déjà écrit sans génération/crédits, utilisez l’outil MCP add_content.



## OpenAPI

````yaml fr/api-reference/openapi.json post /api/v1/content/generate
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/generate:
    post:
      tags:
        - Content
      summary: Lancer le pipeline de contenu
      description: >-
        Génère un article ou brief dans AthenaHQ. Récupère les URL sources,
        transmet leur contenu à des fournisseurs IA externes et consomme des
        crédits de contenu. Obtenez l’accord de l’utilisateur avant l’appel. Ne
        publie pas vers un site/CMS. En draft, auto_approve vaut true par défaut
        ; false génère seulement le brief, en attente de approve_brief.
        Interrogez GET /api/v1/content/{content_id}/status pour chaque
        content_ids renvoyé. Slice renvoie slice_titles et un content_ids vide ;
        les éléments sont listables avec GET /api/v1/content/items. Pour
        conserver un article déjà écrit sans génération/crédits, utilisez
        l’outil MCP add_content.
      operationId: content.pipeline.start
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                website_id:
                  type: string
                mode:
                  type: string
                  enum:
                    - draft
                    - snipe
                    - optimize
                    - slice
                  description: >-
                    draft : générer un brief et éventuellement un article à
                    partir des prompts suivis. snipe : rédiger un article à
                    partir de l’URL d’un concurrent. optimize : améliorer une
                    page existante pour la recherche IA. slice : transformer une
                    URL source en plusieurs articles.
                title:
                  type: string
                  description: >-
                    Titre de l’article. Obligatoire pour les modes draft, snipe
                    et optimize.
                url:
                  type: string
                  description: >-
                    URL source obligatoire pour snipe, optimize et slice. Une
                    URL sans protocole, comme example.com/article, est acceptée.
                prompt_ids:
                  type: array
                  items:
                    type: string
                  description: >-
                    UUID de prompts suivis existants, 100 maximum. Obligatoires
                    et non vides pour draft ; omettez pour slice. Utilisez les
                    ID de la liste du site, sans jamais les inventer.
                custom_instructions:
                  type: string
                brand_kit_id:
                  type: string
                sheet_id:
                  anyOf:
                    - type: string
                    - type: 'null'
                use_content_memories:
                  type: boolean
                auto_approve:
                  type: boolean
                  description: >-
                    Mode draft uniquement. true par défaut poursuit du brief à
                    l’article ; false attend à generated_brief jusqu’à
                    approve_brief.
                content_format_type:
                  type: string
                scrape_additional_links:
                  type: boolean
                kb_mode:
                  type: string
                  enum:
                    - auto
                    - manual
                    - none
                selected_topic_ids:
                  type: array
                  items:
                    type: string
                pinned_claim_ids:
                  type: array
                  items:
                    type: string
                use_kb_internal_links:
                  type: boolean
                fact_review:
                  type: object
                  description: >-
                    Sélection de faits examinée dans l’aperçu. Si présente, en
                    mode draft avec base activée, la génération utilise
                    exactement ces piliers et faits conservés sans calculer de
                    sélection ; pinned_claim_ids n’influence plus celle-ci. Les
                    affirmations sans pilier ne sont jamais utilisées : un ID
                    conservé qui désigne une affirmation non classée est écarté
                    et signalé dans le résultat de sélection.
                  properties:
                    topic_ids:
                      type: array
                      items:
                        type: string
                    kept_claim_ids:
                      type: array
                      items:
                        type: string
                    excluded_claim_ids:
                      type: array
                      items:
                        type: string
                  required:
                    - topic_ids
                    - kept_claim_ids
                    - excluded_claim_ids
                rec_id:
                  type: string
                rec_kind:
                  type: string
                  enum:
                    - on_page_topic
                    - on_page_snipe
                pdf_file_name_or_r2_key:
                  type: string
              required:
                - website_id
                - mode
      responses:
        '202':
          description: Réussite
          content:
            application/json:
              schema:
                type: object
                properties:
                  content_ids:
                    type: array
                    items:
                      type: string
                  status:
                    enum:
                      - generating
                    type: string
                  slice_titles:
                    type: array
                    items:
                      type: string
                required:
                  - content_ids
                  - status
        '400':
          description: 'Requête incorrecte : échec de la 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
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.