API Keys & Scopes
Der API-Zugriff wird pro API Client verwaltet. Ein API Client gehört zu einer Organisation, hat eine Menge an Berechtigungen (Scopes) und einen oder mehrere API Keys.
#API Client anlegen
- In der WorkLogx Web-App Integrationen → WorkLogx API öffnen.
- API-Zugang erstellen klicken, einen Namen vergeben (zum Beispiel „ERP-Sync“) und die Berechtigungen wählen.
- Den Key kopieren. Er wird nur einmal angezeigt.
Anfragen mit dem Key sehen und ändern nur Daten der Organisation, der der API Client gehört.
#Keys verwalten
Unter Verwalten eines API Clients können Sie:
- Neuen Schlüssel erstellen: legt einen zusätzlichen Key an. Bestehende Keys bleiben aktiv, bis sie widerrufen werden.
- Einen Key widerrufen: Der widerrufene Key kann danach nicht mehr verwendet werden. Andere Keys bleiben aktiv.
- Den API Client deaktivieren oder aktivieren: Anfragen mit Keys eines deaktivierten Clients schlagen mit
403 api_client_disabledfehl. - Die Berechtigungen des API Clients ändern.
Key-Rotation ohne Unterbrechung: neuen Key erstellen, Integration umstellen, alten Key widerrufen.
#Scopes in V1
Jeder Endpunkt verlangt genau einen Scope. Lese-Scopes erlauben GET, Schreib-Scopes erlauben POST und PATCH.
| Ressource | Lese-Scope | Schreib-Scope |
|---|---|---|
| Employees | employees:read | employees:write |
| Customers | customers:read | customers:write |
| Projects | projects:read | projects:write |
| Tasks | tasks:read | tasks:write |
| Absences | absences:read | absences:write |
| Forms | forms:read | – |
| Submissions | submissions:read | – |
| Worklogs | worklogs:read | – |
Ein Schreib-Scope schließt den Lese-Scope nicht ein. Wenn Ihre Integration Kunden anlegt und wieder liest, wählen Sie customers:read und customers:write.
Fehlt der Scope, antwortet die API mit 403 insufficient_scope und nennt den benötigten Scope:
{
"type": "https://api.worklogx.com/problems/insufficient-scope",
"title": "Insufficient scope",
"status": 403,
"code": "insufficient_scope",
"requestId": "0f9a3c2e-5b71-4d2a-9c4e-8e1f6a7b2d10",
"requiredScope": "customers:write"
}Wählen Sie nur die Scopes, die eine Integration wirklich braucht.