Skip to content

Client integrations

Updated 13 Jul 2026jirkamotejl

An integration should be designed as an operational process, not just as a list of endpoints. The client must know the authoritative source of data and the error-handling process.

ScenarioDirectionNote
User provisioningExternal system -> KnowspreadRequires a stable identifier.
Group updatesExternal system -> KnowspreadGroups can change content assignments.
Content or event importExternal system -> KnowspreadUseful for catalogues and blended learning.
Completion reportingKnowspread -> external systemCan be handled by API polling or webhooks.
Webhook notificationsKnowspread -> external systemRequires an available HTTPS endpoint.

Depending on the context, user synchronization can use:

  • internal ID,
  • e-mail,
  • personal_id,
  • external group or content ID.

For long-term synchronization, the best identifier is stable and does not change when the user’s name or e-mail changes.

Webhooks are outgoing notifications from Knowspread. The current model includes:

  • content_assignment_created,
  • content_assignment_completed,
  • content_assignment_overdue,
  • test_attempt_completed.

The client endpoint must use HTTPS. Supported authentication modes are no authentication, Basic Auth, and OAuth2 client credentials. If a secret is set, the client can verify the payload signature.