Developer docs

De Pluvo API geeft je programmatische toegang tot je leeromgeving. Beheer gebruikers, groepen, trainingen, inschrijvingen en certificaten vanuit je eigen systemen.

De API is gebaseerd op GraphQL. Je bepaalt zelf welke data je opvraagt of muteert, zonder overbodige velden. Authenticatie verloopt via OAuth 2.0 met client credentials. Webhooks houden je systemen real-time op de hoogte van wijzigingen.

Users

Use Cases

Get single user

query {
  user(id: "uuid") {
    id name email ref isActive
    groups { id name }
    extraCategoryValues { extraCategory { title } stringValue }
  }
}

Search users

query {
  paginatedUsers(q: "john", first: 50) {
    edges { node { id name email } }
    pageInfo { hasNextPage endCursor }
    count
  }
}

Create user

mutation {
  createUser(user: {
    email: "john@example.com"
    name: "John Doe"
    ref: "EMP-001"
    sendMail: false
  }) {
    user { id name email ref }
  }
}

Update user

mutation {
  updateUser(ref: "EMP-001", user: { name: "John Smith" }) {
    user { id name }
  }
}

Archive/delete user

mutation {
  archiveUsers(ids: ["uuid"]) { ok }
}
mutation {
  deleteUsers(ids: ["uuid"]) { ok }
}

Notes

  • Use ref for external system integration.
  • ExtraCategories allow custom user fields.
  • Archiving is reversible; deleting is permanent.