Certificate issued

Sent every time a certificate is issued to a student, reissues included. The event is certificate.created (certificado.emitido in payload version 1).

Example body

{
  "version": "2",
  "event": "certificate.created",
  "event_id": "01K5QW7M2Z3Y4X5W6V7U8T9S0R",
  "payload": {
    "certificate": {
      "id": 7204,
      "created": {
        "at": {
          "iso": "2025-09-23T12:00:00-03:00",
          "unix": "1758639600"
        }
      },
      "uid": "string",
      "url": "https://example.com"
    },
    "product": {
      "id": 311,
      "name": "Curso de Fotografia",
      "offer_url": "string",
      "order": 0
    },
    "user": {
      "id": 1042,
      "access": {
        "first_at": {
          "iso": "2025-09-23T12:00:00-03:00",
          "unix": "1758639600"
        },
        "last_at": {
          "iso": "2025-09-23T12:00:00-03:00",
          "unix": "1758639600"
        }
      },
      "created": {
        "at": {
          "iso": "2025-09-23T12:00:00-03:00",
          "unix": "1758639600"
        },
        "by": 0,
        "by_key": 0,
        "method": "string",
        "on": "string"
      },
      "document": "string",
      "email": "[email protected]",
      "magic_login_url": "https://example.com",
      "name": "Maria Souza",
      "phone": "string"
    }
  }
}

Fields

FieldTypeRequiredDescription
versionstringyesAlways 2.
eventstringyesAlways certificate.created.
event_idstringyesUnique id of the delivery (ULID). Retries of the same delivery keep it, so use it to ignore duplicates.
payloadobjectyes
payload.certificateobjectyesThe certificate issued.
payload.certificate.idintegeryes
payload.certificate.createdobjectyes
payload.certificate.created.atobjectyesA point in time, as Unix seconds (a string) and ISO 8601 with the offset. Both are null when there is no date.
payload.certificate.created.at.isostring | nullyes
payload.certificate.created.at.unixstring | nullyes
payload.certificate.uidstringyesThe public code printed on the certificate.
payload.certificate.urlstringyesPublic address of the certificate.
payload.productobjectyesThe product (course) the event is about.
payload.product.idintegeryes
payload.product.namestringyes
payload.product.offer_urlstring | nullyesSales page shown to students without access.
payload.product.orderinteger | nullyes
payload.userobjectyesThe student the event is about.
payload.user.idintegeryes
payload.user.accessobjectyes
payload.user.access.first_atobject | nullyesFirst access; null before it happens.
payload.user.access.first_at.isostring | nullyes
payload.user.access.first_at.unixstring | nullyes
payload.user.access.last_atobject | nullyesLast access; null before the first one.
payload.user.access.last_at.isostring | nullyes
payload.user.access.last_at.unixstring | nullyes
payload.user.createdobjectyesHow the student was created. on is the origin (manual, transaction, import, free, redirect, google, api); the other keys depend on it and may be absent.
payload.user.created.atobject | nullyesA point in time, as Unix seconds (a string) and ISO 8601 with the offset. Both are null when there is no date.
payload.user.created.at.isostring | nullyes
payload.user.created.at.unixstring | nullyes
payload.user.created.byintegernoThe administrator who created the student.
payload.user.created.by_keyintegernoThe API key that created the student.
payload.user.created.methodstringno
payload.user.created.onstringno
payload.user.documentstring | nullyesDocument (CPF).
payload.user.emailstring | nullyes
payload.user.magic_login_urlstringyesLink that signs the student in when opened. Treat it as a password.
payload.user.namestring | nullyes
payload.user.phonestring | nullyesMobile phone.

Your endpoint answers with any 2xx status to confirm the delivery. See Deliveries and retries.

On this page