Documentatie van de Loomio Server-API

/api/b3 is voor bewerkingen op serverniveau. Gebruik /api/b2 voor gebruikersgerichte acties die je uitvoert met een Loomio-gebruikersaccount.

Authenticatie

Stel B3_API_KEY in op een geheime waarde van meer dan 16 tekens.

Stuur de sleutel als een bearer-token:

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

Stuur inloggegevens alleen in de Authorization-header. API-sleutels in querystrings of de inhoud van verzoeken worden geweigerd.

Gebruikersobject

Antwoorden met gebruikersgegevens hebben deze structuur:

{
  "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"
    }
  ]
}

Gebruikers opvragen

Vraag alle gebruikersaccounts op de Loomio-installatie op.

GET /api/b3/users

Voorbeeld

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

Geeft terug:

{
  "users": []
}

Gebruiker tonen

Zoek een gebruiker op basis van het Loomio-gebruikers-ID of de externe identiteit.

GET /api/b3/users/:id

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

Voorbeelden

Op basis van het Loomio-gebruikers-ID:

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

Op basis van de externe identiteit:

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

Geeft terug:

{
  "user": {}
}

Gebruiker bijwerken

Werk de profielvelden bij van een gebruiker die je vindt op basis van het Loomio-gebruikers-ID of de externe identiteit.

PATCH /api/b3/users/:id

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

Parameters

Veld Beschrijving
name Weergavenaam
username Loomio-gebruikersnaam
email E-mailadres

Voorbeelden

Op basis van het Loomio-gebruikers-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

Op basis van de externe identiteit:

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

Geeft de bijgewerkte gebruiker terug:

{
  "user": {}
}

Gebruiker deactiveren

Deactiveer een gebruikersaccount dat je vindt op basis van het Loomio-gebruikers-ID of de externe identiteit.

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

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

Voorbeelden

Op basis van het Loomio-gebruikers-ID:

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

Op basis van de externe identiteit:

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

Geeft terug:

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

Gebruiker opnieuw activeren

Activeer een gedeactiveerd gebruikersaccount opnieuw op basis van het Loomio-gebruikers-ID of de externe identiteit.

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

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

Voorbeelden

Op basis van het Loomio-gebruikers-ID:

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

Op basis van de externe identiteit:

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

Retourneert:

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

Persoonsgegevens van gebruiker verwijderen

Bij het verwijderen van persoonsgegevens blijven de reacties van de gebruiker en andere door de gebruiker gemaakte inhoud in diens groepen behouden, maar worden bekende persoonlijk identificeerbare gegevens verwijderd, zoals naam, bio, profielfoto, e-mailadres, inloggegevens, identiteiten en actieve sessies.

Dit is de aanbevolen manier om een gebruiker uit Loomio te verwijderen.

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

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

Voorbeelden

Op basis van het Loomio-gebruikers-ID:

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

Op basis van de externe identiteit:

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

Retourneert:

{
  "success": true
}

Gebruiker verwijderen

Verwijderen wist de gebruiker en de records die de gebruiker heeft aangemaakt. Reacties worden uit threads verwijderd en stemmen uit peilingen. Ook groepen, discussies, peilingen en andere records die de gebruiker heeft aangemaakt, kunnen via databasekoppelingen worden verwijderd.

Hierdoor gaan veel gegevens verloren. Het wordt sterk aanbevolen om in plaats daarvan de persoonsgegevens te verwijderen.

DELETE /api/b3/users/:id

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

Voorbeelden

Op basis van het Loomio-gebruikers-ID:

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

Op basis van de externe identiteit:

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

Retourneert:

{
  "success": true
}

Instellingen voor SSO-profielsynchronisatie

Gebruik deze instellingen wanneer een ander systeem de profielvelden in Loomio beheert.

LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1

LOOMIO_DISABLE_EDIT_USER_PROFILE=1 voorkomt dat gebruikers deze velden zelf bewerken:

Veld Toelichting
name Beheerd via externe synchronisatie
username Beheerd via externe synchronisatie
email Beheerd via externe synchronisatie
avatar_kind / uploaded_avatar Beheerd via externe synchronisatie

Gebruikers kunnen velden die alleen in Loomio worden gebruikt, zoals short_bio en location, nog steeds bewerken.

LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 werkt name en email bij op basis van SSO-inloggegevens. Laat deze instelling als commentaar staan of stel deze niet in wanneer alleen een extern synchronisatiescript deze velden moet bijwerken.

LOOMIO_SSO_FORCE_USER_ATTRS werkt nog steeds voor bestaande installaties. Deze instelling voorkomt dat gebruikers de velden bewerken en werkt name en email bij wanneer ze via SSO inloggen.

Deze pagina is automatisch vertaald. Als een woord niet klopt of onduidelijk is, stuur dan een e-mail naar contact@loomio.org en we passen het aan.