Dokumentation der Loomio Server-API

/api/b3 ist für Vorgänge auf Serverebene vorgesehen. Nutze /api/b2 für Aktionen, die du mit einem Loomio-Benutzerkonto ausführst.

Authentifizierung

Setze B3_API_KEY auf einen geheimen Schlüssel mit mehr als 16 Zeichen.

Sende den Schlüssel als Bearer-Token:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users

Sende Zugangsdaten ausschließlich im Authorization-Header. API-Schlüssel in Abfragezeichenfolgen oder im Anfragetext werden abgelehnt.

Benutzerobjekt

Antworten mit Benutzerdaten haben diese Struktur:

{
  "id": 123,
  "name": "Ada Lovelace",
  "username": "ada",
  "email": "ada@example.org",
  "active": true,
  "deactivated_at": null,
  "identities": [
    {
      "id": 456,
      "identity_type": "oauth",
      "uid": "external-123",
      "email": "ada@example.org",
      "name": "Ada Lovelace"
    }
  ]
}

Benutzerkonten auflisten

Liste alle Benutzerkonten auf der Loomio-Installation auf.

GET /api/b3/users

Beispiel

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users

Gibt zurück:

{
  "users": []
}

Benutzerkonto anzeigen

Finde ein Benutzerkonto anhand seiner Loomio-Benutzer-ID oder externen Identität.

GET /api/b3/users/:id

GET /api/b3/users/identity/:identity_type/:uid

Beispiele

Anhand der Loomio-Benutzer-ID:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123

Anhand der externen Identität:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123

Gibt zurück:

{
  "user": {}
}

Benutzerkonto aktualisieren

Aktualisiere die Profilfelder eines Benutzerkontos, das du anhand seiner Loomio-Benutzer-ID oder externen Identität gefunden hast.

PATCH /api/b3/users/:id

PATCH /api/b3/users/identity/:identity_type/:uid

Parameter

Feld Beschreibung
name Anzeigename
username Loomio-Benutzername
email E-Mail-Adresse

Beispiele

Anhand der Loomio-Benutzer-ID:

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
  https://www.loomio.com/api/b3/users/123

Anhand der externen Identität:

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
  https://www.loomio.com/api/b3/users/identity/oauth/external-123

Gibt das aktualisierte Benutzerkonto zurück:

{
  "user": {}
}

Benutzerkonto deaktivieren

Deaktiviere ein Benutzerkonto, das du anhand seiner Loomio-Benutzer-ID oder externen Identität gefunden hast.

POST /api/b3/users/:id/deactivate

POST /api/b3/users/identity/:identity_type/:uid/deactivate

Beispiele

Anhand der Loomio-Benutzer-ID:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/deactivate

Anhand der externen Identität:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/deactivate

Gibt zurück:

{
  "success": true,
  "user": {}
}

Benutzerkonto reaktivieren

Reaktiviere ein deaktiviertes Benutzerkonto anhand seiner Loomio-Benutzer-ID oder externen Identität.

POST /api/b3/users/:id/reactivate

POST /api/b3/users/identity/:identity_type/:uid/reactivate

Beispiele

Anhand der Loomio-Benutzer-ID:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/reactivate

Anhand der externen Identität:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate

Rückgabe:

{
  "success": true,
  "user": {}
}

Personenbezogene Kontodaten entfernen

Dabei bleiben die Kommentare und andere von der Person erstellte Inhalte in ihren Gruppen erhalten. Bekannte personenbezogene Daten wie Name, Kurzbiografie, Profilfoto, E-Mail-Adresse, Anmeldedaten, Identitäten und aktive Sitzungen werden jedoch entfernt.

Dies ist die empfohlene Methode, um eine Person aus Loomio zu entfernen.

POST /api/b3/users/:id/redact

POST /api/b3/users/identity/:identity_type/:uid/redact

Beispiele

Anhand der Loomio-Benutzer-ID:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/redact

Anhand der externen Identität:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact

Rückgabe:

{
  "success": true
}

Benutzerkonto löschen

Das Löschen entfernt das Benutzerkonto und die von der Person erstellten Datensätze. Kommentare werden aus Threads und Stimmen aus Abstimmungen entfernt. Gruppen, Diskussionen, Abstimmungen und andere von der Person erstellte Datensätze können durch Datenbankverknüpfungen ebenfalls gelöscht werden.

Dabei werden umfangreiche Daten gelöscht. Es wird dringend empfohlen, stattdessen die personenbezogenen Kontodaten zu entfernen.

DELETE /api/b3/users/:id

DELETE /api/b3/users/identity/:identity_type/:uid

Beispiele

Anhand der Loomio-Benutzer-ID:

curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123

Anhand der externen Identität:

curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123

Rückgabe:

{
  "success": true
}

Einstellungen zur SSO-Profilsynchronisierung

Verwende diese Einstellungen, wenn ein anderes System die Loomio-Profilfelder verwaltet.

LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1

LOOMIO_DISABLE_EDIT_USER_PROFILE=1 verhindert, dass Personen diese Felder selbst bearbeiten:

Feld Hinweise
name Durch externe Synchronisierung verwaltet
username Durch externe Synchronisierung verwaltet
email Durch externe Synchronisierung verwaltet
avatar_kind / uploaded_avatar Durch externe Synchronisierung verwaltet

Personen können weiterhin lokale Loomio-Felder wie short_bio und location bearbeiten.

LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 aktualisiert name und email anhand der SSO-Anmeldedaten. Lass die Zeile auskommentiert oder die Variable ungesetzt, wenn ausschließlich ein externes Synchronisierungsskript diese Aktualisierungen vornehmen soll.

LOOMIO_SSO_FORCE_USER_ATTRS funktioniert weiterhin für bestehende Installationen. Die Einstellung verhindert sowohl die Bearbeitung durch die Personen selbst als auch die Aktualisierung von name und email bei der SSO-Anmeldung.

Diese Seite wurde maschinell übersetzt. Wenn ein Wort falsch oder unklar ist, schreib eine E-Mail an contact@loomio.org, und wir korrigieren es.