Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9,398 changes: 5,633 additions & 3,765 deletions mintlify/openapi.yaml

Large diffs are not rendered by default.

9,398 changes: 5,633 additions & 3,765 deletions openapi.yaml

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions openapi/components/schemas/errors/Error400.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,22 @@ properties:
| INCOMPLETE | Document is missing pages or sides |
| EMAIL_OTP_CREDENTIAL_ALREADY_EXISTS | An EMAIL_OTP credential is already registered on the target internal account; only one email OTP credential is supported per internal account at this time |
| PASSKEY_CREDENTIAL_ALREADY_EXISTS | A PASSKEY credential with the same WebAuthn credentialId is already registered on the target internal account |
| STABLECOIN_PROVIDER_ACCOUNT_INVALID | The stablecoin provider account link is not usable |
| STABLECOIN_PROVIDER_ACCOUNT_REVOKED | The stablecoin provider account link has been revoked |
| STABLECOIN_PROVIDER_ACCOUNT_SELECTION_REQUIRED | Multiple active provider account links exist; pass `stablecoinProviderAccountId` to select one |
| STABLECOIN_VERIFICATION_FAILED | Provider verification of the stablecoin or credentials failed |
| STABLECOIN_EXTERNAL_ACCOUNT_LINK_FAILED | Linking the external account with the provider failed |
| STABLECOIN_EXTERNAL_ACCOUNT_LINK_METHOD_REQUIRED | The request must specify a supported external-account link method |
| STABLECOIN_NOT_PROVISIONED | The stablecoin is not provisioned with the provider |
| STABLECOIN_GRID_OPERATIONS_NOT_ENABLED | Grid operations are not enabled for this stablecoin |
| STABLECOIN_QUOTE_EXPIRED | The stablecoin quote has expired |
| STABLECOIN_AMOUNT_NOT_REPRESENTABLE | The amount cannot be represented in the target currency or token precision |
| STABLECOIN_OPERATION_NOT_SUPPORTED | The requested stablecoin operation is not supported |
| STABLECOIN_EXTERNAL_ACCOUNT_NOT_LINKED | The stablecoin external account is not linked or not active |
| STABLECOIN_EXTERNAL_ACCOUNT_NOT_SUPPORTED | The stablecoin external account does not support the requested transfer type |
| STABLECOIN_BURN_SOURCE_NOT_SUPPORTED | The burn source account is not supported |
| STABLECOIN_PROVIDER_SOURCE_NOT_LINKED | The provider token-balance funding source is not linked |
| STABLECOIN_PROVIDER_ERROR | The stablecoin provider rejected or failed the request |
enum:
- INVALID_INPUT
- MISSING_MANDATORY_USER_INFO
Expand Down Expand Up @@ -85,6 +101,22 @@ properties:
- INCOMPLETE
- EMAIL_OTP_CREDENTIAL_ALREADY_EXISTS
- PASSKEY_CREDENTIAL_ALREADY_EXISTS
- STABLECOIN_PROVIDER_ACCOUNT_INVALID
- STABLECOIN_PROVIDER_ACCOUNT_REVOKED
- STABLECOIN_PROVIDER_ACCOUNT_SELECTION_REQUIRED
- STABLECOIN_VERIFICATION_FAILED
- STABLECOIN_EXTERNAL_ACCOUNT_LINK_FAILED
- STABLECOIN_EXTERNAL_ACCOUNT_LINK_METHOD_REQUIRED
- STABLECOIN_NOT_PROVISIONED
- STABLECOIN_GRID_OPERATIONS_NOT_ENABLED
- STABLECOIN_QUOTE_EXPIRED
- STABLECOIN_AMOUNT_NOT_REPRESENTABLE
- STABLECOIN_OPERATION_NOT_SUPPORTED
- STABLECOIN_EXTERNAL_ACCOUNT_NOT_LINKED
- STABLECOIN_EXTERNAL_ACCOUNT_NOT_SUPPORTED
- STABLECOIN_BURN_SOURCE_NOT_SUPPORTED
- STABLECOIN_PROVIDER_SOURCE_NOT_LINKED
- STABLECOIN_PROVIDER_ERROR
message:
type: string
description: Error message
Expand Down
10 changes: 10 additions & 0 deletions openapi/components/schemas/errors/Error404.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ properties:
| BULK_UPLOAD_JOB_NOT_FOUND | Bulk upload job not found |
| REFERENCE_NOT_FOUND | Reference not found |
| UMA_NOT_FOUND | The UMA address is well-formed but no receiver exists at the counterparty VASP |
| STABLECOIN_NOT_FOUND | Stablecoin not found |
| STABLECOIN_PROVIDER_ACCOUNT_NOT_FOUND | Stablecoin provider account link not found |
| STABLECOIN_EXTERNAL_ACCOUNT_NOT_FOUND | Stablecoin external account not found |
| STABLECOIN_QUOTE_NOT_FOUND | Stablecoin quote not found |
| STABLECOIN_OPERATION_NOT_FOUND | Stablecoin operation not found |
enum:
- TRANSACTION_NOT_FOUND
- INVITATION_NOT_FOUND
Expand All @@ -33,6 +38,11 @@ properties:
- BULK_UPLOAD_JOB_NOT_FOUND
- REFERENCE_NOT_FOUND
- UMA_NOT_FOUND
- STABLECOIN_NOT_FOUND
- STABLECOIN_PROVIDER_ACCOUNT_NOT_FOUND
- STABLECOIN_EXTERNAL_ACCOUNT_NOT_FOUND
- STABLECOIN_QUOTE_NOT_FOUND
- STABLECOIN_OPERATION_NOT_FOUND
message:
type: string
description: Error message
Expand Down
4 changes: 4 additions & 0 deletions openapi/components/schemas/errors/Error409.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,16 @@ properties:
| EMAIL_OTP_EMAIL_ALREADY_EXISTS | Email address is already associated with an EMAIL_OTP credential |
| EMAIL_OTP_CREDENTIAL_SET_CHANGED | Tied EMAIL_OTP credential set changed after the signed-retry challenge was issued |
| CONFLICT | Generic resource-state conflict. Returned, for example, when `platformCustomerId` on a customer create call collides with an existing active customer on the same platform |
| STABLECOIN_SYMBOL_ALREADY_EXISTS | A stablecoin with the same symbol is already registered for this platform |
| STABLECOIN_TOKEN_IDENTIFIER_ALREADY_EXISTS | A stablecoin with the same network token identifier is already registered |
enum:
- TRANSACTION_NOT_PENDING_PLATFORM_APPROVAL
- UMA_ADDRESS_EXISTS
- EMAIL_OTP_EMAIL_ALREADY_EXISTS
- EMAIL_OTP_CREDENTIAL_SET_CHANGED
- CONFLICT
- STABLECOIN_SYMBOL_ALREADY_EXISTS
- STABLECOIN_TOKEN_IDENTIFIER_ALREADY_EXISTS
message:
type: string
description: Error message
Expand Down
74 changes: 74 additions & 0 deletions openapi/components/schemas/stablecoins/Stablecoin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
type: object
required:
- id
- name
- symbol
- baseCurrency
- network
- decimals
- issuanceStatus
- gridOperationsStatus
- networkTokenIdentifier
- provider
- stablecoinProviderAccountId
- providerEnvironment
- providerTokenIdentifier
- createdAt
- updatedAt
properties:
id:
type: string
description: System-generated stablecoin identifier.
example: Stablecoin:019542f5-b3e7-1d02-0000-000000000002
name:
type: string
description: Stablecoin display name.
example: Acme Dollar
symbol:
type: string
description: Stablecoin symbol.
example: ACME
baseCurrency:
type: string
description: Fiat currency the stablecoin is denominated against.
example: USD
network:
$ref: StablecoinNetwork.yaml
decimals:
type: integer
description: Number of decimal places used by the stablecoin.
example: 6
issuanceStatus:
$ref: StablecoinIssuanceStatus.yaml
gridOperationsStatus:
$ref: StablecoinGridOperationsStatus.yaml
networkTokenIdentifier:
type: string
description: Token identifier in the namespace selected by `network`.
example: btkn1qw508d6qejxtdg4y5r3zarvary0c5xw7k
currency:
type: string
description: Grid currency code after the stablecoin is enabled for Grid operations.
example: ACME
provider:
$ref: StablecoinProvider.yaml
stablecoinProviderAccountId:
type: string
description: Stablecoin provider account link selected for this stablecoin.
example: StablecoinProviderAccount:019542f5-b3e7-1d02-0000-000000000001
providerEnvironment:
$ref: StablecoinProviderEnvironment.yaml
providerTokenIdentifier:
type: string
description: Provider token identifier. For Brale this maps to `value_type`.
example: ACME
createdAt:
type: string
format: date-time
description: Creation timestamp.
example: '2026-05-20T16:40:00Z'
updatedAt:
type: string
format: date-time
description: Last update timestamp.
example: '2026-05-20T17:10:00Z'
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
type: object
required:
- type
- stablecoinExternalAccountId
properties:
type:
type: string
enum:
- ACH_DEBIT
- SAME_DAY_ACH_DEBIT
stablecoinExternalAccountId:
type: string
description: Linked provider external account to debit.
example: StablecoinExternalAccount:019542f5-b3e7-1d02-0000-000000000005
6 changes: 6 additions & 0 deletions openapi/components/schemas/stablecoins/StablecoinAmount.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
type: string
pattern: ^[1-9][0-9]*$
description: Amount in the stablecoin's smallest unit, as a base-10 integer string (uint128 range). Strings
avoid JavaScript precision loss. Must convert exactly to a provider-representable fiat amount (whole
cents for USD).
example: '100000000'
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
type: object
required:
- type
- stablecoinExternalAccountId
- rail
properties:
type:
type: string
enum:
- STABLECOIN_EXTERNAL_ACCOUNT
stablecoinExternalAccountId:
type: string
description: Linked stablecoin external account to receive the fiat redemption.
example: StablecoinExternalAccount:019542f5-b3e7-1d02-0000-000000000005
rail:
$ref: StablecoinPayoutRail.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
type: object
required:
- operationType
- amount
- source
- destination
properties:
operationType:
type: string
enum:
- BURN
amount:
$ref: StablecoinAmount.yaml
source:
$ref: StablecoinBurnSource.yaml
destination:
$ref: StablecoinBurnDestination.yaml
description:
type: string
maxLength: 1024
description: Optional platform-supplied description carried through to the executed operation.
example: Redeem ACME
13 changes: 13 additions & 0 deletions openapi/components/schemas/stablecoins/StablecoinBurnSource.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
type: object
required:
- type
- accountId
properties:
type:
type: string
enum:
- GRID_INTERNAL_ACCOUNT
accountId:
type: string
description: Grid-controlled internal account holding the stablecoin balance to redeem.
example: InternalAccount:019542f5-b3e7-1d02-0000-000000000006
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
type: string
enum:
- ETHEREUM
- SOLANA
- BASE
- POLYGON
- SPARK
- TRON
description: Crypto network used by a provider token-balance funding source.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
type: object
required:
- routingNumber
- accountNumber
- accountType
- accountHolderName
properties:
routingNumber:
type: string
writeOnly: true
description: US bank routing number.
example: '021000021'
accountNumber:
type: string
writeOnly: true
description: US bank account number.
example: '123456789'
accountType:
type: string
enum:
- CHECKING
- SAVINGS
description: US bank account type.
accountHolderName:
type: string
description: Bank account holder legal name.
example: Acme Inc
institutionName:
type: string
description: Bank/institution display name.
example: Example Bank
beneficiaryAddress:
allOf:
- $ref: ../common/Address.yaml
description: Beneficiary postal address. Required by some payout rails (especially WIRE) and when
`createGridExternalAccount` is true.
bankAddress:
allOf:
- $ref: ../common/Address.yaml
description: Bank branch postal address. Required by some payout rails (especially WIRE).
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
type: object
description: Sanitized fiat delivery estimate for a burn/redemption.
required:
- rail
- amount
- currency
properties:
rail:
$ref: StablecoinPayoutRail.yaml
amount:
type: string
pattern: ^[0-9]+$
description: Estimated delivery amount as a base-10 integer string in the smallest unit of `currency`.
example: '100000000'
currency:
type: string
description: Currency of the estimated delivery.
example: USD
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
type: object
required:
- id
- provider
- stablecoinProviderAccountId
- providerEnvironment
- accountType
- creationMethod
- status
- supportedTransferTypes
- createdAt
- updatedAt
properties:
id:
type: string
description: System-generated stablecoin external account identifier.
example: StablecoinExternalAccount:019542f5-b3e7-1d02-0000-000000000005
provider:
$ref: StablecoinProvider.yaml
stablecoinProviderAccountId:
type: string
description: Stablecoin provider account link for this external account.
example: StablecoinProviderAccount:019542f5-b3e7-1d02-0000-000000000001
providerEnvironment:
$ref: StablecoinProviderEnvironment.yaml
accountType:
$ref: StablecoinExternalAccountType.yaml
creationMethod:
$ref: StablecoinExternalAccountCreationMethod.yaml
status:
$ref: StablecoinExternalAccountStatus.yaml
gridExternalAccountId:
type: string
description: Linked normal Grid external account id, when one exists.
example: ExternalAccount:019542f5-b3e7-1d02-0000-000000000004
supportedTransferTypes:
type: array
items:
$ref: StablecoinTransferType.yaml
providerStatus:
type: string
description: Safe provider status summary.
example: active
lastVerifiedAt:
type: string
format: date-time
description: Timestamp of the last successful provider external-account verification.
example: '2026-05-20T17:25:00Z'
createdAt:
type: string
format: date-time
description: Creation timestamp.
example: '2026-05-20T17:25:00Z'
updatedAt:
type: string
format: date-time
description: Last update timestamp.
example: '2026-05-20T17:25:00Z'
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
type: string
enum:
- GRID_EXTERNAL_ACCOUNT
- PLAID
- DIRECT_BANK_ENTRY
description: How the stablecoin external account was linked.
Loading
Loading