API
Referencia de la API
Semaphore UI ofrece dos formatos de documentación de la API, para que pueda elegir el que mejor se adapte a su flujo de trabajo:
- Swagger/OpenAPI — ideal si prefiere una experiencia interactiva basada en el navegador.
- Colección oficial de Postman — explore y pruebe todos los endpoints en Postman.
- Documentación Swagger integrada de la API — documentación interactiva de la API impulsada por Swagger UI. Puede acceder a ella desde su propia instancia.

Todas las opciones incluyen documentación completa de los endpoints disponibles, los parámetros y ejemplos de respuestas.
Primeros pasos con la API
Para empezar a usar la API de Semaphore, necesita generar un token de API. Este token debe incluirse en la cabecera de la petición de la siguiente forma:
Authorization: Bearer YOUR_API_TOKEN
Crear un token de API
Hay dos formas de crear un token de API:
- A través de la interfaz web
- Mediante una petición HTTP
A través de la interfaz web (desde 2.14)
Puede crear y gestionar sus tokens de API desde la interfaz web de Semaphore:

Mediante una petición HTTP
También puede autenticarse y generar un token de sesión mediante una petición HTTP directa.
Inicie sesión en Semaphore (la contraseña debe escaparse, por ejemplo slashy\\pass en lugar de slashy\pass):
curl -v -c /tmp/semaphore-cookie -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"auth": "YOUR_LOGIN", "password": "YOUR_PASSWORD"}' \
http://localhost:3000/api/auth/login
Genere un nuevo token y obténgalo:
curl -v -b /tmp/semaphore-cookie -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
http://localhost:3000/api/user/tokens
El comando debería devolver algo similar a:
{
"id": "YOUR_ACCESS_TOKEN",
"created": "2025-05-21T02:35:12Z",
"expired": false,
"user_id": 3
}
Usar el token para realizar peticiones a la API
Una vez que tenga su token de API, inclúyalo en la cabecera Authorization para autenticar sus peticiones.
Lanzar una tarea
Use este token para lanzar una tarea o cualquier otra operación:
curl -v -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-d '{"template_id": 1}' \
http://localhost:3000/api/project/1/tasks
Expirar un token de API
Si ya no necesita el token, debería expirarlo para mantener su cuenta segura.
Para revocar (expirar) manualmente un token de API, envíe una petición DELETE al endpoint del token:
curl -v -XDELETE \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
http://localhost:3000/api/user/tokens/YOUR_ACCESS_TOKEN