Skip to content

event

Metadata about the delivery, not about the applicant.

{
"event": {
"nounce": "SjG5y60YsKnnTHBxiGWVrI8FDAcXC3",
"type": "submit_form",
"version": 2,
"created_at": "2026-08-26T09:51:56.458646+00:00"
}
}
FieldTypeNotes
typestringWhich event triggered the delivery.
nouncestringUnique per delivery.
created_atstringdate-timeWhen this delivery was generated — not when the applicant submitted. On a first delivery the two are seconds apart; on a re-delivery they can be far apart.
versionintegerPayload schema version. Currently 2.
Value Fires when Setup
submit_form The applicant submitted the form. The only type that carries answers and extra. Enabled by default
update_status A status on the application changed — for example an operator changed it in the Portal. Contact support
drop_off The applicant started and did not finish before the form expired. Contact support

Only submit_form carries answers and extra. Every other type is a lifecycle notification carrying event and application — treat answers, extra and event.version as absent on all of them. Further lifecycle types exist and can be enabled by support; branch on type and ignore values you do not handle.

Unique per delivery, not per application.

The time this delivery was generated.

First delivery seconds after application.submitted_at
Re-delivery can be much later — minutes or more

For when the applicant actually finished, read application.submitted_at.

created_at matters for one other reason: it starts the 15-minute clock on every signed image URL in the payload. See extra.ekyc.

Payload schema version, currently 2.

Present on submit_form. Absent from lifecycle events — do not require it.