Integeri

Integeri Documentation

Webhooks — Developer documentation

Event notifications via HTTP POST to a URL you configure. This page: https://next.integeri.com/docs/webhook/enDeutsch / English

Overview

When a company has a webhook URL configured, integeri calls it for selected events via POST. The request body is JSON with fields event, time, and data.

Your endpoint should respond with HTTP status 2xx. Failed calls are logged; the triggering action in integeri (e.g. certificate creation) is not rolled back.

Configuration

The webhook URL is set per company in integeri company settings under Mail addresses → URL webhook (app config webhook, type CI). If no URL is configured, no webhooks are sent.

Payload format

Every webhook call uses this JSON schema:

{
  "event": "<event_name>",
  "time": "2026-06-22T14:30:00+02:00",
  "data": { }
}
FieldTypeDescription
eventstringEvent type (see below)
timedatetime (ISO 8601)Time of the event on the integeri server
dataobjectEvent-specific payload

Request headers: Content-Type: application/json, Accept: application/json.

Event types

EventTrigger
certificate_created After a certificate PDF was successfully created for a course assignment

certificate_created

Triggered when a certificate has been created (PDF record stored).

Example

{
  "event": "certificate_created",
  "time": "2026-06-22T14:30:00+02:00",
  "data": {
    "user": {
      "id": 42,
      "fullName": "Max Mustermann"
    },
    "course": {
      "id": 17,
      "title": "Annual safety instruction"
    },
    "url": {
      "api": "https://next.integeri.com/api/v1/users/42/123/course/17-de.pdf",
      "web": "https://next.integeri.com/de/pdf/user/42/assignment/123/course/17"
    }
  }
}

Fields in data

PathTypeDescription
user.idintegerUser ID
user.fullNamestringUser full name
course.idintegerCourse ID
course.titlestringCourse title
url.apistring|nullAPI PDF URL (/api/v1/users/…/course/…) or signed upload URL
url.webstring|nullWeb PDF download URL (same rules as the certificate list)

url.api and url.web may be null when no download is offered for the assignment (e.g. pending BKF, group operator training without individual certificate).