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

# Brechas de contenido

> Prompts que gana la competencia y recomendaciones de contenido para cerrar el hueco.

Devuelve los huecos GEO: consultas donde tu marca no aparece (o aparece poco) y la IA recomienda a otros. Custumu usa esta lista para proponer y redactar piezas.

<ParamField header="Authorization" type="string" required>
  `Bearer` más la clave de API del proyecto.
</ParamField>

<ParamField header="X-Timezone" type="string">
  Zona horaria IANA. Por defecto `UTC`.
</ParamField>

<ParamField query="brand_id" type="uuid">
  Marca a auditar.
</ParamField>

<ParamField query="start_date" type="date">
  Inicio del periodo (`YYYY-MM-DD`).
</ParamField>

<ParamField query="end_date" type="date">
  Fin del periodo (`YYYY-MM-DD`).
</ParamField>

<ParamField query="model" type="string">
  Filtra por motor.
</ParamField>

<ParamField query="intent" type="string">
  `all` (por defecto), `versus`, `feature_integration`, `best_of`, `faq_howto` o `general_query`.
</ParamField>

<ParamField query="status" type="string">
  Estado de acción guardado en Wudlet: `all`, `todo`, etc.
</ParamField>

<ParamField query="search" type="string">
  Filtra por texto del prompt o nombre de competidor.
</ParamField>

<ParamField query="sort_by" type="string">
  `score` (por defecto), `scans` o `competitor`.
</ParamField>

<ParamField query="page" type="integer">
  Página. Por defecto `1`.
</ParamField>

<ParamField query="limit" type="integer">
  Tamaño de página. Por defecto `20`, máximo `50`.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.wudlet.com/v1/content-gaps?limit=10&sort_by=score" \
    -H "Authorization: Bearer sk_live_..."
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "summary": {
      "totalGaps": 6,
      "highIntentCount": 2,
      "topWinningCompetitor": "Otra marca",
      "avgOpportunityScore": 72
    },
    "items": [
      {
        "promptText": "Mejor alternativa para escribir contenido con voz de marca",
        "intent": "versus",
        "opportunityScore": 88,
        "recommendedAction": "Publica una comparación estructurada con datos concretos.",
        "competitors": [{ "name": "Otra marca", "count": 5 }],
        "actionStatus": "todo"
      }
    ],
    "total": 6,
    "page": 1,
    "limit": 10
  }
  ```
</ResponseExample>

## Cómo usarlo para crear contenido

1. Ordena por `opportunityScore` (o deja `sort_by=score`).
2. Toma `promptText` como brief: es la pregunta real que los compradores hacen a la IA.
3. Usa `recommendedAction` e `intent` para decidir el formato (comparativa, FAQ, guía).
4. No inventes que ChatGPT ya recomienda la marca si el hueco existe precisamente porque **no** la nombra.
