Todo Completed
This webhook is triggered when an applicant completes a requested todo item, such as identity verification (IDV), bank account connection, income document submission, or other customer-facing tasks.
Configuration
To receive this webhook, you must configure both:
- Callback URL: Set the
todoCompletedcallback URL in your integration settings. - Enabled Categories: Optionally specify which todo categories should trigger the webhook via
todoCompletedWebhook.enabledCategoriesin your integration capabilities. If not specified, all categories will trigger the webhook.
Available Categories
IDV- Primary applicant identity verification completedSECONDARY_IDV- Co-applicant identity verification completedBANK_ACCOUNT- Bank account connection completedINCOME- Income documents submittedSIN- Social Insurance Number submittedAPPLICATION- Application details (personal and employment) completedCONSENT_TO_PULL_CREDIT- Consent to pull credit grantedIDENTITY- Identity documents uploaded
Request Body
The request body is a JSON object with the following properties:
applicationId(string, uuid, required): The ID of the application.applicantId(string, uuid, required): The ID of the applicant who completed the todo.todoCategory(string, enum, required): The category of the completed todo. One of:IDV,SECONDARY_IDV,BANK_ACCOUNT,INCOME,SIN,APPLICATION,CONSENT_TO_PULL_CREDIT,IDENTITY.completedAt(string, date-time, required): The timestamp when the todo was completed.retailerId(string, uuid, required): The ID of the retailer associated with the application.
Example Request Body
{
"applicationId": "3aad1c88-a898-460f-b2c7-5f4145250489",
"applicantId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"todoCategory": "IDV",
"completedAt": "2026-01-08T15:30:00.000Z",
"retailerId": "ebed869d-bdf4-4b0a-8442-5b8f23753247"
}
Response
We ask that all webhooks return 200 OK status codes to confirm receipt of the webhook. We ask that unless the server is down errors to be logged and still return a 200 OK status code. If the webhook does not return a 200 OK status code, we will retry the webhook up to 10 times with an exponential backoff.