The Partner Onboarding API base URL is
https://api-sandbox.circle.com for
sandbox and https://api.circle.com for production. All requests require a
Bearer token obtained via Circle key exchange in the Authorization header. All
POST requests require an X-Idempotency-Key header with a client-generated
UUID v4.Prerequisites
Before you begin this quickstart, ensure you’ve:- Obtained an API key for the Partner Onboarding API from the Circle Mint Console (Developer > API Keys). Use this key to obtain a Bearer token through the Circle key exchange.
- (Recommended) Set up a webhook subscription for application status changes in the Console (Developer > Subscriptions) to receive real-time updates instead of polling.
Step 1: Create a client and initialize the application
Create a client and start an onboarding application in one request:applicationId. You’ll use it in all subsequent steps.
Using the same
clientName and country combination returns a 409 Conflict
error. Use a different clientName to create another client in the same
country.Step 2: Discover the schema
The sections and fields in an application aren’t fixed. They’re defined by a JSON Schema (draft 2020-12) specific to the business type you set withnatureOfBusiness and institutionType. Read the schema before you save data
so you know which sections and fields apply. Don’t assume field names.
Retrieve the schema for your application:
GET /v1/onboarding/partner/applications/${APPLICATION_ID}/sections.
For schema discovery, conditional fields, and bulk save, see
Create and populate applications.
Step 3: Save section data
Using the field names from the schema, populate a section. This example saves thebasicBusinessInfo section for the trust application created in Step 1. The
sections and fields for your application depend on its own schema:
Section and field names vary by business type. Saving a field that isn’t in
the section’s schema returns a
422 error with per-field details. Use the
schema from Step 2 to see the fields for your application.complete:
Step 4: Upload a document
Upload a supporting document and link it to a schema field:Step 5: Submit the application
After all sections arecomplete and required documents are uploaded, submit
the application:
SUBMITTED:
Step 6: Check application status
Poll for the current status or use webhook notifications (if you set up a subscription in the prerequisites) for real-time updates:IN_REVIEW and reaches a terminal status of
APPROVED or DENIED. If the compliance team needs more information, the
status changes to PENDING_CUSTOMER_INFORMATION. See
Application states for the
full lifecycle and
Submit and track applications
for the submission workflow and
Handle requests for information if the
compliance team needs more data.