Skip to content

Webhooks

Updated 7 Sept 2026jirkamotejlchecked against the product 4 Sept 2026

API credentials let your system ask Knowspread questions. Webhooks are the other direction: the space tells your system when something happens, without being asked.

Verified: Captured from #/csPreferences/webhooks on 2026-09-04 with the event picker open.
Webhook settings with the event picker open
123
Webhook settings with the event catalogue open
  1. One endpoint receives everything. You give its URL and a secret — Vygenerovat secret produces one for you (1).
  2. Auth type is separate from the secret and defaults to none (2). Basic auth credentials appear once you pick it.
  3. Subscriptions are added one event at a time, each with a schema version (3). Nothing is subscribed by default.
Fact: The picker offers four events, and they are about assignments and tests rather than about people or content changing.
EventFires when
content_assignment_createdContent is assigned to someone
content_assignment_completedSomeone finishes assigned content
content_assignment_overdueAn assignment passes its deadline
test_attempt_completedSomeone finishes a test attempt
Fact: Each subscription carries a schema version — v1.0 is what the version picker offers — so the payload shape is versioned separately from the event name.
Assumption: The secret is used to sign the payload so your endpoint can verify the call really came from Knowspread. The screen offers to generate it rather than asking you to invent one, which fits that reading, but the screen does not say so and we have not confirmed it against the code.
Fact: Basic auth is separate and optional — it authenticates the call at the transport level, where the secret authenticates the payload.
Fact: In a personal space this screen draws the form but nothing behind it is live: webhooks, webhook_settings and webhooks/pending_requests all answer 403. The subscription section stays empty because it was refused, not because nothing is subscribed.
Missing: What each payload actually contains is not on this screen. The Dokumentace link at the top points at the reference; ours is webhook events.