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

# Crear sitio web

> Crea un sitio web en tu organización en el paso 1 de configuración, listo para configurarse. Las **integraciones de socios** pueden incluir `external_id` para vincular su identificador al nuevo sitio de Athena. La creación también aprovisiona su programación predeterminada de consultas en la misma transacción. Los patrones conservan el host, las mayúsculas de la ruta y los parámetros de consulta enviados. acme.com incluye www.acme.com; un www.acme.com explícito solo monitoriza ese host. Las rutas incluyen la sección y sus descendientes delimitados por barras. El dominio no distingue mayúsculas de minúsculas; la ruta y los valores de consulta sí.



## OpenAPI

````yaml es/api-reference/openapi.json post /api/v1/websites
openapi: 3.1.0
info:
  title: API de AthenaHQ
  description: >-
    La API de AthenaHQ ofrece acceso programático para gestionar tus sitios web
    y consultas para optimizar el contenido con IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Servidor de producción
security:
  - apiKey: []
tags:
  - name: Basics
    description: Operaciones principales de la API para gestionar sitios web y consultas
  - name: Metrics
    description: Endpoints de métricas y análisis para monitorizar la visibilidad en IA
  - name: Billing
    description: Endpoints de facturación y créditos para gestionar el uso
  - name: Team Management
    description: Endpoints para gestionar miembros del equipo e invitaciones
  - name: Groups
    description: Endpoints para gestionar grupos de sitios web
  - name: Content
    description: >-
      Endpoints para acceder a los datos del centro de contenidos: pestañas, URL
      monitorizadas y desglose de consultas por URL.
  - name: Pitch Workspace
    description: >-
      Endpoints para acceder a los informes del espacio de propuestas:
      ejecuciones de propuestas con alcance de organización, con competidores,
      consultas, atributos y métricas agregadas.
  - name: Knowledge Base
    description: >-
      Endpoints para leer la base de conocimientos de la marca: datos aprobados
      sobre la marca y los pilares que los organizan.
paths:
  /api/v1/websites:
    post:
      tags:
        - Basics
      summary: Crear sitio web
      description: >-
        Crea un sitio web en tu organización en el paso 1 de configuración,
        listo para configurarse. Las **integraciones de socios** pueden incluir
        `external_id` para vincular su identificador al nuevo sitio de Athena.
        La creación también aprovisiona su programación predeterminada de
        consultas en la misma transacción. Los patrones conservan el host, las
        mayúsculas de la ruta y los parámetros de consulta enviados. acme.com
        incluye www.acme.com; un www.acme.com explícito solo monitoriza ese
        host. Las rutas incluyen la sección y sus descendientes delimitados por
        barras. El dominio no distingue mayúsculas de minúsculas; la ruta y los
        valores de consulta sí.
      operationId: createWebsite
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebsiteRequest'
      responses:
        '201':
          description: >-
            Sitio web creado correctamente. Las respuestas a socios incluyen
            `externalId` (cadena o `null`); las respuestas a clientes directos
            omiten por completo el campo.
          content:
            application/json:
              schema:
                type: object
                properties:
                  website:
                    $ref: '#/components/schemas/CreatedWebsite'
                  billingEntityCreated:
                    type: boolean
                    description: >-
                      Indica si existe la entidad de facturación tras el
                      aprovisionamiento. Si es false, su creación ha fallado
                      incluso tras reintentar: el sitio existe sin créditos y
                      configurarlos devuelve 400 hasta repararlo. En ese caso,
                      contacta con soporte de AthenaHQ.
                required:
                  - website
                  - billingEntityCreated
              example:
                website:
                  id: 123e4567-e89b-12d3-a456-426614174000
                  websiteUrl: example.com
                  orgId: 987e6543-e21b-12d3-a456-426614174000
                  onboardingStep: 1
                billingEntityCreated: true
        '400':
          description: 'Solicitud incorrecta: parámetros no válidos'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalid_json:
                  value:
                    error: Invalid JSON in request body
                missing_url:
                  value:
                    error: 'url: Required'
                invalid_url:
                  value:
                    error: 'url: Invalid url'
                email_as_url:
                  value:
                    error: Enter your website address, not an email address.
        '401':
          description: 'Sin autorización: falta la clave de API o no es válida'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Acceso denegado: `external_id` es exclusivo para socios; las claves
            de API de otros usuarios no pueden definirlo.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 'Forbidden: partner API key required'
        '409':
          description: >-
            Conflicto (solo socios): el `external_id` proporcionado ya está
            vinculado a otro sitio web.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalIdConflictError'
              examples:
                external_id_conflict:
                  summary: El external_id del partner ya está asociado
                  value:
                    error: external_id_conflict
                    message: external_id ws_a7f3b2c9 is already mapped to a website
                    existing:
                      id: 123e4567-e89b-12d3-a456-426614174000
                      externalId: ws_a7f3b2c9
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    CreateWebsiteRequest:
      type: object
      description: Cuerpo de la solicitud para crear un sitio web
      required:
        - url
      properties:
        url:
          type: string
          format: uri
          description: >-
            URL del sitio web que se creará. Se eliminan automáticamente el
            protocolo (http/https) y las barras finales. Las direcciones de
            correo y otras URL con nombre de usuario (`name@example.com`) se
            rechazan con `400`.
          example: https://example.com
          maxLength: 2048
        external_id:
          type: string
          minLength: 1
          description: >-
            **Solo socios.** Identificador de tu sistema que se vinculará a este
            sitio web de Athena. Solo se admite con una clave de API de una
            organización marcada como socio. Los clientes directos reciben `403
            Forbidden`. Debe ser único por tipo de recurso en tu organización;
            los duplicados devuelven `409` con el recurso existente en los datos
            de respuesta.
          example: ws_a7f3b2c9
    CreatedWebsite:
      type: object
      description: Un recurso de sitio web recién creado
      required:
        - id
        - websiteUrl
        - orgId
        - onboardingStep
      properties:
        id:
          type: string
          format: uuid
          description: Identificador único del sitio web
          example: 123e4567-e89b-12d3-a456-426614174000
        websiteUrl:
          type: string
          description: URL depurada del sitio web (sin protocolo ni barra final)
          example: example.com
        orgId:
          type: string
          format: uuid
          description: ID de la organización a la que pertenece el sitio web
          example: 987e6543-e21b-12d3-a456-426614174000
        onboardingStep:
          type: integer
          description: Paso actual de la configuración inicial (empieza en 1)
          example: 1
        externalId:
          type: string
          nullable: true
          description: >-
            **Solo socios.** Repite el `external_id` de la solicitud de creación
            si se ha indicado, o `null` si no. Solo aparece en respuestas a
            claves de API de socios; las respuestas a clientes directos omiten
            el campo.
          example: ws_a7f3b2c9
    Error:
      type: object
      description: Objeto de respuesta de error
      required:
        - error
      properties:
        error:
          type: string
          description: Mensaje de error que describe qué ha fallado
          example: Unauthorized
    ExternalIdConflictError:
      type: object
      description: >-
        Se devuelve si un socio intenta establecer un `external_id` ya vinculado
        a otro recurso del mismo tipo en la organización. `existing` identifica
        el recurso que ya tiene el ID para que el socio pueda recuperarse de un
        reintento o conciliar su vinculación.
      required:
        - error
        - message
        - existing
      properties:
        error:
          type: string
          enum:
            - external_id_conflict
          description: >-
            Código de error legible por máquinas. Siempre es
            `external_id_conflict`.
          example: external_id_conflict
        message:
          type: string
          description: Explicación del conflicto en lenguaje comprensible.
          example: external_id ws_a7f3b2c9 is already mapped to a website
        existing:
          type: object
          required:
            - id
            - externalId
          description: Recurso que actualmente tiene el `external_id` en conflicto.
          properties:
            id:
              type: string
              format: uuid
              description: ID de Athena del recurso existente.
              example: 123e4567-e89b-12d3-a456-426614174000
            externalId:
              type: string
              description: El external_id que ya está asociado.
              example: ws_a7f3b2c9
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clave de API para autenticarse. Puedes crear una
        [aquí](https://app.athenahq.ai/organization?tab=api).

````

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