{
    "openapi": "3.1.0",
    "info": {
        "title": "Consultora Marketing Digital AMDT — Content API",
        "version": "2.6.62",
        "description": "API de solo lectura sobre el contenido público de Consultora Marketing Digital AMDT, servida por AgentGate. Las mismas operaciones están disponibles como herramientas MCP en https://aunmasdificiltodavia.es/wp-json/ai-content/v1/mcp.",
        "contact": {
            "email": "contacto@aunmasdificiltodavia.es"
        }
    },
    "servers": [
        {
            "url": "https://aunmasdificiltodavia.es/wp-json/ai-content/v1",
            "description": "Content API"
        }
    ],
    "paths": {
        "/search": {
            "get": {
                "operationId": "search_content",
                "summary": "Busca contenido publicado en el sitio por texto libre.",
                "description": "Busca contenido publicado en el sitio por texto libre. Devuelve título, URL, extracto y tipo de cada resultado.",
                "tags": [
                    "content"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "description": "Términos de búsqueda.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "description": "Tipo de contenido a filtrar (post, page…). Vacío = todos.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Máximo de resultados (1-50).",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Respuesta correcta.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Contenido no encontrado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Límite de peticiones o cupo diario agotado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Servicio no disponible temporalmente.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/content/{slug}": {
            "get": {
                "operationId": "get_content",
                "summary": "Devuelve el contenido completo de una entrada o página a partir de su slug, en Markdown limpio.",
                "description": "Devuelve el contenido completo de una entrada o página a partir de su slug, en Markdown limpio.",
                "tags": [
                    "content"
                ],
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "description": "Slug de la entrada o página.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "level",
                        "in": "query",
                        "required": false,
                        "description": "Nivel de detalle. 0 = el configurado por el sitio.",
                        "schema": {
                            "type": "integer",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Respuesta correcta.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Contenido no encontrado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Límite de peticiones o cupo diario agotado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Servicio no disponible temporalmente.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/taxonomy/{taxonomy}": {
            "get": {
                "operationId": "list_taxonomy",
                "summary": "Lista los términos de una taxonomía (categorías, etiquetas u otras) con su recuento de contenidos.",
                "description": "Lista los términos de una taxonomía (categorías, etiquetas u otras) con su recuento de contenidos.",
                "tags": [
                    "content"
                ],
                "parameters": [
                    {
                        "name": "taxonomy",
                        "in": "path",
                        "required": true,
                        "description": "Nombre de la taxonomía, por ejemplo category o post_tag.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "parent",
                        "in": "query",
                        "required": false,
                        "description": "ID del término padre para listar solo sus hijos.",
                        "schema": {
                            "type": "integer",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Respuesta correcta.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Contenido no encontrado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Límite de peticiones o cupo diario agotado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Servicio no disponible temporalmente.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/faq": {
            "get": {
                "operationId": "get_faq",
                "summary": "Devuelve las preguntas frecuentes publicadas en el sitio, opcionalmente filtradas por categoría.",
                "description": "Devuelve las preguntas frecuentes publicadas en el sitio, opcionalmente filtradas por categoría.",
                "tags": [
                    "content"
                ],
                "parameters": [
                    {
                        "name": "category",
                        "in": "query",
                        "required": false,
                        "description": "Categoría de FAQ a filtrar. Vacío = todas.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Respuesta correcta.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Contenido no encontrado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Límite de peticiones o cupo diario agotado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Servicio no disponible temporalmente.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/summary": {
            "get": {
                "operationId": "site_summary",
                "summary": "Resumen del sitio: de qué trata, a quién se dirige, qué tipos de contenido publica y cuántos hay de cada uno.",
                "description": "Resumen del sitio: de qué trata, a quién se dirige, qué tipos de contenido publica y cuántos hay de cada uno. Es el mejor primer paso para entender el sitio.",
                "tags": [
                    "content"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Respuesta correcta.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Contenido no encontrado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Límite de peticiones o cupo diario agotado.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Servicio no disponible temporalmente.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Error": {
                "type": "object",
                "properties": {
                    "code": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object",
                        "properties": {
                            "status": {
                                "type": "integer"
                            }
                        }
                    }
                }
            }
        }
    },
    "x-mcp": {
        "manifest": "https://aunmasdificiltodavia.es/.well-known/mcp.json",
        "endpoint": "https://aunmasdificiltodavia.es/wp-json/ai-content/v1/mcp"
    }
}