User
Benutzer gehören zu einem Tenant und tragen Rollen, die festlegen, was sie tun dürfen. Öffentliche v2-Endpoints verwenden snake_case-Schlüssel und sind in der OpenAPI-Spezifikation dokumentiert; die wichtigsten Punkte finden Sie unten.
Endpoints
GET /api/v2/users— paginierte Liste der Tenant-Benutzer (ohne Service-Accounts).POST /api/v2/users— legt einen Benutzer an. Die E-Mail-Adresse wird beim Anlegen gesetzt und kann nicht mehr geändert werden.PUT /api/v2/users/{user_id}— vollständiger Austausch (alle beschreibbaren Felder erforderlich).PATCH /api/v2/users/{user_id}— JSON Merge Patch (RFC 7386). Felder weglassen, um sie unverändert zu lassen; ein Feld aufnullsetzen, um es zu leeren.lock_versionist erforderlich.
Payloads
Create (POST /api/v2/users)
{
"email": "bea@example.com",
"firstname": "Bea",
"lastname": "Smith",
"role_ids": ["4b3c2d1e-9a8b-4c6d-8e0f-1234567890ab"],
"phone_number": "+43123456789",
"external_id": "crm-1234"
}
Antwort (created):
{
"id": "1ec2dffe-2a5b-4c59-9ea2-9f0c3c5ab5af",
"email": "bea@example.com",
"roles": ["OWNER", "DISPATCHER"],
"firstname": "Bea",
"lastname": "Smith",
"created_at": "2024-01-15T10:30:00Z",
"status": "ACTIVE"
}
Replace (PUT /api/v2/users/{user_id})
{
"firstname": "Bea",
"lastname": "Smith",
"phone_number": "+43123456789",
"external_id": "crm-1234",
"role_ids": ["4b3c2d1e-9a8b-4c6d-8e0f-1234567890ab"],
"lock_version": 3
}
Patch (PATCH /api/v2/users/{user_id})
Content-Type: application/merge-patch+json (application/json wird als Alias akzeptiert)
{
"lock_version": 3,
"firstname": "Bea Updated",
"phone_number": null
}
Hinweise:
- Die E-Mail-Adresse kann nach dem Anlegen nicht mehr geändert werden.
role_idsdarf niemals leer sein; geben Siebranch_group_idan, wenn Rollen branch-spezifisch sind oder ein Benutzer mehreren Branch-Gruppen angehört.
Rollen
Listet die Rollen des aktuellen Tenants mit ihren aktivierten Grants auf:
GET /api/v2/roles
{
"items": [
{
"id": "4b3c2d1e-9a8b-4c6d-8e0f-1234567890ab",
"name": "dispatcher",
"role_type": "DISPATCHER",
"grants": ["getUsers", "updateUser"]
},
{
"id": "9f3b8e71-766f-4d5d-b9b4-8d57b92a9d52",
"name": "driver",
"role_type": "DRIVER",
"grants": ["getUsers"]
}
]
}