API

Tus herramientas, nuestros tests de certificación

Tu LMS, tu CRM o tu sitio web habla con ExamBoot: elige una certificación y sus dominios, envía el test por email y recibe los resultados dominio por dominio.

En seis pasos

1

Obtén tu clave

En tu espacio de formador, abre Claves API y crea una clave. Cópiala enseguida: solo se muestra una vez. Envíala en la cabecera X-API-KEY de cada llamada (Authorization: Bearer también funciona).

curl https://examboot.net/api/v1/certifications \
  -H "X-API-KEY: ebk_your_key"
2

Elige la certificación y sus dominios

El catálogo lista las certificaciones con las que puedes crear un test, incluidas las tuyas. Cada dominio indica su ID y el número de preguntas disponibles.

curl https://examboot.net/api/v1/certifications/12/domains \
  -H "X-API-KEY: ebk_your_key"

{"data": [
  {"id": 41, "name": "Security and Risk Management", "questions": 180},
  {"id": 42, "name": "Asset Security", "questions": 95}
]}
3

Crea y envía un test

Indica los dominios y el número de preguntas (repartido a partes iguales), o un número por dominio. Cada persona recibe un email con un enlace personal y empieza al instante, sin cuenta. Añade "send_email": false para enviar tú los enlaces.

curl -X POST https://examboot.net/api/v1/tests \
  -H "X-API-KEY: ebk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "certification_id": 12,
    "domains": [41, 42],
    "questions": 20,
    "recipients": [{"email": "[email protected]", "name": "Ada"}]
  }'
4

Sigue los resultados

Cada persona pasa de enviado a empezado y luego a completado. Una vez completado, tienes su puntuación global y por dominio.

curl https://examboot.net/api/v1/tests/TEST_CODE \
  -H "X-API-KEY: ebk_your_key"

"recipients": [{
  "email": "[email protected]",
  "status": "completed",
  "result": {"percent": 75, "correct": 15, "questions": 20,
    "domains": [{"id": 41, "name": "Security and Risk Management", "percent": 80}, ...]}
}]
5

Llena una clase y evalúala

Crea una clase con los emails de tus alumnos: se unen con una cuenta gratuita. Luego envía un test a toda la clase con class_id y sigue el progreso de cada uno.

curl -X POST https://examboot.net/api/v1/classes \
  -H "X-API-KEY: ebk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "CISSP evening cohort", "certification_id": 12,
       "emails": ["[email protected]", "[email protected]"]}'

# Then: POST /tests with "class_id" instead of "recipients".
6

Recibe un aviso al terminar

En tu espacio de formador, abre Webhooks y añade tu dirección: cuando alguien termina un test, ExamBoot le envía el resultado, dominio por dominio. Comprueba la firma con el secreto que se muestra al añadirla e ignora un event_id ya tratado.

POST https://your-site.example/examboot-hook
X-Webhook-Event: test.completed
X-Webhook-Event-Id: 6f1c2e0a-…
X-Webhook-Signature: HMAC-SHA256 of the raw body, with your whsec_ secret

{"event": "test.completed",
 "payload": {"test": "TEST_CODE", "score": 75, "correct": 15, "questions": 20,
   "recipient": {"email": "[email protected]", "name": "Ada"},
   "domains": [...], "event_id": "6f1c2e0a-…"},
 "sent_at": "2026-10-15T09:30:00+00:00"}

// PHP
hash_equals(hash_hmac('sha256', $rawBody, $secret), $signature);

Todos los endpoints

Cada ruta empieza por https://examboot.net/api/v1 y responde en JSON.

GET /certifications Las certificaciones con las que crear un test (filtros: vendor, search).
GET /certifications/{id} Una certificación y sus dominios.
GET /certifications/{id}/domains Sus dominios, con las preguntas disponibles en cada uno.
GET /tests Tus tests, del más reciente al más antiguo, con cuántas personas los completaron.
POST /tests Crear un test y enviarlo.
GET /tests/{code} Un test, las personas a las que se envió y sus resultados.
POST /tests/{code}/recipients Enviar el test a más personas.
POST /tests/{code}/recipients/{id}/resend Reenviar el email de una persona.
GET /classes Tus clases.
POST /classes Crear una clase e invitar alumnos por email.
GET /classes/{id} Una clase, sus alumnos y las invitaciones pendientes.
POST /classes/{id}/invitations Invitar a más alumnos.
GET /classes/{id}/progress El progreso de cada alumno.

Bueno saber

  • Una clave actúa en tu nombre: ve el catálogo y tus propias certificaciones, y solo tus clases y tus tests.
  • Un test llega a tantas personas como plazas tengas. El espacio de formador gratuito incluye 1 clase(s) y 2 alumnos.
  • Hasta 120 llamadas por minuto, y 30 tests o clases creados por minuto.
  • Una llamada rechazada dice por qué: 401 (clave ausente o revocada), 404 (no es tuyo), 409 (más allá de tu plan), 422 (un campo que corregir, con sus errores).
  • Hasta 5 claves activas. Revoca una clave filtrada en Claves API: deja de funcionar al instante.