Skip to main content

Onboarding Status

This document explains how partners can track the onboarding status of their client merchants through the Rootline Dashboard and webhooks.

Viewing Company Status in the Dashboard

Partners can monitor the onboarding progress of their client merchants in the Companies section of the Rootline Dashboard.

Verification Status

Each company has a verification_status that indicates where they are in the onboarding process:

StatusDefinition
openMerchant has not (yet) completed verification. Onboarding may be in progress or not started yet.
verifiedMerchant has passed all verification checks and is approved to transact.
not_acceptedFinal rejection. Merchant will not be onboarded (e.g., prohibited business, failed KYC).
suspendedNon-response clients (never verified). Or verified customers that neglect to succeed next action or fail Enhanced Due Diligence Review / Periodic Review.

Next Action

When additional steps are required from the merchant, the next_action field will be populated with:

  • Action Type: What needs to be done (e.g., provide_information, await_assessment)
  • Onboarding URL: A link where the merchant can submit the required information
  • Comment: Details about what information is needed

State Mapping and Transitions

Scenarioverification_statusnext_actionNotes
New signupopenawait_assessmentOperations team is reviewing
Onboarding in progress, data incompleteopenprovide_informationMerchant still needs to submit additional documents/info
No response after + weekssuspendednullOnly partner can reactivate onboarding, with explicit request
Duplicate onboarding detectedsuspendednullMark as stale, no action needed
Suspended after verificationsuspendednullPeriodic Review / Enhanced Due Diligence Review lead to suspension of the account
Verification complete, approvedverifiednullMerchant can transact
Verified, periodic review triggeredverifiedreview_informationE.g., annual KYC refresh, event-driven review
Verified, additional info neededverifiedprovide_informationNew terms, expiring passport
Rejected (prohibited industry, failed KYC)not_acceptednullFinal, no further action. Never verified.

Status Flow

                    ┌─────────────────┐
│ open │
└────────┬────────┘

┌─────────────────┼─────────────────┐
│ ▲ │
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ verified │──►│ suspended │ │not_accepted │
└─────────────┘ └─────────────┘ └─────────────┘

Webhooks

Partners can subscribe to webhooks to receive real-time notifications when company status or next action changes.

company.verification_status.updated

The verification status of a company was updated.

{
"object": "event",
"webhook_endpoint_id": "webh_4WxqjT0YfsxXDeKPbrwRie",
"event_type": "company.verification_status.updated",
"event_time": "2024-12-24T14:18:11.435566Z",
"livemode": false,
"api_version": "2024-04-23",
"company": {
"id": "co_5IGIrh15JJZ5oKSYubFpEr",
"object": "company",
"name": "TraderJoes",
"company_name": "Trader Joe's",
"created_at": "2024-12-24T14:18:11.422Z",
"reference": "myRefForUser1",
"verification_status": "verified"
}
}

company.next_action.updated

The next action required for a company was updated.

{
"object": "event",
"webhook_endpoint_id": "webh_4WxqjT0YfsxXDeKPbrwRie",
"event_type": "company.next_action.updated",
"event_time": "2024-12-24T14:18:11.435566Z",
"livemode": false,
"api_version": "2024-04-23",
"company": {
"id": "co_5IGIrh15JJZ5oKSYubFpEr",
"object": "company",
"name": "TraderJoes",
"company_name": "Trader Joe's",
"created_at": "2024-12-24T14:18:11.422Z",
"reference": "myRefForUser1",
"verification_status": "open",
"next_action": {
"type": "provide_information",
"onboarding_url": "https://onboarding.rootline.com/..."
}
}
}

Configuring webhooks

To configure webhook events, please read our documentation about webhooks.