Zum Inhalt springen
WorkLogx
Menü· API Keys & Scopes

Vorschau: Diese Dokumentation beschreibt die WorkLogx Public API V1. Die Bereitstellung von V1 in der Produktionsumgebung ist noch nicht abgeschlossen.

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

  1. In der WorkLogx Web-App Integrationen → WorkLogx API öffnen.
  2. API-Zugang erstellen klicken, einen Namen vergeben (zum Beispiel „ERP-Sync“) und die Berechtigungen wählen.
  3. 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_disabled fehl.
  • 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.

RessourceLese-ScopeSchreib-Scope
Employeesemployees:reademployees:write
Customerscustomers:readcustomers:write
Projectsprojects:readprojects:write
Taskstasks:readtasks:write
Absencesabsences:readabsences:write
Formsforms:read–
Submissionssubmissions:read–
Worklogsworklogs: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.