bitpro가 원문에서 글자만 모은 내용이에요. 표·그림·수식은 빠지거나 깨질 수 있어요. 전체 75쪽 중 14쪽
e.com/api-reference/cpn/managed-payments/webhooks/mint-external-entities
openapi/managed-payments-webhooks.yaml webhook mintExternalEntities
Sent when an external entity reaches a compliance decision. `complianceState` is one of
`PENDING`, `ACCEPTED`, or `REJECTED`. Wait for `ACCEPTED` before transacting on behalf of the
entity.
# Payment intent state change
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/mint-payment-intents
openapi/managed-payments-webhooks.yaml webhook mintPaymentIntents
Sent when a payment intent is created, receives a deposit address, or receives funds. `status`
is one of `created`, `pending`, `active`, `complete`, `expired`, `failed`, or `refunded`.
One-time intents use `pending` while awaiting a deposit; continuous intents use `active` once a
deposit address is assigned. `timeline` carries each status the intent has passed through.
# Payment state change
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/mint-payments
openapi/managed-payments-webhooks.yaml webhook mintPayments
Sent when a payment changes state. `status` is one of `pending`, `action_required`, `confirmed`,
`paid`, `failed`, or `reversed`. `paid` and `failed` are terminal.
# Payout terminal state
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/mint-payout
openapi/managed-payments-webhooks.yaml webhook mintPayout
Sent when a withdrawal to a bank account reaches a terminal state. `status` is `complete` or
`failed`. Not sent for the intermediate `pending` state.
# Wire state change
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/mint-wire
openapi/managed-payments-webhooks.yaml webhook mintWire
Sent when a wire transfer changes state. `status` is one of `pending`, `complete`, or `failed`.
# Application approved
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/onboarding-application-approved
openapi/managed-payments-webhooks.yaml webhook onboardingApplicationApproved
Sent when an end customer application is approved. The end customer can now transact.
`status` and `previousStatus` are one of `APPROVED`, `CANCELLED`, `DENIED`, `DRAFT`,
`IN_REVIEW`, `PENDING_CUSTOMER_INFORMATION`, or `SUBMITTED`. Circle collapses its internal
review states into `IN_REVIEW`, so an application under review reports `IN_REVIEW` regardless of
which internal stage it sits in.
# Application cancelled
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/onboarding-application-cancelled
openapi/managed-payments-webhooks.yaml webhook onboardingApplicationCancelled
Sent when an end customer application is cancelled before reaching a decision. `previousStatus`
reports the stage it was cancelled from, either `DRAFT` or `IN_REVIEW`.
# Application denied
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/onboarding-application-denied
openapi/managed-payments-webhooks.yaml webhook onboardingApplicationDenied
Sent when an end customer application is denied. The end customer cannot transact, and the
decision is final.
# Information requested
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/onboarding-application-rfi-requested
openapi/managed-payments-webhooks.yaml webhook onboardingApplicationRfiRequested
Sent when Circle needs more information before it can decide. The application moves to
`PENDING_CUSTOMER_INFORMATION` from review, and stays there until the end customer supplies what
was requested.
# Periodic review requested
Source: https://developers.circle.com/api-reference/cpn/managed-payments/webhooks/onboarding-periodic-review-requested
openapi/managed-payments-webhooks.yaml webhook onboardingPeriodicReviewRequested
Sent when a periodic review opens for an approved end customer. The review starts as a new
application in `DRAFT`, so the end customer must complete it to stay in good standing.
# Create a wire bank account
Source: https://developers.circle.com/api-reference/cpn/managed-payments/wires/create-account-wire-account
openapi/accounts.yaml post /v1/banks/wires
Create a bank account for wire transfers.
# Get a wire bank account
Source: https://developers.circle.com/api-reference/cpn/managed-payments/wires/get-account-wire-account
openapi/accounts.yaml get /v1/banks/wires/{id}
Retrieves a specific wire bank account.
# Get wire instructions
Source: https://developers.circle.com/api-reference/cpn/managed-payments/wires/get-account-wire-account-instructions
openapi/accounts.yaml get /v1/banks/wires/{id}/instructions
Retrieves wire transfer instructions for a specific bank account.
# List all wire bank accounts
Source: https://developers.circle.com/api-reference/cpn/managed-payments/wires/list-account-wire-accounts
openapi/accounts.yaml get /v1/banks/wires
Retrieves a list of bank accounts for wire transfers.
`clientEntityId` is the identifier returned by
[Create a partner client](https://developers.circle.com/api-reference/end-user-onboarding/create-partner-client)
(`POST /v1/partner/clients`). Passing the `entityId` of your own account
from `GET /v1/accounts` returns `400` with error code `3027`. A well-formed
`clientEntityId` that doesn't match any client returns `200` with an empty
`data` array rather than `404`, so an empty list doesn't confirm that the
client entity exists.
# Create an account bank withdrawal
Source: https://developers.circle.com/api-reference/cpn/managed-payments/withdrawals/create-account-withdrawal
openapi/accounts.yaml post /v1/accounts/withdrawals
Create a bank withdrawal from an account. This converts a digital asset to fiat currency and sends it to the specified destination bank account.
# Get an account bank withdrawal
Source: https://developers.circle.com/api-reference/cpn/managed-payments/withdrawals/get-account-withdrawal
openapi/accounts.yaml get /v1/accounts/withdrawals/{id}
Retrieves a specific bank withdrawal.
# List all account bank withdrawals
Source: https://developers.circle.com/api-reference/cpn/managed-payments/withdrawals/list-account-withdrawals
openapi/accounts.yaml get /v1/accounts/withdrawals
Lists all bank withdrawals for accounts.
# Postman collection
Source: https://developers.circle.com/api-reference/cpn/postman
Use Circle's Postman collection to send API requests and explore the Circle Payments Network APIs.
Circle's Postman collection provides sample requests for the Circle Payments
Network APIs. Run them in [Postman](https://www.postman.com/), an API client.
The collection matches the layout of the
[API reference](/api-reference/cpn/cpn-platform/get-payment-configurations-overview).
## Run in Postman
Select **Run in Postman** below. Choose one of the following options:
* **Fork**: Copies the collection and keeps a link to the parent.
* **View**: Lets you try the API without importing it.
* **Import**: Copies the collection without keeping a link to Circle's copy.
| Collection | Link |
| :- | :- |
| CPN | [](https://app.getpostman.com/run-collection/18225688-f1682adb-ab23-4e2d-b21d-a3562d879e5f?action=collection%2Ffork\&source=rip_markdown\&collection-url=entityId%3D18225688-f1682adb-ab23-4e2d-b21d-a3562d879e5f%26entityType%3Dcollection%26workspaceId%3D5d277774-3b09-4e2b-91f5-4253c25a48d0) |
## Authorization
To authorize your session, use Circle's Postman variable `apiKey` and add your
API key to the `environment` or `collection` variables. See Postman's
[using variables](https://learning.postman.com/docs/sending-requests/variables/)
guide for details.
For more information about creating an API key, see
[API keys](/api-reference/keys).
# Digital Asset Accounts API
Source: https://developers.circle.com/api-reference/digital-asset-accounts
Open and manage stablecoin accounts and transfers for business customers.
Use the Digital Asset Accounts API to open accounts for your customers. Fund by
wire or crypto, check balances, and track transfers—all through one REST API.
<Warning>
Digital Asset Accounts is a permissioned product. Contact your [Circle
representative](mailto:sales@circle.com) to enable API access and get sandbox
access before calling the API.
</Warning>
## Get started
<CardGroup>
<Card title="Digital Asset Accounts documentation" icon="book" href="/digital-asset-accounts">
Learn how Digital Asset Accounts works.
</Card>
<Card title="Supported currencies and blockchains" icon="coins" href="/digital-asset-accounts/references/supported-currencies-and-blockchains">
See which stablecoins and blockchains are supported.
</Card>
<Card title="End User Onboarding API" icon="user-plus" href="/api-reference/end-user-onboarding">
Set up customers with Know Your Business (KYB) before opening accounts.
</Card>
<Card title="Webhooks" icon="bell" href="/api-reference/digital-asset-accounts/all/get-subscriptions">
Set up webhook subscriptions for Digital Asset Accounts events.
</Card>
</CardGroup>
## Endpoint categories
<CardGroup>
<Card title="Accounts" icon="wallet" href="/api-reference/digital-asset-accounts/all/list-accounts">
Create and retrieve customer accounts and subaccounts.
</Card>
<Card title="Account groups" icon="layer-group" href="/api-reference/digital-asset-accounts/all/list-account-groups">
Organize and manage groups of accounts.
</Card>
<Card title="Limits" icon="gauge-high" href="/api-reference/digital-asset-accounts/all/list-account-limits-usage">
View effective account limits and current usage.
</Card>
<Card title="Transfers" icon="arrow-right-arrow-left" href="/api-reference/digital-asset-accounts/all/list-account-transfers">
Move funds between accounts in your program.
</Card>
<Card title="Transactions" icon="clock-rotate-left" href="/api-reference/digital-asset-accounts/all/list-account-transactions">
View all transactions across account types.
</Card>
<Card title="Wires" icon="building-columns" href="/api-reference/digital-asset-accounts/all/list-wire-accounts">
Link wire bank accounts for fiat funding.
</Card>
<Card title="Deposits" icon="arrow-down-to-line" href="/api-reference/digital-asset-accounts/all/list-account-deposits">
Track incoming wire and crypto deposits.
</Card>
<Card title="Withdrawals" icon="arrow-up-from-line" href="/api-reference/digital-asset-accounts/all/list-account-withdrawals">
Process withdrawals to bank accounts.
</Card>
<Card title="Deposit addresses" icon="address-card" href="/api-reference/digital-asset-accounts/all/list-account-deposit-addresses">
Set up blockchain addresses to receive crypto.
</Card>
<Card title="Recipient addresses" icon="paper-plane" href="/api-reference/digital-asset-accounts/all/list-recipient-addresses">
Manage external addresses for crypto sends.
</Card>
<Card title="ACH" icon="money-check" href="/api-reference/digital-asset-accounts/all/create-achaccount">
Link ACH bank accounts for fiat deposits and withdrawals.
</Card>
</CardGroup>
# Archive an account
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/archive-account
openapi/accounts.yaml post /v1/accounts/{accountId}/archive
Archives a subledger account. Only subledger-type accounts (those created
via `POST /v1/accounts`) may be archived, and the account must have a
zero balance.
While archived, mutating operations on the account are blocked: transfers
into or out of the account, new deposit-address generation, fiat
withdrawals, payment-intent creation, and fetching wire instructions are
all rejected. Read endpoints (e.g. `GET /v1/accounts/{accountId}`,
`GET /v1/accounts/deposits`) continue to work.
An archived account is excluded from the default `GET /v1/accounts`
listing; pass `status=archived` (or include `archived` in a multi-value
`status` filter) to retrieve it.
Archiving is idempotent: archiving an already-archived account succeeds.
An incoming deposit to a pre-existing deposit address or wire instruction
on the archived account will auto-unarchive it (status returns to
`active`).
# Bulk-assign accounts to a custody account group
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/assign-accounts-to-group
openapi/accounts.yaml post /v1/accounts/groups/{groupId}/assign
Assigns up to 100 accounts to the target custody account group in a
single atomic transaction. Accounts already bound to another group are
reassigned; rebinding an account that already belongs to this group is
a no-op write.
Every account must belong to the caller's entity. If any account is
not found, the entire request fails with 404 and no assignment row is
changed.
# Bank account linked
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/bank-accounts-created
openapi/accounts.yaml webhook bankAccountsCreated
Sent when a bank account is linked. The `notification` object is keyed by
rail — read the `wire`, `ach`, or `sepa` key based on the account type.
# Bank account denied
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/bank-accounts-denied
openapi/accounts.yaml webhook bankAccountsDenied
Sent when a bank account is denied and cannot be used for deposits or
withdrawals. The `notification` object is keyed by rail — read the `wire`,
`ach`, or `sepa` key based on the account type.
# Bank account updated
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/bank-accounts-updated
openapi/accounts.yaml webhook bankAccountsUpdated
Sent when a linked bank account changes, including as it progresses
through verification. The `notification` object is keyed by rail — read
the `wire`, `ach`, or `sepa` key based on the account type.
# Complete passkey registration
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/complete-passkey-registration
openapi/accounts.yaml post /v1/accounts/passkeys
Completes WebAuthn passkey enrollment by verifying the attestation response produced by the DAA web SDK's `sca.enroll` method. Returns a `passkeyId` that uniquely identifies the registered credential.
# Create an account
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-account
openapi/accounts.yaml post /v1/accounts
Creates a new account. This account can be used to create accounts for Mint, or
intermediary accounts for a Managed Payments customer. For Managed Payments, the
account created represents the end customer that will settle stablecoin payments
by the customer. That end customer can be either a business or an individual
(retail) end customer.
Routing for this endpoint is body based. Requests that include `businessPii`,
`individualPii`, or `endCustomerType` are routed to the Managed Payments
intermediary account creation flow, while requests that include none of those
fields are routed to the standard account creation flow.
For Managed Payments, `endCustomerType` selects which PII block is required:
- `business`, or omitted, requires `businessPii` and rejects `individualPii`.
- `individual` requires `individualPii` and rejects `businessPii`.
Both flows require an explicit `type` and `purpose` in the request body:
- Standard (digital asset / Mint) accounts use `purpose` `custody` and `type`
`first_party` or `third_party`. When `clientEntityId` is omitted the account is
owned by the caller and `type` must be `first_party`; when `clientEntityId` is
provided the account is owned by a sub-entity and `type` must be `third_party`.
- Managed Payments intermediary accounts use `type` `first_party` and `purpose`
`payments`.
# Create an account deposit address
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-account-deposit-address
openapi/accounts.yaml post /v1/accounts/addresses/deposit
Generates a new blockchain address for an account for a given currency/chain pair.
Circle may reuse addresses on blockchains that support reuse. For example, if you're
requesting two addresses for depositing USD and ETH, both on Ethereum, you may see the
same Ethereum address returned. Depositing cryptocurrency to a generated address will
credit the associated account with the value of the deposit.
# Create a custody account group
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-account-group
openapi/accounts.yaml post /v1/accounts/groups
Creates a new custody account group for the calling entity.
If `accountIds` is provided, those accounts are assigned to the new
group in the same transaction. Accounts must belong to the caller's
entity; accounts already assigned to a different group are reassigned.
# Create an account transfer
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-account-transfer
openapi/accounts.yaml post /v1/accounts/transfers
Create a transfer from an account to a verified blockchain address or another account.
# Create an account bank withdrawal
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-account-withdrawal
openapi/accounts.yaml post /v1/accounts/withdrawals
Create a bank withdrawal from an account. This converts a digital asset to fiat currency and sends it to the specified destination bank account.
# Create an ACH bank account
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-achaccount
openapi/accounts.yaml post /v1/banks/ach
Create a bank account for ACH transfers.
# Create an address book recipient
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-address-book-recipient
openapi/accounts.yaml post /v1/addressBook/recipients
Creates an address book recipient for crypto payouts. Use the returned `id` as `destination.id` when creating a payout.
**Digital Asset Accounts:** the address book is available only for custody accounts (`purpose: custody`) and is for third-party payouts only. It is not supported when the distributor or the end user is under the Circle FR (`CIRCLE_FR`) or Circle SG (`CIRCLE_SG`) legal entity. Set `clientEntityId` to the end user who owns the custody account you will pay out from. A payout can only use a recipient created for that end user.
# Create an FX quote
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-fx-quote
openapi/accounts.yaml post /v1/exchange/quotes
Create a quote to swap USDC and EURC for an end user's account. Only USDC <> EURC swaps are supported. Tradable quotes that include a fiat currency are rejected.
- `tradable` quotes lock a rate for a few seconds (until `expiry`). Execute
one with Create an FX trade. Set `source` to the end user's account.
- `reference` quotes return an indicative rate only and can't be traded.
# Create an FX trade
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-fx-trade
openapi/accounts.yaml post /v1/exchange/trades
Execute a `tradable` quote. The trade debits the quote's `source` account and credits its `destination` account.
# Create a payment intent
Source: https://developers.circle.com/api-reference/digital-asset-accounts/all/create-payment-intent
openapi/accounts.yaml post /v1/paymentIntents
Create a continuous or transient payment intent. Always set `type`: when it is omitted, the default type depends on account configuration.
**Digital Asset Accounts:** crypto payments are available only for custody accounts (`purpose: custody`) and are for third-party payments only. They are not supported when the distributor or the end user is under the Circle FR (`CIRCLE_FR`) or Circle SG (`CIRCLE_SG`) legal entity. Set `merchantWalletId` to the `accountId` of the end user's custody account. Requests that target the master wallet, either by omitting `merchantWalletId` or by passing the distributor's own master wallet ID, are rejected with `403`.
`purposeOfTransfer` is required for Circle Inc (`CIRCLE_INC`) enti프로젝트로 돌아가기