API
Riferimento API
Semaphore UI fornisce due formati di documentazione API, in modo 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 — esplorare e testare tutti gli endpoint in Postman.
- Documentazione API Swagger integrata — documentazione API interattiva basata su Swagger UI. È accessibile dalla propria istanza.

Tutte le opzioni includono la documentazione completa degli endpoint disponibili, dei parametri e delle risposte di esempio.
Primi passi con l'API
Per iniziare a utilizzare l'API di Semaphore è necessario generare un token API. Questo token deve essere incluso nell'intestazione della richiesta nel modo seguente:
Authorization: Bearer YOUR_API_TOKEN
Creazione di un token API
Esistono due modi per creare un token API:
- Tramite l'interfaccia web
- Tramite richiesta HTTP
Tramite l'interfaccia web (dalla versione 2.14)
Aprire il menu dell'account in fondo alla barra laterale e scegliere API Tokens. La pagina elenca i propri token; il collegamento API Reference presente nella pagina apre la Swagger UI integrata nella propria istanza.

Fare clic su New Token, inserire un nome, scegliere la scadenza del token e copiare il valore mostrato dopo la creazione. Vedere Il proprio account.
Tramite richiesta HTTP
È inoltre possibile autenticarsi e generare un token di sessione tramite una richiesta HTTP diretta.
Accedere a Semaphore (la password deve essere preceduta dai caratteri di 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 ottenerne il valore:
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 un risultato simile al seguente:
{
"id": "YOUR_ACCESS_TOKEN",
"created": "2025-05-21T02:35:12Z",
"expired": false,
"user_id": 3
}
Utilizzo del token per effettuare richieste API
Una volta ottenuto il token API, includerlo nell'intestazione Authorization per autenticare le proprie richieste.
Avvio di un task
Utilizzare 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 dei 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