☰Application Onboarding Webhook Integration Guide
Step-by-step guidance for integrating with Dorman Application Onboarding Webhooks, including webhook registration, callback events, payload structure, and authentication.
The Application Onboarding Webhook integration allows brokers to receive real-time notifications about application onboarding activity without continuously polling the Dorman APIs.
The integration supports:
Individual applications
Joint applications
Application creation
Application opening
Application status changes
Required document completion
To receive Application Onboarding webhook notifications, the broker must register a webhook using the Generic Webhook Registration API with:
"webhookType": "APPLICATION"For webhook registration, deregistration, and supported webhook types, refer to the Webhook API Updates and Migration Guide.
1. Application Webhook Overview
Once an Application webhook is registered, Dorman sends webhook notifications to the broker's registered webhookUrl when applicable application events occur.
The general flow is:
Application Created / Updated↓Application Event Generated↓Dorman Webhook Processing↓Webhook Callback↓Broker Webhook Endpoint
Does not need to continuously poll the application status to receive these notifications.
2. Register/De-register for Application Webhooks
Application webhooks are registered using the Generic Webhook Registration API.
Endpoint:
POST /api/webhook/registerSet the webhook type to:
"webhookType": "APPLICATION"Example Request:
{"webhookType": "APPLICATION","webhookUrl": "https://broker.example.com/webhooks/application","webhookAuthenticationKey": "broker-supplied-key","webhookSecret": "broker-supplied-secret","notificationEmail": "ops@broker.example.com"}
After successful registration, Dorman will send applicable Application Onboarding events to the registered webhook URL.
For complete registration request/response details, see the Webhook API Guide.
3. Application Webhook Events
The following events may be sent to the registered Application webhook.APPLICATION_IN_PROGRESS-Application has been created and is in progress.APPLICATION_OPENED-Application has been opened.APPLICATION_STATUS_CHANGED-Application status has changed.APPLICATION_COMPLETE-Application document completion event.
3.1 Application Status Changes
APPLICATION_STATUS_CHANGED may be generated when the application status changes to statuses such as:
Submitted
Approved
Declined
Rejected
Processing
Other applicable statuses
4. Application Types
Application webhook notifications support both Individual and Joint applications.
4.1 Individual Application
An Individual application contains the application's own ID and does not contain joint application reference fields.
Example
{"callback_type": "APPLICATION","event_type": "APPLICATION_IN_PROGRESS","application_id": 12345,"application_type": "INDIVIDUAL","status": "INPROGRESS","message": "Application created successfully.","error_list": [],"occurred_at": "2026-06-17T05:00:00Z"}
4.2 Joint Application – Primary
For a primary Joint application, the payload includes the secondary_application_id.
{"callback_type": "APPLICATION","event_type": "APPLICATION_IN_PROGRESS","application_id": 70593,"secondary_application_id": 70594,"application_type": "JOINT","status": "INPROGRESS","message": "Joint application created successfully.","error_list": [],"occurred_at": "2026-06-17T05:00:00Z"}
4.3 Joint Application – Secondary
For a secondary Joint application, the payload includes the primary_application_id.
{"callback_type": "APPLICATION","event_type": "APPLICATION_IN_PROGRESS","application_id": 70594,"primary_application_id": 70593,"application_type": "JOINT","status": "INPROGRESS","message": "Joint application created successfully.","error_list": [],"occurred_at": "2026-06-17T05:00:00Z"}
The cross-reference fields allow the broker to identify the relationship between the primary and secondary applications.
5. Webhook Payload
Application webhook payloads contain common fields and may contain additional fields depending on the application type and event.
Common Payload Fields
callback_type– Type of webhook.event_type– Type of application webhook event.application_id– Unique application ID.application_type– Indicates whether the application isIndividualorJoint.status– Current application status.message– Human-readable description of the event.error_list– Missing document or validation information, when applicable.occurred_at– Event timestamp.
Conditional Fields
account_number– Included when an account number has been assigned.secondary_application_id– Included for a primary Joint application.primary_application_id– Included for a secondary Joint application.
Fields that are not applicable are omitted from the payload.
6. Document Completion
Dorman can send an
APPLICATION_COMPLETEevent related to the application's required document status.
When all required documents are uploaded, the Application webhook is generated with the applicable application information.
If required documents are missing, the
error_listidentifies the missing documents.
Example:
{"callback_type": "APPLICATION","event_type": "APPLICATION_COMPLETE","application_id": 70594,"primary_application_id": 70593,"application_type": "JOINT","status": "INPROGRESS","message": "Required documents are missing. See ErrorList for details.","occurred_at": "2026-06-17T05:00:00Z","error_list": [ "Risk Disclosure Statement", "Government ID" ]}
7. Example Application Webhook Callback (Dorman -> Broker)
A complete callback from Dorman to the broker will look similar to:
POST /your/webhook/endpoint HTTP/1.1Content-Type: application/jsonAuthorization: api-key <YOUR_WEBHOOK_AUTHENTICATION_KEY>X-Dorman-Signature: <64-character-lowercase-hex-signature>{"callback_type": "APPLICATION","event_type": "APPLICATION_IN_PROGRESS","application_id": 70594,"primary_application_id": 70593,"application_type": "JOINT","status": "INPROGRESS","message": "Joint application created successfully.","error_list": [],"occurred_at": "2026-06-17T05:00:00Z"}
The broker should validate the authentication headers and HMAC signature before processing the payload.