{"ok":true,"platform":"DDIB AI Presence Platform","status":"api_first_foundation","baseUrl":"https://www.ddib.com.mx","openapiUrl":"https://www.ddib.com.mx/api/openapi","summary":{"totalEndpoints":68,"publicEndpoints":46,"protectedEndpoints":22,"modules":9},"publicApiReadiness":{"currentStage":"internal_and_partner_ready","authentication":["NextAuth session","X-DDIB-API-Key"],"rateLimiting":"available_on_high_traffic_tools","usageTracking":"available_for_api_keys_and_authenticated_users","cache":"redis_optional_with_safe_bypass","futurePublicApi":"cataloged_by_openapi_and_capabilities"},"modules":[{"tag":"Business","description":"Perfiles ricos de negocio y contratos de ficha estructurada.","endpointCount":3,"publicCount":3,"protectedCount":0,"endpoints":[{"method":"GET","path":"/api/business","summary":"Describe el contrato de perfil de negocio.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/business","summary":"Valida un perfil de negocio de 189 campos.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/business/{id}","summary":"Devuelve handles relacionados para una empresa.","access":"public_or_rate_limited"}]},{"tag":"Platform","description":"Dashboard, clientes, empresas, alertas, historial, notificaciones y reportes.","endpointCount":15,"publicCount":1,"protectedCount":14,"endpoints":[{"method":"GET","path":"/api/clients","summary":"Lista clientes del workspace.","access":"session_or_api_key"},{"method":"POST","path":"/api/clients","summary":"Crea o actualiza un cliente del workspace.","access":"session_or_api_key"},{"method":"GET","path":"/api/clients/{id}/profile","summary":"Devuelve el perfil rico de 189 campos de una empresa.","access":"session_or_api_key"},{"method":"PATCH","path":"/api/clients/{id}/profile","summary":"Actualiza parcialmente el perfil rico y regenera metadata de activos IA.","access":"session_or_api_key"},{"method":"GET","path":"/api/dashboard","summary":"Devuelve snapshot del dashboard.","access":"session_or_api_key"},{"method":"GET","path":"/api/leads","summary":"Lista solicitudes de diagnóstico capturadas.","access":"session_or_api_key"},{"method":"PATCH","path":"/api/leads","summary":"Actualiza estado de una solicitud de diagnóstico.","access":"session_or_api_key"},{"method":"GET","path":"/api/alerts","summary":"Lista alertas del workspace.","access":"session_or_api_key"},{"method":"PATCH","path":"/api/alerts","summary":"Actualiza estado de una alerta.","access":"session_or_api_key"},{"method":"GET","path":"/api/history","summary":"Devuelve línea de tiempo del workspace.","access":"session_or_api_key"},{"method":"GET","path":"/api/reports","summary":"Lista reportes del workspace.","access":"session_or_api_key"},{"method":"POST","path":"/api/reports","summary":"Genera un reporte de monitor.","access":"session_or_api_key"},{"method":"GET","path":"/api/notifications","summary":"Lista notificaciones.","access":"session_or_api_key"},{"method":"POST","path":"/api/notifications","summary":"Cola una notificación.","access":"session_or_api_key"},{"method":"POST","path":"/api/notifications/dispatch","summary":"Procesa cola de notificaciones queued/retry con CRON_SECRET.","access":"public_or_rate_limited"}]},{"tag":"Commerce","description":"Planes, pagos, facturacion, suscripciones y entitlements.","endpointCount":6,"publicCount":2,"protectedCount":4,"endpoints":[{"method":"GET","path":"/api/plans","summary":"Lista planes activos de suscripción.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/payments","summary":"Lista facturas pagables.","access":"session_or_api_key"},{"method":"POST","path":"/api/payments","summary":"Prepara una sesión de pago.","access":"session_or_api_key"},{"method":"POST","path":"/api/payments/webhook","summary":"Registra evento de pago, marca factura pagada y activa suscripcion.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/entitlements","summary":"Devuelve limites, features y consumo permitido por planes activos.","access":"session_or_api_key"},{"method":"GET","path":"/api/billing","summary":"Devuelve facturación resumida.","access":"session_or_api_key"}]},{"tag":"Developer","description":"API keys, OpenAPI, uso de API y estado operativo de cache.","endpointCount":9,"publicCount":5,"protectedCount":4,"endpoints":[{"method":"GET","path":"/api/api-keys","summary":"Lista API keys del usuario autenticado.","access":"session_or_api_key"},{"method":"POST","path":"/api/api-keys","summary":"Crea una API key y devuelve el secreto una sola vez.","access":"session_or_api_key"},{"method":"DELETE","path":"/api/api-keys","summary":"Revoca una API key del usuario autenticado.","access":"session_or_api_key"},{"method":"GET","path":"/api/usage","summary":"Resume uso de API por usuario, API key, ruta, errores y latencia.","access":"session_or_api_key"},{"method":"GET","path":"/api/health/db","summary":"Verifica conexion operativa con PostgreSQL sin exponer credenciales.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/health/openai","summary":"Verifica si el entorno tiene OPENAI_KEY u OPENAI_API_KEY sin exponer secretos.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/cache","summary":"Describe estado de cache Redis y permite probe operativo sin exponer secretos.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/capabilities","summary":"Describe capacidades, modulos, workflows y readiness de API publica.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/openapi","summary":"Devuelve especificación OpenAPI.","access":"public_or_rate_limited"}]},{"tag":"Onboarding","description":"Registro, contacto y captura de solicitudes de diagnostico.","endpointCount":4,"publicCount":4,"protectedCount":0,"endpoints":[{"method":"GET","path":"/api/register","summary":"Describe el contrato de onboarding.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/register","summary":"Inicia onboarding de cuenta, empresa y plan.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/contact","summary":"Describe el contrato de contacto.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/contact","summary":"Prepara solicitud de diagnóstico.","access":"public_or_rate_limited"}]},{"tag":"Diagnostics","description":"Score, crawl, audit, monitor, radar, competencia y recomendaciones.","endpointCount":14,"publicCount":14,"protectedCount":0,"endpoints":[{"method":"GET","path":"/api/score","summary":"Describe cómo calcular el score.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/score","summary":"Calcula Score de Visibilidad para IA's.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/crawl","summary":"Describe rastreo de señales públicas.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/crawl","summary":"Rastrea señales públicas básicas.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/audit","summary":"Describe auditoría técnica.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/audit","summary":"Genera auditoría técnica inicial.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/monitor","summary":"Lista planes del monitor.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/monitor","summary":"Ejecuta monitor semanal.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/recommendations","summary":"Describe recomendaciones.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/recommendations","summary":"Prioriza recomendaciones por score.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/radar","summary":"Describe Radar de IA.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/radar","summary":"Simula recomendabilidad por intención local.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/competitors","summary":"Describe monitor de competencia.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/competitors","summary":"Compara señales contra hasta tres competidores.","access":"public_or_rate_limited"}]},{"tag":"Generated Assets","description":"Schema, FAQ, llms.txt, robots, sitemap, RSS y Knowledge Graph.","endpointCount":7,"publicCount":7,"protectedCount":0,"endpoints":[{"method":"GET","path":"/api/schema","summary":"Describe generación de Schema.org.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/schema","summary":"Genera Schema.org desde perfil de negocio.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/faq","summary":"Describe generación de FAQ.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/faq","summary":"Genera FAQ desde perfil de negocio.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/generated-assets","summary":"Describe generación completa de activos.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/generated-assets","summary":"Genera schema, FAQ, llms.txt, robots, sitemap, RSS y Knowledge Graph.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/knowledge-graph","summary":"Devuelve grafo agregado de negocios, contenido, casos y recursos.","access":"public_or_rate_limited"}]},{"tag":"Signals","description":"Senales externas como resenas, confianza publica y riesgo.","endpointCount":2,"publicCount":2,"protectedCount":0,"endpoints":[{"method":"GET","path":"/api/reviews","summary":"Describe señales de reseñas.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/reviews","summary":"Calcula métricas de reseñas.","access":"public_or_rate_limited"}]},{"tag":"Content","description":"Roadmap editorial, articulos, recursos, casos y busqueda.","endpointCount":8,"publicCount":8,"protectedCount":0,"endpoints":[{"method":"GET","path":"/api/post-ideas","summary":"Describe generador de publicaciones SEO.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/post-ideas","summary":"Genera ideas para Google Business, FAQ y contenido local.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/resources","summary":"Lista recursos de marketing, academia, casos, comparadores y calculadoras.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/case-studies","summary":"Lista casos de exito estructurados y permite filtrarlos por slug.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/articles","summary":"Lista roadmap editorial.","access":"public_or_rate_limited"},{"method":"POST","path":"/api/articles","summary":"Genera estructura de artículo.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/articles/{slug}","summary":"Devuelve blueprint, enlaces internos y JSON-LD de un artículo.","access":"public_or_rate_limited"},{"method":"GET","path":"/api/search","summary":"Busca artículos, negocios, casos de éxito y recursos por intención.","access":"public_or_rate_limited"}]}],"criticalWorkflows":[{"name":"Diagnostico gratuito","endpoints":["/api/score","/api/crawl","/api/recommendations","/api/contact"]},{"name":"Perfil rico y activos IA","endpoints":["/api/business","/api/generated-assets","/api/schema","/api/faq","/api/knowledge-graph"]},{"name":"Operacion semanal","endpoints":["/api/monitor","/api/reviews","/api/reports","/api/alerts","/api/notifications"]},{"name":"Developer platform","endpoints":["/api/api-keys","/api/usage","/api/openapi","/api/capabilities"]}]}