Skip to main content

Inbound Webhooks API

The Inbound Webhooks API receives events from external systems. The current shipped inbound endpoint ingests AI Literacy completion events from an external Learning Management System and updates the matched Qarion user's literacy fields.

All paths below are under /api/v1.0.

Endpoints

MethodEndpointDescription
POST/webhooks/lms/literacy-completionRecord AI Literacy training completion for a user.

LMS Literacy Completion

POST /api/v1.0/webhooks/lms/literacy-completion

This endpoint is authenticated with a shared bearer token configured by LMS_WEBHOOK_BEARER_TOKEN. If the token is not configured, the endpoint returns 501.

Headers

HeaderRequiredDescription
AuthorizationYesBearer <LMS_WEBHOOK_BEARER_TOKEN>.
X-Space-IdYesTarget space UUID or target space slug.

The user identified by the payload must belong directly to the target space or to the target space's organization. If not, Qarion returns the same not-found style response used for an unknown user.

Request Body

{
"user_email": "user@example.com",
"program_name": "AI Act Foundations 2026",
"completion_date": "2026-02-15T00:00:00Z",
"next_renewal_date": "2027-02-15T00:00:00Z"
}
FieldRequiredDescription
user_emailYesEmail address of the Qarion user to update.
program_nameYesCompleted literacy program name.
completion_dateYesISO 8601 completion timestamp. A trailing Z is accepted.
next_renewal_dateNoISO 8601 renewal timestamp. A trailing Z is accepted.

Response

{
"status": "success",
"user_id": "67b1bc7e-90d4-4df0-b232-fbb6b947e8cf"
}

On success, Qarion updates the user:

User fieldValue
ai_literacy_statuscompleted
ai_literacy_completion_dateParsed completion_date
ai_literacy_programprogram_name
ai_literacy_next_renewalParsed next_renewal_date, when supplied

Errors

StatusDescription
400X-Space-Id is missing, required payload fields are missing, or a date field is not ISO 8601.
401Authorization header is missing, malformed, or uses the wrong token.
404Space was not found, user email was not found, or the user is not in the target space or organization.
501LMS inbound webhook token is not configured.