> ## Documentation Index
> Fetch the complete documentation index at: https://glasser.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Leer el resultado de una investigación SEO

> Lee el resultado normalizado, el estado de entrega y los cargos totales de una solicitud de investigación SEO existente. Sigue el result_url que devuelve la llamada.

Usa `result_url` sin cambios en el origen de la API y autentícate con una Key autorizada para leer cada Run. La respuesta usa los mismos campos que la respuesta inicial de Solution. HTTP 200 aún puede incluir `result_status: pending` mientras se ejecuta un rastreo; sigue consultando hasta que `status` sea terminal. Esta lectura no crea Runs, no llama a proveedores de datos ni reanuda el fallback.


## OpenAPI

````yaml /openapi.es.json get /v1/solutions/gtm/seo_research/result
openapi: 3.1.0
info:
  title: Glasser
  version: 0.0.1
  description: >-
    Una API Key, sin contrato, con pago por llamada, para APIs de pago
    adquiridas al por mayor. Cada respuesta incluye x-request-id; cada cuerpo de
    error incluye el mismo sobre.
servers:
  - url: https://api.glasser.ai
security: []
tags:
  - name: Solutions
  - name: Endpoints
  - name: Runs
  - name: Balance
paths:
  /v1/solutions/gtm/seo_research/result:
    get:
      tags:
        - Solutions
      summary: Leer un resultado de investigación SEO
      description: >-
        Sigue result_url desde una llamada de investigación SEO para leer el
        resultado normalizado, el result_status de negocio y el cobro total de
        los mismos Runs. HTTP 200 puede contener igualmente
        result_status=pending. Esta lectura autenticada no crea Runs, no llama a
        proveedores de datos ni reanuda el fallback. GET /v1/runs/:id sigue
        siendo el Run individual nativo. El contexto del resultado está firmado,
        vinculado al Workspace y se comprueba con la política actual de la API
        Key para cada Run.
      operationId: gtm-seo-research-result
      parameters:
        - name: token
          in: query
          schema:
            type: string
            minLength: 1
            maxLength: 16384
            description: >-
              Contexto de resultado opaco devuelto en result_url. Consérvalo sin
              cambios y autentícate con una API Key autorizada para leer cada
              Run incluido.
          required: true
      responses:
        '200':
          description: SeoResearchResult
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeoResearchResult'
        '400':
          description: ValidationFailed
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedEncoded'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenEncoded'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundEncoded'
        '429':
          description: RateLimited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedEncoded'
      security:
        - bearer: []
components:
  schemas:
    SeoResearchResult:
      type: object
      properties:
        id:
          type: string
        run_url:
          type: string
          description: Abre este Run en la consola. Requiere pertenecer a un Workspace.
        provider:
          type: string
          pattern: ^[a-z0-9][a-z0-9-]*$
        endpoint:
          type: string
          pattern: ^\/.+$
        endpoint_version:
          type: integer
          exclusiveMinimum: 0
        status:
          type: string
          enum:
            - QUEUED
            - RUNNING
            - COMPLETED
            - FAILED
            - STOPPED
          description: >-
            QUEUED o RUNNING: sigue en curso. COMPLETED: hay una respuesta del
            proveedor de datos disponible, incluidas las respuestas que no son
            2xx. FAILED: consulta `failure`. STOPPED: detenido antes del envío.
            Consulta charge_usd por separado de status.
        failure:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - TIMED_OUT
                    - INTERNAL
                message:
                  type: string
              required:
                - kind
                - message
              additionalProperties: false
            - type: 'null'
          description: >-
            Motivo por el que falló el Run. No es null únicamente cuando el
            estado es FAILED.
        input:
          type: object
        output:
          anyOf:
            - anyOf:
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          keyword:
                            anyOf:
                              - type: string
                              - type: 'null'
                          volume:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          cpc_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          semrush_keyword_difficulty:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          serpstat_keyword_difficulty:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          dataforseo_keyword_difficulty:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          ahrefs_keyword_difficulty:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          intent:
                            anyOf:
                              - type: string
                              - type: 'null'
                        required:
                          - keyword
                          - volume
                          - cpc_usd
                          - semrush_keyword_difficulty
                          - serpstat_keyword_difficulty
                          - dataforseo_keyword_difficulty
                          - ahrefs_keyword_difficulty
                          - intent
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          position:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          domain:
                            anyOf:
                              - type: string
                              - type: 'null'
                          title:
                            anyOf:
                              - type: string
                              - type: 'null'
                          snippet:
                            anyOf:
                              - type: string
                              - type: 'null'
                        required:
                          - position
                          - url
                          - domain
                          - title
                          - snippet
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    organic_keywords:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    organic_traffic:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    organic_traffic_value_usd:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    paid_keywords:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    paid_traffic:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                  required:
                    - organic_keywords
                    - organic_traffic
                    - organic_traffic_value_usd
                    - paid_keywords
                    - paid_traffic
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          keyword:
                            anyOf:
                              - type: string
                              - type: 'null'
                          position:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          volume:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          cpc_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          traffic:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                        required:
                          - keyword
                          - position
                          - url
                          - volume
                          - cpc_usd
                          - traffic
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          domain:
                            anyOf:
                              - type: string
                              - type: 'null'
                          common_keywords:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          organic_keywords:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          organic_traffic:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                        required:
                          - domain
                          - common_keywords
                          - organic_keywords
                          - organic_traffic
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    backlinks:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    referring_domains:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    semrush_authority_score:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    dataforseo_rank:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    serpstat_domain_rank:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    dofollow_backlinks:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    nofollow_backlinks:
                      anyOf:
                        - type: integer
                        - type: 'null'
                  required:
                    - backlinks
                    - referring_domains
                    - semrush_authority_score
                    - dataforseo_rank
                    - serpstat_domain_rank
                    - dofollow_backlinks
                    - nofollow_backlinks
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          source_url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          target_url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          anchor:
                            anyOf:
                              - type: string
                              - type: 'null'
                          source_ahrefs_domain_rating:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          source_semrush_authority_score:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          source_dataforseo_rank:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          dofollow:
                            anyOf:
                              - type: boolean
                              - type: 'null'
                          first_seen_at:
                            anyOf:
                              - type: string
                              - type: 'null'
                        required:
                          - source_url
                          - target_url
                          - anchor
                          - source_ahrefs_domain_rating
                          - source_semrush_authority_score
                          - source_dataforseo_rank
                          - dofollow
                          - first_seen_at
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          domain:
                            anyOf:
                              - type: string
                              - type: 'null'
                          ahrefs_domain_rating:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          semrush_authority_score:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          dataforseo_rank:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          backlinks:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          dofollow_backlinks:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          first_seen_at:
                            anyOf:
                              - type: string
                              - type: 'null'
                        required:
                          - domain
                          - ahrefs_domain_rating
                          - semrush_authority_score
                          - dataforseo_rank
                          - backlinks
                          - dofollow_backlinks
                          - first_seen_at
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    ahrefs_domain_rating:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                  required:
                    - ahrefs_domain_rating
                  additionalProperties: false
                - type: object
                  properties:
                    dataforseo_task_id:
                      anyOf:
                        - type: string
                        - type: 'null'
                    crawl_progress:
                      anyOf:
                        - type: string
                        - type: 'null'
                    crawl_stop_reason:
                      anyOf:
                        - type: string
                        - type: 'null'
                    pages_crawled:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    dataforseo_onpage_score:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    broken_links:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    non_indexable:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    duplicate_title:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    duplicate_description:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    duplicate_content:
                      anyOf:
                        - type: integer
                        - type: 'null'
                  required:
                    - dataforseo_task_id
                    - crawl_progress
                    - crawl_stop_reason
                    - pages_crawled
                    - dataforseo_onpage_score
                    - broken_links
                    - non_indexable
                    - duplicate_title
                    - duplicate_description
                    - duplicate_content
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          keyword:
                            anyOf:
                              - type: string
                              - type: 'null'
                          volume:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          cpc_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          semrush_keyword_difficulty:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          dataforseo_keyword_difficulty:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          positions:
                            type: object
                            additionalProperties:
                              anyOf:
                                - type: integer
                                - type: 'null'
                        required:
                          - keyword
                          - volume
                          - cpc_usd
                          - semrush_keyword_difficulty
                          - dataforseo_keyword_difficulty
                          - positions
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          domain:
                            anyOf:
                              - type: string
                              - type: 'null'
                          dataforseo_rank:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          backlinks_per_target:
                            type: object
                            additionalProperties:
                              anyOf:
                                - type: integer
                                - type: 'null'
                        required:
                          - domain
                          - dataforseo_rank
                          - backlinks_per_target
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    url:
                      anyOf:
                        - type: string
                        - type: 'null'
                    status_code:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    title:
                      anyOf:
                        - type: string
                        - type: 'null'
                    description:
                      anyOf:
                        - type: string
                        - type: 'null'
                    canonical:
                      anyOf:
                        - type: string
                        - type: 'null'
                    dataforseo_onpage_score:
                      anyOf:
                        - anyOf:
                            - type: number
                            - type: string
                              enum:
                                - Infinity
                                - '-Infinity'
                                - NaN
                        - type: 'null'
                    internal_links:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    external_links:
                      anyOf:
                        - type: integer
                        - type: 'null'
                  required:
                    - url
                    - status_code
                    - title
                    - description
                    - canonical
                    - dataforseo_onpage_score
                    - internal_links
                    - external_links
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          month:
                            anyOf:
                              - type: string
                              - type: 'null'
                          organic_keywords:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          organic_traffic:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          organic_traffic_value_usd:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                          paid_keywords:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          paid_traffic:
                            anyOf:
                              - anyOf:
                                  - type: number
                                  - type: string
                                    enum:
                                      - Infinity
                                      - '-Infinity'
                                      - NaN
                              - type: 'null'
                        required:
                          - month
                          - organic_keywords
                          - organic_traffic
                          - organic_traffic_value_usd
                          - paid_keywords
                          - paid_traffic
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          url:
                            anyOf:
                              - type: string
                              - type: 'null'
                          platform:
                            anyOf:
                              - type: string
                              - type: 'null'
                          mentions:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          ai_search_volume:
                            anyOf:
                              - type: integer
                              - type: 'null'
                          is_target_domain:
                            anyOf:
                              - type: boolean
                              - type: 'null'
                        required:
                          - url
                          - platform
                          - mentions
                          - ai_search_volume
                          - is_target_domain
                        additionalProperties: false
                  required:
                    - items
                  additionalProperties: false
                - type: object
                  properties:
                    ahrefs_ai_citations:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    ahrefs_ai_cited_pages:
                      anyOf:
                        - type: integer
                        - type: 'null'
                    ahrefs_ai_citations_by_platform:
                      anyOf:
                        - type: object
                          additionalProperties:
                            anyOf:
                              - type: integer
                              - type: 'null'
                        - type: 'null'
                    dataforseo_ai_mentions_by_platform:
                      anyOf:
                        - type: object
                          additionalProperties:
                            anyOf:
                              - type: integer
                              - type: 'null'
                        - type: 'null'
                    dataforseo_ai_search_volume_by_platform:
                      anyOf:
                        - type: object
                          additionalProperties:
                            anyOf:
                              - type: integer
                              - type: 'null'
                        - type: 'null'
                  required:
                    - ahrefs_ai_citations
                    - ahrefs_ai_cited_pages
                    - ahrefs_ai_citations_by_platform
                    - dataforseo_ai_mentions_by_platform
                    - dataforseo_ai_search_volume_by_platform
                  additionalProperties: false
            - type: 'null'
          description: >-
            Campos normalizados por acción. El resultado nativo del proveedor de
            datos no se repite aquí; permanece en el Run (GET /v1/runs/:id). Los
            valores que un proveedor de datos no informa son null. Los importes
            monetarios están en USD. Las puntuaciones de autoridad conservan la
            métrica y el nombre propios del proveedor de datos que responde y
            nunca se convierten: ahrefs_domain_rating (Ahrefs Domain Rating,
            0–100), semrush_authority_score (Semrush Authority Score, 0–100),
            dataforseo_rank (DataForSEO rank, 0–1000), serpstat_domain_rank
            (Serpstat Domain Rank, 0–100). La dificultad de palabras clave se
            divide del mismo modo (semrush_keyword_difficulty,
            serpstat_keyword_difficulty, dataforseo_keyword_difficulty,
            ahrefs_keyword_difficulty, cada una de 0–100 según su propio
            modelo). Solo se completa el campo del proveedor de datos que
            respondió; los demás son null. volume, traffic y cpc son
            estimaciones del proveedor de datos que responde; compáralos
            únicamente dentro de un mismo proveedor de datos (runs[].provider).
            Una respuesta vacía (result_status no_result) conserva la estructura
            de la acción: items es [], o todos los campos son null.


            - keyword_overview: items[]: keyword, volume, cpc_usd,
            semrush_keyword_difficulty, serpstat_keyword_difficulty,
            dataforseo_keyword_difficulty, ahrefs_keyword_difficulty, intent

            - keyword_ideas: items[]: misma fila que keyword_overview

            - serp: items[]: position (posición orgánica: 1 = primer resultado
            orgánico; las funciones de SERP no se contabilizan), url, domain,
            title, snippet (solo resultados orgánicos)

            - domain_overview: organic_keywords, organic_traffic,
            organic_traffic_value_usd, paid_keywords, paid_traffic

            - ranked_keywords: items[]: keyword, position (posición orgánica: 1
            = primer resultado orgánico; las funciones de SERP no se
            contabilizan), url, volume, cpc_usd, traffic

            - organic_competitors: items[]: domain, common_keywords,
            organic_keywords (total del competidor), organic_traffic (se
            excluyen el dominio objetivo y sus subdominios)

            - backlinks_overview: backlinks, referring_domains,
            semrush_authority_score, dataforseo_rank, serpstat_domain_rank,
            dofollow_backlinks, nofollow_backlinks

            - backlinks: items[]: source_url, target_url, anchor,
            source_ahrefs_domain_rating, source_semrush_authority_score,
            source_dataforseo_rank, dofollow, first_seen_at (ISO 8601 UTC;
            Semrush: zona no indicada, sin sufijo Z). Una fila por enlace de
            cada proveedor de datos

            - referring_domains: items[]: domain, ahrefs_domain_rating,
            semrush_authority_score, dataforseo_rank, backlinks,
            dofollow_backlinks, first_seen_at (ISO 8601 UTC; Semrush: zona no
            indicada, sin sufijo Z)

            - domain_rating: ahrefs_domain_rating

            - site_audit: dataforseo_task_id (entrada para los endpoints de
            informes OnPage de DataForSEO), crawl_progress, crawl_stop_reason
            (vocabulario de DataForSEO), pages_crawled, dataforseo_onpage_score,
            broken_links, non_indexable, duplicate_title, duplicate_description,
            duplicate_content

            - keyword_gap: items[]: keyword, volume, cpc_usd,
            semrush_keyword_difficulty, dataforseo_keyword_difficulty, positions
            `{domain: posición orgánica; null = no está entre los 100
            primeros}`, identificadas por los dominios enviados. Las filas de
            Semrush son palabras clave para las que posiciona cualquiera de los
            dominios (unión); las filas de DataForSEO son palabras clave para
            las que posiciona el competidor y tú no

            - backlink_gap: items[]: domain, dataforseo_rank,
            backlinks_per_target `{dominio del competidor: cantidad}`

            - page_audit: url, status_code, title, description, canonical,
            dataforseo_onpage_score, internal_links, external_links

            - visibility_history: items[]: month, organic_keywords,
            organic_traffic, organic_traffic_value_usd, paid_keywords,
            paid_traffic

            - ai_citations: items[]: url, platform, mentions, ai_search_volume,
            is_target_domain (páginas más citadas en respuestas de IA que
            mencionan el dominio, de cualquier sitio)

            - ai_visibility: ahrefs_ai_citations, ahrefs_ai_cited_pages,
            ahrefs_ai_citations_by_platform `{platform: citations}`,
            dataforseo_ai_mentions_by_platform `{platform: mentions}`,
            dataforseo_ai_search_volume_by_platform `{platform: volumen de
            búsqueda de IA}`. Cada proveedor de datos completa únicamente sus
            propios campos; no hay un total combinado entre proveedores
        provider_response:
          anyOf:
            - type: object
              properties:
                http_status:
                  type: integer
                  minimum: 100
                  maximum: 599
                  description: >-
                    Estado HTTP devuelto por el proveedor de datos. Compruébalo
                    incluso cuando el Run esté COMPLETED.
                error:
                  anyOf:
                    - {}
                    - type: 'null'
              required:
                - http_status
              additionalProperties: false
            - type: 'null'
          description: >-
            No es null únicamente cuando el estado es COMPLETED.


            - Para respuestas 2xx, output contiene JSON nativo del proveedor de
            datos (de cualquier estructura), o null si el cuerpo está vacío.

            - Para respuestas que no son 2xx, error contiene el cuerpo de error
            del proveedor de datos y output es null.


            Los campos sensibles se eliminan de ambos cuerpos.
        charge_usd:
          anyOf:
            - type: string
              pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
              description: >-
                Cadena decimal exacta en USD (mínimo 2 y máximo 6 decimales, con
                una única representación canónica). Suma con aritmética decimal
                o escala por 10^6; nunca uses números de coma flotante.
            - type: 'null'
          description: >-
            Cargo total de los Runs en esta respuesta de Solution. Es null hasta
            que se liquiden todos los Runs incluidos. Cada Run conserva su
            propio cargo; los errores también pueden generar cargos.
        charge_basis:
          anyOf:
            - type: object
              properties:
                clause:
                  type: string
                  enum:
                    - rule
                    - NO_RESULT
                    - PROVIDER_ERROR
                    - TIMED_OUT
                    - INTERNAL
                quantity:
                  anyOf:
                    - type: integer
                      minimum: 0
                    - type: 'null'
              required:
                - clause
                - quantity
              additionalProperties: false
            - type: 'null'
          description: >-
            Base del cargo de un único Run, o null para un total de varios Runs.
            Consulta runs[].charge_basis para cada cargo.
        stoppable:
          type: boolean
          description: >-
            Indica si actualmente se puede aceptar una solicitud de detención.
            Esto no garantiza que el Run pueda detenerse antes del envío.
        stop_requested_at:
          anyOf:
            - type: string
              description: Marca de tiempo UTC en formato ISO-8601
              format: date-time
            - type: 'null'
          description: >-
            Momento en que se solicitó la detención. El Run puede continuar si
            el envío ya había comenzado.
        created_at:
          type: string
          description: Marca de tiempo UTC en formato ISO-8601
          format: date-time
        started_at:
          anyOf:
            - type: string
              description: Marca de tiempo UTC en formato ISO-8601
              format: date-time
            - type: 'null'
        completed_at:
          anyOf:
            - type: string
              description: Marca de tiempo UTC en formato ISO-8601
              format: date-time
            - type: 'null'
        task_id:
          anyOf:
            - type: string
            - type: 'null'
        metadata:
          type: object
          additionalProperties:
            type: string
            minLength: 1
            maxLength: 500
          maxProperties: 20
          propertyNames:
            type: string
            pattern: ^[a-z][a-z0-9_]{0,39}$
          description: >-
            Tus campos de seguimiento almacenados. Úsalos para filtrar Runs.
            Nunca se envían al proveedor de datos ni afectan al enrutamiento,
            Price o la idempotencia.


            - Hasta 20 claves: letras minúsculas, dígitos y guiones bajos; deben
            comenzar por una letra; como máximo 40 caracteres.

            - Valores: cadenas de 1–500 caracteres.

            - user_id: el ID opaco de tu usuario final, nunca su dirección de
            correo electrónico ni su nombre.
        action:
          type: string
          enum:
            - keyword_overview
            - keyword_ideas
            - serp
            - domain_overview
            - ranked_keywords
            - organic_competitors
            - backlinks_overview
            - backlinks
            - referring_domains
            - domain_rating
            - site_audit
            - ai_visibility
            - keyword_gap
            - backlink_gap
            - page_audit
            - visibility_history
            - ai_citations
        result_status:
          type: string
          enum:
            - success
            - no_result
            - error
            - pending
          description: >-
            Estado de entrega empresarial, independiente del ciclo de vida final
            del Run en status. no_result es una respuesta vacía pero válida;
            error significa que no se pudo entregar el resultado del proveedor
            de datos.
        error:
          anyOf:
            - type: object
              properties:
                code:
                  type: string
                message:
                  type: string
              required:
                - code
                - message
              additionalProperties: false
            - type: 'null'
        runs:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              run_url:
                type: string
                description: >-
                  Abre este Run en la consola. Requiere pertenencia al
                  Workspace.
              provider:
                type: string
                pattern: ^[a-z0-9][a-z0-9-]*$
              endpoint:
                type: string
                pattern: ^\/.+$
              endpoint_version:
                type: integer
                exclusiveMinimum: 0
              status:
                type: string
                enum:
                  - QUEUED
                  - RUNNING
                  - COMPLETED
                  - FAILED
                  - STOPPED
                description: >-
                  QUEUED o RUNNING: todavía está en curso. COMPLETED: hay una
                  respuesta del proveedor de datos disponible, incluidas las
                  respuestas no-2xx. FAILED: consulta `failure`. STOPPED:
                  detenido antes del envío. Consulta charge_usd por separado de
                  status.
              failure:
                anyOf:
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - TIMED_OUT
                          - INTERNAL
                      message:
                        type: string
                    required:
                      - kind
                      - message
                    additionalProperties: false
                  - type: 'null'
                description: >-
                  Motivo por el que falló el Run. Solo es distinto de null
                  cuando status es FAILED.
              input:
                type: object
                properties:
                  omitted:
                    type: boolean
                    enum:
                      - true
                required:
                  - omitted
                additionalProperties: false
              output:
                type: object
                properties:
                  omitted:
                    type: boolean
                    enum:
                      - true
                required:
                  - omitted
                additionalProperties: false
              provider_response:
                anyOf:
                  - type: object
                    properties:
                      http_status:
                        type: integer
                        minimum: 100
                        maximum: 599
                        description: >-
                          Estado HTTP devuelto por el proveedor de datos.
                          Compruébalo incluso cuando el Run esté COMPLETED.
                    required:
                      - http_status
                    additionalProperties: false
                  - type: 'null'
              charge_usd:
                anyOf:
                  - type: string
                    pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                    description: >-
                      Cadena decimal exacta en USD (mín. 2 y máx. 6 decimales,
                      con una única representación canónica). Suma mediante
                      aritmética decimal o escala por 10^6; nunca uses números
                      de coma flotante.
                  - type: 'null'
                description: >-
                  Cargo final como cadena decimal exacta en USD. Es null
                  mientras está QUEUED o RUNNING. Un Run FAILED puede tener un
                  cargo distinto de cero según el Price del Endpoint.
              charge_basis:
                anyOf:
                  - type: object
                    properties:
                      clause:
                        type: string
                        enum:
                          - rule
                          - NO_RESULT
                          - PROVIDER_ERROR
                          - TIMED_OUT
                          - INTERNAL
                      quantity:
                        anyOf:
                          - type: integer
                            minimum: 0
                          - type: 'null'
                    required:
                      - clause
                      - quantity
                    additionalProperties: false
                  - type: 'null'
                description: >-
                  Cláusula de Price utilizada para calcular el cargo. Es null
                  antes de la liquidación o cuando no se realizó ningún intento
                  con el proveedor de datos.
              stoppable:
                type: boolean
                description: >-
                  Indica si actualmente se puede aceptar una solicitud de
                  detención. Esto no garantiza que el Run pueda detenerse antes
                  del envío.
              stop_requested_at:
                anyOf:
                  - type: string
                    description: Marca de tiempo UTC ISO-8601
                    format: date-time
                  - type: 'null'
                description: >-
                  Momento en que se solicitó la detención. El Run puede
                  continuar si el envío ya había comenzado.
              created_at:
                type: string
                description: Marca de tiempo UTC ISO-8601
                format: date-time
              started_at:
                anyOf:
                  - type: string
                    description: Marca de tiempo UTC ISO-8601
                    format: date-time
                  - type: 'null'
              completed_at:
                anyOf:
                  - type: string
                    description: Marca de tiempo UTC ISO-8601
                    format: date-time
                  - type: 'null'
              task_id:
                anyOf:
                  - type: string
                  - type: 'null'
              metadata:
                type: object
                additionalProperties:
                  type: string
                  minLength: 1
                  maxLength: 500
                maxProperties: 20
                propertyNames:
                  type: string
                  pattern: ^[a-z][a-z0-9_]{0,39}$
                description: >-
                  Tus campos de seguimiento almacenados. Úsalos para filtrar
                  Runs. Nunca se envían al proveedor de datos ni afectan al
                  enrutamiento, Price o la idempotencia.


                  - Hasta 20 claves: letras minúsculas, dígitos y guiones bajos;
                  deben comenzar por una letra; como máximo 40 caracteres.

                  - Valores: cadenas de 1–500 caracteres.

                  - user_id: el ID opaco de tu usuario final, nunca su dirección
                  de correo electrónico ni su nombre.
            required:
              - id
              - run_url
              - provider
              - endpoint
              - endpoint_version
              - status
              - failure
              - input
              - output
              - provider_response
              - charge_usd
              - charge_basis
              - stoppable
              - stop_requested_at
              - created_at
              - started_at
              - completed_at
              - task_id
              - metadata
            additionalProperties: false
        result_url:
          type: string
          description: >-
            Ruta URL autenticada y de solo lectura para consultar este resultado
            normalizado y el cargo total. Úsala con el origen de la API. No crea
            Runs ni reanuda el fallback. GET /v1/runs/:id sigue devolviendo el
            Run individual nativo.
      required:
        - id
        - run_url
        - provider
        - endpoint
        - endpoint_version
        - status
        - failure
        - input
        - output
        - provider_response
        - charge_usd
        - charge_basis
        - stoppable
        - stop_requested_at
        - created_at
        - started_at
        - completed_at
        - task_id
        - metadata
        - action
        - result_status
        - error
        - runs
        - result_url
      additionalProperties: false
    ValidationFailedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_failed
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    UnauthorizedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    ForbiddenEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    NotFoundEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    RateLimitedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - rate_limited
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      scheme: Bearer

````

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