API
Riferimento API
Semaphore UI fornisce due formati di documentazione API, così da poter scegliere quello più adatto al proprio flusso di lavoro:
- Swagger/OpenAPI — ideale se si preferisce un'esperienza interattiva nel browser.
- Collezione Postman ufficiale — per esplorare e testare tutti gli endpoint in Postman.
- Documentazione API Swagger integrata — documentazione API interattiva basata su Swagger UI. È accessibile direttamente sulla propria istanza.

Tutte le opzioni includono la documentazione completa degli endpoint disponibili, dei parametri e di esempi di risposta.
Primi passi con l'API
Per iniziare a usare l'API di Semaphore è necessario generare un token API. Questo token deve essere incluso nell'header della richiesta come:
Authorization: Bearer YOUR_API_TOKEN
Creazione di un token API
Esistono due modi per creare un token API:
- Tramite l'interfaccia web
- Tramite una richiesta HTTP
Tramite l'interfaccia web (dalla 2.14)
È possibile creare e gestire i propri token API dall'interfaccia web di Semaphore:

Tramite una richiesta HTTP
È anche possibile autenticarsi e generare un token di sessione con una richiesta HTTP diretta.
Effettuare il login a Semaphore (la password deve essere sottoposta a escape, ad esempio slashy\\pass invece di 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
Generare un nuovo token e ottenerlo:
curl -v -b /tmp/semaphore-cookie -XPOST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
http://localhost:3000/api/user/tokens
Il comando dovrebbe restituire qualcosa di simile a:
{
"id": "YOUR_ACCESS_TOKEN",
"created": "2025-05-21T02:35:12Z",
"expired": false,
"user_id": 3
}
Uso del token per le richieste API
Una volta ottenuto il token API, includerlo nell'header Authorization per autenticare le richieste.
Avviare un task
Usare questo token per avviare un task o per qualsiasi altra operazione:
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
Scadenza di un token API
Se il token non è più necessario, è consigliabile farlo scadere per mantenere sicuro il proprio account.
Per revocare manualmente (far scadere) un token API, inviare una richiesta DELETE all'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