Circle USYC 백서

Circle USYC

원문

bitpro가 원문에서 글자만 모은 내용이에요. 표·그림·수식은 빠지거나 깨질 수 있어요. 전체 75쪽 중 9쪽

| Code | Meaning | Treatment | | - | - | - | | `1143` | Checkout session not found—the supplied session ID doesn't exist. | Malformed | | `1144` | Checkout session is already in a completed state and cannot be extended. | State conflict | For asynchronous failure events on payment intents and payments, see [Webhook notifications](/circle-mint/references/webhook-notifications). ## Stablecoin Payouts errors Stablecoin Payouts errors have two sources. Synchronous validation covers Travel Rule fields and Address Book entity validation. After submission, the payout entity itself can transition to `failed` with an `errorCode` that describes why. ### Synchronous validation For full Travel Rule context, see [Travel rule compliance](/circle-mint/references/travel-rule-compliance). | Code | Meaning | Treatment | | - | - | - | | `5020` | `purposeOfTransfer` field is missing or invalid on a `CIRCLE_SG`-booked crypto payout. | Malformed | | `2024` | Address Book identity is missing for this entity. | Malformed | | `2025` | Address Book ownership is missing for this entity. | Malformed | | `2026` | Address Book VASP ID is missing for this entity. | Malformed | | `2027` | Address Book ownership type is invalid for this entity. | Malformed | | `2028` | Address Book custody type is invalid for this entity. | Malformed | | `2029` | Address Book custody is missing for this entity. | Malformed | | `2030` | Address Book VASP ID is invalid for this entity. | Malformed | | `2031` | Address Book identity type is invalid—must be `individual` or `business`. | Malformed | | `2032` | Address Book identity first name is missing for an individual identity. | Malformed | | `2033` | Address Book identity last name is missing for an individual identity. | Malformed | | `2034` | Address Book identity business name is missing for a business identity. | Malformed | | `2035` | Address Book VASP ID is not allowed—VASP ID must be omitted for self-hosted custody. | Malformed | | `2036` | Identity is not allowed in Address Book `PATCH` requests. | Malformed | | `2037` | Ownership is not allowed in Address Book `PATCH` requests. | Malformed | ### Asynchronous entity errors | `errorCode` | Meaning | | - | - | | `insufficient_funds` | Source wallet doesn't have enough USDC for the payout. | | `transaction_denied` | Payout was denied by Circle Risk Service—see `riskEvaluation` for the reason. | | `transaction_failed` | Payout failed due to an unknown reason. | | `transaction_returned` | Payout was returned by the receiving network. | | `fiat_account_limit_exceeded` | The fiat account limit was exceeded. | <Note> When `riskEvaluation.reason` is `3220`, the denial is a Travel Rule violation. Review your originator identities, beneficiary identity, VASP ID, and `purposeOfTransfer`, then resubmit with a new `idempotencyKey`. See [Travel Rule Compliance](/circle-mint/references/travel-rule-compliance). For the full list of `riskEvaluation.reason` values, see [Risk evaluation reason codes](#risk-evaluation-reason-codes). </Note> ## Credit errors The Credit API's draw, fee, and repayment endpoints surface validation failures via a top-level `validationErrors` array on the credit line. When `validationErrors` is non-empty, draw and repayment endpoints return HTTP 400 until the listed conditions clear. | Value | Meaning | Treatment | | - | - | - | | `INSUFFICIENT_BALANCE` | The credit line's Circle Mint wallet balance is below `minBalance`, blocking new draws. | State conflict | | `PENDING_FEES` | An unpaid fee is blocking new draws. | State conflict | | `OVERDUE_TRANSFERS` | At least one disbursed transfer is past its due date. | State conflict | Calling `POST /v1/credit/cryptoRepayment` against a Settlement Advance credit line returns HTTP 400—crypto repayment is only supported on Line of Credit lines. See the [Credit API concept](/circle-mint/concepts/credit-api) for product differences. ## Institutional Distribution errors These responses surface when you create or manage external entities through the Institutional API. | HTTP | Meaning | Treatment | | - | - | - | | `400` | Missing or invalid fields on external entity creation. | Malformed | | `401` | The API key doesn't have the Institutional Distribution permission. | State conflict: contact Circle to enable the entitlement. | | `409` | An external entity with the supplied `businessUniqueIdentifier` and `identifierIssuingCountryCode` already exists. Re-fetch via `GET /v1/externalEntities`. | State conflict | ## Custody balance errors These codes apply to daily user balance reporting for custody accounts. | Code | Meaning | Treatment | | - | - | - | | `500000` | Unsupported currency for reporting daily user balance—must be USDC or EURC. | Malformed | | `500001` | Custody balance `asOfDate` is too far from today's date. | Malformed | | `500002` | Custody balance cannot be less than zero. | Malformed | | `500003` | Local custody balance can't be greater than total custody balance. | Malformed | | `500004` | Idempotency key can't be reused across different requests. | State conflict | | `500005` | A custody balance report already exists for the provided date and currency. Contact customer care for edits. | State conflict | ## Transfer entity errors These `errorCode` values appear on a transfer resource after it transitions to `failed`. | `errorCode` | Meaning | Treatment | | - | - | - | | `transfer_failed` | Transfer could not be completed. | Transient: investigate `riskEvaluation` and network conditions. | | `transfer_denied` | Transfer was denied by Circle Risk Service. | Compliance: review and resubmit with a new `idempotencyKey`. | | `blockchain_error` | Onchain failure prevented the transfer from settling. | Transient: retry once network is healthy. | | `insufficient_funds` | Source wallet doesn't have enough USDC for the transfer. | Insufficient funds | # Create a notification subscription Source: https://developers.circle.com/api-reference/circle-mint/general/create-subscription openapi/general.yaml post /v1/notifications/subscriptions Subscribe to receiving notifications at a given endpoint. The endpoint should be able to handle AWS SNS subscription requests. For more details see https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/sns-send-http.html. Note, the sandbox environment allows a maximum of 3 active subscriptions; otherwise, this is limited to 1 active subscription and subsequent create requests will be rejected with a Limit Exceeded error. # Remove a notification subscription Source: https://developers.circle.com/api-reference/circle-mint/general/delete-subscription openapi/general.yaml delete /v1/notifications/subscriptions/{id} To remove a subscription, all its subscription requests' statuses must be either 'confirmed', 'deleted' or a combination of those. A subscription with at least one 'pending' subscription request cannot be removed. # Get configuration info Source: https://developers.circle.com/api-reference/circle-mint/general/get-account-config openapi/general.yaml get /v1/configuration Retrieves general configuration information. # List all stablecoins Source: https://developers.circle.com/api-reference/circle-mint/general/list-stablecoins openapi/general.yaml get /v1/stablecoins Retrieves total circulating supply for supported stablecoins across all chains. This endpoint is rate limited to one call per minute (based on IP). # List all notification subscriptions Source: https://developers.circle.com/api-reference/circle-mint/general/list-subscriptions openapi/general.yaml get /v1/notifications/subscriptions Retrieve a list of existing notification subscriptions with details. # Ping Source: https://developers.circle.com/api-reference/circle-mint/general/ping openapi/general.yaml get /ping Checks that the service is running. # Create an external entity Source: https://developers.circle.com/api-reference/circle-mint/institutional/create-external-entity openapi/institutional.yaml post /v1/externalEntities Creates an external entity for the institutional account. A new external entity is created with a `complianceState` of `PENDING` and has no `walletId`. Circle assigns the wallet only after compliance screening accepts the entity, so the field is omitted from the response while the entity is pending. Use `GET /v1/externalEntities` to retrieve the `walletId` once the entity is `ACCEPTED`. This endpoint is idempotent on `businessUniqueIdentifier` and `identifierIssuingCountryCode`. Creating an entity that already exists returns that entity in its current state, so a repeat request for an already-accepted entity returns `complianceState: ACCEPTED` together with its `walletId`. To access the Core API for Institutions, contact your Circle account representative. # Get all external entities Source: https://developers.circle.com/api-reference/circle-mint/institutional/get-all-external-entities openapi/institutional.yaml get /v1/externalEntities Returns all external entities for the institutional account. To access the Core API for Institutions, contact your Circle account representative. Note that the `businessUniqueIdentifier` and `identifierIssuingCountryCode` must both be provided, or not at all. Only providing one will result in an error. # Get an external entity by wallet ID Source: https://developers.circle.com/api-reference/circle-mint/institutional/get-external-entity-by-wallet-id openapi/institutional.yaml get /v1/externalEntities/{walletId} Returns an external entity by wallet ID. To access the Core API for Institutions, contact your Circle account representative. # Retrieve data for all visible sections Source: https://developers.circle.com/api-reference/circle-mint/onboarding/bulk-get-data openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/data Returns all visible section data keyed by section name alongside section statuses. The data object is round-trip compatible with PATCH /{applicationId}/data. Sections that do not contribute to application progress are excluded. # Save data for multiple sections in a single request Source: https://developers.circle.com/api-reference/circle-mint/onboarding/bulk-save openapi/partner-openapi.yaml patch /v1/onboarding/partner/applications/{applicationId}/data Accepts a JSON object keyed by section name. Each value is the same payload shape as PUT /sections/{sectionName}. Validation is atomic: all sections are validated before any data is saved, and if any section fails validation the entire request is rejected. Saves are sequential: after validation passes, sections are persisted one at a time. Array sections use upsert semantics: items with refId update existing entities, items without refId create new entities. Existing entities not included are preserved. The response data field is an object keyed by section name containing the saved data for each section. # Cancel an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/cancel-application openapi/partner-openapi.yaml delete /v1/onboarding/partner/applications/{applicationId} Cancels a draft ONBOARDING_APPLICATION. Other operation types are not currently cancellable. # Add a comment to an RFI Source: https://developers.circle.com/api-reference/circle-mint/onboarding/create-comment openapi/partner-openapi.yaml post /v1/onboarding/partner/applications/{applicationId}/rfis/{rfiId}/comments # Delete a comment on an RFI Source: https://developers.circle.com/api-reference/circle-mint/onboarding/delete-comment openapi/partner-openapi.yaml delete /v1/onboarding/partner/applications/{applicationId}/rfis/{rfiId}/comments/{commentId} # Delete a document Source: https://developers.circle.com/api-reference/circle-mint/onboarding/delete-document openapi/partner-openapi.yaml delete /v1/onboarding/partner/applications/{applicationId}/documents/{documentId} # Download a document Source: https://developers.circle.com/api-reference/circle-mint/onboarding/download-document openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/documents/{documentId} # Retrieve an application by ID Source: https://developers.circle.com/api-reference/circle-mint/onboarding/get-application openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId} # Get the JSON Schema (draft 2020-12) for an application's template Source: https://developers.circle.com/api-reference/circle-mint/onboarding/get-application-schema openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/schema # List active certifications for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/get-certifications openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/certifications Returns the active certifications the end user must agree to for this application, including the HTML content, certification id, and metadata. Pass the returned ids back on POST /{applicationId}/submit as certificationIds to explicitly acknowledge them, or omit certificationIds to let the service auto-resolve the active set. # Get RFI detail with comment history Source: https://developers.circle.com/api-reference/circle-mint/onboarding/get-rfi openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/rfis/{rfiId} # Retrieve section data for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/get-section openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/sections/{sectionName} Returns field data for the specified section. When typedValues=true, array/object/number field values are emitted as native JSON nodes instead of strings. # List applications for the authenticated partner Source: https://developers.circle.com/api-reference/circle-mint/onboarding/list-applications openapi/partner-openapi.yaml get /v1/onboarding/partner/applications # List documents for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/list-documents openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/documents # List RFI bundles for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/list-rfis openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/rfis # List sections for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/list-sections openapi/partner-openapi.yaml get /v1/onboarding/partner/applications/{applicationId}/sections Returns visible sections with statuses. When includeData=true, each entry also includes the section's current field data — useful for rendering a progress view alongside prefilled form data. When typedValues=true (only meaningful with includeData=true), array/object/number field values are emitted as native JSON nodes instead of strings. # Remove an entity from an array section Source: https://developers.circle.com/api-reference/circle-mint/onboarding/remove-entity openapi/partner-openapi.yaml delete /v1/onboarding/partner/applications/{applicationId}/sections/{sectionName}/{refId} # Save section data for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/save-section openapi/partner-openapi.yaml put /v1/onboarding/partner/applications/{applicationId}/sections/{sectionName} Saves field data for a section. The request body is a JSON object whose shape is defined by the section's JSON Schema (retrieve it via GET /{applicationId}/schema). For MULTIPLE array sections, maxItems is enforced and over-limit payloads return 422. # Submit an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/submit-application openapi/partner-openapi.yaml post /v1/onboarding/partner/applications/{applicationId}/submit # Update a comment on an RFI Source: https://developers.circle.com/api-reference/circle-mint/onboarding/update-comment openapi/partner-openapi.yaml put /v1/onboarding/partner/applications/{applicationId}/rfis/{rfiId}/comments/{commentId} # Submit field data in response to an UPDATE_FIELD or NEW_FIELD RFI Source: https://developers.circle.com/api-reference/circle-mint/onboarding/update-rfidata openapi/partner-openapi.yaml patch /v1/onboarding/partner/applications/{applicationId}/rfis/{rfiId} # Upload a document for an application Source: https://developers.circle.com/api-reference/circle-mint/onboarding/upload-document openapi/partner-openapi.yaml post /v1/onboarding/partner/applications/{applicationId}/documents # Create a crypto payment customer Source: https://developers.circle.com/api-reference/circle-mint/payments/create-payment-customer openapi/payments.yaml post /v1/payments/customers Creates a Travel Rule customer profile for crypto payment attribution. These APIs are available to eligible Circle Singapore (`CIRCLE_SG`) merchants. The customer starts in `pending` status while screening completes. A customer must be `approved` before a customer wallet can be created. # Create a crypto payment customer wallet Source: https://developers.circle.com/api-reference/circle-mint/payments/create-payment-customer-wallet openapi/payments.yaml post /v1/payments/customers/{customerId}/wallets Registers a hosted customer wallet for an approved Travel Rule customer. The resulting customer wallet ID can be supplied as `customerWalletId` when creating a transient payment intent. Customer wallet creation is available to eligible Circle Singapore (`CIRCLE_SG`) merchants. The customer must be `approved`. # Create a payment intent Source: https://developers.circle.com/api-reference/circle-mint/payments/create-payment-intent openapi/payments.yaml post /v1/paymentIntents Create a continuous (default) or transient payment intent. Continuous payment intents are created by default. To create a transient payment intent, the `type` field must be explicitly set to `transient`. `purposeOfTransfer` is conditionally required: it must be supplied when the entity's legal entity is Circle SG (`CIRCLE_SG`), Circle Inc (`CIRCLE_INC`) with Managed Payments enabled, or Circle SAS (`CIRCLE_FR`); it is optional for other legal entities. `PMT006` is not allowed. Eligible Circle SG (`CIRCLE_SG`) merchants can link a transient payment intent to a Travel Rule customer wallet by supplying `customerWalletId`. # Create a crypto payment refund address Source: https://developers.circle.com/api-reference/circle-mint/payments/create-payment-refund-address openapi/payments.yaml post /v1/payments/refundAddresses Creates a refund address-book entry that can be used as `destination.addressBookId` when refunding a crypto payment intent. This endpoint is used for Circle Singapore (`CIRCLE_SG`) refund flow 2, where the refund goes to a different address while reusing the original payment's Travel Rule originator PII. Provide the original `paymentId` and a hosted VASP in `ownership.custody.vaspId`; the supplied VASP ID must match the VASP associated with the original payment sender. Do not provide recipient `identity` in the request. Identity is derived from the original payment's Travel Rule originator PII. # Expire a payment intent Source: https://developers.circle.com/api-reference/circle-mint/payments/expire-payment-intent openapi/payments.yaml post /v1/paymentIntents/{id}/expire # Get a payment Source: https://developers.circle.com/api-reference/circle-mint/payments/get-payment openapi/payments.yaml get /v1/payments/{id} # Get a crypto payment customer Source: https://developers.circle.com/api-reference/circle-mint/payments/get-payment-customer openapi/payments.yaml get /v1/payments/customers/{id} Returns a Travel Rule customer, including customer details, for eligible Circle Singapore (`CIRCLE_SG`) merchants. # Get a crypto payment customer wallet Source: https://developers.
프로젝트로 돌아가기