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

# Soumettre des recommandations SEO

> Soumet un brouillon ou une page HTTPS publique à des recommandations SEO et de recherche IA asynchrones. L’organisation doit disposer du droit seo_recommendations dans Autumn et l’appelant de l’administration du contenu du site. Sans droit : 403 ; vérification indisponible : 500 sans tâche créée. Les tâches en attente sont revérifiées avant analyse. Réutilisez request_id avec des entrées identiques pour réessayer ; toute modification renvoie 409. Un site peut avoir 1 000 tâches en attente, quatre analyses actives au maximum et 16 pour tous les sites. Plafond du site : 120 soumissions/minute, sous réserve du budget global d’organisation (60 requêtes/minute par défaut, partagé entre soumissions, suivi et autres appels). Respectez Retry-After sur 429. Échelonnez les soumissions et réservez du budget au suivi d’un sous-ensemble borné ; n’interrogez pas tout le retard à chaque poll_after_seconds. Le suivi ne lance jamais une autre analyse.



## OpenAPI

````yaml fr/api-reference/openapi.json post /api/v1/seo/recommendations
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/seo/recommendations:
    post:
      tags:
        - SEO Recommendations
      summary: Soumettre des recommandations SEO
      description: >-
        Soumet un brouillon ou une page HTTPS publique à des recommandations SEO
        et de recherche IA asynchrones. L’organisation doit disposer du droit
        seo_recommendations dans Autumn et l’appelant de l’administration du
        contenu du site. Sans droit : 403 ; vérification indisponible : 500 sans
        tâche créée. Les tâches en attente sont revérifiées avant analyse.
        Réutilisez request_id avec des entrées identiques pour réessayer ; toute
        modification renvoie 409. Un site peut avoir 1 000 tâches en attente,
        quatre analyses actives au maximum et 16 pour tous les sites. Plafond du
        site : 120 soumissions/minute, sous réserve du budget global
        d’organisation (60 requêtes/minute par défaut, partagé entre
        soumissions, suivi et autres appels). Respectez Retry-After sur 429.
        Échelonnez les soumissions et réservez du budget au suivi d’un
        sous-ensemble borné ; n’interrogez pas tout le retard à chaque
        poll_after_seconds. Le suivi ne lance jamais une autre analyse.
      operationId: seoRecommendations.submit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                website_id:
                  type: string
                request_id:
                  type: string
                source:
                  anyOf:
                    - type: object
                      properties:
                        kind:
                          enum:
                            - draft
                          type: string
                        title:
                          type: string
                        meta_description:
                          type: string
                        markdown:
                          type: string
                      required:
                        - kind
                        - title
                        - meta_description
                        - markdown
                    - type: object
                      properties:
                        kind:
                          enum:
                            - url
                          type: string
                        url:
                          type: string
                      required:
                        - kind
                        - url
                target_queries:
                  type: array
                  items:
                    type: string
                locale:
                  type: string
                local_context:
                  type: string
              required:
                - website_id
                - request_id
                - source
      responses:
        '202':
          description: Réussite
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                  status:
                    type: string
                    enum:
                      - pending
                      - running
                      - completed
                      - failed
                  contract_version:
                    enum:
                      - seo-recommendations/v1
                    type: string
                  poll_after_seconds:
                    type: integer
                required:
                  - job_id
                  - status
                  - contract_version
                  - poll_after_seconds
        '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 atteinte : respectez Retry-After avant de réessayer avec le
            même identifiant de requête
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
          headers:
            Retry-After:
              description: Secondes à attendre avant de réessayer
              schema:
                type: integer
                minimum: 1
        '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.