Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.circle.com/llms.txt

Use this file to discover all available pages before exploring further.

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.
Submit a completed application for compliance review and track its progress through approval. After submission, monitor status changes through webhooks or polling, and list applications by status as needed.

Prerequisites

Before you begin:
  • You have an API key for the Partner Onboarding API from the Circle Mint Console.
  • All application sections have complete status.
  • Required documents have been uploaded.

Steps

Step 1. Submit the application

Submit an application when all sections have complete status:
curl --request POST \
  --url https://api-sandbox.circle.com/v1/onboarding/partner/applications/${APPLICATION_ID}/submit \
  --header "Authorization: Bearer ${YOUR_API_KEY}" \
  --header 'Content-Type: application/json' \
  --header 'X-Idempotency-Key: ${IDEMPOTENCY_KEY}' \
  --data '{
    "endUserIpAddress": "203.0.113.42",
    "endUserAgreesToTermsOfService": true
  }'
FieldDescription
endUserIpAddressYour customer’s IP address (IPv4 or IPv6, 7-39 characters)
endUserAgreesToTermsOfServiceMust be true. Confirms your customer agreed to Circle’s terms
The application moves from DRAFT to SUBMITTED. If any sections are incomplete, the server returns a 409 error. Example response:
{
  "data": {
    "applicationId": "550e8400-e29b-41d4-a716-446655440000",
    "status": "SUBMITTED"
  }
}

Step 2. Track application status

Monitor your application’s progress by polling or by using webhook notifications (set up a subscription in the Console under Developer > Subscriptions):
curl --request GET \
  --url https://api-sandbox.circle.com/v1/onboarding/partner/applications/${APPLICATION_ID} \
  --header "Authorization: Bearer ${YOUR_API_KEY}"
See Application states for a full list of statuses and transitions.

Step 3. List all applications

List applications for your partner account. You can filter by status:
curl --request GET \
  --url 'https://api-sandbox.circle.com/v1/onboarding/partner/applications?status=PENDING_CUSTOMER_INFORMATION&limit=25' \
  --header "Authorization: Bearer ${YOUR_API_KEY}"
The response supports pagination. Use starting_after with the applicationId of the last item to fetch the next page. If the application moves to PENDING_CUSTOMER_INFORMATION, the compliance team has issued one or more Requests for Information (RFIs). See Handle requests for information for the full RFI workflow.

See also