Skip to content

Benutzer abrufen ​

Gibt eine paginierte Liste aller Benutzer zurück.

Breaking Change

Diese Liste enthielt bereits bisher gelöschte Benutzer, ohne sie zu kennzeichnen. Neu ist das Feld deleted sowie der Parameter status, mit dem du gelöschte Benutzer gezielt aus- oder einblenden kannst (status=active blendet sie aus).

Ohne Zeitstempel-Filter sortiert die Liste jetzt nach interner ID aufsteigend statt in unspezifizierter Reihenfolge.

Request ​

GET /api/oauth/v2/resource/users

HeaderWert
AuthorizationBearer {access_token}

Query-Parameter ​

ParameterTypPflichtBeschreibung
offsetintegerNeinStartposition (Standard: 0)
limitintegerNeinAnzahl Ergebnisse (Standard: 50, Max: 200)
createdSincestring (ISO 8601)NeinNur Benutzer, die ab diesem Zeitpunkt angelegt wurden (createdAt >=)
createdUntilstring (ISO 8601)NeinNur Benutzer, die bis zu diesem Zeitpunkt angelegt wurden (createdAt <=)
updatedSincestring (ISO 8601)NeinNur Benutzer, die ab diesem Zeitpunkt geändert wurden (updatedAt >=). Neu angelegte Benutzer kommen mit, weil der Änderungszeitpunkt beim Anlegen gesetzt wird.
updatedUntilstring (ISO 8601)NeinNur Benutzer, die bis zu diesem Zeitpunkt geändert wurden (updatedAt <=)
statusstringNeinKommaseparierte Liste (Standard: all). Erlaubte Werte: active, deleted. Ungültiger Wert → 400 validation_error. Details siehe Konventionen.
viewstringNeindefault (Standard) oder slim. slim liefert pro Mitarbeiter nur die wichtigsten Felder – Details siehe Konventionen. Ungültiger Wert → 400 validation_error.

Erforderlicher Scope: users

Hinweis: Für einen Abgleich genügt updatedSince – der Wert deckt neue und geänderte Benutzer ab.

Hinweis: Formate, Zeitzonen-Verhalten, Sortierung im Filter-Modus, Cursor-Strategie und die meta.total-Falle gelten für alle Zeitstempel-Filter gleich – siehe Inkrementeller Abgleich.

Hinweis zu gelöschten Benutzern: Benutzer führen keinen Löschzeitpunkt. Deshalb gibt es hier kein deletedSince. Gelöschte Benutzer erkennst du am Feld deleted oder holst sie gezielt über status=deleted.

Im updatedSince-Feed erscheint eine Löschung wie eine gewöhnliche Änderung, ausgewertet über das Feld deleted. Rechne beim Abgleich über Benutzer also nicht mit einer eigenen Löschzeit.

Hinweis zu Benutzern ohne Änderungszeitpunkt: Bei manchen Benutzern ist updatedAt leer. Das betrifft Altbestand aus der Zeit vor der automatischen Zeitstempelung sowie Massenimporte. updatedSince liefert solche Benutzer nicht – auch nicht mit einem sehr frühen Datum.

Hol dir für den Erstabgleich deshalb einmal den Vollbestand ohne Zeitstempel-Filter. Danach arbeitest du inkrementell mit updatedSince weiter.

Response ​

Erfolg (200 OK) ​

json
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "title": "Dr.",
      "firstName": "Maria",
      "lastName": "Muster",
      "abbreviation": "MM",
      "sex": 1,
      "email": "maria.muster@example.com",
      "color": "#74AFAD",
      "isDoctor": true,
      "showBookingWeeks": 6,
      "sort": 0,
      "isBookable": true,
      "tenancies": [
        {
          "id": "f0e1d2c3-b4a5-6789-fedc-ba9876543210",
          "name": "Ordination Muster",
          "abbreviation": "OM",
          "color": "#00adba"
        }
      ],
      "deleted": false,
      "createdAt": "2026-01-15T08:00:00+01:00",
      "updatedAt": "2026-06-10T16:20:00+02:00"
    }
  ],
  "meta": {
    "total": 5,
    "offset": 0,
    "limit": 50
  }
}

Response-Felder ​

FeldTypBeschreibung
dataArrayListe der Benutzer
data[].idstring (UUID)Eindeutige Benutzer-ID
data[].titlestring | nullAkademischer Titel (z.B. Dr.)
data[].firstNamestringVorname
data[].lastNamestringNachname
data[].abbreviationstring | nullKürzel des Benutzers
data[].sexinteger | nullGeschlecht (0 = männlich, 1 = weiblich)
data[].emailstring | nullE-Mail-Adresse
data[].colorstringFarbe als Hex-Code (z.B. #74AFAD)
data[].isDoctorbooleanOb der Benutzer ein Arzt ist
data[].showBookingWeeksintegerWie viele Wochen im Voraus buchbar
data[].sortintegerSortierreihenfolge
data[].isBookablebooleanOb der Benutzer buchbar ist
data[].tenanciesArrayZugeordnete Mandanten
data[].tenancies[].idstring (UUID)Mandanten-ID
data[].tenancies[].namestringName des Mandanten
data[].tenancies[].abbreviationstringKürzel
data[].tenancies[].colorstringFarbe als Hex-Code
data[].deletedbooleantrue wenn der Benutzer gelöscht ist
data[].createdAtstring (ISO 8601) | nullErstellungszeitpunkt
data[].updatedAtstring (ISO 8601) | nullLetzter Änderungszeitpunkt
meta.totalintegerGesamtanzahl der Benutzer
meta.offsetintegerAktuelle Startposition
meta.limitintegerAnzahl der zurückgegebenen Einträge

Hinweis: Die id wird als UUID zurückgegeben und wird für die Abfrage freier Slots und die Terminbuchung benötigt.

Beispiele
bash
curl -X GET "https://my.offisy.at/api/oauth/v2/resource/users?offset=0&limit=50&createdSince=beispiel&createdUntil=beispiel&updatedSince=2026-04-15T10%3A00%3A00&updatedUntil=2026-04-15T10%3A00%3A00&status=all&view=default" \
  -H "Authorization: Bearer {access_token}"
Parameter
Zuerst Token anfordern

Mögliche Fehler ​

StatusCodeBeschreibung
400validation_errorEin Zeitstempel-Filter enthält einen ungültigen Wert
400validation_errorstatus enthält einen ungültigen Wert
400validation_errorview ist weder default noch slim
401invalid_clientUngültiger oder fehlender Access Token
403insufficient_scopeScope users nicht vorhanden

Offisy GmbH