📄 Guide
A company is your business customer’s funding and compliance entity on the platform: onboarding creates its funding pool, and every employee, card and balance hangs off it. This page walks “apply → get the result → day-to-day maintenance”, showing what to call, what to send and what you get back.Who does what
Step 1: submit the application
POST /open-api-corp/organization/v1/apply — KYB runs asynchronously after submission; acceptance returns an organizationApplyId.
The synchronous response carries only
organizationApplyId + status=PENDING — accepted, not approved.
Step 2: get the result
Rely on webhooksORGANIZATION_CREATED / ORGANIZATION_REJECTED, with GET /open-api-corp/organization/v1/query-apply?organizationApplyId=... as the polling fallback. Key response fields:
Resubmission after rejection:
POST /open-api-corp/organization/v1/resubmit with organizationApplyId plus the corrected organizationName / companyRegistrationNumber, re-reviewed under the same application; organizationRef cannot change. Allowed only while the current state is REJECTED, otherwise STATUS_CONFLICT.
Day-to-day maintenance
Query company detail:GET /open-api-corp/organization/v1/query?organizationId=... — legal name, registration number, pool currencies and status (life cycle ACTIVE / TERMINATED overlaid with behavioral states FROZEN / SUSPENDED / RESTRICTED; semantics in State machines and freezing).
Freeze / unfreeze: POST /open-api-corp/organization/v1/update-restrictions — idempotent set semantics: addRestrictions freezes, removeRestrictions unfreezes, values restricted to the 5 capability-domain codes ACCOUNT_FROZEN / CASH_IN_FROZEN / CASH_OUT_FROZEN / PAYMENT_FROZEN / CARD_FROZEN (anything else returns DAPI_PARAM_INVALID). A state change pushes a webhook notification.
POST /open-api-corp/fund/v1/balance-alert-set — a threshold per currency (balanceSettings[].currency + balanceSettings[].thresholdAmount), with optional emailSettings. Full-replacement semantics — every call resets the entire alert configuration; the webhook LOW_BALANCE always fires, and email is sent only if a mailbox is configured; the same alert fires once per day until the balance recovers.
Related webhooks
ORGANIZATION_CREATED (KYB passed, carries organizationId) / ORGANIZATION_REJECTED (carries rejectMessage) / the company status-change notification (carries addRestrictions / removeRestrictions) / LOW_BALANCE. Envelope and signature verification: Quickstart.
Next steps
- Create cardholders once the company is ACTIVE: Managing employees
- Fund the pool: Funding and reconciliation
- In this group: Company onboarding and review · Company status and alerts

