Onboarding Statuses
The boarding lifecycle — how a business moves from requirements to underwriting to active, and how PCE surfaces what's still outstanding.
Onboarding is not instant. A business you create starts incomplete, gathers its required data and documents, goes through underwriting, and only then becomes ACTIVE and able to accept payments. This page is the shared reference for those statuses — every action page links here instead of repeating them.
The boarding lifecycle
stateDiagram-v2
[*] --> PENDING_REQUIREMENTS: POST /v1/businesses
PENDING_REQUIREMENTS --> PENDING_UNDERWRITING: requirements complete + service enabled
PENDING_UNDERWRITING --> ACTIVE: underwriting approves
ACTIVE --> CLOSED: DELETE (soft-close)
PENDING_REQUIREMENTS --> CLOSED: DELETE (soft-close)
PENDING_UNDERWRITING --> CLOSED: DELETE (soft-close)
PENDING_REQUIREMENTS— the business exists but is missing data or documents. What's outstanding is surfaced inline (see below).PENDING_UNDERWRITING— requirements are complete and a service is enabled; underwriting is reviewing.ACTIVE— approved. The business (and its approved services) can operate.CLOSED— soft-closed; retained but inactive.
Status by resource
Each resource carries its own status; the business's overall readiness is the combination.
| Resource | Statuses |
|---|---|
| Business | PENDING_REQUIREMENTS · PENDING_UNDERWRITING · ACTIVE · CLOSED |
Service / Feature (e.g. acquiring) | PENDING_UNDERWRITING · PENDING_DISABLE · ACTIVE · DISABLED |
| Owner / Signatory | PENDING_VERIFICATION · VERIFIED · ENDED |
| Individual | IN_PROGRESS · VERIFIED |
| Location | PENDING · ACTIVE · CLOSED |
PENDING-PUBLISHTwo status-vocabulary conflicts are unresolved in the source contract: an enabled service appears as both
ENABLEDandACTIVEin different examples, and a pending-disable feature as bothPENDINGandPENDING_DISABLE. This table uses theACTIVE/PENDING_DISABLEforms. Confirm the authoritative enum against the API Reference before publish.
What's still needed
Onboarding has no separate "requirements" resource to poll. Instead, each service object on the business carries three read-only fields that tell you exactly what's outstanding:
| Field | Meaning |
|---|---|
missingFields | Data the service still needs before it can go to underwriting. |
missingDocuments | Documents that must be bound before approval. |
errors | Validation problems blocking the service. |
Read them with GET /v1/businesses/{businessId}?expand=true and inspect services.acquiring:
"services": {
"acquiring": {
"uri": "/v1/businesses/bus_42/services/acquiring",
"enabled": true,
"status": "PENDING_UNDERWRITING",
"missingFields": [],
"missingDocuments": [],
"errors": []
}
}Empty arrays with status: PENDING_UNDERWRITING mean the service has everything it needs and is waiting on a decision. Non-empty arrays tell you precisely what to fix or add.
Tracking progress
Poll GET /v1/businesses/{businessId} to follow status changes as you complete requirements and as underwriting decides.
PENDING-PUBLISHConfirm whether onboarding emits webhooks for status transitions (business → underwriting → active, service approved/declined). If it does, document the event names and payload here and switch this section from polling to event-driven. The boarding contract did not model a writable webhook subscription resource; verify current behavior before publish.
Next steps
See also
- Create a business: where the lifecycle begins
- Key concepts: the resources each status applies to
Updated about 3 hours ago