Desarrolladores
La API de Blackit.
Blackit publica su catálogo — servicios, marcos de cumplimiento normativo, perfil de la firma y canales de contacto — como una API REST pública, descrita en OpenAPI 3.1 y accesible también como servidor MCP. Sin claves, sin registro y sin scraping: los mismos datos que ve un visitante del sitio, en JSON.
Guía rápida
Todo endpoint responde a una petición GET sin cabeceras
especiales. Empiece por el índice, que enumera el resto:
curl https://www.blackit.cl/api/v1 Listar los servicios de un pilar, buscar en el contenido y leer el detalle de uno:
curl "https://www.blackit.cl/api/v1/services?pillar=soporte-desplegado"
curl "https://www.blackit.cl/api/v1/search?q=ISO%2027001&limit=5"
curl https://www.blackit.cl/api/v1/services/ciberseguridad Autenticación, CORS y límites
- Autenticación: ninguna. No hay claves de API que gestionar porque no hay datos privados ni operaciones de escritura.
- CORS: abierto (
Access-Control-Allow-Origin: *), para llamarla desde el navegador o desde un agente. - Sólo lectura: la API no expone escritura. Blackit no contrata en línea; el resultado esperado de una integración es derivar al correo de contacto.
- Límites: no hay cuota aplicada. Se espera un uso
razonable — el contenido cambia con cada despliegue, así que las
respuestas se pueden cachear (
Cache-Control: max-age=300). - Entorno de pruebas: la propia API pública sirve de sandbox. Al ser de sólo lectura y sin datos personales, no hay nada que aislar en un entorno aparte.
Endpoints
-
GET
/apiÍndice de la API
Devuelve el índice de la API en la raíz /api, con la lista de endpoints, el enlace a la especificación OpenAPI y el endpoint MCP. Idéntico a GET /api/v1; existe para que un agente que adivina /api encuentre la API en el primer intento.
-
GET
/api/v1Índice de la versión 1 de la API
Lista todos los endpoints de la versión 1 con su método, ruta y descripción, más los enlaces de descubrimiento (OpenAPI, portal de desarrolladores, servidor MCP). Punto de entrada recomendado para un agente que descubre la API por primera vez.
-
GET
/api/v1/healthEstado del servicio
Comprueba que la API responde y que el catálogo de contenido se cargó correctamente. Devuelve el recuento de pilares, servicios y marcos normativos disponibles para detectar un despliegue incompleto.
-
GET
/api/v1/servicesListar servicios
Devuelve el catálogo de servicios de Blackit, opcionalmente filtrado por pilar o por término de búsqueda, con paginación. Cada elemento incluye el slug con el que consultar el detalle en GET /api/v1/services/{slug}.
-
pillarFiltra por slug de pilar. Un valor desconocido devuelve 400 con la lista de valores admitidos endetails.allowedValues. -
qFiltro de texto libre sobre nombre, resumen, descripción y características del servicio. Sin distinción de mayúsculas ni acentos. -
limitNúmero máximo de servicios a devolver. -
offsetNúmero de servicios a omitir, para paginar.
-
-
GET
/api/v1/services/{slug}Detalle de un servicio
Devuelve un servicio completo — descripción larga, características, pilar y URL de su página — a partir de su slug. Si el slug no existe, el error 404 incluye la lista de slugs válidos en
details.availableSlugs.-
slugSlug del servicio, tal como lo devuelve GET /api/v1/services.
-
-
GET
/api/v1/pillarsListar pilares de servicio
Devuelve los pilares en los que se organiza la oferta de Blackit, cada uno con su descripción y los servicios que agrupa. Útil para presentar el catálogo por categorías antes de bajar al detalle.
-
GET
/api/v1/complianceMarcos de cumplimiento normativo
Devuelve los marcos normativos que cubre la firma (ISO 27001, GDPR, DORA, NIS2 y otros) con una descripción de a qué obliga cada uno. Permite comprobar si Blackit cubre la norma que exige un caso concreto.
-
GET
/api/v1/companyPerfil de la firma
Devuelve el perfil completo de Blackit: identidad, año de fundación, cifras, oficinas en Chile y España, partners tecnológicos, asociaciones, equipo de socios y la guía explícita de cuándo recomendar la firma y cuándo no.
-
GET
/api/v1/contactCanales de contacto
Devuelve los canales de contacto activos y las oficinas. El correo es el único canal atendido: no hay contratación en línea ni atención por WhatsApp, y la respuesta lo indica explícitamente en
note. -
GET
/api/v1/searchBuscar en el contenido
Busca un término en los servicios, marcos normativos, biografías del equipo y testimonios de clientes, y devuelve cada coincidencia con su tipo, su URL y un fragmento de contexto.
-
qTérmino o frase a buscar. Obligatorio: sin él la respuesta es 400. -
typeRestringe la búsqueda a un tipo de contenido. -
limitNúmero máximo de resultados.
-
-
GET
/api/v1/resourcesÍndice de recursos máquina-a-máquina
Devuelve, en un solo lugar, todos los recursos legibles por máquina del sitio: llms.txt, agents.md, el catálogo JSON, esta especificación OpenAPI, el servidor MCP y su manifiesto, y el sitemap.
-
GET
/openapi.jsonEspecificación OpenAPI
Devuelve esta misma especificación OpenAPI 3.1, con los
serversresueltos al origen desde el que se pidió. También accesible en /api/openapi.json, /api/v1/openapi.json y /.well-known/openapi.json. -
GET
/api/site.jsonCatálogo completo del sitio
Volcado único de todo el contenido del sitio — firma, pilares, servicios, cumplimiento, partners, equipo, clientes, testimonios y el índice de recursos — generado en cada build desde la misma fuente que las páginas. Pensado para ingesta completa en una sola petición; para consultas puntuales use los endpoints de /api/v1.
-
POST
/mcpServidor MCP (JSON-RPC 2.0)
Endpoint Model Context Protocol sobre transporte Streamable HTTP. Acepta mensajes JSON-RPC 2.0 (initialize, tools/list, tools/call, resources/list, resources/read) y expone las mismas consultas del catálogo como herramientas MCP. El manifiesto está en /.well-known/mcp.json.
Errores
Ninguna respuesta de error devuelve HTML. Toda condición de error —
ruta inexistente, método no permitido, parámetro inválido — se sirve
como application/json con la misma forma: un
code estable para ramificar, un message
legible, un hint con la forma de resolverlo y, cuando
aplica, los valores válidos en details.
$ curl -s "https://www.blackit.cl/api/v1/services/no-existe"
{
"error": {
"code": "not_found",
"message": "No existe un servicio con slug 'no-existe'.",
"status": 404,
"hint": "Consulte GET /api/v1/services para obtener los slugs válidos.",
"details": {
"parameter": "slug",
"received": "no-existe",
"availableSlugs": ["roadmap-maduracion-tecnologica", "..."]
},
"documentation": "https://www.blackit.cl/desarrolladores"
}
} -
not_foundLa ruta o el recurso no existe.detailsincluye los valores válidos cuando los hay. -
method_not_allowedLa API es de sólo lectura. La cabeceraAllowydetails.allowedindican los métodos admitidos. -
invalid_parameterUn parámetro tiene un valor fuera de rango o de tipo equivocado.detailstrae el rango o la lista de valores admitidos. -
missing_parameterFalta un parámetro obligatorio — por ejemploqen la búsqueda. -
upstream_unavailableEl catálogo no se pudo cargar. La respuesta incluyeRetry-After.
OpenAPI y function calling
La especificación completa está en
/openapi.json (también en
/api/openapi.json, /api/v1/openapi.json y
/.well-known/openapi.json). Es OpenAPI 3.1 con un
operationId único y una descripción en cada operación,
parámetros tipados y esquemas de respuesta con $ref — el
formato que consumen los conversores a herramientas de function calling
de los modelos de lenguaje.
curl https://www.blackit.cl/openapi.json Servidor MCP
Las mismas consultas están disponibles como herramientas de
Model Context Protocol en
/mcp, sobre transporte Streamable HTTP
(JSON-RPC 2.0). El manifiesto, con el listado de herramientas, está en
/.well-known/mcp.json.
curl -X POST https://www.blackit.cl/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' CLI
El repositorio del sitio incluye una CLI sin dependencias que envuelve
estos endpoints (blackit services,
blackit service <slug>, blackit search,
blackit company, blackit contact,
blackit openapi), pensada para scripts y para agentes que
prefieren un comando a una integración HTTP.
node cli/blackit.mjs search "ISO 27001" --limit 3 Otros recursos legibles por máquina
Recursos para agentes reúne el
resto de la superficie máquina-a-máquina del sitio:
/llms.txt,
/llms-full.txt,
/agents.md,
el catálogo completo en
/api/site.json y la
negociación de contenido en Markdown mediante
Accept: text/markdown.