{"openapi":"3.0.0","paths":{"/v1/auth/m2m/token":{"post":{"description":"Obtain an authentication M2M token with the access token.","operationId":"AuthController_signIn","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthM2MSignInDto"}}}},"responses":{"201":{"description":"An authentication M2M token with the access token, token type, and the remaining time (in seconds) until expiration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthM2MTokenEntity"}}}}},"summary":"Obtain authentication M2M tokens","tags":["Authentication"]}},"/v1/transactions":{"get":{"description":"Retrieve a list of Transactions with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"TransactionsController_getTransactions","parameters":[{"name":"id","required":false,"in":"query","schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionFeedScope"}},{"name":"status","required":false,"in":"query","description":"Transaction status.","schema":{"$ref":"#/components/schemas/TransactionStatus"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionType"}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"sourceAccountId","required":false,"in":"query","description":"Source account.","schema":{"type":"string"}},{"name":"destinationAccountId","required":false,"in":"query","description":"Destination account.","schema":{"type":"string"}},{"name":"includeAccounts","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"fromDate","required":false,"in":"query","description":"Start date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with fromUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toDate","required":false,"in":"query","description":"End date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with toUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"fromUpdatedDate","required":false,"in":"query","description":"Start date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with fromDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toUpdatedDate","required":false,"in":"query","description":"End date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with toDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"counterPartyIdentityId","required":false,"in":"query","schema":{"type":"string"}},{"name":"benchmarkStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BenchmarkStatus"}},{"name":"intelligence","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BenchmarkIntelligence"}},{"name":"reconciliationStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationStatus"}},{"name":"reconciliationRunId","required":false,"in":"query","schema":{"type":"string"}},{"name":"country","required":false,"in":"query","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiatCurrency","required":false,"in":"query","schema":{"example":"USD","type":"string"}},{"name":"asset","required":false,"in":"query","schema":{"example":"USDC","type":"string"}},{"name":"externalId","required":false,"in":"query","description":"Provider-side transaction id, as reported by the PFI.","schema":{"example":"po_5lHqUz3lij6M","type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Transactions and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedTransactionEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Transactions","tags":["Transactions"]}},"/v1/transactions/intelligence-stats":{"get":{"description":"Aggregate counts (total, all-clear, need-review, reconciliation-issues, matched ratio, USD volume) over the same filter set as the transactions list. Powers the Transaction Intelligence Strip.","operationId":"TransactionsController_getIntelligenceStats","parameters":[{"name":"id","required":false,"in":"query","schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionFeedScope"}},{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionStatus"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionType"}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"sourceAccountId","required":false,"in":"query","schema":{"type":"string"}},{"name":"destinationAccountId","required":false,"in":"query","schema":{"type":"string"}},{"name":"includeAccounts","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"fromDate","required":false,"in":"query","description":"Start date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with fromUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toDate","required":false,"in":"query","description":"End date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with toUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"fromUpdatedDate","required":false,"in":"query","description":"Start date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with fromDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toUpdatedDate","required":false,"in":"query","description":"End date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with toDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"counterPartyIdentityId","required":false,"in":"query","schema":{"type":"string"}},{"name":"benchmarkStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BenchmarkStatus"}},{"name":"intelligence","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BenchmarkIntelligence"}},{"name":"reconciliationStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationStatus"}},{"name":"reconciliationRunId","required":false,"in":"query","schema":{"type":"string"}},{"name":"country","required":false,"in":"query","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiatCurrency","required":false,"in":"query","schema":{"example":"USD","type":"string"}},{"name":"asset","required":false,"in":"query","schema":{"example":"USDC","type":"string"}},{"name":"externalId","required":false,"in":"query","description":"Provider-side transaction id, as reported by the PFI.","schema":{"example":"po_5lHqUz3lij6M","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionIntelligenceStatsEntity"}}}}},"security":[{"bearer":[]}],"summary":"Transaction intelligence stats","tags":["Transactions"]}},"/v1/transactions/import-benchmark-summary":{"get":{"description":"Portfolio-level vs-market opportunity across the organization's imported, classified transactions — a confidence-gated USD range, suppressed when the interval straddles zero. Powers the import benchmark portfolio card.","operationId":"TransactionsController_getImportBenchmarkSummary","parameters":[{"name":"id","required":false,"in":"query","schema":{"type":"string"}},{"name":"scope","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionFeedScope"}},{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionStatus"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionType"}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"sourceAccountId","required":false,"in":"query","schema":{"type":"string"}},{"name":"destinationAccountId","required":false,"in":"query","schema":{"type":"string"}},{"name":"includeAccounts","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"fromDate","required":false,"in":"query","description":"Start date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with fromUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toDate","required":false,"in":"query","description":"End date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with toUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"fromUpdatedDate","required":false,"in":"query","description":"Start date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with fromDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toUpdatedDate","required":false,"in":"query","description":"End date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with toDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"counterPartyIdentityId","required":false,"in":"query","schema":{"type":"string"}},{"name":"benchmarkStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BenchmarkStatus"}},{"name":"intelligence","required":false,"in":"query","schema":{"$ref":"#/components/schemas/BenchmarkIntelligence"}},{"name":"reconciliationStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationStatus"}},{"name":"reconciliationRunId","required":false,"in":"query","schema":{"type":"string"}},{"name":"country","required":false,"in":"query","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiatCurrency","required":false,"in":"query","schema":{"example":"USD","type":"string"}},{"name":"asset","required":false,"in":"query","schema":{"example":"USDC","type":"string"}},{"name":"externalId","required":false,"in":"query","description":"Provider-side transaction id, as reported by the PFI.","schema":{"example":"po_5lHqUz3lij6M","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportBenchmarkPortfolioEntity"}}}}},"security":[{"bearer":[]}],"summary":"Imported-transaction execution portfolio summary","tags":["Transactions"]}},"/v1/transactions/export":{"get":{"description":"Exports a list of transactions that occurred between the specified fromDate and endDate.","operationId":"TransactionsController_exportTransactions","parameters":[{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionStatus"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/TransactionType"}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"sourceAccountId","required":false,"in":"query","schema":{"type":"string"}},{"name":"destinationAccountId","required":false,"in":"query","schema":{"type":"string"}},{"name":"fromDate","required":false,"in":"query","description":"Start date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with fromUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toDate","required":false,"in":"query","description":"End date for filtering transactions by createdAt (YYYY-MM-DD). Cannot be used with toUpdatedDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"fromUpdatedDate","required":false,"in":"query","description":"Start date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with fromDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toUpdatedDate","required":false,"in":"query","description":"End date for filtering transactions by updatedAt (YYYY-MM-DD). Cannot be used with toDate.","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"reconciliationStatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationStatus"}},{"name":"country","required":false,"in":"query","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiatCurrency","required":false,"in":"query","schema":{"example":"USD","type":"string"}},{"name":"asset","required":false,"in":"query","schema":{"example":"USDC","type":"string"}}],"responses":{"200":{"description":"CSV file containing the exported transactions.","content":{"text/csv":{"schema":{"type":"string","format":"binary"}}}}},"security":[{"bearer":[]}],"summary":"Export transactions","tags":["Transactions"]}},"/v1/transactions/{id}/cancel":{"post":{"description":"Sends a cancellation request for the specified transaction. Cancellation is not guaranteed and depends on the transaction status. Cancelling an already cancelled transaction is accepted and has no effect. Returns a conflict error when the transaction has reached a different final status or is already being processed.","operationId":"TransactionsController_cancelTransaction","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"202":{"description":"Requested cancellation of a transaction"},"409":{"description":"Transaction can no longer be cancelled"}},"security":[{"bearer":[]}],"summary":"Request cancellation of a transaction.","tags":["Transactions"]}},"/v1/transactions/{id}":{"get":{"description":"Retrieve a Transaction by its unique identification. Returns 404 if the Transaction does not exist.","operationId":"TransactionsController_getTransactionById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Transaction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionEntity"}}}},"404":{"description":"The Transaction with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get a Transaction by id","tags":["Transactions"]}},"/v1/notifications/webhooks/events":{"get":{"description":"Retrieve a list of Webhook Events with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"EventsController_getEvents","parameters":[{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Webhook Events and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedWebhookEventEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Webhook Events","tags":["Webhooks"]}},"/v1/notifications/webhooks/settings/public-key":{"post":{"description":"Regenerate webhook private/public keys pair and return public key.","operationId":"SettingsController_generateWebhookKeys","parameters":[],"responses":{"201":{"description":"Successfully retrieved Webhook public key.","content":{"application/json":{"schema":{"type":"string"}}}}},"security":[{"bearer":[]}],"summary":"Generate Webhook keys","tags":["Webhooks"]},"get":{"description":"Retrieve webhook public key if present in the system.","operationId":"SettingsController_getWebhookPublicKey","parameters":[],"responses":{"200":{"description":"Successfully retrieved Webhook public key.","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Webhook public key is not generated."}},"security":[{"bearer":[]}],"summary":"Retrieve Webhook public key","tags":["Webhooks"]}},"/v1/notifications/webhooks/settings":{"get":{"description":"Retrieve a list of all Registered Webhooks.","operationId":"SettingsController_getSettings","parameters":[],"responses":{"200":{"description":"List of Registered Webhooks.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSettingsEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Get all Registered Webhooks","tags":["Webhooks"]},"post":{"description":"Create a new Webhook Settings using the data provided in the request body.","operationId":"SettingsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksServiceConfigDto"}}}},"responses":{"201":{"description":"Successfully created Webhook Settings data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSettingsEntity"}}}},"400":{"description":"The Webhook Settings data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Webhook Settings","tags":["Webhooks"]}},"/v1/notifications/webhooks/settings/{id}":{"get":{"description":"Retrieve a Webhook Settings by its unique identification. Returns 404 if the Webhook Settings does not exist.","operationId":"SettingsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Webhook Settings data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSettingsEntity"}}}},"404":{"description":"The Webhook Settings with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get a Webhook Settings by id","tags":["Webhooks"]},"patch":{"description":"Update a Webhook Settings using the data provided in the request body.","operationId":"SettingsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksServiceConfigDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSettingsEntity"}}}},"201":{"description":"Successfully updated Webhook Settings data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSettingsEntity"}}}},"400":{"description":"The Webhook Settings data is invalid or incomplete."},"404":{"description":"The Webhook Settings with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Update a Webhook Settings","tags":["Webhooks"]},"delete":{"description":"Delete the specified a Webhook Settings by its id. This action is irreversible. Returns 404 if the entity is not found.","operationId":"SettingsController_delete","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted Webhook Settings data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSettingsEntity"}}}},"404":{"description":"The Webhook Settings with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Delete a Webhook Settings by id","tags":["Webhooks"]}},"/v1/organizations/audit-events":{"get":{"description":"Retrieve a list of Organization Audit Events with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"OrganizationAuditController_list","parameters":[{"name":"category","required":false,"in":"query","description":"Filter by event category.","schema":{"$ref":"#/components/schemas/OrganizationAuditCategory"}},{"name":"actorType","required":false,"in":"query","description":"Filter by actor type.","schema":{"$ref":"#/components/schemas/OrganizationAuditActorType"}},{"name":"action","required":false,"in":"query","description":"Filter by exact action key.","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","description":"Only events at or after this ISO date-time.","schema":{"type":"string"}},{"name":"to","required":false,"in":"query","description":"Only events at or before this ISO date-time. A date without a time includes that whole day (UTC).","schema":{"type":"string"}},{"name":"search","required":false,"in":"query","description":"Free-text search over action and actor email.","schema":{"type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Organization Audit Events and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedOrganizationAuditEventEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Organization Audit Events","tags":["Organizations"]}},"/v1/identities":{"get":{"description":"Retrieve a list of Identities with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"IdentitiesController_getIdentities","parameters":[{"name":"namePrefix","required":false,"in":"query","description":"Prefix for filtering identities by name","schema":{"type":"string"}},{"name":"emailPrefix","required":false,"in":"query","description":"Prefix for filtering identities by email","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","description":"Type of identity (Personal or Business","schema":{"$ref":"#/components/schemas/IdentityType"}},{"name":"id","required":false,"in":"query","schema":{"type":"string"}},{"name":"hasComplianceCheck","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"includeIds","required":false,"in":"query","schema":{"type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Identities and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedIdentityEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Identities","tags":["Identities"]}},"/v1/identities/{id}":{"get":{"description":"Retrieve an Identity by its unique identification. Returns 404 if the Identity does not exist.","operationId":"IdentitiesController_getIdentity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Identity data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"404":{"description":"The Identity with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get an Identity by id","tags":["Identities"]},"delete":{"description":"Delete the specified an Identity by its id. This action is irreversible. Returns 404 if the entity is not found.","operationId":"IdentitiesController_deleteIdentity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted Identity data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityEntity"}}}},"404":{"description":"The Identity with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Delete an Identity by id","tags":["Identities"]}},"/v1/identities/personal":{"post":{"description":"Create a new Personal Identity using the data provided in the request body.","operationId":"IdentitiesController_createPersonalIdentity","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalIdentityCreateDto"}}}},"responses":{"201":{"description":"Successfully created Personal Identity data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"400":{"description":"The Personal Identity data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Personal Identity","tags":["Identities"]}},"/v1/identities/personal/{id}":{"patch":{"description":"Update a Personal Identity using the data provided in the request body.","operationId":"IdentitiesController_updatePersonalIdentity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalIdentityUpdateDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"201":{"description":"Successfully updated Personal Identity data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"400":{"description":"The Personal Identity data is invalid or incomplete."},"404":{"description":"The Personal Identity with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Update a Personal Identity","tags":["Identities"]}},"/v1/identities/business":{"post":{"description":"Create a new Business Identity using the data provided in the request body.","operationId":"IdentitiesController_createBusinessIdentity","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessIdentityCreateDto"}}}},"responses":{"201":{"description":"Successfully created Business Identity data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"400":{"description":"The Business Identity data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Business Identity","tags":["Identities"]}},"/v1/identities/business/{id}":{"patch":{"description":"Update a Business Identity using the data provided in the request body.","operationId":"IdentitiesController_updateBusinessIdentity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessIdentityUpdateDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"201":{"description":"Successfully updated Business Identity data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDetailsEntity"}}}},"400":{"description":"The Business Identity data is invalid or incomplete."},"404":{"description":"The Business Identity with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Update a Business Identity","tags":["Identities"]}},"/v1/identities/{id}/documents":{"put":{"description":"Upload a new Document, and attach it to Identity by id.","operationId":"IdentitiesController_uploadIdentityDocuments","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDocumentCreateDto"}}}},"responses":{"200":{"description":"Identity data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityEntity"}}}}},"security":[{"bearer":[]}],"summary":"Upload a Document","tags":["Identities"]}},"/v1/identities/{id}/documents/{documentId}":{"delete":{"description":"Delete a document by id from the specified identity.","operationId":"IdentitiesController_deleteIdentityDocument","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Identity data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityEntity"}}}}},"security":[{"bearer":[]}],"summary":"Delete a Document","tags":["Identities"]}},"/v1/identities/{id}/documents/{documentId}/url":{"get":{"description":"Get a short-lived presigned URL to view or download a document side.","operationId":"IdentitiesController_getIdentityDocumentUrl","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"side","required":false,"in":"query","description":"Document side to retrieve (defaults to front).","schema":{"$ref":"#/components/schemas/DocumentSide"}}],"responses":{"200":{"description":"Presigned document URL","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDocumentUrlEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get a Document URL","tags":["Identities"]}},"/v1/organizations/network/defaults":{"get":{"description":"Retrieve default PFI assignments per (country, operationType) for the organization.","operationId":"OrganizationDefaultPFIController_getDefaults","parameters":[],"responses":{"200":{"description":"List of default PFI assignments.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DefaultPFIEntity"}}}}}},"security":[{"bearer":[]}],"summary":"List default PFIs","tags":["Network Defaults"]},"post":{"operationId":"OrganizationDefaultPFIController_upsertDefault","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertDefaultPFIDto"}}}},"responses":{"201":{"description":"Create or update a default PFI assignment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultPFIEntity"}}}}},"security":[{"bearer":[]}],"tags":["Network Defaults"]},"delete":{"operationId":"OrganizationDefaultPFIController_deleteDefault","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteDefaultPFIDto"}}}},"responses":{"200":{"description":"Remove a default PFI assignment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultPFIEntity"}}}}},"security":[{"bearer":[]}],"tags":["Network Defaults"]}},"/v1/organizations/network/defaults/bulk":{"post":{"operationId":"OrganizationDefaultPFIController_bulkUpsertDefaults","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpsertDefaultsDto"}}}},"responses":{"201":{"description":"Bulk create or update default PFI assignments for a single provider.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DefaultPFIEntity"}}}}}},"security":[{"bearer":[]}],"tags":["Network Defaults"]}},"/v1/organizations/network":{"get":{"description":"Retrieve all network providers with their capabilities for the organization.","operationId":"NetworkController_getNetwork","parameters":[{"name":"status","required":false,"in":"query","description":"Filter providers by status. Accepts a single value or repeated keys (e.g. `?status=active&status=pending`).","schema":{"type":"array","items":{"$ref":"#/components/schemas/PFIConfigStatus"}}}],"responses":{"200":{"description":"List of network providers.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NetworkProviderEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Get network providers","tags":["Network"]}},"/v1/webhooks/mastercard":{"post":{"operationId":"MastercardWebhookController_handleWebhook","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MastercardWebhookDto"}}}},"responses":{"200":{"description":"Webhook received successfully."}},"summary":"Receive Mastercard Crypto Credential event notifications","tags":["Mastercard Crypto Credential"]}},"/v1/mastercard/crypto-credential/accounts":{"post":{"description":"Registers an alias with Mastercard Crypto Credential so it can receive crypto. Only accountAlias is required. Mastercard derives a domain name alias from it and returns it under additionalAccountAliases — that derived alias, not the one you submitted, is what other participants resolve. Registering an alias that already exists fails.","operationId":"CryptoCredentialController_createAccount","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialAccountDto"}}}},"responses":{"201":{"description":"Account created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialAccountEntity"}}}}},"security":[{"bearer":[]}],"summary":"Create a Crypto Credential account","tags":["Mastercard Crypto Credential"]},"put":{"description":"Updates an account addressed by its accountAlias. Send only the fields you want to change; omitted fields are left as they are. Use it to suspend or reactivate an alias, optionally stating why through statusReasonInformation.","operationId":"CryptoCredentialController_updateAccount","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialAccountDto"}}}},"responses":{"204":{"description":"Account updated successfully."}},"security":[{"bearer":[]}],"summary":"Update a Crypto Credential account","tags":["Mastercard Crypto Credential"]}},"/v1/mastercard/crypto-credential/accounts/search":{"get":{"description":"Returns the accounts registered under an alias, together with their blockchain addresses. This is the only way to discover the id of a registered address, since there is no endpoint that lists them.","operationId":"CryptoCredentialController_searchAccount","parameters":[{"name":"accountAlias","required":true,"in":"query","description":"The alias of the account to look up. The match is exact, so partial aliases return nothing.","schema":{"maxLength":255,"example":"user@example.com","type":"string"}}],"responses":{"200":{"description":"Search results returned successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialAccountEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Search for a Crypto Credential account","tags":["Mastercard Crypto Credential"]}},"/v1/mastercard/crypto-credential/crypto-addresses":{"post":{"description":"Attaches a blockchain address to an existing account alias, so that resolving the alias for that asset returns this address. An account can hold several addresses, one per asset. The response is the only place the new address id is returned — keep it, or find it later through the account search endpoint.","operationId":"CryptoCredentialController_createCryptoAddress","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialCreateAddressDto"}}}},"responses":{"201":{"description":"Crypto address registered successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialAddressEntity"}}}}},"security":[{"bearer":[]}],"summary":"Register a blockchain address","tags":["Mastercard Crypto Credential"]}},"/v1/mastercard/crypto-credential/crypto-addresses/{cryptoAddressId}":{"put":{"description":"Changes a registered address, addressed by its id. Use it either to change the status, or to replace the address, its asset, or the account alias it belongs to. Send only the fields you want to change.","operationId":"CryptoCredentialController_updateCryptoAddress","parameters":[{"name":"cryptoAddressId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialUpdateAddressDto"}}}},"responses":{"204":{"description":"Crypto address updated successfully."}},"security":[{"bearer":[]}],"summary":"Update a registered blockchain address","tags":["Mastercard Crypto Credential"]},"delete":{"description":"Permanently retires a registered address so the alias no longer resolves to it. This cannot be undone — to stop an address temporarily, suspend it through the update endpoint instead.","operationId":"CryptoCredentialController_decommissionCryptoAddress","parameters":[{"name":"cryptoAddressId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Crypto address decommissioned successfully."}},"security":[{"bearer":[]}],"summary":"Decommission a registered blockchain address","tags":["Mastercard Crypto Credential"]},"get":{"description":"Returns a single registered address by its id. Obtain the id from the response of the register endpoint or from an account search.","operationId":"CryptoCredentialController_getCryptoAddress","parameters":[{"name":"cryptoAddressId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Crypto address returned successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialAddressEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get a registered blockchain address","tags":["Mastercard Crypto Credential"]}},"/v1/mastercard/crypto-credential/alias-lookup":{"get":{"description":"Resolves an alias across the Crypto Credential network and returns its status, the country it is registered in, and the assets it can receive. The alias may belong to any participant, which makes this the check to run before sending funds to one. vasps is present only when your organization is entitled to that data.","operationId":"CryptoCredentialController_aliasLookup","parameters":[{"name":"accountAlias","required":true,"in":"query","description":"The alias to resolve. It may belong to any organisation on the Crypto Credential network, not only your own.","schema":{"maxLength":255,"example":"user@example.com","type":"string"}},{"name":"asset","required":false,"in":"query","description":"Restrict the results to a single token tied to a specific blockchain. Omit it to receive every asset the alias supports.","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"offset","required":false,"in":"query","description":"How many of the alias's assets to skip before returning results.","schema":{"minimum":0,"default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Maximum number of the alias's assets to return in one response.","schema":{"minimum":1,"maximum":100,"default":25,"type":"number"}}],"responses":{"200":{"description":"Alias lookup results returned successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoCredentialEntity"}}}}},"security":[{"bearer":[]}],"summary":"Look up a Crypto Credential alias","tags":["Mastercard Crypto Credential"]}},"/v1/refunds/capabilities":{"get":{"description":"Returns supported refund paths, accepted request types, chains, and prerequisites for the given (country, fiat).","operationId":"RefundCapabilitiesController_getRefundCapabilities","parameters":[{"name":"country","required":true,"in":"query","description":"Destination country of the withdrawal corridor.","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"Destination fiat currency of the withdrawal corridor.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}}],"responses":{"200":{"description":"Refund capabilities for the corridor.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RefundCapabilityEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Get refund capabilities","tags":["Refunds"]}},"/v1/transactions/{id}/refund":{"post":{"description":"Starts the refund workflow for the transaction's existing refund plan.\n\nWorks even when the transaction was created with `autoRefund: false`, so use this endpoint to trigger refunds that were intentionally left for manual handling.\n\nOptionally pass a `refundDestination` to replace the destination stored on the plan. The override is validated against the PFI's refund capability before dispatch.\n\nPlans in `Created` or `Eligible` status can be dispatched. Plans in `ManualRequired` status can also be dispatched if they were parked after a failed fiat payout; dispatching such a plan records consent to return the funds in crypto, converted from fiat at the current rate.","operationId":"RefundsController_dispatchRefund","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualRefundDispatchDto"}}}},"responses":{"202":{"description":"Refund workflow dispatched. Returns the current RefundResolution.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundResolutionEntity"}}}}},"security":[{"bearer":[]}],"summary":"Manually dispatch a refund for a failed or cancelled transaction","tags":["Refunds"]}},"/v1/refunds/config":{"get":{"description":"Returns the default refund destination used when a transaction has no per-transaction destination, along with its verification freshness. Returns null when none is configured.","operationId":"RefundConfigController_getConfig","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundConfigEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get the organization's default refund destination","tags":["Refunds"]},"put":{"description":"Creates or replaces the organization's default refund destination and resets its verification timestamp to now.","operationId":"RefundConfigController_upsertConfig","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertRefundConfigDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundConfigEntity"}}}}},"security":[{"bearer":[]}],"summary":"Set the organization's default refund destination","tags":["Refunds"]},"delete":{"description":"Removes the default. Refunds will then fall back to per-transaction destinations.","operationId":"RefundConfigController_deleteConfig","parameters":[],"responses":{"204":{"description":"Default removed."}},"security":[{"bearer":[]}],"summary":"Remove the organization's default refund destination","tags":["Refunds"]}},"/v1/refunds/config/reconfirm":{"post":{"description":"Resets the verification timestamp to now without changing the destination. Use this to clear a stale warning or rejection.","operationId":"RefundConfigController_reconfirmConfig","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundConfigEntity"}}}}},"security":[{"bearer":[]}],"summary":"Re-confirm the organization's default refund destination","tags":["Refunds"]}},"/v1/organizations/integrations":{"put":{"description":"Single endpoint for configuring credentials for any supported integration provider. The `credentials` payload is validated server-side against the provider-specific DTO.","operationId":"IntegrationsConfigController_setupIntegration","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupIntegrationDto"}}}},"responses":{"202":{"description":"Integration credentials accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfigEntity"}}}}},"security":[{"bearer":[]}],"summary":"Setup integration credentials (consolidated)","tags":["Integrations Config"]},"delete":{"description":"Removes the stored integration configuration for the given PFI name and organization.","operationId":"IntegrationsConfigController_deleteIntegrationConfig","parameters":[{"name":"provider","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"204":{"description":"Integration configuration removed."}},"security":[{"bearer":[]}],"summary":"Delete integration configuration for a PFI.","tags":["Integrations Config"]}},"/v1/organizations/integrations/config-info":{"get":{"description":"Returns an array of integration providers with a boolean indicating whether each provider is configured (API keys or provider-specific credentials are set).","operationId":"IntegrationsConfigController_getIntegrationConfigurationInfo","parameters":[],"responses":{"200":{"description":"List of configured integrations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationConfigInfoEntity"}},"example":[{"provider":"Utila","isConfigured":true,"id":"integration-config-uuid"}]}}}},"security":[{"bearer":[]}],"summary":"Get integration configuration info","tags":["Integrations Config"]}},"/v1/organizations/integrations/credentials":{"get":{"description":"Returns whether the organization-level default credentials are set for the provider and the list of business-identity IDs that have their own credential set. Never returns secrets. Providers without per-identity credentials return an empty `identityIds` list.","operationId":"IntegrationsConfigController_getCredentialSummary","parameters":[{"name":"provider","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Provider credential summary.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationCredentialSummaryEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get a provider's configured credential sets","tags":["Integrations Config"]}},"/v1/organizations/integrations/credentials/{identityId}":{"delete":{"description":"Removes the per-identity credential set for the given business identity and provider. The organization-level default and other identities' credentials are left intact. Fails if the provider does not support per-identity credentials.","operationId":"IntegrationsConfigController_removeCredentialForIdentity","parameters":[{"name":"provider","required":true,"in":"query","schema":{"type":"string"}},{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":"Credential set removed."}},"security":[{"bearer":[]}],"summary":"Remove a business identity's credential set for a provider","tags":["Integrations Config"]}},"/v1/accounts":{"get":{"description":"Retrieve a list of Accounts with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"AccountsController_getAccounts","parameters":[{"name":"id","required":false,"in":"query","description":"The id of the account to filter by.","schema":{"example":"cm9db4g2s2r7ro224ra6u1qvh","type":"string"}},{"name":"namePrefix","required":false,"in":"query","description":"A prefix to filter accounts by name.","schema":{"example":"Main","type":"string"}},{"name":"identityId","required":false,"in":"query","description":"The id of the identity to filter accounts.","schema":{"example":"cm9db4g2s2r7ro224ra6u1qvh","type":"string"}},{"name":"fromDate","required":false,"in":"query","description":"Start date for filtering accounts by createdAt (YYYY-MM-DD).","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"toDate","required":false,"in":"query","description":"End date for filtering accounts by createdAt (YYYY-MM-DD).","schema":{"format":"date","example":"2003-01-01","type":"string"}},{"name":"type","required":false,"in":"query","description":"Filter by account type. Accounts managed by a PFI are institutional.","schema":{"$ref":"#/components/schemas/AccountType"}},{"name":"provider","required":false,"in":"query","description":"Filter by the provider that manages the account.","schema":{"$ref":"#/components/schemas/AccountProvider"}},{"name":"includeIds","required":false,"in":"query","schema":{"type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Accounts and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedAccountEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Accounts","tags":["Accounts"]},"post":{"description":"Create a new Account using the data provided in the request body.","operationId":"AccountsController_createAccount","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AccountCreateDto","title":"Account"},{"$ref":"#/components/schemas/AccountStandaloneCreateDto","title":"Standalone Account (deprecated, removal by September 1st, 2026)"},{"$ref":"#/components/schemas/AccountUtilaCreateDto","title":"Utila Account (deprecated, removal by September 1st, 2026)"},{"$ref":"#/components/schemas/AccountDfnsCreateDto","title":"Dfns Account (deprecated, removal by September 1st, 2026)"}]}}}},"responses":{"201":{"description":"Successfully created Account data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountEntity"}}}},"400":{"description":"The Account data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Account","tags":["Accounts"]}},"/v1/accounts/{id}":{"get":{"description":"Retrieve an Account by its unique identification. Returns 404 if the Account does not exist.","operationId":"AccountsController_getAccount","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Account data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountEntity"}}}},"404":{"description":"The Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get an Account by id","tags":["Accounts"]},"delete":{"operationId":"AccountsController_deleteAccount","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Delete an account by id and return the deleted account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountEntity"}}}}},"security":[{"bearer":[]}],"tags":["Accounts"]}},"/v1/accounts/subaccounts":{"post":{"deprecated":true,"description":"Deprecated. Will be removed by September 1st, 2026. Use `POST /accounts` instead; the wallet/subaccount distinction has been removed.","operationId":"AccountsController_createSubaccount","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/SubaccountStandaloneCreateDto","title":"Standalone Subaccount"},{"$ref":"#/components/schemas/SubaccountDfnsCreateDto","title":"Dfns Subaccount"},{"$ref":"#/components/schemas/SubaccountUtilaCreateDto","title":"Utila Subaccount"}]}}}},"responses":{"201":{"description":"Successfully created Subaccount data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountEntity"}}}},"400":{"description":"The Subaccount data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a Subaccount (deprecated)","tags":["Accounts"]}},"/v1/accounts/{id}/assets":{"post":{"description":"Add Assets to Account using the data provided in the request body.","operationId":"AccountsController_createAccountAssets","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","description":"List of account Assets","items":{"oneOf":[{"$ref":"#/components/schemas/AccountAssetStandaloneDto","title":"Standalone Account Assets"},{"$ref":"#/components/schemas/AccountAssetUtilaDto","title":"Utila Account Assets"},{"$ref":"#/components/schemas/AccountAssetDfnsDto","title":"Dfns Account Assets"},{"$ref":"#/components/schemas/AccountAssetPfiDto","title":"PFI Account Assets"}]}}}}},"responses":{"201":{"description":"Successfully created account Assets data.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountAssetEntity"}}}}},"400":{"description":"The account Assets data is invalid or incomplete."},"404":{"description":"The Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Add Assets to Account","tags":["Accounts"]}},"/v1/accounts/{id}/fiats":{"post":{"description":"Add fiat currencies and assets to a PFI Account using the data provided in the request body.","operationId":"AccountsController_createAccountFiats","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountFiatDto"}}}}},"responses":{"201":{"description":"Successfully created account Fiats data.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountFiatEntity"}}}}},"400":{"description":"The account Fiats data is invalid or incomplete."},"404":{"description":"The Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Add Fiats to PFI Account","tags":["Accounts"]}},"/v1/accounts/{id}/virtual-accounts":{"get":{"description":"Retrieve a list of Virtual Accounts with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"VirtualAccountsController_getVirtualAccounts","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Virtual Accounts and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedVirtualAccountEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Virtual Accounts","tags":["Virtual Accounts"]},"post":{"description":"Create a new Virtual Account using the data provided in the request body.","operationId":"VirtualAccountsController_createVirtualAccount","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualAccountDto"}}}},"responses":{"201":{"description":"Successfully created Virtual Account data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualAccountEntity"}}}},"400":{"description":"The Virtual Account data is invalid or incomplete."},"404":{"description":"The Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Create a new Virtual Account","tags":["Virtual Accounts"]}},"/v1/accounts/{id}/virtual-accounts/{virtualAccountId}":{"get":{"description":"Retrieve a Virtual Account by its unique identification. Returns 404 if the Virtual Account does not exist.","operationId":"VirtualAccountsController_getVirtualAccount","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"virtualAccountId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Virtual Account data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualAccountEntity"}}}},"404":{"description":"The Virtual Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get a Virtual Account by id","tags":["Virtual Accounts"]},"delete":{"description":"Delete the specified a Virtual Account by its id. This action is irreversible. Returns 404 if the entity is not found.","operationId":"VirtualAccountsController_deleteVirtualAccount","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"virtualAccountId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted Virtual Account data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualAccountEntity"}}}},"404":{"description":"The Virtual Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Delete a Virtual Account by id","tags":["Virtual Accounts"]}},"/v1/identities/{identityId}/payment-instructions":{"post":{"description":"Create a new Payment Instruction using the data provided in the request body.","operationId":"PaymentInstructionsController_createPaymentInstruction","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstructionCreateDto"}}}},"responses":{"201":{"description":"Successfully created Payment Instruction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstructionEntity"}}}},"400":{"description":"The Payment Instruction data is invalid or incomplete."},"404":{"description":"The Identity with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Create a new Payment Instruction","tags":["Payment Instructions"]},"get":{"description":"Retrieve a list of Payment Instructions with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"PaymentInstructionsController_getAllPaymentInstructions","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"includeIds","required":false,"in":"query","schema":{"type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Payment Instructions and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedPaymentInstructionEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Payment Instructions","tags":["Payment Instructions"]}},"/v1/identities/{identityId}/payment-instructions/{paymentInstructionId}":{"get":{"description":"Retrieve a Payment Instruction by its unique identification. Returns 404 if the Payment Instruction does not exist.","operationId":"PaymentInstructionsController_getPaymentInstruction","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"paymentInstructionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Payment Instruction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstructionEntity"}}}},"404":{"description":"The Payment Instruction with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get a Payment Instruction by id","tags":["Payment Instructions"]},"delete":{"description":"Delete the specified a Payment Instruction by its id. This action is irreversible. Returns 404 if the entity is not found.","operationId":"PaymentInstructionsController_deletePaymentInstruction","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"paymentInstructionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted Payment Instruction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstructionEntity"}}}},"404":{"description":"The Payment Instruction with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Delete a Payment Instruction by id","tags":["Payment Instructions"]}},"/v1/reconciliation/imports/status":{"get":{"operationId":"ReconciliationImportsController_getImportSyncStatus","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImportSyncStatusEntity"}}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/imports":{"post":{"operationId":"ReconciliationImportsController_syncTransactions","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncTransactionsDto"}}}},"responses":{"202":{"description":""}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/imports/csv":{"post":{"operationId":"ReconciliationImportsController_importCsv","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvTransactionImportDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]},"delete":{"operationId":"ReconciliationImportsController_deleteCsvImports","parameters":[{"name":"pfiName","required":false,"in":"query","description":"Restrict deletion to one provider's CSV imports; omit to purge all CSV imports.","schema":{"type":"string","enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/items":{"get":{"operationId":"ReconciliationController_getItems","parameters":[{"name":"status","required":false,"in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/ReconciliationStatus"}}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationRunType"}},{"name":"cadence","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationCadence"}},{"name":"runId","required":false,"in":"query","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/orphaned-transactions":{"get":{"operationId":"ReconciliationController_getOrphanedTransactions","parameters":[{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"runId","required":false,"in":"query","schema":{"type":"string"}},{"name":"resolution","required":false,"in":"query","schema":{"$ref":"#/components/schemas/OrphanedPfiTransactionResolution"}},{"name":"from","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/orphaned-transactions/{id}":{"get":{"operationId":"ReconciliationController_getOrphanedTransactionById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrphanedPfiTransactionEntity"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/items/{transactionId}":{"get":{"operationId":"ReconciliationController_getItemsByTransaction","parameters":[{"name":"transactionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconciliationTransactionResultDto"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/runs":{"get":{"operationId":"ReconciliationController_listRuns","parameters":[{"name":"status","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationRunStatus"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationRunType"}},{"name":"cadence","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationCadence"}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"organizationId","required":false,"in":"query","schema":{"type":"string"}},{"name":"from","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageResponseDto"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/runs/{id}":{"get":{"operationId":"ReconciliationController_getRunById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconciliationRunEntity"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/reconciliation/summary":{"get":{"operationId":"ReconciliationController_getSummary","parameters":[{"name":"from","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"pfiName","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationRunType"}},{"name":"cadence","required":false,"in":"query","schema":{"$ref":"#/components/schemas/ReconciliationCadence"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconciliationSummaryEntity"}}}}},"security":[{"bearer":[]}],"tags":["Reconciliation"]}},"/v1/accounts/{id}/balances":{"get":{"description":"Retrieve balances for an Account. Returns 404 if the Account does not exist.","operationId":"BalancesController_getAccountBalances","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"List of account balances.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountBalanceEntity"}}}}},"404":{"description":"The Account with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get account balances","tags":["Accounts"]}},"/v1/compliance-checks/coverage":{"get":{"operationId":"ComplianceCheckController_getAllComplianceChecks","parameters":[{"name":"country","required":false,"in":"query","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"asset","required":false,"in":"query","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"fiat","required":false,"in":"query","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"paymentMethod","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/OperationType"}},{"name":"businessIdentityId","required":false,"in":"query","description":"Business identity that scopes the compliance checks (providers with per-business-identity credentials). Same businessIdentityId passed on deposits.","schema":{"minLength":25,"maxLength":25,"type":"string"}},{"name":"identitySchemaType","required":false,"in":"query","schema":{"$ref":"#/components/schemas/IdentityType"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceCheckCoverage"}}}}}},"security":[{"bearer":[]}],"summary":"Retrieves a list of possible compliance checks together with their coverage","tags":["Compliance Checks"]}},"/v1/identities/{identityId}/compliance-checks":{"get":{"description":"Retrieve a Compliance Check by its unique identification. Returns 404 if the Compliance Check does not exist.","operationId":"ComplianceCheckController_getComplianceChecks","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"country","required":false,"in":"query","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"asset","required":false,"in":"query","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"fiat","required":false,"in":"query","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"paymentMethod","required":false,"in":"query","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"type","required":false,"in":"query","schema":{"$ref":"#/components/schemas/OperationType"}},{"name":"businessIdentityId","required":false,"in":"query","description":"Business identity that scopes the compliance checks (providers with per-business-identity credentials). Same businessIdentityId passed on deposits.","schema":{"minLength":25,"maxLength":25,"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Compliance Check data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityComplianceCheck"}}}},"404":{"description":"The Compliance Check with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get a Compliance Check by id","tags":["Compliance Checks"]}},"/v1/identities/{identityId}/compliance-checks/{slug}/requirements":{"get":{"operationId":"ComplianceCheckController_getComplianceRequirements","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"slug","required":true,"in":"path","schema":{"type":"string"}},{"name":"redirectUrl","required":false,"in":"query","description":"Optional redirect URL after compliance check","schema":{"type":"string"}},{"name":"businessIdentityId","required":false,"in":"query","description":"Business identity that scopes the compliance check (providers with per-business-identity credentials). Pass the same businessIdentityId used on deposits.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceCheckRequirements"}}}}},"security":[{"bearer":[]}],"summary":"Get compliance requirements for a compliance","tags":["Compliance Checks"]}},"/v1/identities/{identityId}/compliance-checks/{slug}":{"post":{"description":"Create a new Compliance Check using the data provided in the request body.","operationId":"ComplianceCheckController_createComplianceChecks","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"slug","required":true,"in":"path","schema":{"type":"string"}},{"name":"businessIdentityId","required":false,"in":"query","description":"Business identity that scopes the compliance check (providers with per-business-identity credentials). Pass the same businessIdentityId used on deposits.","schema":{"type":"string"}}],"responses":{"201":{"description":"Successfully created Compliance Check data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceCheckStatus"}}}},"400":{"description":"The Compliance Check data is invalid or incomplete."},"404":{"description":"The Identity with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Create a new Compliance Check","tags":["Compliance Checks"]},"delete":{"operationId":"ComplianceCheckController_deleteComplianceCheck","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"slug","required":true,"in":"path","schema":{"type":"string"}},{"name":"businessIdentityId","required":false,"in":"query","description":"Business identity that scopes the compliance check (providers with per-business-identity credentials). Pass the same businessIdentityId used on deposits.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceCheckStatus"}}}}},"security":[{"bearer":[]}],"summary":"Deletes the customer for a compliance at the provider and clears the local check","tags":["Compliance Checks"]}},"/v1/identities/{identityId}/compliance-checks/{slug}/resync":{"post":{"operationId":"ComplianceCheckController_resyncComplianceCheck","parameters":[{"name":"identityId","required":true,"in":"path","schema":{"type":"string"}},{"name":"slug","required":true,"in":"path","schema":{"type":"string"}},{"name":"businessIdentityId","required":false,"in":"query","description":"Business identity that scopes the compliance check (providers with per-business-identity credentials). Pass the same businessIdentityId used on deposits.","schema":{"type":"string"}}],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceCheckStatus"}}}}},"security":[{"bearer":[]}],"summary":"Re-syncs an approved identity's data to the provider after an edit","tags":["Compliance Checks"]}},"/v1/withdrawals":{"post":{"description":"Create a new Withdrawal transaction using the data provided in the request body.","operationId":"WithdrawalsController_withdraw","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/WithdrawalDto","title":"Withdrawal (crypto)"},{"$ref":"#/components/schemas/WithdrawalPfiDto","title":"Withdrawal (PFI fiat or onchain)"}]}}}},"responses":{"201":{"description":"Successfully created Withdrawal transaction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionEntity"}}}},"400":{"description":"The Withdrawal transaction data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Withdrawal transaction","tags":["Transaction / Withdrawals"]}},"/v1/withdrawals/countries":{"get":{"deprecated":true,"description":"Retrieve a list of all Withdrawal available Countries.","operationId":"WithdrawalsController_getWithdrawalCountries","parameters":[],"responses":{"200":{"description":"List of Withdrawal available Countries.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"bearer":[]}],"summary":"Deprecated. Use GET /organizations/network instead.","tags":["Transaction / Withdrawals"]}},"/v1/withdrawals/options":{"get":{"deprecated":true,"description":"Retrieve a list of all Withdrawal available Options.","operationId":"WithdrawalsController_getPaymentOptions","parameters":[{"name":"country","required":true,"in":"query","description":"Country","schema":{"type":"string"}}],"responses":{"200":{"description":"List of Withdrawal available Options.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RampOptionEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Deprecated. Use GET /organizations/network instead.","tags":["Transaction / Withdrawals"]}},"/v1/withdrawals/quotes":{"get":{"deprecated":true,"description":"Retrieve real-time information about Withdrawal exchange rates and fees. Deprecated: use GET /withdrawals/quotes/pfis (optionally with the pfiName query param) for marketplace-aware pricing. The single-PFI shape returned here is equivalent to element [0] of the /pfis response when filtered to one provider.","operationId":"WithdrawalsController_getQuote","parameters":[{"name":"country","required":true,"in":"query","description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"The fiat currency for the quote.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"asset","required":true,"in":"query","description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"paymentMethod","required":false,"in":"query","description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"fromAmount","required":false,"in":"query","description":"The amount of fiat currency for Deposit Quote. The amount of asset for Withdrawal Quote","schema":{"example":"10","type":"string"}},{"name":"toAmount","required":false,"in":"query","description":"The amount of fiat currency for Withdrawal Quote. The amount of asset for Deposit Quote","schema":{"example":"1","type":"string"}},{"name":"pfiName","required":false,"in":"query","description":"Specific PFI to get the quote from. If omitted, the default PFI is used.","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"counterPartyIdentityId","required":false,"in":"query","description":"The ID of the identity on whose behalf the quote is requested. When the organization registers each merchant with the merchant's own payment-provider credentials, the quote is priced under that merchant; without it, under the organization's default credentials.","schema":{"example":"cm2c4x3cc000019stwv7um4zl","type":"string"}}],"responses":{"200":{"description":"Detailed exchange rates and fee information.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteEntity"}}}},"400":{"description":"The Quote data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Get Withdrawal Quote","tags":["Transaction / Withdrawals"]},"post":{"description":"Create an executable Withdrawal quote that can later be referenced by its `quoteId` when initiating a withdrawal. The quote is valid until the returned `expiresAt` timestamp.","operationId":"WithdrawalsController_createExecutableQuote","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWithdrawalExecutableQuoteDto"}}}},"responses":{"200":{"description":"Executable quote with quoteId and expiration timestamp.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutableQuoteEntity"}}}},"400":{"description":"The Quote data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create executable Withdrawal Quote","tags":["Transaction / Withdrawals"]}},"/v1/withdrawals/quotes/pfis":{"get":{"description":"Retrieve real-time Withdrawal quotes from all available providers. Optionally filter by pfiName.","operationId":"WithdrawalsController_getQuoteByPfis","parameters":[{"name":"country","required":true,"in":"query","description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"The fiat currency for the quote.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"asset","required":true,"in":"query","description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"paymentMethod","required":false,"in":"query","description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"fromAmount","required":false,"in":"query","description":"The amount of fiat currency for Deposit Quote. The amount of asset for Withdrawal Quote","schema":{"example":"10","type":"string"}},{"name":"toAmount","required":false,"in":"query","description":"The amount of fiat currency for Withdrawal Quote. The amount of asset for Deposit Quote","schema":{"example":"1","type":"string"}},{"name":"pfiName","required":false,"in":"query","description":"Specific PFI to get the quote from. If omitted, the default PFI is used.","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"counterPartyIdentityId","required":false,"in":"query","description":"The ID of the identity on whose behalf the quote is requested. When the organization registers each merchant with the merchant's own payment-provider credentials, the quote is priced under that merchant; without it, under the organization's default credentials.","schema":{"example":"cm2c4x3cc000019stwv7um4zl","type":"string"}}],"responses":{"200":{"description":"Detailed exchange rates and fee information.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PFIQuoteEntity"}}}}},"400":{"description":"The Quote data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Get Withdrawal Quotes By Providers","tags":["Transaction / Withdrawals"]}},"/v1/withdrawals/institutions":{"get":{"description":"Retrieve information about available finance institutions (e.g. banks, mobile money providers) in a specific country for specified currency and payment method.","operationId":"WithdrawalsController_getInstitutions","parameters":[{"name":"country","required":true,"in":"query","description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"The fiat currency for the payment.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"paymentMethod","required":true,"in":"query","description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"pfiName","required":false,"in":"query","description":"Specific PFI to use. If omitted, the organization's default PFI is used.","schema":{"$ref":"#/components/schemas/PFIName"}}],"responses":{"200":{"description":"Info about available finance institutions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionsEntity"}}}}},"400":{"description":"Request is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Get available finance institutions (e.g. banks, mobile money providers)","tags":["Transaction / Withdrawals"]}},"/v1/deposits":{"post":{"description":"Create a new Deposit transaction using the data provided in the request body.","operationId":"DepositsController_deposit","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/DepositDto","title":"Deposit (crypto)"},{"$ref":"#/components/schemas/DepositPfiDto","title":"Deposit (PFI fiat)"}]}}}},"responses":{"201":{"description":"Successfully created Deposit transaction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionEntity"}}}},"400":{"description":"The Deposit transaction data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Deposit transaction","tags":["Transaction / Deposits"]}},"/v1/deposits/countries":{"get":{"deprecated":true,"description":"Retrieve a list of all Deposit available Countries.","operationId":"DepositsController_getDepositCountries","parameters":[],"responses":{"200":{"description":"List of Deposit available Countries.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"security":[{"bearer":[]}],"summary":"Deprecated. Use GET /organizations/network instead.","tags":["Transaction / Deposits"]}},"/v1/deposits/options":{"get":{"deprecated":true,"description":"Retrieve a list of all Deposit available Options.","operationId":"DepositsController_getPaymentOptions","parameters":[{"name":"country","required":true,"in":"query","description":"Country","schema":{"type":"string"}}],"responses":{"200":{"description":"List of Deposit available Options.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RampOptionEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Deprecated. Use GET /organizations/network instead.","tags":["Transaction / Deposits"]}},"/v1/deposits/quotes":{"get":{"deprecated":true,"description":"Retrieve real-time information about Deposit exchange rates and fees. Deprecated: use GET /deposits/quotes/pfis (optionally with the pfiName query param) for marketplace-aware pricing. The single-PFI shape returned here is equivalent to element [0] of the /pfis response when filtered to one provider.","operationId":"DepositsController_getQuote","parameters":[{"name":"country","required":true,"in":"query","description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"The fiat currency for the quote.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"asset","required":true,"in":"query","description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"paymentMethod","required":false,"in":"query","description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"fromAmount","required":false,"in":"query","description":"The amount of fiat currency for Deposit Quote. The amount of asset for Withdrawal Quote","schema":{"example":"10","type":"string"}},{"name":"toAmount","required":false,"in":"query","description":"The amount of fiat currency for Withdrawal Quote. The amount of asset for Deposit Quote","schema":{"example":"1","type":"string"}},{"name":"pfiName","required":false,"in":"query","description":"Specific PFI to get the quote from. If omitted, the default PFI is used.","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"counterPartyIdentityId","required":false,"in":"query","description":"The ID of the identity on whose behalf the quote is requested. When the organization registers each merchant with the merchant's own payment-provider credentials, the quote is priced under that merchant; without it, under the organization's default credentials.","schema":{"example":"cm2c4x3cc000019stwv7um4zl","type":"string"}}],"responses":{"200":{"description":"Detailed exchange rates and fee information.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteEntity"}}}},"400":{"description":"The Quote data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Get Deposit Quote","tags":["Transaction / Deposits"]},"post":{"description":"Create an executable Deposit quote that can later be referenced by its `quoteId` when initiating a deposit. The quote is valid until the returned `expiresAt` timestamp.","operationId":"DepositsController_createExecutableQuote","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDepositExecutableQuoteDto"}}}},"responses":{"200":{"description":"Executable quote with quoteId and expiration timestamp.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutableQuoteEntity"}}}},"400":{"description":"The Quote data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create executable Deposit Quote","tags":["Transaction / Deposits"]}},"/v1/deposits/quotes/pfis":{"get":{"description":"Retrieve real-time Deposit quotes from all available providers. Optionally filter by pfiName.","operationId":"DepositsController_getQuoteByPfis","parameters":[{"name":"country","required":true,"in":"query","description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"The fiat currency for the quote.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"asset","required":true,"in":"query","description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","schema":{"$ref":"#/components/schemas/AssetId"}},{"name":"paymentMethod","required":false,"in":"query","description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"fromAmount","required":false,"in":"query","description":"The amount of fiat currency for Deposit Quote. The amount of asset for Withdrawal Quote","schema":{"example":"10","type":"string"}},{"name":"toAmount","required":false,"in":"query","description":"The amount of fiat currency for Withdrawal Quote. The amount of asset for Deposit Quote","schema":{"example":"1","type":"string"}},{"name":"pfiName","required":false,"in":"query","description":"Specific PFI to get the quote from. If omitted, the default PFI is used.","schema":{"$ref":"#/components/schemas/PFIName"}},{"name":"counterPartyIdentityId","required":false,"in":"query","description":"The ID of the identity on whose behalf the quote is requested. When the organization registers each merchant with the merchant's own payment-provider credentials, the quote is priced under that merchant; without it, under the organization's default credentials.","schema":{"example":"cm2c4x3cc000019stwv7um4zl","type":"string"}}],"responses":{"200":{"description":"Detailed exchange rates and fee information.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PFIQuoteEntity"}}}}},"400":{"description":"The Quote data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Get Deposit Quotes By Providers","tags":["Transaction / Deposits"]}},"/v1/deposits/institutions":{"get":{"description":"Retrieve information about available finance institutions (e.g. banks, mobile money providers) in a specific country for specified currency and payment method.","operationId":"DepositsController_getInstitutions","parameters":[{"name":"country","required":true,"in":"query","description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","schema":{"$ref":"#/components/schemas/CountryCode"}},{"name":"fiat","required":true,"in":"query","description":"The fiat currency for the payment.","schema":{"$ref":"#/components/schemas/FiatCurrencyId"}},{"name":"paymentMethod","required":true,"in":"query","description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","schema":{"$ref":"#/components/schemas/PaymentMethod"}},{"name":"pfiName","required":false,"in":"query","description":"Specific PFI to use. If omitted, the organization's default PFI is used.","schema":{"$ref":"#/components/schemas/PFIName"}}],"responses":{"200":{"description":"Info about available finance institutions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionsEntity"}}}}},"400":{"description":"Request is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Get available finance institutions (e.g. banks, mobile money providers)","tags":["Transaction / Deposits"]}},"/v1/exchanges":{"post":{"description":"Create a new Exchange transaction using the data provided in the request body.","operationId":"ExchangesController_exchange","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeDto"}}}},"responses":{"201":{"description":"Successfully created Exchange transaction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionEntity"}}}},"400":{"description":"The Exchange transaction data is invalid or incomplete."}},"security":[{"bearer":[]}],"summary":"Create a new Exchange transaction","tags":["Transaction / Exchanges"]}},"/v1/liquidation-addresses":{"get":{"description":"Retrieve a list of Liquidation Addresses with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"LiquidationAddressesController_getLiquidationAddresses","parameters":[{"name":"counterPartyIdentityId","required":false,"in":"query","description":"Filter liquidation addresses by the identity they are associated with.","schema":{"example":"cm2c4x3cc000019stwv7um4zl","type":"string"}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Liquidation Addresses and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedLiquidationAddressEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Liquidation Addresses","tags":["Liquidation Addresses"]},"post":{"description":"Create a new Liquidation Address using the data provided in the request body.","operationId":"LiquidationAddressesController_createLiquidationAddress","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressDto"}}}},"responses":{"201":{"description":"Successfully created Liquidation Address data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressEntity"}}}},"400":{"description":"The Liquidation Address data is invalid or incomplete."},"404":{"description":"The Payment Instruction with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Create a new Liquidation Address","tags":["Liquidation Addresses"]}},"/v1/liquidation-addresses/{liquidationAddressId}":{"get":{"description":"Retrieve a Liquidation Address by its unique identification. Returns 404 if the Liquidation Address does not exist.","operationId":"LiquidationAddressesController_getLiquidationAddress","parameters":[{"name":"liquidationAddressId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved Liquidation Address data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressEntity"}}}},"404":{"description":"The Liquidation Address with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Get a Liquidation Address by id","tags":["Liquidation Addresses"]},"delete":{"description":"Delete the specified a Liquidation Address by its id. This action is irreversible. Returns 404 if the entity is not found.","operationId":"LiquidationAddressesController_deleteLiquidationAddress","parameters":[{"name":"liquidationAddressId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted Liquidation Address data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiquidationAddressEntity"}}}},"404":{"description":"The Liquidation Address with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Delete a Liquidation Address by id","tags":["Liquidation Addresses"]}},"/v1/transactions/{id}/documents":{"post":{"description":"Uploads transaction documents (e.g. an invoice) for a pending or processing transaction. For payments that require a compliance document, such as SWIFT payouts from a liquidation address, the document is forwarded to the payment provider so the payment can proceed.","operationId":"TransactionDocumentsController_attachDocuments","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionDocumentsUploadDto"}}}},"responses":{"200":{"description":"Successfully retrieved Transaction data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionEntity"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionEntity"}}}},"404":{"description":"The Transaction with the specified id does not exist."}},"security":[{"bearer":[]}],"summary":"Attach documents to a transaction.","tags":["Transactions"]}},"/v1/network-health":{"get":{"description":"Returns all monitored namespaces with their overall status (worst-status-wins), component counts, and last event timestamp.","operationId":"NetworkHealthController_getSummary","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NetworkHealthSummaryEntity"}}}}}},"security":[{"bearer":[]}],"summary":"Get network health summary","tags":["Network Health"]}},"/v1/network-health/{namespace}":{"get":{"description":"Returns full detail for a namespace: components with statuses, active incidents, and scheduled maintenances.","operationId":"NetworkHealthController_getNamespaceDetail","parameters":[{"name":"namespace","required":true,"in":"path","schema":{"example":"Bridge","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkHealthNamespaceDetailEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get namespace detail","tags":["Network Health"]}},"/v1/imports/identities/csv":{"post":{"operationId":"IdentityImportsController_importCsv","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvIdentityImportDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["Identity Imports"]},"delete":{"operationId":"IdentityImportsController_deleteCsvImports","parameters":[{"name":"pfiName","required":false,"in":"query","description":"Restrict deletion to one provider's CSV imports; omit to purge all CSV imports.","schema":{"type":"string","enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[{"bearer":[]}],"tags":["Identity Imports"]}},"/v1/imports/identities":{"get":{"description":"Retrieve a list of Imported identities with pagination support. Use query parameters `startingAfter` and `limit` to navigate results.","operationId":"IdentityImportsController_listImportedIdentities","parameters":[{"name":"pfiName","required":false,"in":"query","schema":{"type":"string","enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"]}},{"name":"resolution","required":false,"in":"query","schema":{"type":"string","enum":["Open","LinkedToIdentity","Promoted","Ignored"]}},{"name":"type","required":false,"in":"query","schema":{"type":"string","enum":["Personal","Business"]}},{"name":"source","required":false,"in":"query","schema":{"type":"string","enum":["Import","CsvImport"]}},{"name":"startingAfter","required":false,"in":"query","description":"Id used to retrieve results that come after the specified item.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Response page limit. Min 1, Max 100, Default value is 10.","schema":{"type":"number"}}],"responses":{"200":{"description":"List of Imported identities and `hasMore` flag.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedImportedPfiIdentityEntity"}}}}},"security":[{"bearer":[]}],"summary":"Get Imported identities","tags":["Identity Imports"]}},"/v1/imports/identities/{id}":{"get":{"operationId":"IdentityImportsController_getImportedIdentity","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportedPfiIdentityEntity"}}}}},"security":[{"bearer":[]}],"tags":["Identity Imports"]}},"/v1/rfi/cases":{"get":{"operationId":"RfiController_list","parameters":[{"name":"identityId","required":false,"in":"query","description":"Only cases linked to this identity.","schema":{"type":"string"}},{"name":"transactionId","required":false,"in":"query","description":"Only cases linked to this transaction.","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/RfiStatus"}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RfiCaseEntity"}}}}}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}":{"get":{"operationId":"RfiController_getOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RfiCaseDetailEntity"}}}}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}/reply":{"post":{"operationId":"RfiController_reply","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RfiReplyDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}/resolve":{"post":{"operationId":"RfiController_resolve","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}/references":{"post":{"operationId":"RfiController_attachReference","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachRfiReferenceDto"}}}},"responses":{"201":{"description":""}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}/references/{referenceId}":{"delete":{"operationId":"RfiController_detachReference","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"referenceId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}/attachments":{"post":{"operationId":"RfiController_uploadAttachment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RfiUploadAttachmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RfiUploadedAttachmentEntity"}}}}},"security":[{"bearer":[]}],"tags":["RFI"]}},"/v1/rfi/cases/{id}/attachments/{attachmentId}":{"get":{"operationId":"RfiController_downloadAttachment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RfiAttachmentDownloadEntity"}}}}},"security":[{"bearer":[]}],"tags":["RFI"]}}},"info":{"title":"Borderless API","description":"The Borderless API documentation.","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://sandbox-api.borderless.xyz"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"AuthM2MSignInDto":{"type":"object","properties":{"clientId":{"type":"string","description":"The client Id for M2M authentication. Can be obtained this from Dashboard. Learn more at [M2M Authentication Guide](https://docs.buildborderless.com/docs/generating-api-keys)."},"clientSecret":{"type":"string","description":"The client Secret for M2M authentication. Can be obtained this from Dashboard. Learn more at [M2M Authentication Guide](https://docs.buildborderless.com/docs/generating-api-keys)."},"piiAccess":{"enum":["all","redacted"],"type":"string","description":"PII access level for the token. Defaults to all if not provided.","example":"all"}},"required":["clientId","clientSecret"]},"AuthM2MTokenEntity":{"type":"object","properties":{"accessToken":{"type":"string"},"tokenType":{"type":"string"},"expiresIn":{"type":"number"},"piiAccess":{"enum":["all","redacted"],"type":"string"}},"required":["accessToken","tokenType","expiresIn","piiAccess"]},"TransactionStatus":{"type":"string","enum":["Submitted","Verifying","Orchestrating","Pending","Processing","AwaitingDocuments","Completed","Failed","Cancelled","Refunded"]},"TransactionType":{"type":"string","enum":["Deposit","Withdrawal","Exchange"]},"PFIName":{"type":"string","enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"]},"ReconciliationStatus":{"type":"string","enum":["Matched","Mismatched","Missing","PfiError"]},"CountryCode":{"type":"string","enum":["AF","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","CV","KH","CM","CA","KY","CF","TD","CL","CN","CX","CC","CO","KM","CD","CG","CK","CR","HR","CU","CW","CY","CZ","CI","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","SZ","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","MK","RO","RU","RW","RE","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","UM","US","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW","AX","ZZ"]},"TransactionsExportQuery":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/TransactionStatus"}]},"type":{"allOf":[{"$ref":"#/components/schemas/TransactionType"}]},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"sourceAccountId":{"type":"string","minLength":25,"maxLength":25},"destinationAccountId":{"type":"string","minLength":25,"maxLength":25},"fromDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"toDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"fromUpdatedDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"toUpdatedDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"reconciliationStatus":{"allOf":[{"$ref":"#/components/schemas/ReconciliationStatus"}]},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"fiatCurrency":{"type":"string","example":"USD","minLength":3,"maxLength":3},"asset":{"type":"string","example":"USDC","maxLength":20}}},"TransactionFeedScope":{"type":"string","enum":["all","orchestrated","imported"]},"BenchmarkStatus":{"type":"string","enum":["Competitive","InLine","OffMarket","Calibrating","Syncing","Stale"]},"BenchmarkIntelligence":{"type":"string","enum":["AllClear","NeedReview","ReconciliationIssues"]},"TransactionsQuery":{"type":"object","properties":{"id":{"type":"string","minLength":25,"maxLength":25},"scope":{"allOf":[{"$ref":"#/components/schemas/TransactionFeedScope"}]},"status":{"allOf":[{"$ref":"#/components/schemas/TransactionStatus"}]},"type":{"allOf":[{"$ref":"#/components/schemas/TransactionType"}]},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"sourceAccountId":{"type":"string","minLength":25,"maxLength":25},"destinationAccountId":{"type":"string","minLength":25,"maxLength":25},"includeAccounts":{"type":"boolean"},"fromDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"toDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"fromUpdatedDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"toUpdatedDate":{"type":"string","format":"date","example":"2003-01-01","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"counterPartyIdentityId":{"type":"string","minLength":25,"maxLength":25},"benchmarkStatus":{"allOf":[{"$ref":"#/components/schemas/BenchmarkStatus"}]},"intelligence":{"allOf":[{"$ref":"#/components/schemas/BenchmarkIntelligence"}]},"reconciliationStatus":{"allOf":[{"$ref":"#/components/schemas/ReconciliationStatus"}]},"reconciliationRunId":{"type":"string","minLength":25,"maxLength":25},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"fiatCurrency":{"type":"string","example":"USD","minLength":3,"maxLength":3},"asset":{"type":"string","example":"USDC","maxLength":20},"externalId":{"type":"string","description":"Provider-side transaction id, as reported by the PFI.","example":"po_5lHqUz3lij6M","maxLength":70}}},"PageResponseDto":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"type":"string"}}},"required":["hasMore","data"]},"AssetId":{"type":"string","enum":["POL","USDT_POLYGON","USDC_POLYGON","SBC_POLYGON","ETH","USDT_ETHEREUM","USDC_ETHEREUM","PYUSD_ETHEREUM","DAI_ETHEREUM","EURC_ETHEREUM","SBC_ETHEREUM","TRX","USDT_TRON","SBC_TRON","ETH_BASE","USDC_BASE","USDB_BASE","USDB_ETHEREUM","EURC_BASE","SBC_BASE","ETH_OPTIMISM","USDT_OPTIMISM","USDC_OPTIMISM","BTC","CELO","CUSD_CELO","USDC_CELO","SBC_CELO","SOL","USDC_SOLANA","USDT_SOLANA","PYUSD_SOLANA","USDP_SOLANA","EURC_SOLANA","SBC_SOLANA"]},"PaymentMethod":{"type":"string","enum":["ACH","Wire","Sepa","Swift","Card","MobileMoney","PIX","TED","PSE","SPEI","COELSA","Transfers30","SPAV","TEF","CCE","SPI","LBTR","SINPE","Transfer365","NIP","GhIPSS","BankTransfer","EFT","RTP","BECS","FPS","IMPS_FIRC","Breb","NPSS","MADA","ZAHAV","IBFT","SIC","Alipay","Tips","Napas","BiFast","FastSg","Instapay","Ipp","Giro","Elixir","FastRtp","TransFond","Nics","Cnaps","UnionPay","UPI","Onchain"]},"TransactionSourceSenderEntity":{"type":"object","properties":{"name":{"type":"string","nullable":true},"legalName":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"taxIdLast4":{"type":"string","nullable":true},"bankName":{"type":"string","nullable":true},"bankRoutingNumberLast4":{"type":"string","nullable":true},"bankAccountNumberLast4":{"type":"string","nullable":true},"accountNumberLast4":{"type":"string","nullable":true},"traceNumber":{"type":"string","nullable":true},"originatorName":{"type":"string","nullable":true},"beneficiaryName":{"type":"string","nullable":true},"wireMessage":{"type":"string","nullable":true},"imad":{"type":"string","nullable":true},"iban":{"type":"string","nullable":true},"ibanLast4":{"type":"string","nullable":true},"bic":{"type":"string","nullable":true},"sortCode":{"type":"string","nullable":true},"clabe":{"type":"string","nullable":true},"trackingNumber":{"type":"string","nullable":true},"reference":{"type":"string","nullable":true},"uetr":{"type":"string","nullable":true},"paymentScheme":{"type":"string","nullable":true},"recipientName":{"type":"string","nullable":true}},"required":["name","legalName","description","taxIdLast4","bankName","bankRoutingNumberLast4","bankAccountNumberLast4","accountNumberLast4","traceNumber","originatorName","beneficiaryName","wireMessage","imad","iban","ibanLast4","bic","sortCode","clabe","trackingNumber","reference","uetr","paymentScheme","recipientName"]},"TransactionSourceEntity":{"type":"object","properties":{"asset":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"amount":{"type":"string","nullable":true},"fiatCurrency":{"type":"string","nullable":true},"paymentMethod":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"accountId":{"type":"string","nullable":true},"accountName":{"type":"string","nullable":true},"sender":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/TransactionSourceSenderEntity"}]}},"required":["asset","amount","fiatCurrency","paymentMethod","accountId","accountName","sender"]},"TransactionDestinationEntity":{"type":"object","properties":{"asset":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"amount":{"type":"string","nullable":true},"fiatCurrency":{"type":"string","nullable":true},"imad":{"type":"string","nullable":true},"reference":{"type":"string","nullable":true},"omad":{"type":"string","nullable":true},"uetr":{"type":"string","nullable":true},"traceNumber":{"type":"string","nullable":true},"externalAddress":{"type":"string","nullable":true},"accountId":{"type":"string","nullable":true},"accountName":{"type":"string","nullable":true},"paymentInstructionId":{"type":"string","nullable":true}},"required":["asset","amount","fiatCurrency","imad","reference","omad","uetr","traceNumber","externalAddress","accountId","accountName","paymentInstructionId"]},"IntegrationProvider":{"type":"string","enum":["Standalone","MultiProvider","Dfns","Utila","Bridge","Koywe","Kotanipay","Manual","Blockchain","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Ares","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Brale","Onmeta","Mastercard","Alfred","Tazapay","Demo","CrissCross","TripleA","Pockyt"]},"ExternalTransactionEntity":{"type":"object","properties":{"externalId":{"type":"string"},"provider":{"allOf":[{"$ref":"#/components/schemas/IntegrationProvider"}]}},"required":["externalId","provider"]},"DecimalNumber":{"type":"object","properties":{}},"USDepositDetailsEntity":{"type":"object","properties":{"depositMessage":{"type":"string","description":"BRGFR8EHMZRJ6MHVSEM4"},"bankAccountNumber":{"type":"string","description":"11223344556677"},"bankRoutingNumber":{"type":"string","description":"123456789"},"bankBeneficiaryName":{"type":"string","description":"Company Ventures Inc"},"bankBeneficiaryAddress":{"type":"string","description":"1234 Elm St, Springfield, IL 12345"},"bankName":{"type":"string","description":"Bank of Nowhere"},"bankAddress":{"type":"string","description":"1800 North Pole St., Orlando, FL 32801"},"bic":{"type":"string","description":"CHASUS33"}},"required":["depositMessage","bankAccountNumber","bankRoutingNumber","bankBeneficiaryName","bankBeneficiaryAddress","bankName","bankAddress"]},"SepaDepositDetailsEntity":{"type":"object","properties":{"depositMessage":{"type":"string","description":"BRGFXKR2HU6P6ERDUBTR"},"iban":{"type":"string","description":"GB63MOCK00000003615430"},"bic":{"type":"string","description":"MOCKGB21"},"accountHolderName":{"type":"string","description":"Company Building Sp.z.o.o."},"bankName":{"type":"string","description":"Bank of Nowhere"},"bankAddress":{"type":"string","description":"1800 Nowhere Ave., London E41 2RF, United Kingdom"}},"required":["depositMessage","iban","bic","accountHolderName","bankName","bankAddress"]},"PIXDepositDetailsEntity":{"type":"object","properties":{"bankAccountNumber":{"type":"string","nullable":true,"description":"Bank account number (e.g., \"11223344556677\").","example":"11223344556677"},"bankBranchCode":{"type":"string","nullable":true,"description":"Bank branch code (e.g., \"1234\").","example":"1234"},"bankCode":{"type":"string","nullable":true,"description":"Bank identification code (e.g., \"002\").","example":"002"},"bankIspbCode":{"type":"string","nullable":true,"description":"Bank ispb code (e.g., \"12345432\").","example":"12345432"},"bankName":{"type":"string","nullable":true,"description":"Name of the receiving bank (e.g., \"Bank of Nowhere\").","example":"Bank of Nowhere"},"bankBeneficiaryName":{"type":"string","nullable":true,"description":"Full legal name of the beneficiary who will receive the funds.","example":"John Smith"},"bankBeneficiaryAddress":{"type":"string","nullable":true,"description":"Full residential or business address of the beneficiary receiving the funds.","example":"123 Main Street, Suite 400, New York, NY 10001, USA"},"taxId":{"type":"string","nullable":true,"description":"Tax identification number associated with the receiver.","example":"1234123412342"},"pixKey":{"type":"string","nullable":true,"description":"PIX key for the recipient (e.g., phone number, CPF, or random key).","example":"+5511999999999"},"pixBrCode":{"type":"string","nullable":true,"description":"BR Code (\"PIX Copia e Cola\") payload the payer pastes into their banking app to settle this exact deposit.","example":"00020101021226810014br.gov.bcb.pix2559qr.example.com/qr/v2/cob/66f9c6ea-ec38-4ed7-803c-0ac6fdcc747c5204000053039865802BR5925Example Company6009SAO PAULO63041D3D"},"pixQrCode":{"type":"string","nullable":true,"description":"QR code encoding the BR Code, as a base64-encoded PNG without a data URI prefix.","example":"iVBORw0KGgoAAAANSUhEUgAAAeoAAAHqAQAAAADjFjCX"},"redirectUrl":{"type":"string","nullable":true,"description":"Hosted payment page where the payer can complete this deposit.","example":"https://app2.example.com/api/v1/payments/MGYwZDQ1ZDkt/start"}}},"BankAccountType":{"type":"string","enum":["Checking","Savings"]},"LatAmDepositDetailsEntity":{"type":"object","properties":{"bankName":{"type":"string","description":"Bank or financial institution. (STP, Banco Davivienda, Banco Santander etc.)"},"bankAccountNumber":{"type":"string","description":"Bank or financial institution account number. (CLABE)"},"bankAccountType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"accountAlias":{"type":"string","nullable":true,"description":"Account alias registered in the local directory, accepted by the payer's bank in place of the account number. (Argentine CVU/CBU alias)"},"accountHolderName":{"type":"string","nullable":true,"description":"Receiving account holder name, for an individual or a business. Populated instead of companyName by providers that do not distinguish the two."},"companyName":{"type":"string","nullable":true,"description":"Receiving corporate entity name."},"taxId":{"type":"string","nullable":true,"description":"Receiving corporate entity local tax id. (NIT, CUIL, RUT, RUC)"},"email":{"type":"string","nullable":true,"description":"Receiving corporate entity email."},"withholdingTax":{"type":"string","nullable":true,"description":"Percentage of the total payment amount deducted at source as tax, per Colombian regulations, for specific transactions like income or services."},"redirectUrl":{"type":"string","nullable":true,"description":"PSE-generated URL in Colombia redirecting to the payment platform for bank selection and pre-filled transaction confirmation."}},"required":["bankName","bankAccountNumber","companyName","withholdingTax","redirectUrl"]},"BankTransferDepositDetailsEntity":{"type":"object","properties":{"bankName":{"type":"string","description":"M-pesa"},"bankAccountNumber":{"type":"string","description":"2045080458"},"bankBranchCode":{"type":"string","description":"NIL"},"companyName":{"type":"string","description":"XXX PAY LIMITED"}},"required":["bankName","bankAccountNumber","bankBranchCode","companyName"]},"EFTDepositDetailsEntity":{"type":"object","properties":{"redirectUrl":{"type":"string","description":"https://agent.callpay.com/pay/hosted?payment_key=e9b327a625ad7df6825a81d599200b3a&payment_type=eft"}},"required":["redirectUrl"]},"DefaultDetailsEntity":{"type":"object","properties":{"description":{"type":"string","nullable":true},"depositMessage":{"type":"string","nullable":true},"bankName":{"type":"string","nullable":true},"bankCode":{"type":"string","nullable":true},"bankAddress":{"type":"string","nullable":true},"bankAccountNumber":{"type":"string","nullable":true},"bankRoutingNumber":{"type":"string","nullable":true},"localRoutingCode":{"type":"string","nullable":true},"bankBeneficiaryName":{"type":"string","nullable":true},"bankBeneficiaryAddress":{"type":"string","nullable":true},"accountHolderName":{"type":"string","nullable":true},"accountAlias":{"type":"string","nullable":true},"iban":{"type":"string","nullable":true},"bic":{"type":"string","nullable":true},"bankAccountType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"bankIspbCode":{"type":"string","nullable":true},"companyName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"pixKey":{"type":"string","nullable":true},"withholdingTax":{"type":"string","nullable":true}}},"DepositInstructionEntity":{"type":"object","properties":{"paymentMethod":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"details":{"oneOf":[{"$ref":"#/components/schemas/USDepositDetailsEntity"},{"$ref":"#/components/schemas/SepaDepositDetailsEntity"},{"$ref":"#/components/schemas/PIXDepositDetailsEntity"},{"$ref":"#/components/schemas/LatAmDepositDetailsEntity"},{"$ref":"#/components/schemas/BankTransferDepositDetailsEntity"},{"$ref":"#/components/schemas/EFTDepositDetailsEntity"},{"$ref":"#/components/schemas/DefaultDetailsEntity"}]}},"required":["paymentMethod","details"]},"RecipientRelationship":{"type":"string","enum":["first party","employee","independent contractor","vendor or supplier","subsidiary or affiliate","merchant or partner","customer","landlord","family","other"]},"PostalAddressEntity":{"type":"object","properties":{"id":{"type":"string"},"street1":{"type":"string"},"street2":{"type":"string","nullable":true},"city":{"type":"string"},"state":{"type":"string","nullable":true},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"postalCode":{"type":"string"}},"required":["id","street1","street2","city","state","country","postalCode"]},"USDetailsEntity":{"type":"object","properties":{"bankName":{"type":"string","nullable":true,"example":"Chase"},"accountHolderName":{"type":"string","example":"John Doe"},"bankAccountNumber":{"type":"string","example":"123456789","description":"Full bank account number (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"bankAccountNumberLast4":{"type":"string","example":"6789"},"bankRoutingNumber":{"type":"string","example":"021000021"},"bankAccountType":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"recipientRelationship":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]},"address":{"nullable":true,"description":"Beneficiary bank address. The beneficiary's own address is taken from the identity.","type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]},"bankSlug":{"type":"string","nullable":true,"deprecated":true},"bankCode":{"type":"string","nullable":true,"deprecated":true},"phone":{"type":"string","nullable":true,"deprecated":true},"taxId":{"type":"string","nullable":true,"deprecated":true}},"required":["bankName","accountHolderName","bankAccountNumberLast4","bankRoutingNumber","bankAccountType","recipientRelationship","address","bankSlug","bankCode","phone","taxId"]},"IbanBankDetailsEntity":{"type":"object","properties":{"bankSlug":{"type":"string","nullable":true,"example":"Chase"},"iban":{"type":"string","example":"DE89370400440532013000","description":"Full IBAN (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"ibanLast4":{"type":"string","example":"3000"},"localRoutingCode":{"type":"string","nullable":true,"example":"0040"},"swiftOrBicNumber":{"type":"string","nullable":true,"example":"CHASUS33"},"address":{"nullable":true,"description":"Beneficiary bank address.","type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]},"bankAccountNumberLast4":{"type":"string","deprecated":true,"example":"3000"},"bankName":{"type":"string","nullable":true,"example":"Example Bank"},"bankRoutingNumber":{"type":"string","nullable":true,"deprecated":true},"bankCode":{"type":"string","nullable":true,"deprecated":true},"accountHolderName":{"type":"string","nullable":true,"deprecated":true},"bankAccountType":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"recipientRelationship":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]},"phone":{"type":"string","nullable":true,"deprecated":true},"taxId":{"type":"string","nullable":true,"deprecated":true}},"required":["bankSlug","ibanLast4","localRoutingCode","swiftOrBicNumber","address","bankAccountNumberLast4","bankName","bankRoutingNumber","bankCode","accountHolderName","bankAccountType","recipientRelationship","phone","taxId"]},"BankAccountNumberType":{"type":"string","enum":["CVU","CBU","ALIAS"]},"BankDetailsEntity":{"type":"object","properties":{"bankName":{"type":"string","nullable":true,"example":"Chase"},"bankSlug":{"type":"string","nullable":true,"example":"Chase"},"bankAccountNumber":{"type":"string","example":"123456789","description":"Full bank account number (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"bankAccountNumberLast4":{"type":"string","example":"6789"},"localRoutingCode":{"type":"string","nullable":true,"example":"1234567"},"branchCode":{"type":"string","nullable":true,"example":"0001"},"swiftOrBicNumber":{"type":"string","nullable":true,"example":"DEUTDEFF"},"accountHolderName":{"type":"string","nullable":true,"example":"John Doe"},"bankAccountType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"bankAccountNumberType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BankAccountNumberType"}]},"address":{"nullable":true,"description":"Beneficiary bank address. The beneficiary's own address is taken from the identity.","type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]},"bankRoutingNumber":{"type":"string","nullable":true,"deprecated":true,"example":"021000021"},"bankCode":{"type":"string","nullable":true,"deprecated":true,"example":"40006"},"phone":{"type":"string","nullable":true,"deprecated":true},"taxId":{"type":"string","nullable":true,"deprecated":true},"recipientRelationship":{"nullable":true,"deprecated":true,"allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]}},"required":["bankName","bankSlug","bankAccountNumberLast4","localRoutingCode","branchCode","swiftOrBicNumber","accountHolderName","bankAccountType","bankAccountNumberType","address","bankRoutingNumber","bankCode","phone","taxId","recipientRelationship"]},"BrebKeyDetailsEntity":{"type":"object","properties":{"brebKey":{"type":"string","description":"The Bre-B key value registered for the recipient."}},"required":["brebKey"]},"PaymentInstructionIdentifierType":{"type":"string","enum":["PhoneNumber","Email","CPF","EVP","CNPJ","UPI"]},"IdentifierDetailsEntity":{"type":"object","properties":{"identifierType":{"allOf":[{"$ref":"#/components/schemas/PaymentInstructionIdentifierType"}]},"identifierValue":{"type":"string"},"address":{"nullable":true,"description":"The address associated with the Identifier Payment Instruction is deprecated.","deprecated":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]}},"required":["identifierType","identifierValue","address"]},"BankAccountOwnerType":{"type":"string","enum":["Personal","Business"]},"SepaDetailsEntity":{"type":"object","properties":{"bankName":{"type":"string","example":"Chase"},"bankAccountNumber":{"type":"string","example":"123456789","description":"Full bank account number (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"bankAccountNumberLast4":{"type":"string","example":"6789"},"accountHolderName":{"type":"string","example":"John Doe"},"swiftOrBicNumber":{"type":"string","example":"BNPAFRPPXXX"},"accountOwnerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"}]},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"businessName":{"type":"string","nullable":true},"address":{"nullable":true,"description":"Beneficiary bank address. The beneficiary's own address is taken from the identity.","type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]}},"required":["bankName","bankAccountNumberLast4","accountHolderName","swiftOrBicNumber","accountOwnerType","firstName","lastName","businessName","address"]},"SwiftDetailsEntity":{"type":"object","properties":{"accountHolderName":{"type":"string","example":"John Doe"},"bankAccountNumber":{"type":"string","example":"123456789","description":"Full bank account number (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"iban":{"type":"string","example":"DE89370400440532013000","description":"Full IBAN (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"bankAccountNumberLast4":{"type":"string","example":"6789"},"swiftOrBicNumber":{"type":"string","example":"BNPAFRPPXXX"},"ibanLast4":{"type":"string","example":"3000"},"address":{"nullable":true,"description":"Beneficiary bank address. Optional; required for SWIFT payouts via BlindPay. The beneficiary's own address is taken from the identity.","type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]},"bankSlug":{"type":"string","nullable":true,"example":"NH4EM3uyZ4DXriHihwbGLzeRAGj9qDXbClBtYBSX2x"},"bankName":{"type":"string","nullable":true,"example":"Chase"},"bankAccountType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"intermediaryBankName":{"type":"string","nullable":true},"intermediaryBankSwiftOrBicNumber":{"type":"string","nullable":true},"intermediaryBankRoutingNumber":{"type":"string","nullable":true},"intermediaryBankAddress":{"type":"string","nullable":true},"beneficiaryBankCnapsCode":{"type":"string","nullable":true},"beneficiaryPhone":{"type":"string","nullable":true},"beneficiaryAddressInChinese":{"type":"string","nullable":true},"recipientRelationship":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]},"bankAddress":{"type":"string","nullable":true,"description":"Deprecated. Use the structured `address` field for the beneficiary bank address.","deprecated":true}},"required":["accountHolderName","address","bankSlug","bankName","bankAccountType","intermediaryBankName","intermediaryBankSwiftOrBicNumber","intermediaryBankRoutingNumber","intermediaryBankAddress","beneficiaryBankCnapsCode","beneficiaryPhone","beneficiaryAddressInChinese","recipientRelationship","bankAddress"]},"MobileMoneyProvider":{"type":"string","enum":["AIRTEL","BKTRX","FAWRY","CHECKOUT","CRDTRX","EXPRESSO","FLOOZ","FREE","HALOPESA","MOBICASH","MOOV","MPESA","MTN","MYZAKA","OPAY","ORANGE","TIGO","TMONEY","TNM","VODACOM","VODAFONE","WAVE","ZAMTEL"]},"MobileMoneyDetailsEntity":{"type":"object","properties":{"accountHolderName":{"type":"string"},"phone":{"type":"string"},"networkProvider":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MobileMoneyProvider"}]},"networkSlug":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MobileMoneyProvider"}]}},"required":["accountHolderName","phone","networkProvider","networkSlug"]},"UKFPSDetailsEntity":{"type":"object","properties":{"bankName":{"type":"string","nullable":true,"example":"Barclays"},"bankSlug":{"type":"string","nullable":true,"example":"Barclays"},"bankAccountNumber":{"type":"string","nullable":true,"example":"12345678","description":"Full bank account number (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"bankAccountNumberLast4":{"type":"string","nullable":true,"example":"5678"},"sortCode":{"type":"string","nullable":true,"example":"601613","description":"6-digit UK sort code (derived from IBAN positions 9-14)."},"iban":{"type":"string","nullable":true,"example":"GB29NWBK60161331926819","description":"Full IBAN (PII). Nullable / omitted by default. Returned only when your organization has been granted access to full payment-instruction details. Contact support to enable."},"ibanLast4":{"type":"string","nullable":true,"example":"6819"},"accountHolderName":{"type":"string","nullable":true,"example":"Jane Smith"},"bankAccountType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"address":{"nullable":true,"description":"Beneficiary bank address. The beneficiary's own address is taken from the identity.","type":"object","allOf":[{"$ref":"#/components/schemas/PostalAddressEntity"}]}},"required":["bankName","bankSlug","bankAccountNumberLast4","sortCode","ibanLast4","accountHolderName","bankAccountType","address"]},"NetworkId":{"type":"string","enum":["POLYGON","ETHEREUM","TRON","BASE","OPTIMISM","BITCOIN","SOLANA","CELO"],"description":"The blockchain the destination address lives on."},"OnchainDetailsEntity":{"type":"object","properties":{"onchainNetwork":{"description":"The blockchain the destination address lives on.","example":"POLYGON","allOf":[{"$ref":"#/components/schemas/NetworkId"}]},"onchainAddress":{"type":"string","description":"The blockchain address that receives the funds.","example":"0x1234567890abcdef1234567890abcdef12345678"}},"required":["onchainNetwork","onchainAddress"]},"PaymentInstructionEntity":{"type":"object","properties":{"id":{"type":"string"},"identityId":{"type":"string"},"name":{"type":"string"},"paymentMethod":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"currency":{"type":"string","nullable":true,"example":"USD"},"country":{"nullable":true,"example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"deleted":{"type":"boolean","default":false},"createdAt":{"format":"date-time","type":"string"},"details":{"oneOf":[{"$ref":"#/components/schemas/USDetailsEntity","title":"US Details (ACH and Wire)"},{"$ref":"#/components/schemas/IbanBankDetailsEntity","title":"Iban Bank Details"},{"$ref":"#/components/schemas/BankDetailsEntity","title":"Bank Details"},{"$ref":"#/components/schemas/IdentifierDetailsEntity","title":"Identifier (PIX)"},{"$ref":"#/components/schemas/BrebKeyDetailsEntity","title":"Bre-B Key (Colombia)"},{"$ref":"#/components/schemas/SepaDetailsEntity","title":"SEPA (Europe)"},{"$ref":"#/components/schemas/SwiftDetailsEntity","title":"Swift Details"},{"$ref":"#/components/schemas/MobileMoneyDetailsEntity","title":"Mobile Money (Africa)"},{"$ref":"#/components/schemas/UKFPSDetailsEntity","title":"UK FPS (Sort Code + IBAN)"},{"$ref":"#/components/schemas/OnchainDetailsEntity","title":"Onchain (blockchain address)"}]}},"required":["id","identityId","name","paymentMethod","currency","country","deleted","createdAt","details"]},"OnchainInstructionType":{"type":"string","enum":["Transfer","Approval","SmartCall"]},"OnchainInstructionTransactionEntity":{"type":"object","properties":{"id":{"type":"string"},"to":{"type":"string","nullable":true},"from":{"type":"string","nullable":true},"data":{"type":"string","nullable":true},"nonce":{"type":"string","nullable":true},"value":{"type":"string","nullable":true},"chainId":{"type":"number","nullable":true},"gasLimit":{"type":"string","nullable":true},"gasPrice":{"type":"string","nullable":true},"fee":{"type":"string","nullable":true},"unsignedTx":{"type":"string","nullable":true},"psbt":{"type":"string","nullable":true},"inputs":{"type":"object","additionalProperties":true,"nullable":true},"outputs":{"type":"object","additionalProperties":true,"nullable":true},"walletId":{"type":"string","nullable":true},"body":{"type":"object","additionalProperties":true,"nullable":true},"visible":{"type":"boolean","nullable":true},"txID":{"type":"string","nullable":true},"rawData":{"type":"object","additionalProperties":true,"nullable":true},"rawDataHex":{"type":"string","nullable":true},"spender":{"type":"string","nullable":true},"mint":{"type":"string","nullable":true}},"required":["id","to","from","data","nonce","value","chainId","gasLimit","gasPrice","fee","unsignedTx","psbt","inputs","outputs","walletId","body","visible","txID","rawData","rawDataHex","spender","mint"]},"OnchainInstructionEntity":{"type":"object","properties":{"id":{"type":"string"},"amount":{"type":"string","description":"The amount for the onchain transaction.","example":"100.00"},"asset":{"description":"The token tied to a specific blockchain for the operation. See the list of [supported deposit assets](https://docs.buildborderless.com/docs/get-deposit-options) and [supported Withdrawal Assets](https://docs.buildborderless.com/docs/get-withdrawal-options#/).","example":"BTC","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fromAddress":{"type":"string"},"toAddress":{"type":"string","nullable":true,"description":"Where the funds go for a `Transfer`. Always null for an `Approval`, which has no destination — see `tokenAddress` and `spenderAddress`."},"spenderAddress":{"type":"string","nullable":true,"description":"For an `Approval`, the party authorised to spend the funds. Null for a `Transfer`."},"tokenAddress":{"type":"string","nullable":true,"description":"For an `Approval`, the token the allowance is granted on — the ERC-20 contract to call `approve` on, or the SPL mint. Never a destination for funds. Null for a `Transfer`."},"type":{"allOf":[{"$ref":"#/components/schemas/OnchainInstructionType"}]},"onchainInstructionTransaction":{"nullable":true,"deprecated":true,"description":"Deprecated. The unsigned transaction is no longer generated automatically. Build it from this instruction's `asset`, `amount` and `fromAddress`, together with `toAddress` for a `Transfer` or `spenderAddress` for an `Approval`.","type":"object","allOf":[{"$ref":"#/components/schemas/OnchainInstructionTransactionEntity"}]}},"required":["id","amount","asset","fromAddress","toAddress","spenderAddress","tokenAddress","type","onchainInstructionTransaction"]},"TransactionDocumentType":{"type":"string","enum":["Invoice","Other"]},"RefundPath":{"type":"string","enum":["PfiAutoReversal","BalancePayout","ReturnToSender","PfiAutoReturn","ManualRequired","Unsupported"]},"RefundPlanStatus":{"type":"string","enum":["Created","Eligible","InProgress","Succeeded","Failed","Blocked","ManualRequired","Unsupported","Cancelled"]},"RefundDestinationSource":{"type":"string","enum":["None","PerTransaction","OrganizationDefault","OriginalSender","ProviderLocked","Manual"]},"RefundDestinationType":{"type":"string","enum":["Address","Source","ProviderBalance"]},"RefundResolutionDestinationEntity":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/RefundDestinationType"}]},"address":{"type":"string","description":"The crypto address that receives the refund."},"autoRefund":{"type":"boolean","description":"Whether Borderless dispatches the refund automatically on failure."},"autoFiatReturn":{"type":"boolean","description":"Whether Borderless dispatches a fiat return automatically."}},"required":["type"]},"RefundFailureDetailEntity":{"type":"object","properties":{"path":{"type":"string","description":"The field the provider rejected, when it named one."},"pfiErrorMessage":{"type":"string","description":"The error message as reported by the provider."},"externalStatus":{"type":"string","description":"The provider-side status that made the refund terminal."}},"required":["pfiErrorMessage"]},"RefundFailureReasonEntity":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable failure summary."},"details":{"description":"Provider-level error details for the failed refund attempt.","type":"array","items":{"$ref":"#/components/schemas/RefundFailureDetailEntity"}}}},"RefundResolutionEntity":{"type":"object","properties":{"supported":{"type":"boolean"},"requiresManualAction":{"type":"boolean"},"dispatchable":{"type":"boolean","description":"Whether the refund plan can be dispatched now via POST /transactions/:id/refund."},"path":{"allOf":[{"$ref":"#/components/schemas/RefundPath"}]},"status":{"allOf":[{"$ref":"#/components/schemas/RefundPlanStatus"}]},"destinationSource":{"allOf":[{"$ref":"#/components/schemas/RefundDestinationSource"}]},"destination":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/RefundResolutionDestinationEntity"}]},"reason":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/RefundFailureReasonEntity"}]},"completedAt":{"format":"date-time","type":"string","nullable":true},"failedAt":{"format":"date-time","type":"string","nullable":true},"txHash":{"type":"string","nullable":true,"description":"On-chain transaction hash of the settled refund. Null until the refund settles, and for refunds that settle off-chain."}},"required":["supported","requiresManualAction","dispatchable","path","status","destinationSource"]},"RateGrade":{"type":"string","enum":["Competitive","InLine","OffMarket"]},"RateStatus":{"type":"string","enum":["Classified","Calibrating","Stale","NoRateProduced","Syncing"]},"RateConfidenceTier":{"type":"string","enum":["Strong","Standard"]},"OrphanedPfiTransactionSource":{"type":"string","enum":["Reconciliation","Import","CsvImport"]},"AnchorMode":{"type":"string","enum":["Achieved","Backstop"]},"ImportBenchmarkEntity":{"type":"object","properties":{"benchmarkMean":{"type":"string","nullable":true},"benchmarkStddev":{"type":"string","nullable":true},"observationCount":{"type":"number","nullable":true},"deviation":{"type":"string","nullable":true},"bestRate":{"type":"string","nullable":true},"centerSourceLabel":{"type":"string","nullable":true},"anchorMode":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AnchorMode"}]},"topOrgShare":{"type":"string","nullable":true},"bandWidened":{"type":"string","nullable":true},"methodologyVersion":{"type":"string","nullable":true}},"required":["benchmarkMean","benchmarkStddev","observationCount","deviation","bestRate","centerSourceLabel","anchorMode","topOrgShare","bandWidened","methodologyVersion"]},"TransactionEntity":{"type":"object","properties":{"id":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/TransactionType"}]},"status":{"allOf":[{"$ref":"#/components/schemas/TransactionStatus"}]},"pfiName":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"country":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"source":{"$ref":"#/components/schemas/TransactionSourceEntity"},"destination":{"$ref":"#/components/schemas/TransactionDestinationEntity"},"instructions":{"type":"object","additionalProperties":true,"nullable":true,"deprecated":true,"description":"Deprecated. Use `withdrawalOnchainInstruction` or `depositInstruction` instead."},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"txHash":{"type":"array","items":{"type":"string"}},"externalTransactions":{"type":"array","items":{"$ref":"#/components/schemas/ExternalTransactionEntity"}},"feeAmount":{"$ref":"#/components/schemas/DecimalNumber"},"networkFee":{"type":"string","nullable":true},"failureReason":{"type":"object","additionalProperties":true,"nullable":true,"example":{"details":[{"path":"paymentInstruction","pfiErrorMessage":"bank.transitNumber must match /^([0-9]{3}-[0-9]{5}|[0-9]{5}-[0-9]{3})$/ regular expression"}],"message":"Validation error from PFI"}},"depositInstruction":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/DepositInstructionEntity"}]},"destinationPaymentInstruction":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/PaymentInstructionEntity"}]},"withdrawalOnchainInstruction":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/OnchainInstructionEntity"}]},"counterPartyIdentityId":{"type":"string","nullable":true},"virtualAccountId":{"type":"string","nullable":true},"liquidationAddressId":{"type":"string","nullable":true},"uploadedDocumentTypes":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDocumentType"}},"documentsRequired":{"type":"boolean","description":"Whether the payment provider requires a transaction document (e.g. an invoice) before the payment can proceed."},"reconciliationStatus":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ReconciliationStatus"}]},"reconciliationWasRegressed":{"type":"boolean"},"refundResolution":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/RefundResolutionEntity"}]},"rateGrade":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RateGrade"}]},"rateStatus":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RateStatus"}]},"rateConfidenceTier":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RateConfidenceTier"}]},"lastKnownGrade":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RateGrade"}]},"staleSince":{"type":"string","nullable":true,"format":"date-time"},"pfiTransactionSource":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/OrphanedPfiTransactionSource"}]},"importBenchmark":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ImportBenchmarkEntity"}]},"developerFeeAmount":{"$ref":"#/components/schemas/DecimalNumber"}},"required":["id","type","status","pfiName","country","source","destination","instructions","createdAt","updatedAt","txHash","externalTransactions","feeAmount","networkFee","failureReason","depositInstruction","destinationPaymentInstruction","withdrawalOnchainInstruction","counterPartyIdentityId","virtualAccountId","liquidationAddressId","uploadedDocumentTypes","documentsRequired","reconciliationStatus","reconciliationWasRegressed","rateGrade","rateStatus","rateConfidenceTier","lastKnownGrade","staleSince","pfiTransactionSource","developerFeeAmount"]},"PaginatedTransactionEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TransactionEntity"}}},"required":["hasMore","data"]},"ProviderRecordStatsEntity":{"type":"object","properties":{"totalCount":{"type":"number"},"allClearCount":{"type":"number"},"needReviewCount":{"type":"number"},"volumeUsd":{"type":"string"}},"required":["totalCount","allClearCount","needReviewCount","volumeUsd"]},"TransactionIntelligenceStatsEntity":{"type":"object","properties":{"totalCount":{"type":"number"},"allClearCount":{"type":"number"},"needReviewCount":{"type":"number"},"reconciliationIssuesCount":{"type":"number"},"matchedCount":{"type":"number"},"matchedTotal":{"type":"number"},"volumeUsd":{"type":"string"},"imported":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ProviderRecordStatsEntity"}]},"orphans":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ProviderRecordStatsEntity"}]}},"required":["totalCount","allClearCount","needReviewCount","reconciliationIssuesCount","matchedCount","matchedTotal","volumeUsd","imported","orphans"]},"ImportBenchmarkPortfolioEntity":{"type":"object","properties":{"hasSignal":{"type":"boolean"},"sampleSize":{"type":"number"},"totalVolumeUsd":{"type":"string"},"pointUsd":{"type":"string","nullable":true},"lowUsd":{"type":"string","nullable":true},"highUsd":{"type":"string","nullable":true},"competitiveCount":{"type":"number"},"inLineCount":{"type":"number"},"offMarketCount":{"type":"number"},"concentrationDisclosure":{"type":"boolean"},"divergenceDisclosure":{"type":"boolean"},"nearZero":{"type":"boolean"}},"required":["hasSignal","sampleSize","totalVolumeUsd","pointUsd","lowUsd","highUsd","competitiveCount","inLineCount","offMarketCount","concentrationDisclosure","divergenceDisclosure","nearZero"]},"WebhookEventsStatus":{"type":"string","enum":["Pending","Retry","Failed","Completed"]},"WebhookEventEntity":{"type":"object","properties":{"id":{"type":"string"},"payload":{"type":"object","additionalProperties":true},"status":{"allOf":[{"$ref":"#/components/schemas/WebhookEventsStatus"}]},"failureReason":{"type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"}},"required":["id","payload","status","failureReason","createdAt"]},"PaginatedWebhookEventEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventEntity"}}},"required":["hasMore","data"]},"WebhookSettingsEntity":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","url","enabled","createdAt","updatedAt"]},"WebhooksServiceConfigDto":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"enabled":{"type":"boolean"}},"required":["url"]},"OrganizationAuditCategory":{"type":"string","enum":["Credentials","Routing","Network"]},"OrganizationAuditActorType":{"type":"string","enum":["DashboardUser","ApiToken","Admin"]},"AuditActorEntity":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/OrganizationAuditActorType"}]},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"required":["type","name","email"]},"OrganizationAuditEventEntity":{"type":"object","properties":{"id":{"type":"string"},"category":{"allOf":[{"$ref":"#/components/schemas/OrganizationAuditCategory"}]},"action":{"type":"string"},"metadata":{"type":"object","additionalProperties":true,"nullable":true},"actor":{"$ref":"#/components/schemas/AuditActorEntity"},"createdAt":{"format":"date-time","type":"string"}},"required":["id","category","action","metadata","actor","createdAt"]},"PaginatedOrganizationAuditEventEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationAuditEventEntity"}}},"required":["hasMore","data"]},"IdentityType":{"type":"string","enum":["Personal","Business"]},"IdentitiesQuery":{"type":"object","properties":{"namePrefix":{"type":"string"},"emailPrefix":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/IdentityType"}]},"id":{"type":"string","minLength":25,"maxLength":25},"hasComplianceCheck":{"type":"boolean"},"includeIds":{"type":"string"}}},"SourceOfWealth":{"type":"string","enum":["BusinessDividendsOrProfits","Investments","AssetSales","ClientInvestorContributions","Gambling","CharitableContributions","Inheritance","AffiliateOrRoyaltyIncome"]},"BusinessType":{"type":"string","enum":["Cooperative","Corporation","Llc","Other","Partnership","SoleProp","Trust"]},"AnnualRevenue":{"type":"string","enum":["Under100K","From100KTo1M","From1MTo10M","From10MTo50M","From50MTo250M","Over250M"]},"MonthlyTransactionCount":{"type":"string","enum":["Under10","From10To100","From100To1000","From1000To10000","From10000To100000","From100000To1M","Over1M"]},"ExpectedMonthlyVolumeUsd":{"type":"string","enum":["Under10K","From10KTo50K","From50KTo250K","From250KTo1M","From1MTo5M","From5MTo10M","Over10M"]},"BusinessAccountPurpose":{"type":"string","enum":["charitable_donations","ecommerce_retail_payments","investment_purposes","other","payments_to_friends_or_family_abroad","payroll","personal_or_living_expenses","protect_wealth","purchase_goods_and_services","receive_payments_for_goods_and_services","tax_optimization","third_party_money_transmission","treasury_management"]},"HighRiskActivity":{"type":"string","enum":["adult_entertainment","gambling","hold_client_funds","investment_services","lending_banking","marijuana_or_related_services","money_services","nicotine_tobacco_or_related_services","operate_foreign_exchange_virtual_currencies_brokerage_otc","pharmaceuticals","precious_metals_precious_stones_jewelry","safe_deposit_box_rentals","third_party_payment_processing","weapons_firearms_and_explosives","none_of_the_above"]},"BeneficialOwnerEntity":{"type":"object","properties":{"personalIdentityId":{"type":"string"},"hasOwnership":{"type":"boolean"},"ownershipPercentage":{"type":"number","nullable":true},"hasControl":{"type":"boolean"},"controlPersonTitle":{"type":"string","nullable":true},"isSigner":{"type":"boolean"},"isDirector":{"type":"boolean","description":"True if this person is a director of the company. Required on every associated person of an EEA-incorporated business (Bridge MiCA/EMI)."},"relationshipEstablishedAt":{"type":"string","example":"YYYY-MM-DD","nullable":true},"attestedOwnershipStructureAt":{"type":"string","example":"YYYY-MM-DD","nullable":true}},"required":["personalIdentityId","hasOwnership","ownershipPercentage","hasControl","controlPersonTitle","isSigner","isDirector","relationshipEstablishedAt","attestedOwnershipStructureAt"]},"IdentityDocumentType":{"type":"string","enum":["Passport","DriverLicense","NationalId","ResidencePermit","Formation","Ownership","ProofOfAddress","SourceOfFunds","IndividualHolding","BVN_NG","Selfie","Aadhaar","PAN","TaxId","LetterOfAuthority","EvidenceOfGoodStanding","ProofOfNatureOfBusiness","ProofOfVerification","BusinessLicense","AmlPolicy","FlowOfFunds","Other"]},"IdentityDocumentSubType":{"type":"string","enum":["UtilityBill","BankStatement","RentalAgreement","TaxDocument","GovernmentCorrespondence"]},"IdentityDocumentEntity":{"type":"object","properties":{"id":{"type":"string"},"issuingCountry":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"type":{"allOf":[{"$ref":"#/components/schemas/IdentityDocumentType"}]},"subType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/IdentityDocumentSubType"}]},"idNumber":{"type":"string","nullable":true},"issuedDate":{"type":"string","nullable":true,"example":"YYYY-MM-DD"},"expiryDate":{"type":"string","nullable":true,"example":"YYYY-MM-DD"}},"required":["id","issuingCountry","type","subType","idNumber","issuedDate","expiryDate"]},"BusinessDataEntity":{"type":"object","properties":{"email":{"type":"string"},"phone":{"type":"string","nullable":true},"nameInLocalScript":{"type":"string","nullable":true,"example":"张伟"},"taxId":{"type":"string"},"businessRegistrationNumber":{"type":"string","nullable":true,"description":"The country-issued business registration number (e.g. SIREN for FR, KvK for NL). Required for EEA-incorporated businesses."},"hasForeignTaxRegistration":{"type":"boolean","nullable":true,"description":"Whether the business has tax registrations outside its incorporation country. Required for EEA-incorporated businesses by 2026-12-31."},"name":{"type":"string"},"dateOfIncorporation":{"type":"string","example":"YYYY-MM-DD","nullable":true},"description":{"type":"string","nullable":true},"sourceOfFunds":{"type":"string","nullable":true},"sourceOfWealth":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SourceOfWealth"}]},"sourceOfFundsDescription":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"businessType":{"allOf":[{"$ref":"#/components/schemas/BusinessType"}]},"businessIndustryCode":{"type":"string","nullable":true},"isDao":{"type":"boolean","nullable":true},"hasMaterialIntermediaryOwnership":{"type":"boolean","nullable":true},"annualRevenue":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AnnualRevenue"}]},"approximateMonthlyTransaction":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MonthlyTransactionCount"}]},"expectedMonthlyVolumeUsd":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ExpectedMonthlyVolumeUsd"}]},"businessTradeName":{"type":"string","nullable":true},"accountPurpose":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/BusinessAccountPurpose"}]},"accountPurposeOther":{"type":"string","nullable":true},"highRiskActivities":{"type":"array","items":{"$ref":"#/components/schemas/HighRiskActivity"}},"highRiskActivitiesExplanation":{"type":"string","nullable":true},"operatesInProhibitedCountries":{"type":"boolean","nullable":true},"actingAsIntermediary":{"type":"boolean","nullable":true},"complianceScreeningExplanation":{"type":"string","nullable":true},"conductsMoneyServices":{"type":"boolean","nullable":true},"conductsMoneyServicesUsingProvider":{"type":"boolean","nullable":true},"conductsMoneyServicesDescription":{"type":"string","nullable":true},"ultimateBeneficialOwners":{"type":"array","items":{"$ref":"#/components/schemas/BeneficialOwnerEntity"}},"address":{"$ref":"#/components/schemas/PostalAddressEntity"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/IdentityDocumentEntity"}},"approximateDepositFirstMonth":{"type":"string","nullable":true,"deprecated":true,"description":"Deprecated: use `expectedMonthlyVolumeUsd` instead"},"conductsMoneyServicesUsingBridge":{"type":"boolean","nullable":true,"deprecated":true,"description":"Deprecated: use `conductsMoneyServicesUsingProvider` instead."}},"required":["email","phone","nameInLocalScript","taxId","businessRegistrationNumber","hasForeignTaxRegistration","name","dateOfIncorporation","description","sourceOfFunds","sourceOfWealth","sourceOfFundsDescription","website","businessType","businessIndustryCode","isDao","hasMaterialIntermediaryOwnership","annualRevenue","approximateMonthlyTransaction","expectedMonthlyVolumeUsd","businessTradeName","accountPurpose","accountPurposeOther","highRiskActivities","highRiskActivitiesExplanation","operatesInProhibitedCountries","actingAsIntermediary","complianceScreeningExplanation","conductsMoneyServices","conductsMoneyServicesUsingProvider","conductsMoneyServicesDescription","ultimateBeneficialOwners","address","documents","approximateDepositFirstMonth","conductsMoneyServicesUsingBridge"]},"Sex":{"type":"string","enum":["Male","Female"]},"Occupations":{"type":"string","enum":["132011","272011","152011","291291","519191","113012","112011","413011","172011","131011","194010","191010","172021","452011","532020","493011","532010","512011","533011","452021","392021","339011","392011","171011","173011","119041","254010","271010","192010","272021","192021","291181","492097","493021","493022","493023","492091","396010","333011","513011","395011","353011","433011","433021","172031","191020","194021","472011","433031","472020","273011","274010","434011","132031","493031","131199","513020","131021","517011","292031","435011","472031","472040","412010","472050","351011","172041","519010","194031","192030","111011","211021","399011","291011","172051","131030","537061","212011","193033","292010","272022","499091","271021","499092","432099","113111","131141","131041","151221","113021","172061","151241","519160","151299","151251","151230","151211","492011","191030","474011","472070","472061","119021","499010","5370XX","352010","333012","434021","131051","211019","412021","435021","273092","434031","537021","132041","434041","132070","339091","519020","434051","519030","514031","272030","439021","15124X","519080","319091","291292","291020","475010","439031","333021","292032","29205X","291031","359011","212021","272091","359021","435032","419091","533030","472080","475023","193011","273041","119030","211012","492092","173023","172070","492093","49209X","499051","512020","472111","492096","252020","474021","434061","3940XX","119161","292042","291214","512031","172199","272099","119070","172081","194040","192041","519194","475022","436011","291128","399031","475032","519041","113013","119013","271022","353023","474031","434071","132051","433099","132061","113031","332020","332011","552010","471011","331011","451011","331021","351012","371011","371012","491011","411012","431011","331012","511011","331099","411011","331091","333031","453031","532031","271023","513091","513092","513093","359099","352021","513099","353041","119051","454011","514020","131131","119171","519051","517021","433041","393010","111021","19204X","472121","452041","271024","514033","395012","474041","291299","211022","499021","493040","499098","519198","473010","474051","499031","311121","359031","434081","434161","113121","131070","49904X","172110","113051","537051","434199","151212","519061","472130","439041","413021","132053","271025","273091","434111","37201X","519071","231020","231012","537062","171012","373011","516011","231011","436012","232099","111031","254022","434121","254031","292061","191099","434131","499094","534010","119081","454020","131081","537063","514041","292035","372012","439051","499071","499043","131111","119199","395092","499095","172121","131161","112021","211013","319011","172131","152021","172141","274099","273099","119111","319092","292072","191040","436013","319094","131121","211023","211014","271026","514050","435041","553010","551010","554010","499044","172151","452090","474090","292090","518090","193090","493090","514060","419010","514070","519195","394031","533099","272041","272042","119121","151244","434141","273023","172161","29203X","194051","291151","291161","291171","311131","195010","291122","312010","439199","439061","439071","152031","292081","291041","434151","31113X","5120XX","21109X","27102X","17301X","2590XX","17302X","3930XX","4750XX","1320XX","37301X","299000","31909X","49909X","1940XX","51403X","5371XX","1520XX","514XXX","39509X","2912XX","51919X","5191XX","33909X","19303X","5340XX","2530XX","51609X","5360XX","5170XX","519111","537064","472140","519120","519196","232011","292043","536021","333041","412022","536061","433051","399099","132052","119179","372021","172171","291051","319095","292052","319097","274021","519151","192099","291123","312020","291071","472151","472161","472152","291081","333050","435051","435052","435053","119131","251000","518010","499060","515111","252010","516021","515113","515112","339021","211092","433061","272012","435061","131082","439081","132020","119141","292053","112030","273031","435031","537070","131023","113061","291124","492020","292034","291224","474061","534031","419020","434171","399032","291125","537081","291141","211015","472171","212099","434181","399041","291126","412031","499096","472181","475071","535011","419099","419031","112022","413091","414010","517041","533051","339094","193034","252030","436014","413031","492098","339030","474071","516031","472211","535020","535031","435071","516040","533053","395094","493050","119151","211093","194061","211029","193041","151252","151253","472231","252050","291127","518021","439111","152041","537065","472221","512041","211011","391000","531000","291240","292055","193022","173031","171020","432011","516050","132081","132082","533054","259040","273042","499052","419041","432021","274030","433071","516060","291129","519197","232093","514111","397010","113131","131151","533052","536051","339093","536030","113071","413041","373013","253041","272023","475040","999999","516093","193051","393031","291131","319096","292056","353031","518031","151255","151254","435111","514120","131022","499081","517042","439022","273043"]},"EmploymentStatus":{"type":"string","enum":["Employed","Homemaker","Retired","SelfEmployed","Student","Unemployed"]},"PersonalSourceOfFunds":{"type":"string","enum":["CompanyFunds","EcommerceReseller","GamblingProceeds","Gifts","GovernmentBenefits","Inheritance","InvestmentsLoans","PensionRetirement","Salary","SaleOfAssetsRealEstate","Savings","SomeoneElsesFunds"]},"PersonalAccountPurpose":{"type":"string","enum":["CharitableDonations","EcommerceRetailPayments","InvestmentPurposes","OperatingACompany","Other","PaymentsToFriendsOrFamilyAbroad","Payroll","PersonalOrLivingExpenses","ProtectWealth","PurchaseGoodsAndServices","ReceivePaymentForFreelancing","ReceivePaymentsForGoodsAndServices","ReceiveSalary","TaxOptimization","ThirdPartyMoneyTransmission","TreasuryManagement"]},"MonthlyAmounts":{"type":"string","enum":["LessThan5K","From5KTo10K","From10KTo50K","GreaterThan50K"]},"PersonalDataEntity":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"secondLastName":{"type":"string","nullable":true},"middleName":{"type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"dateOfBirth":{"type":"string","nullable":true,"example":"YYYY-MM-DD"},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"activity":{"type":"string","nullable":true},"sex":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Sex"}]},"address":{"$ref":"#/components/schemas/PostalAddressEntity"},"documents":{"type":"array","items":{"$ref":"#/components/schemas/IdentityDocumentEntity"}},"occupationCode":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/Occupations"}]},"employmentStatus":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/EmploymentStatus"}]},"sourceOfFunds":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonalSourceOfFunds"}]},"nameInLocalScript":{"type":"string","nullable":true,"example":"张伟"},"employerName":{"type":"string","nullable":true,"example":"Acme Pte Ltd"},"sourceOfWealth":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SourceOfWealth"}]},"accountPurpose":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonalAccountPurpose"}]},"accountPurposeOther":{"type":"string","nullable":true},"monthlyAmounts":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MonthlyAmounts"}]},"actingAsIntermediary":{"type":"boolean","nullable":true},"citizenship":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"nationalities":{"type":"array","items":{"$ref":"#/components/schemas/CountryCode"},"description":"All nationalities held by the individual. Required for EEA-resident individuals."},"placeOfBirthCountry":{"nullable":true,"description":"Country of birth. Required for EEA-resident individuals.","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"placeOfBirthCity":{"type":"string","nullable":true,"description":"City of birth. Recommended for EEA-resident individuals; required under EU law in 2027."},"hasForeignTaxRegistration":{"type":"boolean","nullable":true,"deprecated":true,"description":"Deprecated: has no effect for personal identities. Declare foreign tax registrations by adding a TaxId document per jurisdiction instead."}},"required":["firstName","lastName","secondLastName","middleName","taxId","dateOfBirth","email","phone","activity","sex","address","documents","occupationCode","employmentStatus","sourceOfFunds","nameInLocalScript","employerName","sourceOfWealth","accountPurpose","accountPurposeOther","monthlyAmounts","actingAsIntermediary","citizenship","nationalities","placeOfBirthCountry","placeOfBirthCity","hasForeignTaxRegistration"]},"IdentityEntity":{"type":"object","properties":{"id":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/IdentityType"}]},"deleted":{"type":"boolean"},"hasComplianceChecks":{"type":"boolean"},"data":{"oneOf":[{"$ref":"#/components/schemas/PersonalDataEntity"},{"$ref":"#/components/schemas/BusinessDataEntity"}],"discriminator":{"propertyName":"type","mapping":{"Personal":"#/components/schemas/PersonalDataEntity","Business":"#/components/schemas/BusinessDataEntity"}}}},"required":["id","type","deleted","hasComplianceChecks","data"]},"PaginatedIdentityEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/IdentityEntity"}}},"required":["hasMore","data"]},"CryptoCredentialAliasesEntity":{"type":"object","properties":{"email":{"type":"string","description":"The email the account was registered under. Frozen at creation — changing the identity's email does not change it."},"domainName":{"type":"string","nullable":true,"description":"The domain name alias Mastercard derived on creation. This is what other participants resolve. Absent when Mastercard returned none."}},"required":["email"]},"CryptoCredentialAccountStatus":{"type":"string","enum":["Active","Suspended","Decommissioned"],"description":"The status of the alias. Only an active alias should be treated as safe to send funds to. Absent when the alias could not be resolved."},"CryptoCredentialAssetEntity":{"type":"object","properties":{"asset":{"nullable":true,"description":"A token tied to a specific blockchain that this alias can receive.","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"vasps":{"nullable":true,"description":"Virtual asset service providers that can route this asset to the alias. Present only when your organization is entitled to VASP data.","type":"array","items":{"type":"string"}}}},"CryptoCredentialErrorEntity":{"type":"object","properties":{"reasonCode":{"type":"string","nullable":true,"description":"The reason code Mastercard returned, passed through unchanged."},"message":{"type":"string","description":"Human readable explanation of what went wrong."}},"required":["message"]},"CryptoCredentialEntity":{"type":"object","properties":{"aliases":{"nullable":true,"description":"The aliases this credential is known by. Absent only when the credential could not be created.","type":"object","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAliasesEntity"}]},"status":{"nullable":true,"description":"The status of the alias. Only an active alias should be treated as safe to send funds to. Absent when the alias could not be resolved.","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAccountStatus"}]},"country":{"nullable":true,"description":"The country the alias is registered in, in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"vasps":{"nullable":true,"description":"Virtual asset service providers that can route funds to the alias. Present only when your organization is entitled to VASP data.","type":"array","items":{"type":"string"}},"assets":{"description":"The assets this alias can receive, narrowed by the asset filter when one is sent. Empty when it can receive none.","type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialAssetEntity"}},"errors":{"nullable":true,"description":"Why the credential could not be created or resolved. Present only when something went wrong; the credential data above is then absent.","type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialErrorEntity"}}},"required":["assets"]},"IdentityDetailsEntity":{"type":"object","properties":{"id":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/IdentityType"}]},"deleted":{"type":"boolean"},"hasComplianceChecks":{"type":"boolean"},"data":{"oneOf":[{"$ref":"#/components/schemas/PersonalDataEntity"},{"$ref":"#/components/schemas/BusinessDataEntity"}],"discriminator":{"propertyName":"type","mapping":{"Personal":"#/components/schemas/PersonalDataEntity","Business":"#/components/schemas/BusinessDataEntity"}}},"cryptoCredential":{"description":"The Mastercard Crypto Credential for this identity. Omitted entirely when the organization has no Crypto Credential configuration or the identity has no credential yet.","allOf":[{"$ref":"#/components/schemas/CryptoCredentialEntity"}]}},"required":["id","type","deleted","hasComplianceChecks","data"]},"PostalAddressCreateDto":{"type":"object","properties":{"street1":{"type":"string","minLength":3,"maxLength":100,"description":"The primary street address","example":"123 Main St"},"street2":{"type":"string","minLength":3,"maxLength":100,"description":"Additional street address information, if applicable","example":"Apt 4B"},"city":{"type":"string","minLength":3,"maxLength":50,"description":"The city of the address","example":"New York"},"state":{"type":"string","minLength":1,"maxLength":50,"description":"The state/province/region/county code in ISO-3166-2 format. Required for US addresses, where it must be a two-letter state code. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","example":"TX"},"country":{"description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"postalCode":{"type":"string","description":"The postal code for the address, validated based on the country","example":"10001"}},"required":["street1","city","country"]},"PersonalIdentityCreateDto":{"type":"object","properties":{"firstName":{"type":"string","minLength":2,"maxLength":100,"description":"The first name of the person","example":"John"},"lastName":{"type":"string","minLength":2,"maxLength":100,"description":"The last name of the person","example":"Doe"},"secondLastName":{"type":"string","minLength":1,"maxLength":100,"description":"The second last name of the person","example":"Smith"},"middleName":{"type":"string","minLength":1,"maxLength":100,"description":"The middle name of the person","example":"Michael"},"taxId":{"type":"string","minLength":3,"maxLength":20,"description":"The tax identification number of the person","example":"123456789"},"dateOfBirth":{"type":"string","description":"The date of birth of the person in format yyyy-mm-dd","format":"date","example":"2003-01-01"},"email":{"type":"string","format":"email","description":"The email address of the person","example":"john.doe@example.com"},"phone":{"type":"string","minLength":7,"maxLength":20,"description":"The phone number of the person","example":"+1234567890"},"activity":{"type":"string","minLength":1,"maxLength":255,"description":"The activity or occupation of the person","example":"Software Engineer"},"sex":{"description":"The sex of the person","example":"Male","allOf":[{"$ref":"#/components/schemas/Sex"}]},"occupationCode":{"description":"List of [occupation codes](https://docs.buildborderless.com/docs/personal#occupation-codes)","example":"172011","allOf":[{"$ref":"#/components/schemas/Occupations"}]},"employmentStatus":{"description":"The employment status of the person","example":"SelfEmployed","allOf":[{"$ref":"#/components/schemas/EmploymentStatus"}]},"nameInLocalScript":{"type":"string","minLength":1,"maxLength":200,"description":"The same name written in the script used where the recipient banks. Required by corridors that verify the local-script name alongside the Latin one.","example":"张伟"},"employerName":{"type":"string","minLength":1,"maxLength":200,"description":"The name of the person's employer. Required by PFIs that ask for employment details when the source of funds is a salary.","example":"Acme Pte Ltd"},"sourceOfFunds":{"description":"Primary source of funds for the person","example":"InvestmentsLoans","allOf":[{"$ref":"#/components/schemas/PersonalSourceOfFunds"}]},"sourceOfWealth":{"description":"How the person built their wealth, as opposed to where the money on the account came from. Required by some providers before a virtual account can be issued.","example":"Investments","allOf":[{"$ref":"#/components/schemas/SourceOfWealth"}]},"accountPurpose":{"description":"Primary purpose of the account. Required for EEA-resident individuals.","example":"InvestmentPurposes","allOf":[{"$ref":"#/components/schemas/PersonalAccountPurpose"}]},"accountPurposeOther":{"type":"string","maxLength":255,"description":"Other account purpose (required if accountPurpose is 'Other')","minLength":1},"monthlyAmounts":{"description":"The expected monthly amounts on the account in USD","example":"From10KTo50K","allOf":[{"$ref":"#/components/schemas/MonthlyAmounts"}]},"actingAsIntermediary":{"type":"boolean","description":"Whether the person is acting as an intermediary for another party","example":false},"citizenship":{"description":"The country of citizenship in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html). Deprecated for EEA-resident individuals; use `nationalities` instead.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"nationalities":{"type":"array","items":{"$ref":"#/components/schemas/CountryCode"},"description":"All nationalities held by the individual, in ISO-3166-2 format. Required for EEA-resident individuals (Bridge MiCA/EMI requirement).","example":["FR","US"]},"placeOfBirthCountry":{"description":"The country where the individual was born, in ISO-3166-2 format. Required for EEA-resident individuals (Bridge MiCA/EMI requirement).","example":"FR","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"placeOfBirthCity":{"type":"string","minLength":1,"maxLength":50,"description":"The city where the individual was born. Recommended for EEA-resident individuals; will be required under EU law in 2027.","example":"Paris"},"address":{"description":"The address of the person","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]},"hasForeignTaxRegistration":{"type":"boolean","deprecated":true,"description":"Deprecated: has no effect for personal identities. Declare foreign tax registrations by adding a TaxId document per jurisdiction instead. Still accepted for backward compatibility.","example":false}},"required":["firstName","lastName","address"]},"MastercardStatusReasonCode":{"type":"string","enum":["ALIAS_UNDER_INVESTIGATION","BENEFICIARY_REJECTED_OTHER_REASON","ORIGINATOR_ALIAS_CANCELLED_TRANSACTION","ORIGINATOR_NETWORK_NOT_SUPPORTED","SMART_CONTRACT_NOT_SUPPORTED_BY_BENIFICIARY","INVALID_BLOCKCHAIN_ADDRESS","ORIGINATOR_ALIAS_BA_RISK_SCORE_HIGH","BENEFICIARY_ALIAS_BA_RISK_SCORE_HIGH","ORIGINATOR_RISK_SCORE_ABOVE_LIMIT","Beneficiary_RISK_SCORE_ABOVE_LIMIT","NOT_SUPPORTED","OTHER","ASSET_NETWORK_MAPPING_ALREADY_EXISTS","ASSET_IS_REQUIRED","NETWORK_IS_REQUIRED","SMART_CONTRACT_ADDRESS_NOT_ALLOWED_FOR_NATIVE_TOKEN"],"description":"Machine readable code explaining why the status is being changed."},"IdentityCryptoCredentialDto":{"type":"object","properties":{"status":{"description":"The status to move the Crypto Credential to. A suspended credential stops resolving in alias lookups until it is set back to Active.","example":"Suspended","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAccountStatus"}]},"reasonCode":{"description":"Machine readable code explaining why the status is being changed.","example":"ALIAS_UNDER_INVESTIGATION","allOf":[{"$ref":"#/components/schemas/MastercardStatusReasonCode"}]},"reasonDescription":{"type":"string","maxLength":255,"description":"Human readable explanation shown alongside the reason code.","example":"The alias is currently under investigation"}},"required":["status"]},"PersonalIdentityUpdateDto":{"type":"object","properties":{"firstName":{"type":"string","minLength":2,"maxLength":100,"description":"The first name of the person","example":"John"},"lastName":{"type":"string","minLength":2,"maxLength":100,"description":"The last name of the person","example":"Doe"},"secondLastName":{"type":"string","minLength":1,"maxLength":100,"description":"The second last name of the person","example":"Smith"},"middleName":{"type":"string","minLength":1,"maxLength":100,"description":"The middle name of the person","example":"Michael"},"taxId":{"type":"string","minLength":3,"maxLength":20,"description":"The tax identification number of the person","example":"123456789"},"dateOfBirth":{"type":"string","description":"The date of birth of the person in format yyyy-mm-dd","format":"date","example":"2003-01-01"},"email":{"type":"string","format":"email","description":"The email address of the person","example":"john.doe@example.com"},"phone":{"type":"string","minLength":7,"maxLength":20,"description":"The phone number of the person","example":"+1234567890"},"activity":{"type":"string","minLength":1,"maxLength":255,"description":"The activity or occupation of the person","example":"Software Engineer"},"sex":{"description":"The sex of the person","example":"Male","allOf":[{"$ref":"#/components/schemas/Sex"}]},"occupationCode":{"description":"List of [occupation codes](https://docs.buildborderless.com/docs/personal#occupation-codes)","example":"172011","allOf":[{"$ref":"#/components/schemas/Occupations"}]},"employmentStatus":{"description":"The employment status of the person","example":"SelfEmployed","allOf":[{"$ref":"#/components/schemas/EmploymentStatus"}]},"nameInLocalScript":{"type":"string","minLength":1,"maxLength":200,"description":"The same name written in the script used where the recipient banks. Required by corridors that verify the local-script name alongside the Latin one.","example":"张伟"},"employerName":{"type":"string","minLength":1,"maxLength":200,"description":"The name of the person's employer. Required by PFIs that ask for employment details when the source of funds is a salary.","example":"Acme Pte Ltd"},"sourceOfFunds":{"description":"Primary source of funds for the person","example":"InvestmentsLoans","allOf":[{"$ref":"#/components/schemas/PersonalSourceOfFunds"}]},"sourceOfWealth":{"description":"How the person built their wealth, as opposed to where the money on the account came from. Required by some providers before a virtual account can be issued.","example":"Investments","allOf":[{"$ref":"#/components/schemas/SourceOfWealth"}]},"accountPurpose":{"description":"Primary purpose of the account. Required for EEA-resident individuals.","example":"InvestmentPurposes","allOf":[{"$ref":"#/components/schemas/PersonalAccountPurpose"}]},"accountPurposeOther":{"type":"string","maxLength":255,"description":"Other account purpose (required if accountPurpose is 'Other')","minLength":1},"monthlyAmounts":{"description":"The expected monthly amounts on the account in USD","example":"From10KTo50K","allOf":[{"$ref":"#/components/schemas/MonthlyAmounts"}]},"actingAsIntermediary":{"type":"boolean","description":"Whether the person is acting as an intermediary for another party","example":false},"citizenship":{"description":"The country of citizenship in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html). Deprecated for EEA-resident individuals; use `nationalities` instead.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"nationalities":{"type":"array","items":{"$ref":"#/components/schemas/CountryCode"},"description":"All nationalities held by the individual, in ISO-3166-2 format. Required for EEA-resident individuals (Bridge MiCA/EMI requirement).","example":["FR","US"]},"placeOfBirthCountry":{"description":"The country where the individual was born, in ISO-3166-2 format. Required for EEA-resident individuals (Bridge MiCA/EMI requirement).","example":"FR","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"placeOfBirthCity":{"type":"string","minLength":1,"maxLength":50,"description":"The city where the individual was born. Recommended for EEA-resident individuals; will be required under EU law in 2027.","example":"Paris"},"address":{"description":"The address of the person","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]},"hasForeignTaxRegistration":{"type":"boolean","deprecated":true,"description":"Deprecated: has no effect for personal identities. Declare foreign tax registrations by adding a TaxId document per jurisdiction instead. Still accepted for backward compatibility.","example":false},"cryptoCredential":{"description":"Change the state of the identity's Crypto Credential. Omit it to leave the credential untouched.","allOf":[{"$ref":"#/components/schemas/IdentityCryptoCredentialDto"}]}}},"ExistingUltimateBeneficialOwnerDto":{"type":"object","properties":{"hasOwnership":{"type":"boolean","description":"True if this person has at least 25% ownership of the business","example":true},"hasControl":{"type":"boolean","description":"True if this is the control person of the company, having significant responsibility to control, manage or influence the activities of the business entity. At least one control person must be specified","example":true},"isDirector":{"type":"boolean","description":"True if this person is a director of the company. Defaults to false when omitted. Bridge's MiCA/EMI requirements (effective 2026-06-15) require this flag on every associated person of an EEA business — for EEA businesses the field MUST be set explicitly by the client.","example":false},"controlPersonTitle":{"type":"string","minLength":2,"maxLength":100,"description":"The title of this beneficial owner at the company, e.g. CEO, CFO, etc. Required if has_control is true","example":"CEO"},"ownershipPercentage":{"type":"number","minimum":0,"maximum":100,"description":"Ultimate ownership percentage of the business. Required when hasOwnership is true.","example":30},"isSigner":{"type":"boolean","description":"True if this person is able to authorize transactions on behalf of the business. At least one signer must be specified","example":true},"relationshipEstablishedAt":{"format":"date-time","type":"string","description":"When the beneficial owner relationship was established in format yyyy-mm-dd","example":"2023-01-15"},"attestedOwnershipStructureAt":{"format":"date-time","type":"string","description":"The date when this beneficial owner attested to the correctness of the ownership structure in format yyyy-mm-dd","example":"2023-01-15"},"personalIdentityId":{"type":"string","description":"Id of the personal identity, who is beneficial owner of the business.","example":"cm9db4g2s4r7ro224ra6u1qvl"}},"required":["hasOwnership","hasControl","isSigner","relationshipEstablishedAt","personalIdentityId"]},"NewUltimateBeneficialOwnerDto":{"type":"object","properties":{"hasOwnership":{"type":"boolean","description":"True if this person has at least 25% ownership of the business","example":true},"hasControl":{"type":"boolean","description":"True if this is the control person of the company, having significant responsibility to control, manage or influence the activities of the business entity. At least one control person must be specified","example":true},"isDirector":{"type":"boolean","description":"True if this person is a director of the company. Defaults to false when omitted. Bridge's MiCA/EMI requirements (effective 2026-06-15) require this flag on every associated person of an EEA business — for EEA businesses the field MUST be set explicitly by the client.","example":false},"controlPersonTitle":{"type":"string","minLength":2,"maxLength":100,"description":"The title of this beneficial owner at the company, e.g. CEO, CFO, etc. Required if has_control is true","example":"CEO"},"ownershipPercentage":{"type":"number","minimum":0,"maximum":100,"description":"Ultimate ownership percentage of the business. Required when hasOwnership is true.","example":30},"isSigner":{"type":"boolean","description":"True if this person is able to authorize transactions on behalf of the business. At least one signer must be specified","example":true},"relationshipEstablishedAt":{"format":"date-time","type":"string","description":"When the beneficial owner relationship was established in format yyyy-mm-dd","example":"2023-01-15"},"attestedOwnershipStructureAt":{"format":"date-time","type":"string","description":"The date when this beneficial owner attested to the correctness of the ownership structure in format yyyy-mm-dd","example":"2023-01-15"},"personalIdentity":{"description":"Personal identity details of the beneficial owner of the business.","allOf":[{"$ref":"#/components/schemas/PersonalIdentityCreateDto"}]}},"required":["hasOwnership","hasControl","isSigner","relationshipEstablishedAt","personalIdentity"]},"SourceOfFunds":{"type":"string","enum":["business_loans","business_revenue","equity_funding","grants","inter_company_funds","investment_proceeds","legal_settlement","legal_settlement_tax_refund","owners_capital","pension_retirement","sale_of_assets","sales_of_goods_and_services","third_party_funds","treasury_reserves"],"description":"The [source of funds](https://docs.buildborderless.com/docs/business#/source-of-funds) for the business"},"BusinessIdentityCreateDto":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The primary email address of the business","example":"business@example.com"},"phone":{"type":"string","minLength":7,"maxLength":20,"description":"The phone number of the business","example":"+1234567890"},"taxId":{"type":"string","minLength":3,"maxLength":20,"description":"The [tax identification](https://docs.buildborderless.com/docs/business#/tax-identification-numbers-by-country) number of the business. Required for EEA-incorporated businesses by 2026-12-31.","example":"123456789"},"nameInLocalScript":{"type":"string","minLength":1,"maxLength":200,"description":"The same name written in the script used where the recipient banks. Required by corridors that verify the local-script name alongside the Latin one.","example":"张伟"},"businessRegistrationNumber":{"type":"string","minLength":3,"maxLength":50,"description":"The business registration number issued by the incorporation country's registry (e.g. SIREN for France, Companies House number for the UK). Enforced for EEA-incorporated businesses at Bridge SEPA compliance-check time.","example":"732829320"},"hasForeignTaxRegistration":{"type":"boolean","description":"Whether the business has tax registrations with any tax authority outside its incorporation country. Required for EEA-incorporated businesses by 2026-12-31.","example":false},"name":{"type":"string","minLength":3,"maxLength":100,"description":"The name of the business","example":"Example Corp"},"dateOfIncorporation":{"type":"string","description":"The date when the business was incorporated in format yyyy-mm-dd","example":"2003-01-01","format":"date"},"address":{"description":"The address of the main business location","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]},"description":{"type":"string","maxLength":1024,"description":"Detailed description of the business: its main activities, the products or services it offers. Walapay requires at least 200 characters.","example":"Acme Technology Solutions Ltd is a B2B software company that designs, builds, and maintains cloud-based inventory and logistics platforms for mid-sized retailers across North America and Europe."},"sourceOfFunds":{"description":"The [source of funds](https://docs.buildborderless.com/docs/business#/source-of-funds) for the business","example":"inter_company_funds","allOf":[{"$ref":"#/components/schemas/SourceOfFunds"}]},"sourceOfWealth":{"description":"How the business built its wealth, as opposed to where the money on the account came from. Required by some providers before a virtual account can be issued.","example":"BusinessDividendsOrProfits","allOf":[{"$ref":"#/components/schemas/SourceOfWealth"}]},"sourceOfFundsDescription":{"type":"string","maxLength":255,"description":"Description of the source of funds for the business' account","example":"Profits from sales of goods and services"},"businessIndustryCode":{"type":"string","enum":["111110","111120","111130","111140","111150","111160","111191","111199","111211","111219","111310","111320","111331","111332","111333","111334","111335","111336","111339","111411","111419","111421","111422","111910","111920","111930","111940","111991","111992","111998","112111","112112","112120","112210","112310","112320","112330","112340","112390","112410","112420","112511","112512","112519","112910","112920","112930","112990","113110","113210","113310","114111","114112","114119","114210","115111","115112","115113","115114","115115","115116","115210","115310","211120","211130","212114","212115","212210","212220","212230","212290","212311","212312","212313","212319","212321","212322","212323","212390","213111","213112","213113","213114","213115","221111","221112","221113","221114","221115","221116","221117","221118","221121","221122","221210","221310","221320","221330","236115","236116","236117","236118","236210","236220","237110","237120","237130","237210","237310","237990","238110","238111","238112","238121","238122","238131","238132","238140","238141","238142","238151","238152","238160","238161","238162","238171","238172","238191","238192","238210","238211","238212","238220","238221","238222","238291","238292","238311","238312","238321","238322","238331","238332","238341","238342","238350","238351","238352","238391","238392","238911","238912","238990","238991","238992","311111","311119","311211","311212","311213","311221","311224","311225","311230","311313","311314","311340","311351","311352","311411","311412","311421","311422","311423","311511","311512","311513","311514","311520","311611","311612","311613","311615","311710","311811","311812","311813","311821","311824","311830","311911","311919","311920","311930","311941","311942","311991","311999","312111","312112","312113","312120","312130","312140","312230","313110","313210","313220","313230","313240","313310","313320","314110","314120","314910","314994","314999","315120","315210","315250","315990","316110","316210","316990","321113","321114","321211","321212","321215","321219","321911","321912","321918","321920","321991","321992","321999","322110","322120","322130","322211","322212","322219","322220","322230","322291","322299","323111","323113","323117","323120","324110","324121","324122","324191","324199","325110","325120","325130","325180","325193","325194","325199","325211","325212","325220","325311","325312","325314","325315","325320","325411","325412","325413","325414","325510","325520","325611","325612","325613","325620","325910","325920","325991","325992","325998","326111","326112","326113","326121","326122","326130","326140","326150","326160","326191","326199","326211","326212","326220","326291","326299","327110","327120","327211","327212","327213","327215","327310","327320","327331","327332","327390","327410","327420","327910","327991","327992","327993","327999","331110","331210","331221","331222","331313","331314","331315","331318","331410","331420","331491","331492","331511","331512","331513","331523","331524","331529","332111","332112","332114","332117","332119","332215","332216","332311","332312","332313","332321","332322","332323","332410","332420","332431","332439","332510","332613","332618","332710","332721","332722","332811","332812","332813","332911","332912","332913","332919","332991","332992","332993","332994","332996","332999","333111","333112","333120","333131","333132","333241","333242","333243","333248","333310","333413","333414","333415","333511","333514","333515","333517","333519","333611","333612","333613","333618","333912","333914","333921","333922","333923","333924","333991","333992","333993","333994","333995","333996","333998","334111","334112","334118","334210","334220","334290","334310","334412","334413","334416","334417","334418","334419","334510","334511","334512","334513","334514","334515","334516","334517","334519","334610","335131","335132","335139","335210","335220","335311","335312","335313","335314","335910","335921","335929","335931","335932","335991","335999","336110","336120","336211","336212","336213","336214","336310","336320","336330","336340","336350","336360","336370","336390","336411","336412","336413","336414","336415","336419","336510","336611","336612","336991","336992","336999","337110","337121","337122","337126","337127","337211","337212","337214","337215","337910","337920","339112","339113","339114","339115","339116","339910","339920","339930","339940","339950","339991","339992","339993","339994","339995","339999","423110","423120","423130","423140","423210","423220","423310","423320","423330","423390","423410","423420","423430","423440","423450","423460","423490","423510","423520","423610","423620","423690","423710","423720","423730","423740","423810","423820","423830","423840","423850","423860","423910","423920","423930","423940","423990","424110","424120","424130","424210","424310","424340","424350","424410","424420","424430","424440","424450","424460","424470","424480","424490","424510","424520","424590","424610","424690","424710","424720","424810","424820","424910","424920","424930","424940","424950","424990","425120","441110","441120","441210","441222","441227","441330","441340","444110","444120","444140","444180","444230","444240","445110","445131","445132","445230","445240","445250","445291","445292","445298","445320","449110","449121","449122","449129","449210","454113","454390","455110","455211","455219","456110","456120","456130","456191","456199","457110","457120","457210","458110","458210","458310","458320","459110","459120","459130","459140","459210","459310","459410","459420","459510","459910","459920","459930","459991","459999","481111","481112","481211","481212","481219","482111","482112","483111","483112","483113","483114","483211","483212","484110","484121","484122","484210","484220","484230","485111","485112","485113","485119","485210","485310","485320","485410","485510","485991","485999","486110","486210","486910","486990","487110","487210","487990","488111","488119","488190","488210","488310","488320","488330","488390","488410","488490","488510","488991","488999","491110","492110","492210","493110","493120","493130","493190","512110","512120","512131","512132","512191","512199","512230","512240","512250","512290","513110","513120","513130","513140","513191","513199","513210","515210","516110","516120","516210","517111","517112","517121","517410","517810","518210","519210","519290","521110","522110","522130","522180","522210","522220","522291","522292","522298","522299","522310","522320","522390","523150","523160","523210","523910","523940","523991","523999","524113","524114","524126","524127","524128","524130","524210","524291","524292","524298","525110","525120","525190","525910","525920","525990","531110","531120","531130","531190","531210","531311","531312","531320","531390","532111","532112","532120","532210","532281","532282","532283","532284","532289","532310","532411","532412","532420","532490","533110","541110","541191","541199","541211","541213","541214","541219","541310","541320","541330","541340","541350","541360","541370","541380","541410","541420","541430","541490","541511","541512","541513","541519","541611","541612","541613","541614","541618","541620","541690","541713","541714","541715","541720","541810","541820","541830","541840","541850","541860","541870","541890","541910","541921","541922","541930","541940","541990","551111","551112","551114","561110","561210","561311","561312","561320","561330","561410","561421","561422","561431","561439","561440","561450","561491","561492","561499","561510","561520","561591","561599","561611","561612","561613","561621","561622","561710","561720","561730","561740","561790","561910","561920","561990","562111","562112","562119","562211","562212","562213","562219","562910","562920","562991","562998","611110","611210","611310","611410","611420","611430","611511","611512","611513","611519","611610","611620","611630","611691","611692","611699","611710","621111","621112","621210","621310","621320","621330","621340","621391","621399","621410","621420","621491","621492","621493","621498","621511","621512","621610","621910","621991","621999","622110","622210","622310","623110","623210","623220","623311","623312","623990","624110","624120","624190","624210","624221","624229","624230","624310","624410","711110","711120","711130","711190","711211","711212","711219","711310","711320","711410","711510","712110","712120","712130","712190","713110","713120","713210","713290","713910","713920","713930","713940","713950","713990","721110","721120","721191","721199","721211","721214","721310","722310","722320","722330","722410","722511","722513","722514","722515","811111","811114","811121","811122","811191","811192","811198","811210","811310","811411","811412","811420","811430","811490","812111","812112","812113","812191","812199","812210","812220","812310","812320","812331","812332","812910","812921","812922","812930","812990","813110","813211","813212","813219","813311","813312","813319","813410","813910","813920","813930","813940","813990","814110","921110","921120","921130","921140","921150","921190","922110","922120","922130","922140","922150","922160","922190","923110","923120","923130","923140","924110","924120","925110","925120","926110","926120","926130","926140","926150","927110","928110","928120","999999"],"description":"The [industry code](http://docs.buildborderless.com/docs/business#/business-industry-list) of the business","example":"336390"},"website":{"type":"string","maxLength":200,"format":"uri","description":"The website URL of the business","example":"https://example.com"},"businessType":{"description":"How the business is legally registered","example":"Llc","allOf":[{"$ref":"#/components/schemas/BusinessType"}]},"isDao":{"type":"boolean","description":"Indicates if the business is a Decentralized Autonomous Organization (DAO)","example":false},"hasMaterialIntermediaryOwnership":{"type":"boolean","description":"The business has at least one intermediate legal entity owner with 25% or more ownership","example":false},"businessTradeName":{"type":"string","maxLength":100,"description":"The trading name or \"Doing Business As\" name under which the business operates publicly","example":"Example Solutions"},"accountPurpose":{"description":"The [primary purpose](https://docs.buildborderless.com/docs/business#/accounts-purpose) of the business account","example":"investment_purposes","allOf":[{"$ref":"#/components/schemas/BusinessAccountPurpose"}]},"accountPurposeOther":{"type":"string","maxLength":255,"description":"Other account purpose (required if accountPurpose is 'Other')","minLength":1},"ultimateBeneficialOwners":{"description":"List of ultimate beneficial owners of the business","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ExistingUltimateBeneficialOwnerDto","title":"Beneficial Owner of Existing Identity"},{"$ref":"#/components/schemas/NewUltimateBeneficialOwnerDto","title":"Beneficial Owner of New Identity"}]}},"annualRevenue":{"description":"Estimated annual revenue","example":"From1MTo10M","allOf":[{"$ref":"#/components/schemas/AnnualRevenue"}]},"approximateMonthlyTransaction":{"description":"Approximate number of transactions the business expects to conduct each month","example":"From10To100","allOf":[{"$ref":"#/components/schemas/MonthlyTransactionCount"}]},"expectedMonthlyVolumeUsd":{"description":"Estimated amount the business expects to send and receive each month, in USD","example":"From50KTo250K","allOf":[{"$ref":"#/components/schemas/ExpectedMonthlyVolumeUsd"}]},"highRiskActivities":{"type":"array","items":{"$ref":"#/components/schemas/HighRiskActivity"},"description":"List of high-risk activities the business is involved in. Use ['none_of_the_above'] to disclose that none apply — omitting the field leaves the disclosure unanswered","example":["none_of_the_above"]},"highRiskActivitiesExplanation":{"type":"string","maxLength":1024,"description":"Explanation of the high-risk activities the business is involved in. Required when highRiskActivities contains anything other than 'none_of_the_above'","example":"We operate a licensed OTC desk for institutional clients in the EU.","minLength":1},"operatesInProhibitedCountries":{"type":"boolean","description":"Does the business operate in any prohibited countries?","example":false},"actingAsIntermediary":{"type":"boolean","description":"Whether the business is acting as an intermediary for another party","example":false},"conductsMoneyServices":{"type":"boolean","description":"Whether the business offers money services, investment products, and/or other financial services","example":false},"conductsMoneyServicesUsingProvider":{"type":"boolean","description":"Whether the business plans to conduct money services using the specified provider. Relevant when conductsMoneyServices is true","example":false},"conductsMoneyServicesDescription":{"type":"string","maxLength":1024,"description":"Description of the money services offered by the business. Required when conductsMoneyServices is true","example":"Cross-border remittances for retail customers","minLength":1},"complianceScreeningExplanation":{"type":"string","maxLength":1024,"description":"Detailed description of the business's compliance and anti-money laundering controls and practices. Required when conductsMoneyServices is true","example":"We screen all customers against OFAC and EU sanctions lists...","minLength":1},"approximateDepositFirstMonth":{"type":"string","maxLength":10,"deprecated":true,"description":"Deprecated: use `expectedMonthlyVolumeUsd` instead. Estimated deposits for the first month"},"conductsMoneyServicesUsingBridge":{"type":"boolean","deprecated":true,"description":"Deprecated: use `conductsMoneyServicesUsingProvider` instead.","example":false},"transmitsCustomersFunds":{"type":"boolean","deprecated":true,"description":"Deprecated: Indicates if the business transmits customer funds","example":false}},"required":["email","name","address"]},"BusinessIdentityUpdateDto":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The primary email address of the business","example":"business@example.com"},"phone":{"type":"string","minLength":7,"maxLength":20,"description":"The phone number of the business","example":"+1234567890"},"taxId":{"type":"string","minLength":3,"maxLength":20,"description":"The [tax identification](https://docs.buildborderless.com/docs/business#/tax-identification-numbers-by-country) number of the business. Required for EEA-incorporated businesses by 2026-12-31.","example":"123456789"},"nameInLocalScript":{"type":"string","minLength":1,"maxLength":200,"description":"The same name written in the script used where the recipient banks. Required by corridors that verify the local-script name alongside the Latin one.","example":"张伟"},"businessRegistrationNumber":{"type":"string","minLength":3,"maxLength":50,"description":"The business registration number issued by the incorporation country's registry (e.g. SIREN for France, Companies House number for the UK). Enforced for EEA-incorporated businesses at Bridge SEPA compliance-check time.","example":"732829320"},"hasForeignTaxRegistration":{"type":"boolean","description":"Whether the business has tax registrations with any tax authority outside its incorporation country. Required for EEA-incorporated businesses by 2026-12-31.","example":false},"name":{"type":"string","minLength":3,"maxLength":100,"description":"The name of the business","example":"Example Corp"},"dateOfIncorporation":{"type":"string","description":"The date when the business was incorporated in format yyyy-mm-dd","example":"2003-01-01","format":"date"},"address":{"description":"The address of the main business location","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]},"description":{"type":"string","maxLength":1024,"description":"Detailed description of the business: its main activities, the products or services it offers. Walapay requires at least 200 characters.","example":"Acme Technology Solutions Ltd is a B2B software company that designs, builds, and maintains cloud-based inventory and logistics platforms for mid-sized retailers across North America and Europe."},"sourceOfFunds":{"description":"The [source of funds](https://docs.buildborderless.com/docs/business#/source-of-funds) for the business","example":"inter_company_funds","allOf":[{"$ref":"#/components/schemas/SourceOfFunds"}]},"sourceOfWealth":{"description":"How the business built its wealth, as opposed to where the money on the account came from. Required by some providers before a virtual account can be issued.","example":"BusinessDividendsOrProfits","allOf":[{"$ref":"#/components/schemas/SourceOfWealth"}]},"sourceOfFundsDescription":{"type":"string","maxLength":255,"description":"Description of the source of funds for the business' account","example":"Profits from sales of goods and services"},"businessIndustryCode":{"type":"string","enum":["111110","111120","111130","111140","111150","111160","111191","111199","111211","111219","111310","111320","111331","111332","111333","111334","111335","111336","111339","111411","111419","111421","111422","111910","111920","111930","111940","111991","111992","111998","112111","112112","112120","112210","112310","112320","112330","112340","112390","112410","112420","112511","112512","112519","112910","112920","112930","112990","113110","113210","113310","114111","114112","114119","114210","115111","115112","115113","115114","115115","115116","115210","115310","211120","211130","212114","212115","212210","212220","212230","212290","212311","212312","212313","212319","212321","212322","212323","212390","213111","213112","213113","213114","213115","221111","221112","221113","221114","221115","221116","221117","221118","221121","221122","221210","221310","221320","221330","236115","236116","236117","236118","236210","236220","237110","237120","237130","237210","237310","237990","238110","238111","238112","238121","238122","238131","238132","238140","238141","238142","238151","238152","238160","238161","238162","238171","238172","238191","238192","238210","238211","238212","238220","238221","238222","238291","238292","238311","238312","238321","238322","238331","238332","238341","238342","238350","238351","238352","238391","238392","238911","238912","238990","238991","238992","311111","311119","311211","311212","311213","311221","311224","311225","311230","311313","311314","311340","311351","311352","311411","311412","311421","311422","311423","311511","311512","311513","311514","311520","311611","311612","311613","311615","311710","311811","311812","311813","311821","311824","311830","311911","311919","311920","311930","311941","311942","311991","311999","312111","312112","312113","312120","312130","312140","312230","313110","313210","313220","313230","313240","313310","313320","314110","314120","314910","314994","314999","315120","315210","315250","315990","316110","316210","316990","321113","321114","321211","321212","321215","321219","321911","321912","321918","321920","321991","321992","321999","322110","322120","322130","322211","322212","322219","322220","322230","322291","322299","323111","323113","323117","323120","324110","324121","324122","324191","324199","325110","325120","325130","325180","325193","325194","325199","325211","325212","325220","325311","325312","325314","325315","325320","325411","325412","325413","325414","325510","325520","325611","325612","325613","325620","325910","325920","325991","325992","325998","326111","326112","326113","326121","326122","326130","326140","326150","326160","326191","326199","326211","326212","326220","326291","326299","327110","327120","327211","327212","327213","327215","327310","327320","327331","327332","327390","327410","327420","327910","327991","327992","327993","327999","331110","331210","331221","331222","331313","331314","331315","331318","331410","331420","331491","331492","331511","331512","331513","331523","331524","331529","332111","332112","332114","332117","332119","332215","332216","332311","332312","332313","332321","332322","332323","332410","332420","332431","332439","332510","332613","332618","332710","332721","332722","332811","332812","332813","332911","332912","332913","332919","332991","332992","332993","332994","332996","332999","333111","333112","333120","333131","333132","333241","333242","333243","333248","333310","333413","333414","333415","333511","333514","333515","333517","333519","333611","333612","333613","333618","333912","333914","333921","333922","333923","333924","333991","333992","333993","333994","333995","333996","333998","334111","334112","334118","334210","334220","334290","334310","334412","334413","334416","334417","334418","334419","334510","334511","334512","334513","334514","334515","334516","334517","334519","334610","335131","335132","335139","335210","335220","335311","335312","335313","335314","335910","335921","335929","335931","335932","335991","335999","336110","336120","336211","336212","336213","336214","336310","336320","336330","336340","336350","336360","336370","336390","336411","336412","336413","336414","336415","336419","336510","336611","336612","336991","336992","336999","337110","337121","337122","337126","337127","337211","337212","337214","337215","337910","337920","339112","339113","339114","339115","339116","339910","339920","339930","339940","339950","339991","339992","339993","339994","339995","339999","423110","423120","423130","423140","423210","423220","423310","423320","423330","423390","423410","423420","423430","423440","423450","423460","423490","423510","423520","423610","423620","423690","423710","423720","423730","423740","423810","423820","423830","423840","423850","423860","423910","423920","423930","423940","423990","424110","424120","424130","424210","424310","424340","424350","424410","424420","424430","424440","424450","424460","424470","424480","424490","424510","424520","424590","424610","424690","424710","424720","424810","424820","424910","424920","424930","424940","424950","424990","425120","441110","441120","441210","441222","441227","441330","441340","444110","444120","444140","444180","444230","444240","445110","445131","445132","445230","445240","445250","445291","445292","445298","445320","449110","449121","449122","449129","449210","454113","454390","455110","455211","455219","456110","456120","456130","456191","456199","457110","457120","457210","458110","458210","458310","458320","459110","459120","459130","459140","459210","459310","459410","459420","459510","459910","459920","459930","459991","459999","481111","481112","481211","481212","481219","482111","482112","483111","483112","483113","483114","483211","483212","484110","484121","484122","484210","484220","484230","485111","485112","485113","485119","485210","485310","485320","485410","485510","485991","485999","486110","486210","486910","486990","487110","487210","487990","488111","488119","488190","488210","488310","488320","488330","488390","488410","488490","488510","488991","488999","491110","492110","492210","493110","493120","493130","493190","512110","512120","512131","512132","512191","512199","512230","512240","512250","512290","513110","513120","513130","513140","513191","513199","513210","515210","516110","516120","516210","517111","517112","517121","517410","517810","518210","519210","519290","521110","522110","522130","522180","522210","522220","522291","522292","522298","522299","522310","522320","522390","523150","523160","523210","523910","523940","523991","523999","524113","524114","524126","524127","524128","524130","524210","524291","524292","524298","525110","525120","525190","525910","525920","525990","531110","531120","531130","531190","531210","531311","531312","531320","531390","532111","532112","532120","532210","532281","532282","532283","532284","532289","532310","532411","532412","532420","532490","533110","541110","541191","541199","541211","541213","541214","541219","541310","541320","541330","541340","541350","541360","541370","541380","541410","541420","541430","541490","541511","541512","541513","541519","541611","541612","541613","541614","541618","541620","541690","541713","541714","541715","541720","541810","541820","541830","541840","541850","541860","541870","541890","541910","541921","541922","541930","541940","541990","551111","551112","551114","561110","561210","561311","561312","561320","561330","561410","561421","561422","561431","561439","561440","561450","561491","561492","561499","561510","561520","561591","561599","561611","561612","561613","561621","561622","561710","561720","561730","561740","561790","561910","561920","561990","562111","562112","562119","562211","562212","562213","562219","562910","562920","562991","562998","611110","611210","611310","611410","611420","611430","611511","611512","611513","611519","611610","611620","611630","611691","611692","611699","611710","621111","621112","621210","621310","621320","621330","621340","621391","621399","621410","621420","621491","621492","621493","621498","621511","621512","621610","621910","621991","621999","622110","622210","622310","623110","623210","623220","623311","623312","623990","624110","624120","624190","624210","624221","624229","624230","624310","624410","711110","711120","711130","711190","711211","711212","711219","711310","711320","711410","711510","712110","712120","712130","712190","713110","713120","713210","713290","713910","713920","713930","713940","713950","713990","721110","721120","721191","721199","721211","721214","721310","722310","722320","722330","722410","722511","722513","722514","722515","811111","811114","811121","811122","811191","811192","811198","811210","811310","811411","811412","811420","811430","811490","812111","812112","812113","812191","812199","812210","812220","812310","812320","812331","812332","812910","812921","812922","812930","812990","813110","813211","813212","813219","813311","813312","813319","813410","813910","813920","813930","813940","813990","814110","921110","921120","921130","921140","921150","921190","922110","922120","922130","922140","922150","922160","922190","923110","923120","923130","923140","924110","924120","925110","925120","926110","926120","926130","926140","926150","927110","928110","928120","999999"],"description":"The [industry code](http://docs.buildborderless.com/docs/business#/business-industry-list) of the business","example":"336390"},"website":{"type":"string","maxLength":200,"format":"uri","description":"The website URL of the business","example":"https://example.com"},"businessType":{"description":"How the business is legally registered","example":"Llc","allOf":[{"$ref":"#/components/schemas/BusinessType"}]},"isDao":{"type":"boolean","description":"Indicates if the business is a Decentralized Autonomous Organization (DAO)","example":false},"hasMaterialIntermediaryOwnership":{"type":"boolean","description":"The business has at least one intermediate legal entity owner with 25% or more ownership","example":false},"businessTradeName":{"type":"string","maxLength":100,"description":"The trading name or \"Doing Business As\" name under which the business operates publicly","example":"Example Solutions"},"accountPurpose":{"description":"The [primary purpose](https://docs.buildborderless.com/docs/business#/accounts-purpose) of the business account","example":"investment_purposes","allOf":[{"$ref":"#/components/schemas/BusinessAccountPurpose"}]},"accountPurposeOther":{"type":"string","maxLength":255,"description":"Other account purpose (required if accountPurpose is 'Other')","minLength":1},"ultimateBeneficialOwners":{"description":"List of ultimate beneficial owners of the business","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ExistingUltimateBeneficialOwnerDto","title":"Beneficial Owner of Existing Identity"},{"$ref":"#/components/schemas/NewUltimateBeneficialOwnerDto","title":"Beneficial Owner of New Identity"}]}},"annualRevenue":{"description":"Estimated annual revenue","example":"From1MTo10M","allOf":[{"$ref":"#/components/schemas/AnnualRevenue"}]},"approximateMonthlyTransaction":{"description":"Approximate number of transactions the business expects to conduct each month","example":"From10To100","allOf":[{"$ref":"#/components/schemas/MonthlyTransactionCount"}]},"expectedMonthlyVolumeUsd":{"description":"Estimated amount the business expects to send and receive each month, in USD","example":"From50KTo250K","allOf":[{"$ref":"#/components/schemas/ExpectedMonthlyVolumeUsd"}]},"highRiskActivities":{"type":"array","items":{"$ref":"#/components/schemas/HighRiskActivity"},"description":"List of high-risk activities the business is involved in. Use ['none_of_the_above'] to disclose that none apply — omitting the field leaves the disclosure unanswered","example":["none_of_the_above"]},"highRiskActivitiesExplanation":{"type":"string","maxLength":1024,"description":"Explanation of the high-risk activities the business is involved in. Required when highRiskActivities contains anything other than 'none_of_the_above'","example":"We operate a licensed OTC desk for institutional clients in the EU.","minLength":1},"operatesInProhibitedCountries":{"type":"boolean","description":"Does the business operate in any prohibited countries?","example":false},"actingAsIntermediary":{"type":"boolean","description":"Whether the business is acting as an intermediary for another party","example":false},"conductsMoneyServices":{"type":"boolean","description":"Whether the business offers money services, investment products, and/or other financial services","example":false},"conductsMoneyServicesUsingProvider":{"type":"boolean","description":"Whether the business plans to conduct money services using the specified provider. Relevant when conductsMoneyServices is true","example":false},"conductsMoneyServicesDescription":{"type":"string","maxLength":1024,"description":"Description of the money services offered by the business. Required when conductsMoneyServices is true","example":"Cross-border remittances for retail customers","minLength":1},"complianceScreeningExplanation":{"type":"string","maxLength":1024,"description":"Detailed description of the business's compliance and anti-money laundering controls and practices. Required when conductsMoneyServices is true","example":"We screen all customers against OFAC and EU sanctions lists...","minLength":1},"approximateDepositFirstMonth":{"type":"string","maxLength":10,"deprecated":true,"description":"Deprecated: use `expectedMonthlyVolumeUsd` instead. Estimated deposits for the first month"},"conductsMoneyServicesUsingBridge":{"type":"boolean","deprecated":true,"description":"Deprecated: use `conductsMoneyServicesUsingProvider` instead.","example":false},"transmitsCustomersFunds":{"type":"boolean","deprecated":true,"description":"Deprecated: Indicates if the business transmits customer funds","example":false},"cryptoCredential":{"description":"Change the state of the identity's Crypto Credential. Omit it to leave the credential untouched.","allOf":[{"$ref":"#/components/schemas/IdentityCryptoCredentialDto"}]}}},"IdentityDocumentCreateDto":{"type":"object","properties":{"issuingCountry":{"description":"The country code of the issuing country in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"type":{"description":"The type of identity document. Not all types are supported in every region; refer to the [Business documents](https://docs.buildborderless.com/docs/business#/document-requirements-for-businesses-by-region) for region-specific requirements; refer to the [Personal documents](https://docs.buildborderless.com/docs/personal#/-supported-documents) for region-specific requirements.","example":"Passport","allOf":[{"$ref":"#/components/schemas/IdentityDocumentType"}]},"subType":{"description":"The sub-type of the document. If provided with ProofOfAddress, must be a valid IdentityDocumentSubType.","example":"UtilityBill","allOf":[{"$ref":"#/components/schemas/IdentityDocumentSubType"}]},"idNumber":{"type":"string","minLength":3,"maxLength":20,"description":"The document identification number, if applicable","example":"123456789"},"issuedDate":{"type":"string","description":"The date the document was issued in format yyyy-mm-dd","format":"date","example":"2003-01-01"},"expiryDate":{"type":"string","description":"The date the document expires in format yyyy-mm-dd, if applicable","format":"date","example":"2003-01-01"},"imageFront":{"type":"string","format":"base64","description":"The front side of the document in Base64 format. Supported MIME types (application/pdf, image/jpeg, image/jpg, image/png, image/heic, image/tiff). Minimum resolution: 200x200px, maximum size: 5MB. Refer to the [Business documents](https://docs.buildborderless.com/docs/business#/document-requirements-for-businesses-by-region) for region-specific requirements; refer to the [Personal documents](https://docs.buildborderless.com/docs/personal#/-supported-documents) for region-specific requirements.","example":"data:image/jpeg;base64,/9j/4AAQSkZJRg..."},"imageBack":{"type":"string","format":"base64","description":"The back side of the document in Base64 format, if applicable. Supported MIME types (application/pdf, image/jpeg, image/jpg, image/png, image/heic, image/tiff). Minimum resolution: 200x200px, maximum size: 5MB. Refer to the [Business documents](https://docs.buildborderless.com/docs/business#/document-requirements-for-businesses-by-region) for region-specific requirements; refer to the [Personal documents](https://docs.buildborderless.com/docs/personal#/-supported-documents) for region-specific requirements.","example":"data:image/jpeg;base64,/9j/4AAQSkZJRg..."}},"required":["issuingCountry","type","issuedDate"]},"DocumentSide":{"type":"string","enum":["front","back"]},"IdentityDocumentUrlEntity":{"type":"object","properties":{"url":{"type":"string","description":"Short-lived presigned URL to view or download the document side."},"expiresIn":{"type":"number","description":"Number of seconds the presigned URL remains valid."}},"required":["url","expiresIn"]},"RampOptionType":{"type":"string","enum":["Deposit","Withdrawal","VirtualAccount","LiquidationAddress"]},"DefaultPFIEntity":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"operationType":{"allOf":[{"$ref":"#/components/schemas/RampOptionType"}]},"paymentMethod":{"nullable":true,"description":"Rail this rule applies to. Null means the country/operation catch-all.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]}},"required":["id","country","operationType","pfiName"]},"UpsertDefaultPFIDto":{"type":"object","properties":{"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"operationType":{"description":"Operation type. Exchange is not supported here (handled by ExchangePairOption).","allOf":[{"$ref":"#/components/schemas/RampOptionType"}]},"paymentMethod":{"description":"Optional rail (payment method) this rule applies to. Omit for the country/operation catch-all; a rail-specific rule takes precedence over the catch-all.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]}},"required":["country","operationType","pfiName"]},"BulkRouteRefDto":{"type":"object","properties":{"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"operationType":{"description":"Operation type. Exchange is not supported here (handled by ExchangePairOption).","allOf":[{"$ref":"#/components/schemas/RampOptionType"}]},"paymentMethod":{"description":"Optional rail (payment method) this route applies to.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]}},"required":["country","operationType"]},"BulkUpsertDefaultsDto":{"type":"object","properties":{"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"routes":{"minItems":1,"description":"Routes to set to this provider.","type":"array","items":{"$ref":"#/components/schemas/BulkRouteRefDto"}}},"required":["pfiName","routes"]},"DeleteDefaultPFIDto":{"type":"object","properties":{"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"operationType":{"description":"Operation type. Exchange is not supported here (handled by ExchangePairOption).","allOf":[{"$ref":"#/components/schemas/RampOptionType"}]},"paymentMethod":{"description":"Optional rail (payment method) this rule applies to. Omit for the country/operation catch-all; a rail-specific rule takes precedence over the catch-all.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]}},"required":["country","operationType"]},"PFIConfigStatus":{"type":"string","enum":["active","inactive","not_available"]},"NetworkAssetEntryEntity":{"type":"object","properties":{"asset":{"description":"Asset identifier (e.g. USDC_POLYGON)","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryCode"}}},"required":["asset","countries"]},"FiatCurrencyId":{"type":"string","enum":["USD","EUR","BRL","ARS","MXN","COP","CLP","PEN","PYG","DOP","UYU","BOB","CRC","GTQ","BWP","CDF","GHS","KES","MWK","NGN","RWF","ZAR","TZS","UGX","ZMW","XOF","XAF","AUD","BDT","CAD","INR","JPY","NPR","PKR","PHP","SGD","GBP","CNY","HKD","CNH","IDR","MYR","KRW","LKR","THB","TRY","VND","CZK","HUF","DKK","NOK","PLN","RON","RSD","SEK","CHF","AED","SAR","QAR","ILS","EGP","JOD","HNL","JMD","NZD","DZD","GMD","GNF","HTG","MAD","TND"],"description":"Fiat currency identifier (e.g. USD, EUR)"},"ComplianceType":{"type":"string","enum":["Bridge_base","Bridge_sepa","Koywe_base","Kotanipay_base","Bitso_base","Yellowcard_base","TraceFinance_base","HoneyCoin_base","BlindPay_base","BlindPay_enhanced","BlindPay_va","Finity_base","Ares_base","Hercle_base","Infinia_base","Walapay_base","Yativo_base","Capa_base","Bivo_base","Cobre_base","Brale_base","Onmeta_base","Onmeta_ind","Alfred_base","Tazapay_base","Demo_base","CrissCross_base","CrissCross_kenya","TripleA_base","Pockyt_base","TripleA_enhanced"]},"NetworkPaymentMethodEntryEntity":{"type":"object","properties":{"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/CountryCode"}},"complianceProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ComplianceType"}]}},"required":["method","countries","complianceProfile"]},"NetworkFiatEntryEntity":{"type":"object","properties":{"fiat":{"description":"Fiat currency identifier (e.g. USD, EUR)","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"paymentMethods":{"type":"array","items":{"$ref":"#/components/schemas/NetworkPaymentMethodEntryEntity"}}},"required":["fiat","paymentMethods"]},"NetworkRampOptionEntity":{"type":"object","properties":{"option":{"type":"string","description":"Option type: deposit, withdrawal, or virtualAccount"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/NetworkAssetEntryEntity"}},"fiats":{"type":"array","items":{"$ref":"#/components/schemas/NetworkFiatEntryEntity"}}},"required":["option","assets","fiats"]},"CurrencyType":{"type":"string","enum":["fiat","asset"]},"NetworkExchangeCurrencyEntity":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/CurrencyType"}]},"fiat":{"nullable":true,"description":"Fiat currency code (null when type is asset)","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"asset":{"nullable":true,"description":"Asset identifier (null when type is fiat)","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["type","fiat","asset"]},"NetworkExchangePairEntity":{"type":"object","properties":{"from":{"$ref":"#/components/schemas/NetworkExchangeCurrencyEntity"},"to":{"$ref":"#/components/schemas/NetworkExchangeCurrencyEntity"},"complianceProfile":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ComplianceType"}]}},"required":["from","to","complianceProfile"]},"NetworkExchangeOptionEntity":{"type":"object","properties":{"option":{"type":"string","description":"Option type","default":"exchange"},"pairs":{"type":"array","items":{"$ref":"#/components/schemas/NetworkExchangePairEntity"}}},"required":["option","pairs"]},"NetworkCredentialsEntity":{"type":"object","properties":{"customerOwned":{"type":"boolean","description":"Whether the organization uses customer-owned credentials"},"configured":{"type":"boolean","description":"Whether credentials have been configured for this provider"}},"required":["customerOwned","configured"]},"NetworkProviderEntity":{"type":"object","properties":{"id":{"type":"string","description":"Provider identifier (organizationId|pfiName)"},"name":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"status":{"allOf":[{"$ref":"#/components/schemas/PFIConfigStatus"}]},"credentials":{"$ref":"#/components/schemas/NetworkCredentialsEntity"},"supportsCustodialBalance":{"type":"boolean","description":"Whether the provider holds an org-owned custodial balance (asset or fiat) that can absorb deposits and serve withdrawals."},"supportsTransactionImport":{"type":"boolean","description":"Whether the provider supports syncing off-platform transaction history via its API (gates the Sync Transactions action)."},"complianceProfiles":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceType"}},"options":{"type":"array","description":"Provider options keyed by operation type (deposit, withdrawal, virtualAccount, exchange)","items":{"oneOf":[{"$ref":"#/components/schemas/NetworkRampOptionEntity"},{"$ref":"#/components/schemas/NetworkExchangeOptionEntity"}]}}},"required":["id","name","status","credentials","supportsCustodialBalance","supportsTransactionImport","complianceProfiles","options"]},"MastercardWebhookDto":{"type":"object","properties":{"eventId":{"type":"string","maxLength":255,"description":"Unique identifier of the published event."},"eventType":{"type":"string","maxLength":255,"description":"The type of the event."},"eventCreatedDate":{"type":"string","maxLength":255,"description":"When Mastercard created the event."},"ica":{"type":"string","maxLength":255,"description":"Interbank Card Association identifier of the customer."},"data":{"type":"object","description":"JWE-encrypted event payload."}}},"CryptoCredentialAliasType":{"type":"string","enum":["Email","PhoneNumber","DomainName"],"description":"The kind of value accountAlias holds."},"CryptoCredentialStatusReasonInformationDto":{"type":"object","properties":{"reasonCode":{"description":"Machine readable code explaining why the status was set.","example":"ALIAS_UNDER_INVESTIGATION","allOf":[{"$ref":"#/components/schemas/MastercardStatusReasonCode"}]},"description":{"type":"string","maxLength":255,"description":"Human readable explanation shown alongside the reason code.","example":"The alias is currently under investigation"}},"required":["reasonCode"]},"CryptoCredentialAccountDto":{"type":"object","properties":{"accountAlias":{"type":"string","maxLength":255,"description":"The alias that identifies the account. This is the only field required to create an account, and it is how every later request addresses it.","example":"user@example.com","minLength":1},"aliasType":{"description":"The kind of value accountAlias holds.","example":"Email","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAliasType"}]},"status":{"description":"The status of the account. A suspended account stops resolving in alias lookups until it is set back to Active.","example":"Active","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAccountStatus"}]},"country":{"description":"The country the account belongs to, in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"statusReasonInformation":{"description":"Why the account was put into the requested status. Only meaningful when status is sent as well.","maxItems":10,"type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialStatusReasonInformationDto"}}},"required":["accountAlias"]},"CryptoCredentialStatusReasonInformationEntity":{"type":"object","properties":{"reasonCode":{"type":"string","description":"Machine readable code explaining why the status was set."},"description":{"type":"string","nullable":true,"description":"Human readable explanation of the reason code."}},"required":["reasonCode"]},"CryptoCredentialAdditionalAliasEntity":{"type":"object","properties":{"accountAlias":{"type":"string","nullable":true,"description":"The additional alias itself."},"aliasType":{"nullable":true,"description":"The kind of value this alias holds.","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAliasType"}]},"createdAt":{"type":"string","nullable":true,"description":"When the alias was attached to the account."},"updatedAt":{"type":"string","nullable":true,"description":"When the alias was last updated."}}},"CryptoCredentialAddressEntity":{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the registered address. Use it to fetch, update or decommission the address."},"accountAlias":{"type":"string","nullable":true,"description":"The alias of the account the address is registered under."},"status":{"nullable":true,"description":"The status of the address. Only an active address is returned when the alias is resolved.","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAccountStatus"}]},"address":{"type":"string","nullable":true,"description":"The registered blockchain address."},"asset":{"nullable":true,"description":"The token tied to a specific blockchain held at the address. It determines which network the address resolves on.","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"createdAt":{"type":"string","nullable":true,"description":"When the address was registered."},"updatedAt":{"type":"string","nullable":true,"description":"When the address was last updated."}},"required":["id"]},"CryptoCredentialAccountEntity":{"type":"object","properties":{"accountAlias":{"type":"string","description":"The alias the account was registered under."},"status":{"nullable":true,"description":"The status of the account. Only an active account resolves in alias lookups.","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAccountStatus"}]},"aliasType":{"nullable":true,"description":"The kind of value accountAlias holds.","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAliasType"}]},"country":{"nullable":true,"description":"The country the account belongs to, in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"statusReasonInformation":{"nullable":true,"description":"Why the account is in its current status.","type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialStatusReasonInformationEntity"}},"additionalAccountAliases":{"nullable":true,"description":"Other aliases that resolve to this account, including the domain name alias Mastercard derives on creation. That derived alias is the one other participants resolve.","type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialAdditionalAliasEntity"}},"cryptoAddresses":{"nullable":true,"description":"Blockchain addresses registered under this account, one per asset.","type":"array","items":{"$ref":"#/components/schemas/CryptoCredentialAddressEntity"}},"createdAt":{"type":"string","nullable":true,"description":"When the account was created."},"updatedAt":{"type":"string","nullable":true,"description":"When the account was last updated."}},"required":["accountAlias"]},"CryptoCredentialCreateAddressDto":{"type":"object","properties":{"accountAlias":{"type":"string","maxLength":255,"description":"The alias of the account the address is registered under. The account must already exist.","example":"user@example.com","minLength":1},"address":{"type":"string","minLength":10,"maxLength":255,"description":"The blockchain address to register. An account alias can hold several addresses, one per asset.","example":"0x46Be1B5b35708e369b943CE6094c6f0484d480A7"},"asset":{"description":"The token tied to a specific blockchain held at the address. It determines which network the address resolves on.","example":"USDC_POLYGON","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["accountAlias","address"]},"CryptoCredentialUpdateAddressDto":{"type":"object","properties":{"accountAlias":{"type":"string","maxLength":255,"description":"Move the address to a different account by sending that account's alias.","example":"user@example.com","minLength":1},"address":{"type":"string","minLength":10,"maxLength":255,"description":"Replace the registered blockchain address with this one.","example":"0x46Be1B5b35708e369b943CE6094c6f0484d480A7"},"asset":{"description":"Replace the token tied to a specific blockchain held at the address.","example":"USDC_POLYGON","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"status":{"description":"The status of the address. Suspending it stops the address from resolving; to retire it permanently use the delete endpoint instead.","example":"Suspended","allOf":[{"$ref":"#/components/schemas/CryptoCredentialAccountStatus"}]}}},"RefundDestinationMode":{"type":"string","enum":["none","address_optional","address_required","provider_locked"]},"RefundEstimatedTimingRangeEntity":{"type":"object","properties":{"minSeconds":{"type":"number","description":"Minimum expected refund completion time, in seconds."},"maxSeconds":{"type":"number","description":"Maximum expected refund completion time, in seconds."},"businessDays":{"type":"boolean","description":"True when the estimate counts business days only."}},"required":["minSeconds","maxSeconds","businessDays"]},"RefundCapabilityEntity":{"type":"object","properties":{"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"supportedPaths":{"type":"array","items":{"$ref":"#/components/schemas/RefundPath"}},"acceptedRequestTypes":{"type":"array","items":{"$ref":"#/components/schemas/RefundDestinationType"},"description":"Refund destination types accepted in refund requests for this PFI."},"destinationModes":{"type":"array","items":{"$ref":"#/components/schemas/RefundDestinationMode"}},"chainsSupported":{"description":"Assets supported for refunds on this corridor.","type":"array","items":{"type":"string"}},"estimatedTimingRange":{"$ref":"#/components/schemas/RefundEstimatedTimingRangeEntity"},"autoRefundOverrideSupported":{"type":"boolean"},"prerequisites":{"type":"array","items":{"type":"string"}}},"required":["pfiName","supportedPaths","acceptedRequestTypes","destinationModes","chainsSupported","estimatedTimingRange","autoRefundOverrideSupported","prerequisites"]},"RefundDestinationDto":{"type":"object","properties":{"type":{"description":"How a refund should be handled if the transaction fails. `address` returns funds to a specific crypto address. `source` returns funds to the original on-chain sender (Yellowcard maps this to `settlementInfo.refundToSourceAddress`). `provider_balance` leaves funds in the client's account at the PFI.","example":"Address","allOf":[{"$ref":"#/components/schemas/RefundDestinationType"}]},"address":{"type":"string","description":"Required when `type` is `address`. The crypto address that should receive the refund.","example":"0x1234567890abcdef1234567890abcdef12345678"},"autoRefund":{"type":"boolean","description":"Whether Borderless should automatically trigger the refund on failure. Defaults to `true`. Setting `false` records the plan as eligible but keeps it `Created` until ops dispatches manually.","example":true,"default":true}},"required":["type"]},"ManualRefundDispatchDto":{"type":"object","properties":{"refundDestination":{"description":"Optional override for the refund destination. When provided, replaces the stored `RefundPlan.destination` before the workflow is dispatched. The override is re-validated against the PFI's refund capability using the same rules as on transaction creation.","allOf":[{"$ref":"#/components/schemas/RefundDestinationDto"}]}}},"OrgRefundAddressDto":{"type":"object","properties":{"network":{"description":"The network this refund address belongs to.","example":"ETHEREUM","allOf":[{"$ref":"#/components/schemas/NetworkId"}]},"address":{"type":"string","description":"The crypto address that should receive refunds on this network.","example":"0x1234567890abcdef1234567890abcdef12345678"}},"required":["network","address"]},"OrgRefundDestinationDto":{"type":"object","properties":{"type":{"description":"How a refund should be handled if the transaction fails. `Address` returns funds to a per-network crypto address. `Source` returns funds to the original on-chain sender. `ProviderBalance` leaves funds in the client's account at the PFI.","example":"Address","allOf":[{"$ref":"#/components/schemas/RefundDestinationType"}]},"addresses":{"minItems":1,"description":"Required when `type` is `Address`. One refund address per network. At refund time the address matching the transaction's network is used; networks without an entry have no default and fall back to per-transaction destinations.","type":"array","items":{"$ref":"#/components/schemas/OrgRefundAddressDto"}},"autoRefund":{"type":"boolean","description":"Whether Borderless should automatically trigger the refund on failure. Defaults to `true`. Setting `false` records the plan as eligible but keeps it `Created` until ops dispatches manually.","example":true,"default":true},"autoFiatReturn":{"type":"boolean","description":"Whether Borderless should automatically return a failed fiat payout as crypto by re-converting the fiat held at the PFI and paying out to the refund destination. Defaults to `false`; when disabled the plan is marked for manual handling.","example":false,"default":false}},"required":["type"]},"RefundConfigEntity":{"type":"object","properties":{"destination":{"description":"The organization's default refund destination.","allOf":[{"$ref":"#/components/schemas/OrgRefundDestinationDto"}]},"verifiedAt":{"type":"string","description":"When the default was last set or re-confirmed.","format":"date-time"},"isStaleWarning":{"type":"boolean","description":"True when the default is older than 30 days and should be re-confirmed."},"isStaleReject":{"type":"boolean","description":"True when the default is older than 90 days; automatic refunds to this default are paused until re-confirmed."}},"required":["destination","verifiedAt","isStaleWarning","isStaleReject"]},"UpsertRefundConfigDto":{"type":"object","properties":{"destination":{"description":"The organization's default refund destination, used when a transaction has no per-transaction destination set. Saving resets the verification timestamp.","allOf":[{"$ref":"#/components/schemas/OrgRefundDestinationDto"}]}},"required":["destination"]},"AlfredSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Alfred API key for authentication.","example":"alfk_123"},"webhookSecret":{"type":"string","description":"The Alfred webhook secret used to verify incoming webhook signatures.","example":"alfred_webhook_secret_789"}},"required":["apiKey","webhookSecret"]},"BitsoSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","minLength":10,"maxLength":32,"description":"The Bitso API key for authentication.","example":"hKaAodQNLK"},"apiSecret":{"type":"string","minLength":10,"maxLength":64,"description":"The Bitso API secret for authentication.","example":"ad0b2a2190dde067f3fd5a523f1c2aen"},"ownerIdentityId":{"type":"string","description":"Id of the identity, who is the owner of Bitso Wallet.","example":"cm9db4g2s4r7ro224ra6u1qvl"}},"required":["apiKey","apiSecret","ownerIdentityId"]},"BivoSetupDto":{"type":"object","properties":{"username":{"type":"string","description":"The Bivo partner username.","example":"e19799ed-6d75-4914-986c-5577ddfb1a44"},"password":{"type":"string","description":"The Bivo partner password.","example":"Dpc!b$722i7EXRRTvb9dQLEJRX$C$Mc5"}},"required":["username","password"]},"BlindPaySetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The BlindPay API key for authentication.","example":"blindpay_api_key_123"},"instanceId":{"type":"string","description":"The BlindPay instance ID the API key belongs to.","example":"in_000000000000"},"webhookSecret":{"type":"string","description":"The BlindPay webhook secret used to verify incoming webhook signatures.","example":"whsec_blindpay_webhook_secret_789"}},"required":["apiKey","instanceId","webhookSecret"]},"BraleSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Brale API key (client ID) for authentication.","example":"brale_client_id_123"},"apiSecret":{"type":"string","description":"The Brale API secret (client secret) for authentication.","example":"brale_client_secret_456"}},"required":["apiKey","apiSecret"]},"BridgeSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Bridge partner api key.","example":"sk-live-81ef049d7644df72d3a651d6ddd1c61v"}},"required":["apiKey"]},"CapaSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Capa partner api key.","example":"e19799ed-6d75-4914-986c-5577ddfb1a44"}},"required":["apiKey"]},"CobreSetupDto":{"type":"object","properties":{"userId":{"type":"string","description":"The Cobre user ID for authentication.","example":"cli_test_123"},"secret":{"type":"string","description":"The Cobre secret for authentication.","example":"test"}},"required":["userId","secret"]},"CrissCrossSetupDto":{"type":"object","properties":{"clientId":{"type":"string","minLength":1,"maxLength":256,"description":"The CrissCross clientId for OAuth authentication.","example":"your-crisscross-client-id"},"clientSecret":{"type":"string","minLength":1,"maxLength":256,"description":"The CrissCross clientSecret for OAuth authentication.","example":"your-crisscross-client-secret"},"merchantId":{"type":"string","minLength":1,"maxLength":256,"description":"The CrissCross merchantId for Payouts API requests.","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479"},"businessIdentityId":{"type":"string","minLength":25,"maxLength":25,"description":"The Borderless business identity id that represents the merchant itself. The first-party (exchange) flow is used only when both the source account owner and the destination payment instruction belong to this identity; otherwise the third-party payout flow is used."}},"required":["clientId","clientSecret","merchantId","businessIdentityId"]},"DemoSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"Any non-empty string. The Demo provider is fully mocked and never calls an external API, so the key is accepted as-is.","example":"open-sesame"}},"required":["apiKey"]},"DfnsSetupDto":{"type":"object","properties":{"appId":{"type":"string","minLength":31,"maxLength":50,"description":"The Dfns application ID. Learn more about configuration at [Dfns Configuration Guide](https://docs.buildborderless.com/docs/dfns-provider).","example":"ap-66rrf-kcjqj-8ppri8f3aa4h6opn"},"authToken":{"type":"string","minLength":256,"maxLength":1024,"description":"The Dfns authentication token. Learn more about configuration at [Dfns Configuration Guide](https://docs.buildborderless.com/docs/dfns-provider).","example":"eyJ1eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9..."}},"required":["appId","authToken"]},"FinitySetupDto":{"type":"object","properties":{"clientId":{"type":"string","minLength":10,"maxLength":64,"description":"The clientId for authentication.","example":"m2m-client-test-2b27da12-497a-a42f-9821-abcd-0a1234567 for Finity or Fk5DU28t9m0DAr0YFstsHDX8Aoxlwm2M for Trace Finance"},"clientSecret":{"type":"string","minLength":10,"maxLength":64,"description":"The clientSecret for authentication.","example":"ad0b2a2190dde067f3fd5a523f1c2aen for Finity or _Cgnl6T0FfZWc6zrO5c6TkG09y0n45aMAIcl1nmNITBOEqGHo4CDka-tBBnQwjaK for Trace Finance"}},"required":["clientId","clientSecret"]},"HercleCredentialDto":{"type":"object","properties":{"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Identity id associated with the Hercle credential.","example":"clxxxxxxxxxxxxxxxxxxxxxxx"},"apiKey":{"type":"string","minLength":10,"maxLength":600,"description":"Hercle API key."},"apiSecret":{"type":"string","minLength":10,"maxLength":600,"description":"Optional Hercle API secret."}},"required":["identityId","apiKey"]},"HercleSetupDto":{"type":"object","properties":{"pfiApiCredentials":{"description":"Optional list of Hercle API credentials to associate with the integration.","type":"array","items":{"$ref":"#/components/schemas/HercleCredentialDto"}}}},"HoneyCoinSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The HoneyCoin API key for authentication.","example":"HC-a1cc4444-e9b1-7654-a123-7c555edb9fe1"},"publicKey":{"type":"string","description":"The HoneyCoin public key for authentication.","example":"2aalwDDltWiUuT7qjBVC"}},"required":["apiKey","publicKey"]},"InfiniaSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Infinia username for authentication.","example":"user_x93ldfa1"},"apiSecret":{"type":"string","description":"The Infinia password for authentication.","example":"pW$7{D!mQ@t2"},"companyId":{"type":"string","description":"Infinia company id.","example":"comp_1234567890"}},"required":["apiKey","apiSecret","companyId"]},"KotanipaySetupDto":{"type":"object","properties":{"clientId":{"type":"string","description":"The Kotanipay client ID for authentication.","example":"342654b907af5555fa6bd1a2"},"clientSecret":{"type":"string","description":"The Kotanipay client secret for authentication.","example":"kjJ1c2VyX2lkIjoiNjcwNjU0YjkwN2FmNjE1MmZhNmJkNGE2IiwiY3JlYXRlZF9hdCI61234MjQtMTAtMjFUMTQ6NDg6NTIuMjc5WiJ9.f268821a8eae0a86c4f3ad904a0be4c28f0771613e90e31884aa99a6827c123g"}},"required":["clientId","clientSecret"]},"KoyweSetupDto":{"type":"object","properties":{"clientId":{"type":"string","description":"The Koywe client ID for authentication.","example":"22f123af4d0a9800dfb22bf5"},"clientSecret":{"type":"string","description":"The Koywe client secret for authentication.","example":"kjJ1c2VyX2lkIjoiNjcwNjU0YjkwN2FmNjE1MmZhNmJkNGE2IiwiY3JlYXRlZF9hdCI61234MjQtMTAtMjFUMTQ6NDg6NTIuMjc5WiJ9.f268821a8eae0a86c4f3ad904a0be4c28f0771613e90e31884aa99a6827c123g"}},"required":["clientId","clientSecret"]},"OnmetaSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Onmeta API key for authentication.","example":"onmeta_api_key_123"},"apiSecret":{"type":"string","description":"The Onmeta API secret for authentication.","example":"onmeta_api_secret_456"}},"required":["apiKey","apiSecret"]},"PockytSetupDto":{"type":"object","properties":{"merchantNo":{"type":"string","description":"The Pockyt merchant number (merchantNo).","example":"200000"},"storeNo":{"type":"string","description":"The Pockyt store number (storeNo).","example":"300000"},"apiToken":{"type":"string","description":"The Pockyt API token used to sign requests. Never sent directly in requests.","example":"<your-pockyt-api-token>"},"payorNo":{"type":"string","description":"The payor number (payorNo) for Merchant-of-Record payout flows.","example":"P87654321"},"walletAddresses":{"type":"object","additionalProperties":{"type":"string"},"description":"Per-asset Pockyt crypto deposit wallet addresses (assetId -> address), provided by Pockyt during onboarding. Used as the destination for the crypto leg of a withdrawal.","example":{"USDC_ETHEREUM":"0x1234567890abcdef1234567890abcdef12345678"}}},"required":["merchantNo","storeNo","apiToken"]},"TazapaySetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Tazapay API key used as the Basic auth username.","example":"ak_test_xxxxxxxxxxxxxxxxxxxx"},"apiSecret":{"type":"string","description":"The Tazapay API secret used as the Basic auth password.","example":"sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"webhookSecret":{"type":"string","description":"The Tazapay webhook secret used to verify incoming webhook signatures. Retrieved from the Tazapay dashboard.","example":"whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"accountId":{"type":"string","description":"The `acc_` id of the Tazapay account these credentials belong to, shown in the Tazapay dashboard. Scopes collection-account lookups, which is how withdrawals resolve the stablecoin collection wallet per asset. Required for withdrawals.","example":"acc_00000000000000000000"}},"required":["apiKey","apiSecret"]},"TraceFinanceSetupDto":{"type":"object","properties":{"clientId":{"type":"string","minLength":10,"maxLength":64,"description":"The clientId for authentication.","example":"m2m-client-test-2b27da12-497a-a42f-9821-abcd-0a1234567 for Finity or Fk5DU28t9m0DAr0YFstsHDX8Aoxlwm2M for Trace Finance"},"clientSecret":{"type":"string","minLength":10,"maxLength":64,"description":"The clientSecret for authentication.","example":"ad0b2a2190dde067f3fd5a523f1c2aen for Finity or _Cgnl6T0FfZWc6zrO5c6TkG09y0n45aMAIcl1nmNITBOEqGHo4CDka-tBBnQwjaK for Trace Finance"}},"required":["clientId","clientSecret"]},"UtilaSetupDto":{"type":"object","properties":{"serviceAccount":{"type":"string","description":"The Utila service account identifier. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","example":"sa_1234567890abcdef"},"privateRSAKey":{"type":"string","description":"The Utila private RSA key for authentication. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","example":"-----BEGIN PRIVATE KEY-----\nMIIEvQIBADAN..."},"vaultId":{"type":"string","description":"The Utila vault ID for the account. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","example":"vault-1234567890abcdef"},"evmGasWallet":{"type":"string","description":"The Utila EVM gas wallets for the organization. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","example":["0x1234567890abcdef1234567890abcdef12345678"]}},"required":["serviceAccount","privateRSAKey","vaultId"]},"WalapaySetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Walapay partner api key.","example":"e19799ed-6d75-4914-986c-5577ddfb1a44"}},"required":["apiKey"]},"YativoSetupDto":{"type":"object","properties":{"clientId":{"type":"string","minLength":10,"maxLength":64,"description":"The clientId for authentication.","example":"m2m-client-test-2b27da12-497a-a42f-9821-abcd-0a1234567 for Finity or Fk5DU28t9m0DAr0YFstsHDX8Aoxlwm2M for Trace Finance"},"clientSecret":{"type":"string","minLength":10,"maxLength":64,"description":"The clientSecret for authentication.","example":"ad0b2a2190dde067f3fd5a523f1c2aen for Finity or _Cgnl6T0FfZWc6zrO5c6TkG09y0n45aMAIcl1nmNITBOEqGHo4CDka-tBBnQwjaK for Trace Finance"}},"required":["clientId","clientSecret"]},"YellowcardOmnibusAddressesDto":{"type":"object","properties":{"evm":{"type":"string","description":"Omnibus address for EVM-compatible networks (BASE/ERC20/CELO/POLYGON).","example":"0x1234567890abcdef1234567890abcdef12345678"},"solana":{"type":"string","description":"Omnibus address for the Solana network.","example":"4kzKf7p83nXq5VK92K9YfSsfSqsCim29s3VAmxyz123"},"tron":{"type":"string","description":"Omnibus address for the Tron (TRC20) network.","example":"TQ9n1Muf6pZL4e1DqYNo8v5yRk6VxVQ2Q3"}}},"YellowcardSetupDto":{"type":"object","properties":{"apiKey":{"type":"string","description":"The Yellowcard API key for authentication.","example":"hKaAodQNLK"},"apiSecret":{"type":"string","description":"The Yellowcard API secret for authentication.","example":"ad0b2a2190dde067f3fd5a523f1c2aen"},"omnibusAddresses":{"description":"Optional omnibus addresses grouped by blockchain network.","allOf":[{"$ref":"#/components/schemas/YellowcardOmnibusAddressesDto"}]}},"required":["apiKey","apiSecret"]},"MastercardSetupDto":{"type":"object","properties":{"ica":{"type":"string","minLength":1,"maxLength":20,"description":"Interbank Card Association identifier assigned by Mastercard.","example":"0451"},"consumerKey":{"type":"string","minLength":1,"maxLength":255,"description":"OAuth 1.0a consumer key for Mastercard API authentication."},"signingKey":{"type":"string","description":"RSA private key (PEM-encoded) used for OAuth 1.0a request signing. Extract from the PKCS#12 keystore (.p12) received from Mastercard Developer portal: openssl pkcs12 -in keyfile.p12 -nocerts -nodes | openssl pkcs8 -topk8 -nocrypt"},"encryptionKey":{"type":"string","description":"Mastercard's public key (PEM-encoded) used for JWE payload encryption."},"decryptionKey":{"type":"string","description":"RSA private key (PEM-encoded) used to decrypt JWE-encrypted API responses from Mastercard. The corresponding public certificate must be shared with Mastercard during onboarding."}},"required":["ica","consumerKey","signingKey","encryptionKey","decryptionKey"]},"SepaDetailsCreateDto":{"type":"object","properties":{"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the bank.","example":"Example Bank"},"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the account holder for the SEPA account.","example":"John Doe"},"bankAccountNumber":{"type":"string","minLength":1,"maxLength":34,"description":"The IBAN (International Bank Account Number) for the SEPA account.","example":"DE89370400440532013000"},"swiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"The SWIFT or BIC code of the bank.","example":"DEUTDEFF"},"accountOwnerType":{"description":"The type of account owner (Personal or Business).","example":"Personal","allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"}]},"firstName":{"type":"string","minLength":1,"maxLength":50,"description":"The first name of the account holder, required if accountOwnerType is Personal","example":"John"},"lastName":{"type":"string","minLength":1,"maxLength":50,"description":"The last name of the account holder, required if accountOwnerType is Personal","example":"Doe"},"businessName":{"type":"string","minLength":1,"maxLength":50,"description":"The business name, required if accountOwnerType is Business","example":"Example Corp"},"address":{"description":"Beneficiary bank address. Optional; required only for certain countries/corridors. The beneficiary's own address is taken from the identity.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}},"required":["accountHolderName","bankAccountNumber","swiftOrBicNumber","accountOwnerType"]},"USDetailsCreateDto":{"type":"object","properties":{"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the bank, if applicable","example":"Example Bank"},"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the account holder for the US bank account","example":"John Doe"},"bankAccountNumber":{"type":"string","minLength":1,"maxLength":27,"description":"The bank account number for the US account","example":"123456789012"},"bankRoutingNumber":{"type":"string","minLength":1,"maxLength":9,"description":"The bank routing number (ABA) for the US account","example":"123456789"},"bankAccountType":{"description":"The type of bank account (e.g., Checking or Savings).","example":"Checking","allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"recipientRelationship":{"description":"The relationship between the sender and the recipient. Required by some payment providers.","example":"first party","allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]},"address":{"description":"Beneficiary bank address. Optional; required only for certain countries/corridors. The beneficiary's own address is taken from the identity.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}},"required":["accountHolderName","bankAccountNumber","bankRoutingNumber","bankAccountType"]},"TripleAFpsDepositDetailsDto":{"type":"object","properties":{"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name the UK account is held under, checked by the sender's bank.","example":"Example Merchant Ltd"},"bankAccountNumber":{"type":"string","description":"UK bank account number (8 digits).","example":"31926819","pattern":"^\\d{8}$"},"sortCode":{"type":"string","description":"UK sort code (6 digits, hyphens optional).","example":"60-16-13","pattern":"^\\d{2}-?\\d{2}-?\\d{2}$"},"iban":{"type":"string","description":"UK IBAN of the same account.","example":"GB29NWBK60161331926819","pattern":"^GB\\d{2}[A-Z]{4}\\d{14}$"},"swiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"SWIFT / BIC of the bank.","example":"NWBKGB2L"},"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the bank.","example":"Example Bank"},"address":{"description":"The bank's address.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}},"required":["accountHolderName","bankAccountNumber","sortCode"]},"TripleASwiftDepositDetailsDto":{"type":"object","properties":{"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name the account is held under.","example":"Example Merchant Ltd"},"swiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"SWIFT / BIC of the bank.","example":"CHASUS33"},"bankAccountNumber":{"type":"string","minLength":1,"maxLength":34,"description":"The account number. Required unless `iban` is given.","example":"000123456789"},"iban":{"type":"string","minLength":1,"maxLength":34,"description":"The IBAN, for a bank that issues one. Required unless `bankAccountNumber` is given.","example":"DE89370400440532013000"},"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the bank.","example":"JPMorgan Chase Bank, N.A."},"address":{"description":"The bank's address.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}},"required":["accountHolderName","swiftOrBicNumber"]},"TripleADepositInstructionDto":{"type":"object","properties":{"paymentMethod":{"enum":["Sepa","Wire","ACH","FPS","Swift"],"type":"string","description":"The payment method this deposit instruction serves.","example":"Sepa"},"currency":{"description":"The fiat currency this deposit instruction serves. Virtual accounts for this currency surface the entry among their deposit instructions.","example":"EUR","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"details":{"description":"The bank details of the merchant's top-up account, which vary by `paymentMethod`.","oneOf":[{"$ref":"#/components/schemas/SepaDetailsCreateDto","title":"SEPA Details"},{"$ref":"#/components/schemas/USDetailsCreateDto","title":"US Details (Wire and ACH)"},{"$ref":"#/components/schemas/TripleAFpsDepositDetailsDto","title":"UK Faster Payments Details"},{"$ref":"#/components/schemas/TripleASwiftDepositDetailsDto","title":"SWIFT Details"}],"minLength":1}},"required":["paymentMethod","currency","details"]},"TripleATopupAssetId":{"type":"string","enum":["USDT_TRON","USDT_ETHEREUM","USDT_POLYGON","USDT_SOLANA","USDC_ETHEREUM","USDC_POLYGON","USDC_SOLANA"],"description":"The asset the top-up address accepts. Triple-A issues one fixed address per asset and network."},"TripleACryptoTopupAddressDto":{"type":"object","properties":{"asset":{"description":"The asset the top-up address accepts. Triple-A issues one fixed address per asset and network.","example":"USDC_POLYGON","allOf":[{"$ref":"#/components/schemas/TripleATopupAssetId"}]},"address":{"type":"string","description":"The address Triple-A provided for topping the merchant balance up with this asset.","example":"0x742d35Cc6634C0532925a3b844Bc454e4438f44e","minLength":1}},"required":["asset","address"]},"TripleASetupDto":{"type":"object","properties":{"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Business identity of the merchant this credential set belongs to. Required for an unregulated organization, which registers each merchant with the merchant's own Triple-A credentials; rejected for a regulated one, which runs Triple-A under its own credentials (`featureToggles.regulatedBusiness`)."},"clientId":{"type":"string","description":"The Triple-A OAuth2 client ID for authentication.","example":"oacid-exampleclientid000000000000"},"clientSecret":{"type":"string","description":"The Triple-A OAuth2 client secret for authentication.","example":"example-client-secret-do-not-use-a-real-value"},"merchantKey":{"type":"string","description":"The Triple-A merchant key, required on crypto-payout requests.","example":"mkey-examplemerchantkey0000000000"},"depositInstructions":{"uniqueItems":true,"description":"The merchant's static top-up bank details at Triple-A. Entries matching a virtual account's fiat currency become its deposit instructions, one instruction per entry.","type":"array","items":{"$ref":"#/components/schemas/TripleADepositInstructionDto"}},"cryptoTopupAddresses":{"uniqueItems":true,"description":"The merchant's fixed crypto top-up addresses at Triple-A, one entry per asset. Triple-A provides them at onboarding; they fund the balance that local currency payouts are paid from.","type":"array","items":{"$ref":"#/components/schemas/TripleACryptoTopupAddressDto"}},"fiatPayoutSenderId":{"type":"string","format":"uuid","description":"Identifier of the verified sender entity at Triple-A, used as the sender of every local currency payout. Triple-A verifies it once per merchant account.","example":"347b1a4a-7113-4810-913a-ecaf5941306d"}},"required":["clientId","clientSecret","merchantKey"]},"SetupIntegrationDto":{"type":"object","properties":{"provider":{"description":"Integration provider to configure credentials for.","allOf":[{"$ref":"#/components/schemas/IntegrationProvider"}]},"credentials":{"description":"Provider-specific credentials. Shape switches on `provider`.","oneOf":[{"title":"Alfred","allOf":[{"$ref":"#/components/schemas/AlfredSetupDto"}]},{"title":"Bitso","allOf":[{"$ref":"#/components/schemas/BitsoSetupDto"}]},{"title":"Bivo","allOf":[{"$ref":"#/components/schemas/BivoSetupDto"}]},{"title":"BlindPay","allOf":[{"$ref":"#/components/schemas/BlindPaySetupDto"}]},{"title":"Brale","allOf":[{"$ref":"#/components/schemas/BraleSetupDto"}]},{"title":"Bridge","allOf":[{"$ref":"#/components/schemas/BridgeSetupDto"}]},{"title":"Capa","allOf":[{"$ref":"#/components/schemas/CapaSetupDto"}]},{"title":"Cobre","allOf":[{"$ref":"#/components/schemas/CobreSetupDto"}]},{"title":"CrissCross","allOf":[{"$ref":"#/components/schemas/CrissCrossSetupDto"}]},{"title":"Demo","allOf":[{"$ref":"#/components/schemas/DemoSetupDto"}]},{"title":"Dfns","allOf":[{"$ref":"#/components/schemas/DfnsSetupDto"}]},{"title":"Finity","allOf":[{"$ref":"#/components/schemas/FinitySetupDto"}]},{"title":"Hercle","allOf":[{"$ref":"#/components/schemas/HercleSetupDto"}]},{"title":"HoneyCoin","allOf":[{"$ref":"#/components/schemas/HoneyCoinSetupDto"}]},{"title":"Infinia","allOf":[{"$ref":"#/components/schemas/InfiniaSetupDto"}]},{"title":"Kotanipay","allOf":[{"$ref":"#/components/schemas/KotanipaySetupDto"}]},{"title":"Koywe","allOf":[{"$ref":"#/components/schemas/KoyweSetupDto"}]},{"title":"Onmeta","allOf":[{"$ref":"#/components/schemas/OnmetaSetupDto"}]},{"title":"Pockyt","allOf":[{"$ref":"#/components/schemas/PockytSetupDto"}]},{"title":"Tazapay","allOf":[{"$ref":"#/components/schemas/TazapaySetupDto"}]},{"title":"TraceFinance","allOf":[{"$ref":"#/components/schemas/TraceFinanceSetupDto"}]},{"title":"Utila","allOf":[{"$ref":"#/components/schemas/UtilaSetupDto"}]},{"title":"Walapay","allOf":[{"$ref":"#/components/schemas/WalapaySetupDto"}]},{"title":"Yativo","allOf":[{"$ref":"#/components/schemas/YativoSetupDto"}]},{"title":"Yellowcard","allOf":[{"$ref":"#/components/schemas/YellowcardSetupDto"}]},{"title":"Mastercard","allOf":[{"$ref":"#/components/schemas/MastercardSetupDto"}]},{"title":"TripleA","allOf":[{"$ref":"#/components/schemas/TripleASetupDto"}]}]}},"required":["provider","credentials"]},"IntegrationNetworkAddressEntity":{"type":"object","properties":{"network":{"allOf":[{"$ref":"#/components/schemas/NetworkId"}]},"address":{"type":"string"}},"required":["network","address"]},"IntegrationConfigEntity":{"type":"object","properties":{"provider":{"allOf":[{"$ref":"#/components/schemas/IntegrationProvider"}]},"integrationNetworkAddresses":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationNetworkAddressEntity"}}},"required":["provider"]},"IntegrationConfigInfoEntity":{"type":"object","properties":{"provider":{"allOf":[{"$ref":"#/components/schemas/IntegrationProvider"}]},"isConfigured":{"type":"boolean"},"rateCollectionEnabled":{"type":"boolean"}},"required":["provider","isConfigured","rateCollectionEnabled"]},"CryptoTopupAddressEntity":{"type":"object","properties":{"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"address":{"type":"string"}},"required":["asset","address"]},"MerchantCredentialSummaryEntity":{"type":"object","properties":{"identityId":{"type":"string","description":"The merchant's business identity."},"cryptoTopupAddresses":{"type":"array","items":{"$ref":"#/components/schemas/CryptoTopupAddressEntity"}},"fiatPayoutSenderId":{"type":"string"}},"required":["identityId","cryptoTopupAddresses"]},"IntegrationCredentialSummaryEntity":{"type":"object","properties":{"defaultConfigured":{"type":"boolean","description":"Whether organization-level default credentials are configured for the provider."},"identityIds":{"description":"Business-identity IDs that have their own credential set. Never includes secrets.","type":"array","items":{"type":"string"}},"merchants":{"description":"One entry per merchant that brings its own credentials, with what that merchant has configured. Never includes secrets.","type":"array","items":{"$ref":"#/components/schemas/MerchantCredentialSummaryEntity"}},"cryptoTopupAddresses":{"description":"Organization-level crypto top-up addresses configured for the provider, so they can be re-checked without the provider's onboarding email.","type":"array","items":{"$ref":"#/components/schemas/CryptoTopupAddressEntity"}},"fiatPayoutSenderId":{"type":"string","description":"Verified sender entity used for local currency payouts, if configured."}},"required":["defaultConfigured","identityIds"]},"AccountAssetStandaloneDto":{"type":"object","properties":{"asset":{"description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","example":"ETH","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"address":{"type":"string","description":"The blockchain address for the account","example":"0xE79a68B87544ed42Cc5aA805bb056201e7942D3A"}},"required":["asset","address"]},"AccountStandaloneDetailsDto":{"type":"object","properties":{"assets":{"description":"An array of assets associated with blockchain addresses. Refer to the [Own Managed Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/own-managed-standalone).","type":"array","items":{"$ref":"#/components/schemas/AccountAssetStandaloneDto"}}}},"AccountAssetDfnsDto":{"type":"object","properties":{"asset":{"description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","example":"ETH","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"dfnsWalletId":{"type":"string","minLength":25,"maxLength":50,"description":"The Dfns wallet ID associated with the account","example":"wa-7jesf-pmt6i-92lbukigvpvahmki"}},"required":["asset","dfnsWalletId"]},"AccountDfnsDetailsDto":{"type":"object","properties":{"assets":{"description":"An array of assets associated with Dfns wallets. Refer to the [Dfns Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/dfns-provider).","type":"array","items":{"$ref":"#/components/schemas/AccountAssetDfnsDto"}}}},"AccountAssetUtilaDto":{"type":"object","properties":{"asset":{"description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","example":"ETH","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["asset"]},"AccountUtilaDetailsDto":{"type":"object","properties":{"walletId":{"type":"string","description":"The Utila wallet ID. If walletId is not provided, Borderless will create a new Utila Wallet and connect it to the new Account. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","example":"0987654321zyxwvu"},"assets":{"description":"An array of assets associated with the Utila account. Refer to the [Add Asset to Account Documentation](https://docs.buildborderless.com/docs/add-asset-to-account).","type":"array","items":{"$ref":"#/components/schemas/AccountAssetUtilaDto"}}}},"AccountAssetPfiDto":{"type":"object","properties":{"asset":{"description":"The token tied to a specific blockchain. See the list of [supported Assets](https://docs.buildborderless.com/docs/supported-tokens).","example":"ETH","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"providerId":{"type":"string","description":"The unique identifier of the external provider entity linked to this account asset.","example":"550e8400-e29b-41d4-a716-446655440000"}},"required":["asset"]},"AccountFiatDto":{"type":"object","properties":{"fiat":{"description":"Fiat currency identifier supported by the PFI account.","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"providerId":{"type":"string"}},"required":["fiat"]},"AccountPfiDetailsDto":{"type":"object","properties":{"assets":{"description":"An array of assets associated with the PFI account. Refer to the [Add Asset to Account Documentation](https://docs.buildborderless.com/docs/add-asset-to-account).","type":"array","items":{"$ref":"#/components/schemas/AccountAssetPfiDto"}},"fiats":{"description":"An array of fiat currencies associated with the PFI account. Refer to the [Add Asset to Account Documentation](https://docs.buildborderless.com/docs/add-asset-to-account).","type":"array","items":{"$ref":"#/components/schemas/AccountFiatDto"}}}},"AccountProvider":{"type":"string","enum":["Standalone","Dfns","Utila","Infinia","Finity","TripleA","Cobre"],"description":"The provider that manages the account."},"AccountCreateDto":{"type":"object","properties":{"name":{"type":"string","minLength":3,"maxLength":50,"description":"A unique identifier for an account, allowing to distinguish it from other accounts.","example":"Main Account"},"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","example":"cm9db4g2s2r7ro224ra6u1qvl"},"provider":{"description":"The provider that manages the account.","example":"Standalone","allOf":[{"$ref":"#/components/schemas/AccountProvider"}]},"details":{"description":"The provider-specific account details. The shape depends on the `provider`.","oneOf":[{"$ref":"#/components/schemas/AccountStandaloneDetailsDto","title":"Standalone Account"},{"$ref":"#/components/schemas/AccountDfnsDetailsDto","title":"Dfns Account"},{"$ref":"#/components/schemas/AccountUtilaDetailsDto","title":"Utila Account"},{"$ref":"#/components/schemas/AccountPfiDetailsDto","title":"PFI Account"}]}},"required":["name","identityId","provider","details"]},"AccountStandaloneCreateDto":{"type":"object","properties":{"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for an account, allowing to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets associated with blockchain addresses. Refer to the [Own Managed Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/own-managed-standalone).","deprecated":true,"type":"array","items":{"$ref":"#/components/schemas/AccountAssetStandaloneDto"}}},"required":["name","identityId"]},"AccountUtilaCreateDto":{"type":"object","properties":{"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for an account, allowing to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets associated with Utila wallet. Refer to the [Utila Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/utila-provider).","deprecated":true,"type":"array","items":{"$ref":"#/components/schemas/AccountAssetUtilaDto"}},"vaultId":{"type":"string","description":"Deprecated. Will be removed by September 1st, 2026. The Utila vault ID for the account. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","deprecated":true,"example":"vault-1234567890abcdef"},"walletId":{"type":"string","description":"Deprecated. Will be removed by September 1st, 2026. The Utila wallet ID. If walletId is not provided, Borderless will create a new Utila Wallet and connect it to the new Account. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","deprecated":true,"example":"wallet-0987654321zyxwvu"}},"required":["name","identityId","vaultId"]},"AccountDfnsCreateDto":{"type":"object","properties":{"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for an account, allowing to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets associated with Dfns wallets. Refer to the [Dfns Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/dfns-provider).","deprecated":true,"type":"array","items":{"$ref":"#/components/schemas/AccountAssetDfnsDto"}}},"required":["name","identityId"]},"AccountWeb3ProviderCreateDto":{"type":"object","properties":{"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for an account, allowing to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets with additional data depending on the selected web3Provider. Refer to the [Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account).","deprecated":true,"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/AccountAssetStandaloneDto","title":"Own Managed Address"},{"$ref":"#/components/schemas/AccountAssetDfnsDto","title":"Dfns Address"},{"$ref":"#/components/schemas/AccountAssetUtilaDto","title":"Utila Address"}]}},"web3Provider":{"enum":["Utila","Standalone","Dfns"],"type":"string","description":"Deprecated. Will be removed by September 1st, 2026. The Web3 infrastructure provider for the account. Learn more at [Web3 MultiProvider](https://docs.buildborderless.com/docs/multiprovider-beta).","deprecated":true,"example":"Standalone"}},"required":["name","identityId","web3Provider"]},"SubaccountDfnsCreateDto":{"type":"object","properties":{"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for your account, allowing you to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets associated with Dfns wallets. Refer to the [Dfns Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/dfns-provider).","deprecated":true,"type":"array","items":{"$ref":"#/components/schemas/AccountAssetDfnsDto"}}},"required":["identityId","name"]},"SubaccountStandaloneCreateDto":{"type":"object","properties":{"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for your account, allowing you to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets associated with blockchain addresses. Refer to the [Own Managed Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/own-managed-standalone).","deprecated":true,"type":"array","items":{"$ref":"#/components/schemas/AccountAssetStandaloneDto"}}},"required":["identityId","name"]},"SubaccountUtilaCreateDto":{"type":"object","properties":{"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for your account, allowing you to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"walletId":{"type":"string","description":"Deprecated. Will be removed by September 1st, 2026. The Utila wallet ID. If walletId is not provided, Borderless will create a new Utila Wallet and connect it to the new Account. Learn more at [Utila Configuration Guide](https://docs.buildborderless.com/docs/utila-provider).","deprecated":true,"example":"wallet-0987654321zyxwvu"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets associated with Utila wallet. Refer to the [Utila Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account#/utila-provider).","deprecated":true,"type":"array","items":{"$ref":"#/components/schemas/AccountAssetUtilaDto"}}},"required":["identityId","name"]},"SubaccountWeb3ProviderCreateDto":{"type":"object","properties":{"identityId":{"type":"string","minLength":25,"maxLength":25,"description":"Deprecated. Will be removed by September 1st, 2026. The id of the identity associated with the account. Learn more at [Identity Guide](https://docs.buildborderless.com/docs/identities).","deprecated":true,"example":"cm9db4g2s2r7ro224ra6u1qvl"},"name":{"type":"string","minLength":3,"maxLength":50,"description":"Deprecated. Will be removed by September 1st, 2026. A unique identifier for your account, allowing you to distinguish it from other accounts.","deprecated":true,"example":"Main Account"},"assets":{"description":"Deprecated. Will be removed by September 1st, 2026. An array of assets with additional data depending on the selected web3Provider. Refer to the [Address Documentation](https://docs.buildborderless.com/docs/add-asset-to-account).","deprecated":true,"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/AccountAssetStandaloneDto","title":"Own Managed Address"},{"$ref":"#/components/schemas/AccountAssetDfnsDto","title":"Dfns Address"},{"$ref":"#/components/schemas/AccountAssetUtilaDto","title":"Utila Address"}]}}},"required":["identityId","name"]},"AccountType":{"type":"string","enum":["wallet","institution"],"description":"Deprecated. Will be removed by September 1st, 2026. Use `provider` instead."},"Web3InfraProvider":{"type":"string","enum":["Utila","Standalone","MultiProvider","Dfns","NotApplicable"],"description":"Deprecated. Will be removed by September 1st, 2026. Use `provider` instead."},"AccountAssetEntity":{"type":"object","properties":{"id":{"type":"string"},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"address":{"type":"string"}},"required":["id","asset","address"]},"AccountFiatEntity":{"type":"object","properties":{"id":{"type":"string"},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]}},"required":["id","fiat"]},"AccountEntity":{"type":"object","properties":{"id":{"type":"string"},"provider":{"description":"The provider that manages the account.","allOf":[{"$ref":"#/components/schemas/AccountProvider"}]},"type":{"nullable":false,"deprecated":true,"description":"Deprecated. Will be removed by September 1st, 2026. Use `provider` instead.","allOf":[{"$ref":"#/components/schemas/AccountType"}]},"pfi":{"nullable":true,"deprecated":true,"description":"Deprecated. Will be removed by September 1st, 2026. Use `provider` instead.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"web3Provider":{"nullable":true,"deprecated":true,"description":"Deprecated. Will be removed by September 1st, 2026. Use `provider` instead.","allOf":[{"$ref":"#/components/schemas/Web3InfraProvider"}]},"name":{"type":"string"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/AccountAssetEntity"}},"fiats":{"type":"array","items":{"$ref":"#/components/schemas/AccountFiatEntity"}},"identityId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"}},"required":["id","provider","type","pfi","web3Provider","name","assets","fiats","identityId","createdAt"]},"PaginatedAccountEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AccountEntity"}}},"required":["hasMore","data"]},"PFIPaymentInstructionStatus":{"type":"string","enum":["Active","NotActive","Rejected"]},"VirtualAccountEntity":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"counterPartyIdentityId":{"type":"string","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/PFIPaymentInstructionStatus"}]},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"depositInstructions":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/DepositInstructionEntity"}},"createdAt":{"format":"date-time","type":"string"},"failureReason":{"type":"object","additionalProperties":true,"nullable":true}},"required":["id","accountId","counterPartyIdentityId","status","pfiName","asset","fiat","country","depositInstructions","createdAt","failureReason"]},"PaginatedVirtualAccountEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/VirtualAccountEntity"}}},"required":["hasMore","data"]},"VirtualAccountDto":{"type":"object","properties":{"fiat":{"description":"The fiat currency for the virtual account.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"description":"The country code in ISO-3166-2 format for the region where the virtual account will be created. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"description":"The token tied to a specific blockchain for the virtual account.","example":"ETH","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity to associate with the virtual account, if different from the identity linked to the account. If not provided, the virtual account will be created for the identity tied to the account. Learn more in the [Virtual Account Guide](https://docs.buildborderless.com/docs/virtual-accounts).","example":"cm2c4x3cc000019stwv7um4zl"},"developerFeePercent":{"type":"number","description":"The percentage of the developer fee for the virtual account, if applicable","example":1.5},"pfiName":{"description":"Specific PFI to use for this virtual account. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"businessIdentityId":{"type":"string","deprecated":true,"description":"Deprecated: ignored. The payment-provider credentials are selected by `counterPartyIdentityId`.","example":"cm2c4x3cc000019stwv7um4zl"}},"required":["fiat","country","asset"]},"CardDetailsCreateDto":{"type":"object","properties":{"cardToken":{"type":"string"}},"required":["cardToken"]},"IdentifierDetailsCreateDto":{"type":"object","properties":{"identifierType":{"description":"The type of identifier used for the payment instruction.","example":"Email","allOf":[{"$ref":"#/components/schemas/PaymentInstructionIdentifierType"}]},"identifierValue":{"type":"string","description":"The value of the identifier, such as a PIX key or similar","example":"12345678901"},"address":{"description":"The address is deprecated in Identifier Payment Instruction and will be removed in future releases.","deprecated":true,"allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}},"required":["identifierType","identifierValue"]},"BrebKeyDetailsCreateDto":{"type":"object","properties":{"brebKey":{"type":"string","minLength":1,"maxLength":255,"description":"The Bre-B key value registered for the recipient.","example":"@JAR1234"}},"required":["brebKey"]},"SwiftDetailsCreateDto":{"type":"object","properties":{"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"Beneficiary name."},"bankAccountNumber":{"type":"string","minLength":1,"maxLength":34,"description":"Beneficiary account number."},"swiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"Beneficiary bank swift or bic number."},"iban":{"type":"string","minLength":1,"maxLength":34,"description":"The bank account number","example":"DE89370400440532013000"},"bankSlug":{"type":"string","minLength":1,"maxLength":255,"description":"The bank, chosen from the corridor's supported institutions. Required by corridors that restrict the destination to a list, such as Indonesia and the Philippines, where a free-text bank name is rejected.","example":"NH4EM3uyZ4DXriHihwbGLzeRAGj9qDXbClBtYBSX2x"},"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"Beneficiary bank name, e.g. J.P. Morgan"},"beneficiaryBankCnapsCode":{"type":"string","minLength":12,"description":"CNAPS code for payment to China."},"beneficiaryPhone":{"type":"string","minLength":7,"maxLength":20,"description":"Beneficiary phone number.","example":"+1234567890"},"beneficiaryAddressInChinese":{"type":"string","minLength":1,"maxLength":255,"description":"Beneficiary address in Chinese."},"bankAccountType":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"intermediaryBankName":{"type":"string","minLength":1,"maxLength":255,"description":"Intermediary bank name, e.g. JPMorgan Chase Bank, N.A."},"intermediaryBankSwiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"Intermediary bank swift or bic number, e.g. CHASUS33"},"intermediaryBankRoutingNumber":{"type":"string","minLength":9,"maxLength":9,"description":"Intermediary bank ABA routing number. Required for SWIFT payments to individuals, e.g. 021000021"},"intermediaryBankAddress":{"type":"string","minLength":1,"maxLength":255,"description":"Intermediary bank address, e.g. 270 Park Avenue, New York, NY 10017, USA"},"recipientRelationship":{"description":"The relationship between the sender and the recipient. Required by some payment providers.","example":"first party","allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]},"address":{"description":"Beneficiary bank address. Optional, but required for SWIFT payouts processed via BlindPay. The beneficiary's own address is taken from the identity.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]},"bankAddress":{"type":"string","minLength":1,"maxLength":255,"description":"Deprecated. Use the structured `address` field for the beneficiary bank address. This field will be removed in a future release.","deprecated":true}},"required":["accountHolderName"]},"BankDetailsCreateDto":{"type":"object","properties":{"bankSlug":{"type":"string","description":"The bank code for the account, such as a routing number or sort code","example":"NH4EM3uyZ4DXriHihwbGLzeRAGj9qDXbClBtYBSX2x"},"bankAccountNumber":{"type":"string","minLength":1,"maxLength":27,"description":"The bank account number","example":"1234567890123456"},"localRoutingCode":{"type":"string","minLength":1,"maxLength":24,"description":"Required for the following payment methods: BECS,FPS,IMPS_FIRC,EFT,TED. It may contain country-specific bank or branch identifiers such as branch code, transit number, BSB, IFSC, clearing code, or similar local routing codes.","example":"1234567"},"branchCode":{"type":"string","minLength":1,"maxLength":24,"description":"A secondary local routing identifier used when a rail requires two codes, such as the branch code for JPY bank transfers or the transit number for CAD EFT.","example":"0001"},"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the bank.","example":"Example Bank"},"swiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"Beneficiary bank swift or bic number. Required for some regions"},"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the account holder. Required for Colombia. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/latam-payment-instructions).","example":"John Doe"},"bankAccountType":{"description":"The type of bank account.","example":"Checking","allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"bankAccountNumberType":{"description":"The type of bank account number. Required for Argentina. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/latam-payment-instructions).","example":"CBU","allOf":[{"$ref":"#/components/schemas/BankAccountNumberType"}]},"address":{"description":"Beneficiary bank address. Optional; required only for certain countries/corridors. The beneficiary's own address is taken from the identity.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]},"recipientRelationship":{"description":"The relationship between the sender and the recipient. Required by some payment providers.","example":"first party","allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]},"bankCode":{"type":"string","minLength":3,"maxLength":11,"description":"DEPRECATED. The bank code for the account, such as a routing number or sort code.","example":"123456789","deprecated":true},"phone":{"type":"string","minLength":7,"maxLength":20,"description":"DEPRECATED. The phone number associated with the bank account.","example":"+1234567890","deprecated":true},"taxId":{"type":"string","minLength":3,"maxLength":20,"description":"DEPRECATED. The tax identification number associated with the account.","example":"123456789","deprecated":true}}},"IbanBankDetailsIbanCreateDto":{"type":"object","properties":{"bankSlug":{"type":"string","description":"The bank code for the account, such as a routing number or sort code","example":"NH4EM3uyZ4DXriHihwbGLzeRAGj9qDXbClBtYBSX2x"},"localRoutingCode":{"type":"string","minLength":1,"maxLength":24,"description":"Country-specific bank or branch identifier. Required by corridors whose IBAN alone does not identify the bank, such as Denmark and Norway.","example":"0040"},"swiftOrBicNumber":{"type":"string","minLength":8,"maxLength":11,"description":"Beneficiary bank swift or bic number. Required by corridors that pair an IBAN with a SWIFT code, such as the UAE and Poland.","example":"CHASUS33"},"iban":{"type":"string","minLength":1,"maxLength":34,"description":"The bank account number","example":"DE89370400440532013000"},"bankAccountNumber":{"type":"string","minLength":1,"maxLength":27,"description":"The domestic account number behind the IBAN. Required by corridors that ask for both, such as Norway.","example":"86011117947"},"bankName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the bank. Required by PFIs that identify the institution by name rather than by code — Tazapay refuses an IBAN payout without it.","example":"Example Bank"},"address":{"description":"Beneficiary bank address. Optional; required only for certain countries/corridors. The beneficiary's own address is taken from the identity.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}}},"MobileMoneyDetailsCreateDto":{"type":"object","properties":{"phone":{"type":"string","minLength":7,"maxLength":20,"description":"The phone number associated with the mobile money account","example":"+1234567890"},"networkSlug":{"type":"string","description":"The mobile money network operator slug.","example":"NH4EM3uyZ4DXriHihwbGLzeRAGj9qDXbClBtYBSX2x4"},"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the account holder for the mobile money account","example":"John Doe"},"networkProvider":{"description":"The mobile money network provider. This field is deprecated, please use networkSlug instead as the list of supported operators can dynamically change.","example":"MPESA","deprecated":true,"allOf":[{"$ref":"#/components/schemas/MobileMoneyProvider"}]},"recipientRelationship":{"description":"The relationship between the sender and the recipient. Required by some payment providers.","example":"first party","allOf":[{"$ref":"#/components/schemas/RecipientRelationship"}]}},"required":["phone","accountHolderName"]},"UKFPSDetailsCreateDto":{"type":"object","properties":{"iban":{"type":"string","description":"UK IBAN. Required: Walapay UK FPS payouts cannot be created without it, and Bridge UK FPS payouts derive sort code + account number from it.","example":"GB29NWBK60161331926819","minLength":1,"pattern":"^GB\\d{2}[A-Z]{4}\\d{14}$"},"localRoutingCode":{"type":"string","description":"UK sort code (6 digits, hyphens optional). Optional — auto-derived from the IBAN. If provided, must match the IBAN.","example":"20-40-36","pattern":"^\\d{2}-?\\d{2}-?\\d{2}$"},"bankAccountNumber":{"type":"string","description":"UK bank account number (8 digits). Optional — auto-derived from the IBAN. If provided, must match the IBAN.","example":"12345678","pattern":"^\\d{8}$"},"bankName":{"type":"string","description":"Bank name, e.g. Barclays.","example":"Barclays"},"bankSlug":{"type":"string","description":"Anonymized bank slug returned by the institutions list endpoint."},"bankAccountType":{"description":"Account type (Checking or Savings).","example":"Checking","allOf":[{"$ref":"#/components/schemas/BankAccountType"}]},"address":{"description":"Beneficiary bank address. Optional; required only for certain countries/corridors. The beneficiary's own address is taken from the identity.","allOf":[{"$ref":"#/components/schemas/PostalAddressCreateDto"}]}},"required":["iban"]},"OnchainDetailsCreateDto":{"type":"object","properties":{"onchainNetwork":{"description":"The blockchain the destination address lives on. Any token supported on this network can be paid out to the address; the token itself is chosen per withdrawal via `asset`.","example":"POLYGON","allOf":[{"$ref":"#/components/schemas/NetworkId"}]},"onchainAddress":{"type":"string","minLength":1,"maxLength":100,"description":"The blockchain address that receives the funds.","example":"0x1234567890abcdef1234567890abcdef12345678"}},"required":["onchainNetwork","onchainAddress"]},"PaymentInstructionCreateDto":{"type":"object","properties":{"country":{"description":"The country code in ISO-3166-2 format where the payment instructions are applied. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html). Not applicable when `paymentMethod` is `Onchain`.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"currency":{"description":"The fiat currency for the payment instructions. Learn more about supported currencies at [Currency Guide](https://example.com/docs/currencies). Not applicable when `paymentMethod` is `Onchain` — the token is set in `details.asset` instead.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"name":{"type":"string","minLength":1,"maxLength":255,"description":"A unique identifier for a payment instruction, allowing to distinguish it from other accounts.","example":"Primary Bank Account"},"paymentMethod":{"description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","example":"ACH","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"details":{"description":"The details of the payment instructions, which vary depending on the `paymentMethod`. Refer to [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions) for specifics.","oneOf":[{"$ref":"#/components/schemas/USDetailsCreateDto","title":"US Details (ACH and Wire)"},{"$ref":"#/components/schemas/BankDetailsCreateDto","title":"Bank Details"},{"$ref":"#/components/schemas/IbanBankDetailsIbanCreateDto","title":"Iban Bank Details"},{"$ref":"#/components/schemas/IdentifierDetailsCreateDto","title":"Identifier (PIX)"},{"$ref":"#/components/schemas/BrebKeyDetailsCreateDto","title":"Bre-B Key (Colombia)"},{"$ref":"#/components/schemas/SepaDetailsCreateDto","title":"SEPA (Europe)"},{"$ref":"#/components/schemas/MobileMoneyDetailsCreateDto","title":"Mobile Money (Africa)"},{"$ref":"#/components/schemas/UKFPSDetailsCreateDto","title":"UK FPS (Sort Code + IBAN)"},{"$ref":"#/components/schemas/OnchainDetailsCreateDto","title":"Onchain (blockchain address)"}],"minLength":1}},"required":["name","paymentMethod","details"]},"PaginatedPaymentInstructionEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/PaymentInstructionEntity"}}},"required":["hasMore","data"]},"ImportSyncStatusEntity":{"type":"object","properties":{"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"lastSyncedAt":{"format":"date-time","type":"string","nullable":true},"importedThrough":{"format":"date-time","type":"string","nullable":true}},"required":["pfiName","lastSyncedAt","importedThrough"]},"SyncTransactionsDto":{"type":"object","properties":{"pfiName":{"enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"],"type":"string"},"periodStart":{"type":"string","description":"ISO date; defaults to one year before periodEnd.","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"},"periodEnd":{"type":"string","description":"ISO date; defaults to now.","pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?"}},"required":["pfiName"]},"CsvTransactionImportDto":{"type":"object","properties":{"pfiName":{"enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"],"type":"string"},"csv":{"type":"string","description":"Raw CSV file contents.","minLength":1},"dryRun":{"type":"boolean","description":"Validate only, do not persist."}},"required":["pfiName","csv"]},"ReconciliationRunType":{"type":"string","enum":["Daily","Weekly","Monthly","Quarterly","Manual","Import"]},"ReconciliationCadence":{"type":"string","enum":["Daily","Weekly","Monthly","Manual","Import"]},"OrphanedPfiTransactionResolution":{"type":"string","enum":["Open","LinkedToTransaction","Resolved","Ignored"]},"OrphanedPfiTransactionEntity":{"type":"object","properties":{"id":{"type":"string"},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"source":{"allOf":[{"$ref":"#/components/schemas/OrphanedPfiTransactionSource"}]},"externalId":{"type":"string"},"externalData":{"type":"object","additionalProperties":true,"nullable":true},"status":{"type":"string","nullable":true},"normalizedStatus":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/TransactionStatus"}]},"exchangeRate":{"type":"string","nullable":true},"country":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"sourceAmount":{"type":"string","nullable":true},"destinationAmount":{"type":"string","nullable":true},"sourceCurrency":{"type":"string","nullable":true},"destinationCurrency":{"type":"string","nullable":true},"type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/TransactionType"}]},"transactionDate":{"format":"date-time","type":"string"},"organizationId":{"type":"string","nullable":true},"periodStart":{"format":"date-time","type":"string"},"periodEnd":{"format":"date-time","type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","pfiName","source","externalId","externalData","status","normalizedStatus","exchangeRate","country","sourceAmount","destinationAmount","sourceCurrency","destinationCurrency","type","transactionDate","organizationId","periodStart","periodEnd","createdAt","updatedAt"]},"DiscrepancyType":{"type":"string","enum":["None","AmountMismatch","StatusMismatch","AmountAndStatusMismatch","NotFoundInPfi","NotFoundInBorderless"]},"ReconciliationItemEntity":{"type":"object","properties":{"id":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ReconciliationStatus"}]},"discrepancyType":{"allOf":[{"$ref":"#/components/schemas/DiscrepancyType"}]},"details":{"type":"object","additionalProperties":true,"nullable":true},"checkedAt":{"format":"date-time","type":"string"},"transactionId":{"type":"string"},"externalTransactionId":{"type":"string","nullable":true},"organizationId":{"type":"string"},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"runId":{"type":"string","nullable":true},"type":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ReconciliationRunType"}]},"cadence":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ReconciliationCadence"}]},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"wasRegressed":{"type":"boolean","description":"True when this item is a regression: status != Matched AND the most recent prior item for the same transactionId was Matched."}},"required":["id","status","discrepancyType","details","checkedAt","transactionId","externalTransactionId","organizationId","pfiName","runId","type","cadence","createdAt","updatedAt","wasRegressed"]},"ReconciliationTransactionResultDto":{"type":"object","properties":{"status":{"nullable":true,"enum":["Matched","Mismatched","Missing","PfiError"],"type":"string","description":"Latest reconciliation status from Transaction.reconciliationStatus. Null when the transaction has not been reconciled yet."},"items":{"description":"Full reconciliation history (no dedup). Empty when the transaction has not been reconciled yet.","type":"array","items":{"$ref":"#/components/schemas/ReconciliationItemEntity"}}},"required":["status","items"]},"ReconciliationRunStatus":{"type":"string","enum":["Pending","Running","Completed","Failed"]},"ReconciliationRunEntity":{"type":"object","properties":{"id":{"type":"string"},"type":{"description":"Which recon check this run is, named by its covered period","allOf":[{"$ref":"#/components/schemas/ReconciliationRunType"}]},"cadence":{"description":"How often this run's schedule fires","allOf":[{"$ref":"#/components/schemas/ReconciliationCadence"}]},"status":{"allOf":[{"$ref":"#/components/schemas/ReconciliationRunStatus"}]},"organizationId":{"type":"string","nullable":true},"pfiName":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"periodStart":{"format":"date-time","type":"string"},"periodEnd":{"format":"date-time","type":"string"},"startedAt":{"format":"date-time","type":"string"},"finishedAt":{"format":"date-time","type":"string","nullable":true},"itemsProcessed":{"type":"number"},"itemsMatched":{"type":"number"},"itemsMismatched":{"type":"number"},"itemsMissing":{"type":"number"},"itemsPfiError":{"type":"number"},"orphansFound":{"type":"number"},"attempt":{"type":"number"},"lastError":{"type":"string","nullable":true}},"required":["id","type","cadence","status","organizationId","pfiName","periodStart","periodEnd","startedAt","finishedAt","itemsProcessed","itemsMatched","itemsMismatched","itemsMissing","itemsPfiError","orphansFound","attempt","lastError"]},"ReconciliationSummaryEntity":{"type":"object","properties":{"reconciled":{"type":"number","description":"Count of transactions whose current reconciliationStatus is Matched; from/to filter the transaction's statusUpdatedAt"},"matchRate":{"type":"number","description":"Percentage of Matched transactions vs all reconciled transactions including PfiError (0-100)"},"openExceptions":{"type":"number","description":"Count of transactions whose current reconciliationStatus is a real discrepancy (Mismatched/Missing), excluding transient PfiError"},"openErrors":{"type":"number","description":"Count of transactions whose current reconciliationStatus is PfiError (transient PFI failures)"},"orphaned":{"type":"number","description":"Count of orphans with resolution=Open; from/to filter the orphan's createdAt"},"regressions":{"type":"number","description":"Count of transactions that flipped from Matched to non-Matched; from/to filter the latest check time"}},"required":["reconciled","matchRate","openExceptions","openErrors","orphaned","regressions"]},"AccountBalanceEntity":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/CurrencyType"}]},"asset":{"nullable":true,"default":null,"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fiat":{"nullable":true,"default":null,"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"total":{"type":"string"}},"required":["type","asset","fiat","total"]},"OperationType":{"type":"string","enum":["Deposit","Withdrawal","VirtualAccount","Exchange","LiquidationAddress"]},"ComplianceSlug":{"type":"string","enum":["compliance-fee5483c","compliance-3d0947c0","compliance-9f5059c4","compliance-4a8e9f3b","compliance-7b9d2c6a","compliance-de8e1920","compliance-t7f4b831","compliance-h9x7p245","compliance-432704","compliance-15bc9ec4","compliance-a96ad46a","compliance-4c347d0a","compliance-ff6f0b66","compliance-bbd0abdf","compliance-d4a0bea2","compliance-ce1ef04d","compliance-191335b3","compliance-f47aa1e0","compliance-b92f0ad3","compliance-f44d3582","compliance-5402f18a","compliance-dbd2a55c","compliance-2c7e1a9d","compliance-cc0a4f2b","compliance-3a7e9d1f","compliance-90c1f7d5","compliance-b8685d03","compliance-6b41c8e2","compliance-7e2a9c15","compliance-5d8f31c7"],"description":"Deprecated. Use `type` instead. This field is kept for backward compatibility and will be removed in future versions."},"Coverage":{"type":"object","properties":{"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"collectRates":{"type":"boolean","default":true,"description":"Defaults to true when omitted."},"type":{"allOf":[{"$ref":"#/components/schemas/OperationType"}]}},"required":["method","fiat","country","asset","type"]},"RequiredDocumentsMode":{"type":"string","enum":["oneOf","allOf"]},"RequiredDocuments":{"type":"object","properties":{"mode":{"allOf":[{"$ref":"#/components/schemas/RequiredDocumentsMode"}]},"documents":{"type":"array","items":{"$ref":"#/components/schemas/IdentityDocumentType"}}},"required":["mode","documents"]},"ComplianceCheckCoverage":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ComplianceType"}]},"slug":{"deprecated":true,"description":"Deprecated. Use `type` instead. This field is kept for backward compatibility and will be removed in future versions.","allOf":[{"$ref":"#/components/schemas/ComplianceSlug"}]},"incorporatedTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceType"}},"incorporates":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceSlug"},"deprecated":true,"description":"Deprecated. Use `incorporatedTypes` instead. This field is kept for backward compatibility and will be removed in future versions."},"coverage":{"deprecated":true,"description":"Deprecated. Use `network` for the hierarchical shape.","type":"array","items":{"$ref":"#/components/schemas/Coverage"}},"network":{"description":"Hierarchical view of options accessible under this compliance type — same shape as GET /v1/organizations/network. Prefer this over `coverage`.","type":"array","items":{"$ref":"#/components/schemas/NetworkRampOptionEntity"}},"schema":{"type":"object","additionalProperties":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/RequiredDocuments"}}},"required":["type","slug","incorporatedTypes","incorporates","coverage","network","schema","documents"]},"ComplianceCheckFilterDto":{"type":"object","properties":{"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"paymentMethod":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"type":{"allOf":[{"$ref":"#/components/schemas/OperationType"}]},"businessIdentityId":{"type":"string","minLength":25,"maxLength":25,"description":"Business identity that scopes the compliance checks (providers with per-business-identity credentials). Same businessIdentityId passed on deposits."}}},"ComplianceStatus":{"type":"string","enum":["NotStarted","Started","Incomplete","AwaitingUbo","UnderReview","Rejected","PreApproved","Approved","Cancelled"],"description":"Deprecated. Use `status` instead. This field is kept for backward compatibility and will be removed in future versions."},"ComplianceRejectionReasonCode":{"type":"string","enum":["DocumentNotFound","DocumentUnrecognized","DocumentUnreadable","DocumentExpired","DocumentDamaged","DocumentCropped","DocumentIncomplete","DocumentBlurry","DocumentPoorQuality","DocumentGlareDetected","DocumentTooSmall","DocumentTooFar","DocumentFaceNotFound","DocumentFrontMissing","DocumentBackMissing","DocumentFrontBackMismatch","DocumentSameSideSubmitted","DocumentWrongType","DocumentNotAccepted","DocumentInvalidDates","FraudDocumentTampered","FraudDocumentAltered","FraudDocumentFake","FraudDocumentForged","FraudDocumentCompromised","FraudDocumentPhotoOfPhoto","FraudDocumentScreenDetected","FraudDocumentElectronicReplica","FraudDocumentPrintout","FraudDocumentPaperCopy","FraudDocumentBlackWhite","FraudDocumentFoundOnline","FraudDocumentArtificialImage","FraudDocumentArtificialText","FraudDocumentTextForgery","FraudDocumentFeatureVerificationFailed","FraudDocumentCheckDigitFailed","FraudDocumentFabrication","DocumentDataMissingField","DocumentDataMissingExpiry","DocumentDataMissingIssueDate","DocumentDataMissingDateOfBirth","DocumentDataMissingNumber","DocumentDataMissingPersonalNumber","DocumentDataMissingName","DocumentDataMissingAddress","DocumentDataMissingDetails","DocumentDataInvalidDetails","DocumentDataMachineReadableZoneNotDetected","DocumentDataMachineReadableZoneMismatch","DocumentDataMachineReadableZoneInconsistent","DocumentDataBarcodeMissing","DocumentDataBarcodeInconsistent","IdentityVerificationFailed","IdentityCannotVerify","IdentityNameMismatch","IdentityDateOfBirthMismatch","IdentityDataMismatch","IdentityTypeMismatch","IdentityCountryMismatch","IdentityNumberInvalid","IdentityNumberNotVerified","IdentityNumberFormatInconsistent","IdentityFormatInconsistent","IdentityExtractionInconsistent","IdentityDetailsInconsistent","IdentityPreviousSubmissionInconsistent","IdentityPreviouslySeen","IdentityPreviouslyAttempted","IdentityDuplicateAccount","IdentityDuplicateSubmission","IdentityNotRealId","IdentityUnderAge","IdentityMinor","IdentityCannotValidateAge","IdentityAgeMismatch","IdentityDeceased","IdentitySuspectedTheft","FaceNotFound","FaceMultipleDetected","FaceMismatch","FaceLowSimilarity","FaceIdentical","FacePhotoMismatch","FacePublicFigure","FaceNotLive","FaceLivenessFailed","FaceLivenessReviewRequired","FaceLivenessTooFar","FacePhotoOfPhoto","FaceCovered","FaceEdited","FaceBlur","FaceBlurry","FaceTooClose","FaceTooFar","FaceCropped","FaceTooSmall","FaceAngleTooLarge","FaceDeepfake","FaceVideoFraud","FacePreviouslyOnboarded","AddressMissing","AddressIncomplete","AddressMismatch","AddressNotVerified","AddressPoBox","AddressProofMissing","AddressProofInvalid","AddressProofExpired","AddressProofNotRecent","AddressDocumentUnrecognized","AddressDocumentMissingAddress","AddressDocumentMissingName","AddressDocumentMissingIssueDate","AddressDocumentNameMismatch","AddressDocumentAddressMismatch","GeographicRestrictedRegion","GeographicDisallowedCountry","GeographicUnsupportedCountry","GeographicProhibitedCountry","GeographicProhibitedState","GeographicUnsupportedState","GeographicUnsupportedRegion","GeographicLocationMismatch","GeographicHighRiskJurisdiction","ComplianceAmlMatch","ComplianceAmlFailed","CompliancePepMatch","CompliancePotentialPep","ComplianceSanctionsMatch","ComplianceWatchlistMatch","ComplianceAdverseMedia","ComplianceBackgroundCheckAlert","ComplianceOccupationRestricted","ComplianceIndustryRestricted","ComplianceSourceOfFunds","ComplianceElderAbuse","InformationMissingField","InformationIncomplete","InformationInconsistent","InformationInvalidTaxId","InformationContactInvalid","InformationEmailInvalid","InformationEmailNotFound","InformationEmailMismatch","InformationPhoneInvalid","InformationPhoneNotFound","InformationPhoneMismatch","InformationVerificationFailed","BusinessMissingUltimateBeneficialOwner","BusinessIncompleteUltimateBeneficialOwner","BusinessAwaitingUltimateBeneficialOwner","BusinessRegistrationFailed","BusinessNotRegistered","BusinessStructureUnclear","BusinessLicenseExpired","BusinessLicenseInvalid","BusinessFormationDocumentMissing","BusinessOwnershipDocumentMissing","BusinessDissolved","BusinessHighRiskIndustry","FraudMultipleAttempts","FraudVelocityCheck","FraudSuspiciousBehaviour","FraudSuspiciousPattern","FraudDeviceReputation","FraudIpReputation","FraudIpSuspicious","FraudTorDetected","FraudVpnDetected","FraudBotDetected","FraudSyntheticIdentity","FraudBrowserPreviouslyAttempted","FraudIpPreviouslyAttempted","DatabaseLookupFailed","DatabaseLookupSourceDown","DatabaseLookupFaceNotFound","DatabaseLookupIssue","DatabaseNoCheckPerformed","DatabaseCannotVerify","DatabaseCannotExtractMetadata","TechnicalVerificationError","TechnicalSystemError","TechnicalProcessingError","TechnicalTimeout","TechnicalApiError","TechnicalCannotProcess","TechnicalPrivacyBlocked","TechnicalDataRequirementsNotMet","OtherManualReviewFailed","OtherManualReviewRequired","OtherTermsNotAccepted","OtherUnspecified","OtherCustomError"],"description":"Code representing the specific reason for compliance check rejection."},"ComplianceCheckRejectionReasonEntity":{"type":"object","properties":{"code":{"description":"Code representing the specific reason for compliance check rejection.","allOf":[{"$ref":"#/components/schemas/ComplianceRejectionReasonCode"}]},"description":{"type":"string","nullable":false,"description":"Detailed message describing the rejection reason."},"pfiMessage":{"type":"string","nullable":false,"description":"Details from PFI regarding the rejection reason."}},"required":["code","description","pfiMessage"]},"IdentityComplianceCheck":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ComplianceType"}]},"slug":{"deprecated":true,"description":"Deprecated. Use `type` instead. This field is kept for backward compatibility and will be removed in future versions.","allOf":[{"$ref":"#/components/schemas/ComplianceSlug"}]},"incorporatedTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceType"}},"incorporates":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceSlug"},"deprecated":true,"description":"Deprecated. Use `incorporatedTypes` instead. This field is kept for backward compatibility and will be removed in future versions."},"coverage":{"deprecated":true,"description":"Deprecated. Use `network` for the hierarchical shape.","type":"array","items":{"$ref":"#/components/schemas/Coverage"}},"network":{"description":"Hierarchical view of options accessible under this compliance type — same shape as GET /v1/organizations/network. Prefer this over `coverage`.","type":"array","items":{"$ref":"#/components/schemas/NetworkRampOptionEntity"}},"schema":{"type":"object","additionalProperties":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/RequiredDocuments"}},"id":{"type":"string","deprecated":true,"description":"Deprecated. Use `type` instead. This field is kept for backward compatibility and will be removed in future versions."},"kycStatus":{"deprecated":true,"description":"Deprecated. Use `status` instead. This field is kept for backward compatibility and will be removed in future versions.","allOf":[{"$ref":"#/components/schemas/ComplianceStatus"}]},"status":{"allOf":[{"$ref":"#/components/schemas/ComplianceStatus"}]},"businessIdentityId":{"type":"string","nullable":true,"description":"Business identity whose provider credentials performed the screening. Null for organization-scoped checks."},"incompleteReasons":{"nullable":true,"description":"Reasons of Incomplete status from PFI. List of missed identity data;","type":"array","items":{"type":"string"}},"metadata":{"type":"object","additionalProperties":true},"canResync":{"type":"boolean","description":"Whether the approved identity can be re-synced to the provider after an edit. True only for providers that support pushing identity updates and when the check is approved."},"canDelete":{"type":"boolean","description":"Whether this compliance's customer can be deleted at the provider. True only for providers that support customer deletion and when a provider customer exists."},"rejectionReasons":{"nullable":true,"description":"Reasons of Rejected status from PFI.","type":"array","items":{"$ref":"#/components/schemas/ComplianceCheckRejectionReasonEntity"}}},"required":["type","slug","incorporatedTypes","incorporates","coverage","network","schema","documents","id","kycStatus","status","incompleteReasons","metadata","canResync","canDelete","rejectionReasons"]},"AcceptTermsOfService":{"type":"object","properties":{"link":{"type":"string"},"redirectUrl":{"type":"string","nullable":true}},"required":["link","redirectUrl"]},"YellowcardCredentials":{"type":"object","properties":{"provided":{"type":"boolean"},"valid":{"type":"boolean"}},"required":["provided","valid"]},"BitsoCredentialsStatus":{"type":"object","properties":{"current":{"nullable":true,"enum":["active","inactive"],"type":"string"},"required":{"type":"string"}},"required":["current","required"]},"BitsoCredentialsVerificationLevel":{"type":"object","properties":{"current":{"type":"number","nullable":true},"minimum":{"type":"number"}},"required":["current","minimum"]},"BitsoCredentials":{"type":"object","properties":{"provided":{"type":"boolean"},"valid":{"type":"boolean"},"status":{"$ref":"#/components/schemas/BitsoCredentialsStatus"},"verificationLevel":{"$ref":"#/components/schemas/BitsoCredentialsVerificationLevel"}},"required":["provided","valid","status","verificationLevel"]},"HercleCredentials":{"type":"object","properties":{"provided":{"type":"boolean"},"valid":{"type":"boolean"}},"required":["provided","valid"]},"GeneralCredentials":{"type":"object","properties":{"provided":{"type":"boolean"},"valid":{"type":"boolean"}},"required":["provided","valid"]},"RequiredExtras":{"type":"object","properties":{"acceptTermsOfService":{"$ref":"#/components/schemas/AcceptTermsOfService"},"yellowcardCredentials":{"$ref":"#/components/schemas/YellowcardCredentials"},"bitsoCredentials":{"$ref":"#/components/schemas/BitsoCredentials"},"hercleCredentials":{"$ref":"#/components/schemas/HercleCredentials"},"finityCredentials":{"$ref":"#/components/schemas/GeneralCredentials"},"capaCredentials":{"$ref":"#/components/schemas/GeneralCredentials"}},"required":["acceptTermsOfService"]},"ComplianceCheckRequirements":{"type":"object","properties":{"slug":{"deprecated":true,"description":"Deprecated. Use `type` instead. This field is kept for backward compatibility and will be removed in future versions.","allOf":[{"$ref":"#/components/schemas/ComplianceSlug"}]},"schema":{"type":"object","additionalProperties":true},"missingFields":{"type":"array","items":{"type":"string"}},"requiredDocuments":{"type":"array","items":{"$ref":"#/components/schemas/RequiredDocuments"}},"requiredExtras":{"$ref":"#/components/schemas/RequiredExtras"},"type":{"allOf":[{"$ref":"#/components/schemas/ComplianceType"}]}},"required":["slug","schema","missingFields","requiredDocuments","requiredExtras","type"]},"ComplianceCheckStatus":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ComplianceType"}]},"slug":{"deprecated":true,"description":"Deprecated. Use `type` instead. This field is kept for backward compatibility and will be removed in future versions.","allOf":[{"$ref":"#/components/schemas/ComplianceSlug"}]},"status":{"allOf":[{"$ref":"#/components/schemas/ComplianceStatus"}]},"businessIdentityId":{"type":"string","nullable":true,"description":"Business identity whose provider credentials performed the screening. Null for organization-scoped checks."},"metadata":{"type":"object","additionalProperties":true}},"required":["type","slug","status","metadata"]},"PaymentPurpose":{"type":"string","enum":["salary payment","personal remittance","rent payment","property purchase","owned account abroad","advertising expenses","advisory fees","business insurance","construction","delivery fees","education","exports","donation","hotel","loan payment","maintenance expenses","medical expense","office expenses","royalty fees","service charge","shares investment","tax payment","transportation fees","travel","utility bills","other"],"description":"The purpose of the withdrawal payment."},"TransactionDocumentDto":{"type":"object","properties":{"type":{"description":"The type of the transaction document.","example":"Invoice","allOf":[{"$ref":"#/components/schemas/TransactionDocumentType"}]},"content":{"type":"string","format":"base64","description":"This document may be required by certain countries or payment providers. Supported MIME types (application/pdf, image/jpeg, image/jpg, image/png). Minimum resolution: 200x200px, maximum size: 5MB.","example":"data:image/jpeg;base64,/9j/4AAQSkZJRg..."}},"required":["type","content"]},"WithdrawalDto":{"type":"object","properties":{"amount":{"type":"string","description":"The amount for the operation. For deposits, this is the fiat amount the user must contribute. For withdrawals, this is the amount of the asset to be withdrawn.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"The id of the account associated with the operation. For withdrawals, this is the account from which assets will be withdrawn. For deposits, this is the account where assets will be deposited.","example":"cm2c4x3cc000019stwv7um4zl"},"developerFee":{"type":"string","description":"An optional developer fee for the operation, if applicable","example":"5.00"},"pfiName":{"description":"Specific PFI to use for this operation. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"paymentInstructionId":{"type":"string","description":"The ID of the payment instruction specifying how the withdrawn funds will be sent. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions)","example":"cm2c4x3cc000019stwv7um4zl"},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity on whose behalf the withdraw is being initiated. If not specified, the withdrawal will be initiated for the identity tied to the payment instruction by default.","example":"cm2c4x3cc000019stwv7um4zl"},"paymentPurpose":{"description":"The purpose of the withdrawal payment.","example":"delivery fees","allOf":[{"$ref":"#/components/schemas/PaymentPurpose"}]},"purposeDescription":{"type":"string","maxLength":255,"description":"Purpose details."},"reference":{"type":"string","minLength":1,"maxLength":256,"description":"A reference message to be sent with a Bank transaction."},"refundDestination":{"description":"Per-transaction refund configuration. Supports `type`, `address`, `autoRefund`, and `refundToSourceAddress`. Takes precedence over the organization default.","allOf":[{"$ref":"#/components/schemas/RefundDestinationDto"}]},"documents":{"description":"Documents may be required by certain countries or payment providers (for example, an invoice, contract, or agreement)","type":"array","items":{"$ref":"#/components/schemas/TransactionDocumentDto"}},"quoteId":{"type":"string","description":"The id of an executable quote previously created via `POST /withdrawals/quotes`. When provided, the withdrawal is initiated using the locked exchange rate and fees from that quote, as long as the quote has not expired.","example":"cm2c4x3cc000019stwv7um4zl"},"fiat":{"deprecated":true,"description":"Deprecated for fiat payment instructions: resolved automatically from the payment instruction. For an `Onchain` payment instruction on a provider that pays crypto from a fiat balance, the balance to debit. Defaults to USD when the account holds it, else to the account's only balance.","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"deprecated":true,"description":"Deprecated: resolved automatically from the payment instruction. The country code for the region where the withdrawal is performed.","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"description":"The token tied to a specific blockchain for the withdrawal. See the list of [supported Withdrawal Assets](https://docs.buildborderless.com/docs/get-withdrawal-options#/).","example":"BTC","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["amount","accountId","paymentInstructionId","paymentPurpose","asset"]},"WithdrawalPfiDto":{"type":"object","properties":{"amount":{"type":"string","description":"The amount for the operation. For deposits, this is the fiat amount the user must contribute. For withdrawals, this is the amount of the asset to be withdrawn.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"The id of the account associated with the operation. For withdrawals, this is the account from which assets will be withdrawn. For deposits, this is the account where assets will be deposited.","example":"cm2c4x3cc000019stwv7um4zl"},"developerFee":{"type":"string","description":"An optional developer fee for the operation, if applicable","example":"5.00"},"pfiName":{"description":"Specific PFI to use for this operation. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"paymentInstructionId":{"type":"string","description":"The ID of the payment instruction specifying how the withdrawn funds will be sent. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions)","example":"cm2c4x3cc000019stwv7um4zl"},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity on whose behalf the withdraw is being initiated. If not specified, the withdrawal will be initiated for the identity tied to the payment instruction by default.","example":"cm2c4x3cc000019stwv7um4zl"},"paymentPurpose":{"description":"The purpose of the withdrawal payment.","example":"delivery fees","allOf":[{"$ref":"#/components/schemas/PaymentPurpose"}]},"purposeDescription":{"type":"string","maxLength":255,"description":"Purpose details."},"reference":{"type":"string","minLength":1,"maxLength":256,"description":"A reference message to be sent with a Bank transaction."},"refundDestination":{"description":"Per-transaction refund configuration. Supports `type`, `address`, `autoRefund`, and `refundToSourceAddress`. Takes precedence over the organization default.","allOf":[{"$ref":"#/components/schemas/RefundDestinationDto"}]},"documents":{"description":"Documents may be required by certain countries or payment providers (for example, an invoice, contract, or agreement)","type":"array","items":{"$ref":"#/components/schemas/TransactionDocumentDto"}},"quoteId":{"type":"string","description":"The id of an executable quote previously created via `POST /withdrawals/quotes`. When provided, the withdrawal is initiated using the locked exchange rate and fees from that quote, as long as the quote has not expired.","example":"cm2c4x3cc000019stwv7um4zl"},"fiat":{"deprecated":true,"description":"Deprecated for fiat payment instructions: resolved automatically from the payment instruction. For an `Onchain` payment instruction on a provider that pays crypto from a fiat balance, the balance to debit. Defaults to USD when the account holds it, else to the account's only balance.","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"deprecated":true,"description":"Deprecated: resolved automatically from the payment instruction. The country code for the region where the withdrawal is performed.","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"description":"The token to pay out. Required when the payment instruction is `Onchain` — its network must match the instruction's `onchainNetwork`. Not applicable to fiat payment instructions.","example":"USDC_POLYGON","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["amount","accountId","paymentInstructionId","paymentPurpose"]},"String":{"type":"object","properties":{}},"RampOptionEntity":{"type":"object","properties":{"id":{"type":"string"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["id","country","method","fiat","asset"]},"LimitEntity":{"type":"object","properties":{"minAmount":{"type":"string","nullable":true,"description":"Minimum allowed amount in fiat currency for the specified limit period (e.g., per transaction, day, or year).","example":"123"},"maxAmount":{"type":"string","nullable":true,"description":"Maximum allowed amount in fiat currency for the specified limit period (e.g., per transaction, day, or year).","example":"123"},"fiat":{"enum":["USD","EUR","BRL","ARS","MXN","COP","CLP","PEN","PYG","DOP","UYU","BOB","CRC","GTQ","BWP","CDF","GHS","KES","MWK","NGN","RWF","ZAR","TZS","UGX","ZMW","XOF","XAF","AUD","BDT","CAD","INR","JPY","NPR","PKR","PHP","SGD","GBP","CNY","HKD","CNH","IDR","MYR","KRW","LKR","THB","TRY","VND","CZK","HUF","DKK","NOK","PLN","RON","RSD","SEK","CHF","AED","SAR","QAR","ILS","EGP","JOD","HNL","JMD","NZD","DZD","GMD","GNF","HTG","MAD","TND"],"type":"string","description":"Fiat currency for the minAmount and maxAmount.","example":"USD"}},"required":["fiat"]},"LimitsQuoteEntity":{"type":"object","properties":{"transaction":{"description":"Limits applied to each individual transaction, defining the minimum and maximum allowable amounts.","allOf":[{"$ref":"#/components/schemas/LimitEntity"}]}},"required":["transaction"]},"FeeComponentType":{"type":"string","enum":["PaymentMethod","Provider","VirtualAccount","Orchestration","Developer"],"description":"Which party's fee this line represents."},"FeeCollectionMode":{"type":"string","enum":["Spread","Deducted","Invoiced"],"description":"How the fee is collected: embedded in the exchange-rate spread, deducted from the source amount, or invoiced off-platform."},"FeeValueSource":{"type":"string","enum":["Static","ProviderQuote"],"description":"Whether the value is configured in Borderless or reported by the provider."},"FeeLineEntity":{"type":"object","properties":{"componentType":{"description":"Which party's fee this line represents.","allOf":[{"$ref":"#/components/schemas/FeeComponentType"}]},"collectionMode":{"description":"How the fee is collected: embedded in the exchange-rate spread, deducted from the source amount, or invoiced off-platform.","allOf":[{"$ref":"#/components/schemas/FeeCollectionMode"}]},"valueSource":{"description":"Whether the value is configured in Borderless or reported by the provider.","allOf":[{"$ref":"#/components/schemas/FeeValueSource"}]},"amount":{"type":"string","description":"Fee amount. Zero on an Spread line means the provider margins the rate by an amount we cannot observe.","example":"1.5"},"currency":{"type":"string","description":"Currency or asset the amount is denominated in.","example":"USD"},"originalAmount":{"type":"string","nullable":true,"description":"Amount the fee was priced in before conversion into `currency`. Null when the fee was not converted.","example":"5"},"originalCurrency":{"type":"string","nullable":true,"description":"Currency the fee was priced in before conversion. Null when not converted.","example":"MXN"},"exchangeRate":{"type":"string","nullable":true,"description":"Units of `currency` per 1 unit of `originalCurrency` used for the conversion. Null when not converted.","example":"0.0571428571"}},"required":["componentType","collectionMode","valueSource","amount","currency","originalAmount","originalCurrency","exchangeRate"]},"QuoteEntity":{"type":"object","properties":{"limits":{"$ref":"#/components/schemas/LimitsQuoteEntity"},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"paymentMethod":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"fromAmount":{"type":"string","description":"From amount of the conversion, e.g 100.","example":"10"},"toAmount":{"type":"string","description":"To amount of the conversion, e.g 100.","example":"8.99"},"exchangeRate":{"type":"string","description":"Exchange rate of the conversion, e.g 1.","example":"0.999"},"totalFee":{"type":"string","description":"Total fees, denominated in the source currency: the fiat currency for a Deposit Quote, the asset for a Withdrawal Quote. Includes the orchestration fee.","example":"1"},"orchestrationFee":{"type":"string","description":"Borderless orchestration fee, denominated in the same source currency as totalFee: the fiat currency for a Deposit Quote, the asset for a Withdrawal Quote.","example":"1"},"fees":{"description":"Itemised breakdown of every fee that applies to this quote. Empty for providers whose fees have not been catalogued yet.","type":"array","items":{"$ref":"#/components/schemas/FeeLineEntity"}}},"required":["limits","fiat","country","asset","paymentMethod","fromAmount","toAmount","exchangeRate","totalFee","orchestrationFee"]},"CreateWithdrawalExecutableQuoteDto":{"type":"object","properties":{"amount":{"type":"string","description":"The amount for the operation. For deposits, this is the fiat amount the user must contribute. For withdrawals, this is the amount of the asset to be withdrawn.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"The id of the account associated with the operation. For withdrawals, this is the account from which assets will be withdrawn. For deposits, this is the account where assets will be deposited.","example":"cm2c4x3cc000019stwv7um4zl"},"developerFee":{"type":"string","description":"An optional developer fee for the operation, if applicable","example":"5.00"},"pfiName":{"description":"Specific PFI to use for this operation. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"paymentInstructionId":{"type":"string","description":"The ID of the payment instruction specifying how the withdrawn funds will be sent. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","example":"cm2c4x3cc000019stwv7um4zl"},"asset":{"description":"The token tied to a specific blockchain for the withdrawal. See the list of [supported Withdrawal Assets](https://docs.buildborderless.com/docs/get-withdrawal-options).","example":"BTC","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fiat":{"description":"The fiat currency used for the withdrawal operation.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"description":"The country code in ISO-3166-2 format for the region where the withdrawal is performed.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity on whose behalf the withdrawal is being initiated. If not specified, the withdrawal will be initiated for the identity tied to the payment instruction by default.","example":"cm2c4x3cc000019stwv7um4zl"},"businessIdentityId":{"type":"string","deprecated":true,"description":"Deprecated: ignored. The payment-provider credentials are selected by `counterPartyIdentityId`.","example":"cm2c4x3cc000019stwv7um4zl"}},"required":["amount","accountId","paymentInstructionId","asset","fiat","country"]},"ExecutableQuoteEntity":{"type":"object","properties":{"limits":{"$ref":"#/components/schemas/LimitsQuoteEntity"},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"paymentMethod":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"fromAmount":{"type":"string","description":"From amount of the conversion, e.g 100.","example":"10"},"toAmount":{"type":"string","description":"To amount of the conversion, e.g 100.","example":"8.99"},"exchangeRate":{"type":"string","description":"Exchange rate of the conversion, e.g 1.","example":"0.999"},"totalFee":{"type":"string","description":"Total fees, denominated in the source currency: the fiat currency for a Deposit Quote, the asset for a Withdrawal Quote. Includes the orchestration fee.","example":"1"},"orchestrationFee":{"type":"string","description":"Borderless orchestration fee, denominated in the same source currency as totalFee: the fiat currency for a Deposit Quote, the asset for a Withdrawal Quote.","example":"1"},"fees":{"description":"Itemised breakdown of every fee that applies to this quote. Empty for providers whose fees have not been catalogued yet.","type":"array","items":{"$ref":"#/components/schemas/FeeLineEntity"}},"quoteId":{"type":"string","description":"Unique identifier of the executable quote that can be used to create a transaction.","example":"cm2c4x3cc000019stwv7um4zl"},"expiresAt":{"type":"string","description":"ISO 8601 timestamp indicating when the executable quote expires.","example":"2026-04-27T12:30:00.000Z","format":"date-time"}},"required":["limits","fiat","country","asset","paymentMethod","fromAmount","toAmount","exchangeRate","totalFee","orchestrationFee","quoteId","expiresAt"]},"UnavailableQuoteReason":{"type":"string","enum":["MissingCredentials","Other"],"description":"Structured reason why the PFI is unavailable. Use to drive client-side UX (e.g. show a 'Configure credentials' CTA for MissingCredentials)."},"PFIQuoteEntity":{"type":"object","properties":{"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"available":{"type":"boolean","description":"Indicates whether the PFI is available and returned a valid quote.","example":true},"error":{"type":"string","description":"Error message if the PFI is unavailable.","example":"Service temporarily unavailable"},"unavailableReason":{"description":"Structured reason why the PFI is unavailable. Use to drive client-side UX (e.g. show a 'Configure credentials' CTA for MissingCredentials).","allOf":[{"$ref":"#/components/schemas/UnavailableQuoteReason"}]},"limits":{"$ref":"#/components/schemas/LimitsQuoteEntity"},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"paymentMethod":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"fromAmount":{"type":"string","description":"From amount of the conversion, e.g 100.","example":"10"},"toAmount":{"type":"string","description":"To amount of the conversion, e.g 100.","example":"8.99"},"exchangeRate":{"type":"string","description":"Exchange rate of the conversion, e.g 1.","example":"0.999"},"totalFee":{"type":"string","description":"Total fees.","example":"1"},"orchestrationFee":{"type":"string","description":"Borderless orchestration fee.","example":"1"},"fees":{"description":"Itemised breakdown of every fee that applies to this quote. Absent when the PFI is unavailable.","type":"array","items":{"$ref":"#/components/schemas/FeeLineEntity"}}},"required":["pfiName","available"]},"InstitutionsDto":{"type":"object","properties":{"country":{"description":"The country code in ISO-3166-2 format. See [ISO-3166-2 documentation](https://www.iso.org/iso-3166-country-codes.html).","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"fiat":{"description":"The fiat currency for the payment.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"paymentMethod":{"description":"The method used to execute the payment instructions. Learn more at [Payment Instructions Guide](https://docs.buildborderless.com/docs/payment-instructions).","example":"MobileMoney","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"pfiName":{"description":"Specific PFI to use. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]}},"required":["country","fiat","paymentMethod"]},"SupportedInstitutionEntity":{"type":"object","properties":{"slug":{"type":"string","description":"The ID of the network. This values is generated by borderless. You should provide this value as a part of payment method payload if applicable."},"name":{"type":"string","description":"The name of the network (e.g. bank or mobile money provider)."}},"required":["slug","name"]},"InstitutionsEntity":{"type":"object","properties":{"pfiName":{"description":"The PFI that produced this institution list. Slugs in `supportedInstitutions` are PFI-internal and only valid against this PFI.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"paymentMethod":{"description":"The payment method supported by the institutions.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"fiat":{"description":"The fiat currency for the payment.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"allInstitutionsSupported":{"type":"boolean","description":"Defines if the current country supports all the available institutions or only a limited subset. If true then all institutions are supported and networks field returns empty array."},"institutionIdentifier":{"type":"string","nullable":true,"description":"Defines the name of the field in the payment method payload that should be used to identify the institution."},"supportedInstitutions":{"description":"The list of supported. This field is empty if limited is false.","type":"array","items":{"$ref":"#/components/schemas/SupportedInstitutionEntity"}}},"required":["pfiName","country","paymentMethod","fiat","allInstitutionsSupported","institutionIdentifier","supportedInstitutions"]},"DepositMobileMoneySourceDto":{"type":"object","properties":{"phone":{"type":"string","minLength":7,"maxLength":20,"description":"The phone number associated with the mobile money account. Required for MobileMoney.","example":"+1234567890"},"networkSlug":{"type":"string","description":"The ID of the network. It's an internal borderless id defining specific mobile money network provider."},"accountHolderName":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the account holder for the mobile money account","example":"John Doe"}},"required":["phone","networkSlug","accountHolderName"]},"DepositDto":{"type":"object","properties":{"amount":{"type":"string","description":"The amount for the operation. For deposits, this is the fiat amount the user must contribute. For withdrawals, this is the amount of the asset to be withdrawn.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"The id of the account associated with the operation. For withdrawals, this is the account from which assets will be withdrawn. For deposits, this is the account where assets will be deposited.","example":"cm2c4x3cc000019stwv7um4zl"},"developerFee":{"type":"string","description":"An optional developer fee for the operation, if applicable","example":"5.00"},"pfiName":{"description":"Specific PFI to use for this operation. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"fiat":{"description":"The fiat currency used for the deposit operation.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"description":"The country code in ISO-3166-2 format for the region where the deposit is performed.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"paymentMethod":{"description":"The payment method used for the deposit transaction. Learn more at [Payment Methods Documentation](https://docs.buildborderless.com/docs/get-deposit-options).","example":"ACH","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"source":{"description":"The details of the deposit source. Some deposit payment methods (e.g. mobile money) require you to specify source account info.","oneOf":[{"$ref":"#/components/schemas/DepositMobileMoneySourceDto","title":"MobileMoney source."}],"allOf":[{"$ref":"#/components/schemas/DepositMobileMoneySourceDto"}]},"redirectUrl":{"type":"string","format":"uri","description":"The URL to redirect the user after the deposit is completed. This url is used: MobileMoney and EFT (South Africa); PSE (Colombia) payment methods. Required for providers that collect through a hosted payment page."},"paymentInstructionId":{"type":"string","description":"The ID of the payment instruction containing bank details for the deposit. Required for certain payment providers (e.g. Onmeta).","example":"cm2c4x3cc000019stwv7um4zl"},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity on whose behalf the deposit is being initiated. Provide this only if the deposit should be linked to a different identity than the one associated with the account. If not specified, the deposit will be initiated for the identity tied to the account by default.","example":"cm2c4x3cc000019stwv7um4zl"},"businessIdentityId":{"type":"string","deprecated":true,"description":"Deprecated: ignored. The payment-provider credentials are selected by `counterPartyIdentityId`.","example":"cm2c4x3cc000019stwv7um4zl"},"documents":{"description":"Documents may be required by certain countries or payment providers (for example, an invoice, contract, or agreement)","type":"array","items":{"$ref":"#/components/schemas/TransactionDocumentDto"}},"quoteId":{"type":"string","description":"The id of an executable quote previously created via `POST /deposits/quotes`. When provided, the deposit is initiated using the locked exchange rate and fees from that quote, as long as the quote has not expired.","example":"cm2c4x3cc000019stwv7um4zl"},"asset":{"description":"The token tied to a specific blockchain for the deposit. See the list of [supported deposit assets](https://docs.buildborderless.com/docs/get-deposit-options).","example":"BTC","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["amount","accountId","fiat","country","paymentMethod","asset"]},"DepositPfiDto":{"type":"object","properties":{"amount":{"type":"string","description":"The amount for the operation. For deposits, this is the fiat amount the user must contribute. For withdrawals, this is the amount of the asset to be withdrawn.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"The id of the account associated with the operation. For withdrawals, this is the account from which assets will be withdrawn. For deposits, this is the account where assets will be deposited.","example":"cm2c4x3cc000019stwv7um4zl"},"developerFee":{"type":"string","description":"An optional developer fee for the operation, if applicable","example":"5.00"},"pfiName":{"description":"Specific PFI to use for this operation. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"fiat":{"description":"The fiat currency used for the deposit operation.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"description":"The country code in ISO-3166-2 format for the region where the deposit is performed.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"paymentMethod":{"description":"The payment method used for the deposit transaction. Learn more at [Payment Methods Documentation](https://docs.buildborderless.com/docs/get-deposit-options).","example":"ACH","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"source":{"description":"The details of the deposit source. Some deposit payment methods (e.g. mobile money) require you to specify source account info.","oneOf":[{"$ref":"#/components/schemas/DepositMobileMoneySourceDto","title":"MobileMoney source."}],"allOf":[{"$ref":"#/components/schemas/DepositMobileMoneySourceDto"}]},"redirectUrl":{"type":"string","format":"uri","description":"The URL to redirect the user after the deposit is completed. This url is used: MobileMoney and EFT (South Africa); PSE (Colombia) payment methods. Required for providers that collect through a hosted payment page."},"paymentInstructionId":{"type":"string","description":"The ID of the payment instruction containing bank details for the deposit. Required for certain payment providers (e.g. Onmeta).","example":"cm2c4x3cc000019stwv7um4zl"},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity on whose behalf the deposit is being initiated. Provide this only if the deposit should be linked to a different identity than the one associated with the account. If not specified, the deposit will be initiated for the identity tied to the account by default.","example":"cm2c4x3cc000019stwv7um4zl"},"businessIdentityId":{"type":"string","deprecated":true,"description":"Deprecated: ignored. The payment-provider credentials are selected by `counterPartyIdentityId`.","example":"cm2c4x3cc000019stwv7um4zl"},"documents":{"description":"Documents may be required by certain countries or payment providers (for example, an invoice, contract, or agreement)","type":"array","items":{"$ref":"#/components/schemas/TransactionDocumentDto"}},"quoteId":{"type":"string","description":"The id of an executable quote previously created via `POST /deposits/quotes`. When provided, the deposit is initiated using the locked exchange rate and fees from that quote, as long as the quote has not expired.","example":"cm2c4x3cc000019stwv7um4zl"}},"required":["amount","accountId","fiat","country","paymentMethod"]},"CreateDepositExecutableQuoteDto":{"type":"object","properties":{"amount":{"type":"string","description":"The amount for the operation. For deposits, this is the fiat amount the user must contribute. For withdrawals, this is the amount of the asset to be withdrawn.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"The id of the account associated with the operation. For withdrawals, this is the account from which assets will be withdrawn. For deposits, this is the account where assets will be deposited.","example":"cm2c4x3cc000019stwv7um4zl"},"developerFee":{"type":"string","description":"An optional developer fee for the operation, if applicable","example":"5.00"},"pfiName":{"description":"Specific PFI to use for this operation. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"asset":{"description":"The token tied to a specific blockchain for the deposit. See the list of [supported deposit assets](https://docs.buildborderless.com/docs/get-deposit-options).","example":"BTC","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fiat":{"description":"The fiat currency used for the deposit operation.","example":"USD","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"description":"The country code in ISO-3166-2 format for the region where the deposit is performed.","example":"US","allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"paymentMethod":{"description":"The payment method used for the deposit transaction. Learn more at [Payment Methods Documentation](https://docs.buildborderless.com/docs/get-deposit-options).","example":"ACH","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity on whose behalf the deposit is being initiated. If not specified, the deposit will be initiated for the identity tied to the account by default.","example":"cm2c4x3cc000019stwv7um4zl"},"businessIdentityId":{"type":"string","deprecated":true,"description":"Deprecated: ignored. The payment-provider credentials are selected by `counterPartyIdentityId`.","example":"cm2c4x3cc000019stwv7um4zl"}},"required":["amount","accountId","asset","fiat","country","paymentMethod"]},"ExchangeAssetType":{"type":"string","enum":["fiat","asset"],"description":"Type of the asset used in this leg."},"ExchangeLegDto":{"type":"object","properties":{"type":{"description":"Type of the asset used in this leg.","example":"fiat","allOf":[{"$ref":"#/components/schemas/ExchangeAssetType"}]},"fiat":{"description":"Fiat currency used when type is fiat.","allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"asset":{"description":"Crypto asset identifier used when type is asset.","allOf":[{"$ref":"#/components/schemas/AssetId"}]}},"required":["type"]},"ExchangeDto":{"type":"object","properties":{"from":{"description":"Asset leg to convert from.","allOf":[{"$ref":"#/components/schemas/ExchangeLegDto"}]},"to":{"description":"Asset leg to convert to.","allOf":[{"$ref":"#/components/schemas/ExchangeLegDto"}]},"amount":{"type":"string","description":"Amount to convert from the source leg.","example":"100.00","minLength":1},"accountId":{"type":"string","description":"Identifier of the PFI account where the conversion takes place.","example":"acc_123"}},"required":["from","to","amount","accountId"]},"LiquidationAddressEntity":{"type":"object","properties":{"id":{"type":"string"},"paymentInstructionId":{"type":"string"},"counterPartyIdentityId":{"type":"string","nullable":true},"status":{"allOf":[{"$ref":"#/components/schemas/PFIPaymentInstructionStatus"}]},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"asset":{"allOf":[{"$ref":"#/components/schemas/AssetId"}]},"fiat":{"allOf":[{"$ref":"#/components/schemas/FiatCurrencyId"}]},"country":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"paymentMethod":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"address":{"type":"string","nullable":true,"description":"The blockchain address that automatically converts deposits to fiat."},"returnAddress":{"type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"},"failureReason":{"type":"object","additionalProperties":true,"nullable":true}},"required":["id","paymentInstructionId","counterPartyIdentityId","status","pfiName","asset","fiat","country","paymentMethod","address","returnAddress","createdAt","failureReason"]},"PaginatedLiquidationAddressEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/LiquidationAddressEntity"}}},"required":["hasMore","data"]},"LiquidationAddressDto":{"type":"object","properties":{"asset":{"description":"The token tied to a specific blockchain that the liquidation address will receive.","example":"USDC_POLYGON","allOf":[{"$ref":"#/components/schemas/AssetId"}]},"paymentInstructionId":{"type":"string","description":"The ID of the payment instruction where converted fiat funds will be paid out. Every crypto deposit to the liquidation address is automatically converted and sent there.","example":"cm2c4x3cc000019stwv7um4zl"},"counterPartyIdentityId":{"type":"string","description":"The ID of the identity to associate with the liquidation address. If not provided, the identity that owns the payment instruction is used.","example":"cm2c4x3cc000019stwv7um4zl"},"paymentPurpose":{"description":"The purpose of the payouts made from this liquidation address. Used to derive provider-side payment purpose codes where the receiving bank's country requires them.","example":"exports","allOf":[{"$ref":"#/components/schemas/PaymentPurpose"}]},"developerFeePercent":{"type":"number","description":"The percentage of the developer fee for the liquidation address, if applicable","example":1.5},"pfiName":{"description":"Specific PFI to use for this liquidation address. If omitted, the organization's default PFI is used.","allOf":[{"$ref":"#/components/schemas/PFIName"}]},"returnAddress":{"type":"string","description":"The blockchain address where deposits are returned when a payout fails, if the provider supports it.","example":"0x0d8775f648430679a709e98d2b0cb6250d2887ef"}},"required":["asset","paymentInstructionId"]},"TransactionDocumentsUploadDto":{"type":"object","properties":{"documents":{"minItems":1,"description":"Documents to attach to the transaction.","type":"array","items":{"$ref":"#/components/schemas/TransactionDocumentDto"}}},"required":["documents"]},"ComponentStatus":{"type":"string","enum":["Operational","DegradedPerformance","PartialOutage","MajorOutage","UnderMaintenance"],"description":"Worst status across all components"},"NetworkHealthSummaryEntity":{"type":"object","properties":{"namespace":{"type":"string","description":"Namespace identifier","example":"bridge"},"overallStatus":{"description":"Worst status across all components","allOf":[{"$ref":"#/components/schemas/ComponentStatus"}]},"componentsTotal":{"type":"number","description":"Total number of monitored components"},"componentsOperational":{"type":"number","description":"Number of operational components"},"lastEventAt":{"format":"date-time","type":"string","description":"Timestamp of the last event"}},"required":["namespace","overallStatus","componentsTotal","componentsOperational"]},"NetworkHealthComponentEntity":{"type":"object","properties":{"id":{"type":"string"},"namespace":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/ComponentStatus"}]},"order":{"type":"number"},"manual":{"type":"boolean"},"hidden":{"type":"boolean"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","namespace","name","status","order","manual","hidden","createdAt","updatedAt"]},"IncidentStatus":{"type":"string","enum":["Investigating","Identified","Monitoring","Resolved"]},"IncidentImpact":{"type":"string","enum":["None","Minor","Major","Critical","Maintenance"]},"IncidentComponentEntity":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"NetworkHealthUpdateEntity":{"type":"object","properties":{"id":{"type":"string"},"incidentId":{"type":"string"},"message":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/IncidentStatus"}]},"reportedAt":{"format":"date-time","type":"string"}},"required":["id","status","reportedAt"]},"NetworkHealthIncidentEntity":{"type":"object","properties":{"id":{"type":"string"},"namespace":{"type":"string"},"title":{"type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/IncidentStatus"}]},"impact":{"allOf":[{"$ref":"#/components/schemas/IncidentImpact"}]},"manual":{"type":"boolean"},"startedAt":{"format":"date-time","type":"string"},"resolvedAt":{"format":"date-time","type":"string"},"sourceUrl":{"type":"string"},"components":{"type":"array","items":{"$ref":"#/components/schemas/IncidentComponentEntity"}},"updates":{"description":"Events linked to this incident","type":"array","items":{"$ref":"#/components/schemas/NetworkHealthUpdateEntity"}},"createdAt":{"format":"date-time","type":"string"}},"required":["id","namespace","title","status","impact","manual","startedAt","components","updates","createdAt"]},"NetworkHealthNamespaceDetailEntity":{"type":"object","properties":{"namespace":{"type":"string"},"overallStatus":{"allOf":[{"$ref":"#/components/schemas/ComponentStatus"}]},"components":{"type":"array","items":{"$ref":"#/components/schemas/NetworkHealthComponentEntity"}},"incidents":{"description":"Active incidents (non-resolved)","type":"array","items":{"$ref":"#/components/schemas/NetworkHealthIncidentEntity"}},"maintenances":{"description":"Scheduled or in-progress maintenances","type":"array","items":{"$ref":"#/components/schemas/NetworkHealthIncidentEntity"}}},"required":["namespace","overallStatus","components","incidents","maintenances"]},"CsvIdentityImportDto":{"type":"object","properties":{"pfiName":{"enum":["Bridge","Koywe","Kotanipay","Hercle","Bitso","Yellowcard","TraceFinance","HoneyCoin","BlindPay","Finity","Infinia","Walapay","Abra","Yativo","Capa","Bivo","Cobre","Avenia","Brale","BVNK","CoinsPH","Iron","Enigma","Kira","TripleA","Onmeta","Alfred","Tazapay","Demo","CrissCross","Pockyt"],"type":"string"},"csv":{"type":"string","description":"Raw CSV file contents.","minLength":1},"dryRun":{"type":"boolean","description":"Validate only, do not persist."}},"required":["pfiName","csv"]},"ImportedPfiIdentitySource":{"type":"string","enum":["Import","CsvImport"]},"ImportedPfiIdentityResolution":{"type":"string","enum":["Open","LinkedToIdentity","Promoted","Ignored"]},"ImportedPfiIdentityEntity":{"type":"object","properties":{"id":{"type":"string"},"pfiName":{"allOf":[{"$ref":"#/components/schemas/PFIName"}]},"externalCustomerId":{"type":"string"},"externalData":{"type":"object","additionalProperties":true},"source":{"allOf":[{"$ref":"#/components/schemas/ImportedPfiIdentitySource"}]},"type":{"allOf":[{"$ref":"#/components/schemas/IdentityType"}]},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"businessName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"dateOfBirth":{"format":"date-time","type":"string","nullable":true},"taxId":{"type":"string","nullable":true},"street1":{"type":"string","nullable":true},"street2":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"postalCode":{"type":"string","nullable":true},"country":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CountryCode"}]},"kycStatus":{"type":"string","nullable":true},"normalizedKycStatus":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ComplianceStatus"}]},"providerCreatedAt":{"format":"date-time","type":"string","nullable":true},"resolution":{"allOf":[{"$ref":"#/components/schemas/ImportedPfiIdentityResolution"}]},"linkedIdentityId":{"type":"string","nullable":true},"organizationId":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","pfiName","externalCustomerId","externalData","source","type","firstName","lastName","businessName","email","phone","dateOfBirth","taxId","street1","street2","city","state","postalCode","country","kycStatus","normalizedKycStatus","providerCreatedAt","resolution","linkedIdentityId","organizationId","createdAt","updatedAt"]},"PaginatedImportedPfiIdentityEntity":{"type":"object","properties":{"hasMore":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ImportedPfiIdentityEntity"}}},"required":["hasMore","data"]},"RfiStatus":{"type":"string","enum":["New","ActionRequired","Submitted","Resolved"]},"RfiCaseEntity":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"triageStatus":{"type":"string"},"organizationId":{"type":"string","nullable":true},"pfiName":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"messageCount":{"type":"number"},"lastMessageAt":{"format":"date-time","type":"string","nullable":true,"description":"When the most recent message on this case was sent. Null while the case has no messages."},"resolvedAt":{"format":"date-time","type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"}},"required":["id","type","status","triageStatus","organizationId","pfiName","subject","messageCount","lastMessageAt","resolvedAt","createdAt","updatedAt"]},"RfiMessageOrigin":{"type":"string","enum":["Provider","Client","Admin"]},"RfiAttachmentEntity":{"type":"object","properties":{"id":{"type":"string"},"fileName":{"type":"string"},"mimeType":{"type":"string","nullable":true},"sizeBytes":{"type":"number","nullable":true},"contentId":{"type":"string","nullable":true},"isInline":{"type":"boolean"}},"required":["id","fileName","mimeType","sizeBytes","contentId","isInline"]},"RfiMessageEntity":{"type":"object","properties":{"id":{"type":"string"},"origin":{"allOf":[{"$ref":"#/components/schemas/RfiMessageOrigin"}]},"authoredBy":{"type":"string","nullable":true},"fromAddress":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"bodyText":{"type":"string","nullable":true},"bodyHtml":{"type":"string","nullable":true},"sentAt":{"format":"date-time","type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/RfiAttachmentEntity"}}},"required":["id","origin","authoredBy","fromAddress","subject","bodyText","bodyHtml","sentAt","createdAt","attachments"]},"RfiCaseReferenceEntity":{"type":"object","properties":{"id":{"type":"string"},"rawValue":{"type":"string","nullable":true},"status":{"type":"string"},"identityId":{"type":"string","nullable":true},"transactionId":{"type":"string","nullable":true}},"required":["id","rawValue","status","identityId","transactionId"]},"RfiCaseDetailEntity":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"triageStatus":{"type":"string"},"organizationId":{"type":"string","nullable":true},"pfiName":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"messageCount":{"type":"number"},"lastMessageAt":{"format":"date-time","type":"string","nullable":true,"description":"When the most recent message on this case was sent. Null while the case has no messages."},"resolvedAt":{"format":"date-time","type":"string","nullable":true},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/RfiMessageEntity"}},"references":{"type":"array","items":{"$ref":"#/components/schemas/RfiCaseReferenceEntity"}},"providerReference":{"type":"string","nullable":true,"description":"Identifiers of the linked records as they exist in the provider's own system. Appended verbatim to every reply sent on this case; null when the case has no such identifiers."}},"required":["id","type","status","triageStatus","organizationId","pfiName","subject","messageCount","lastMessageAt","resolvedAt","createdAt","updatedAt","messages","references","providerReference"]},"RfiEntityType":{"type":"string","enum":["Identity","Transaction"]},"RfiReplyAttachmentDto":{"type":"object","properties":{"entity":{"allOf":[{"$ref":"#/components/schemas/RfiEntityType"}]},"identityDocumentId":{"type":"string","minLength":1},"transactionId":{"type":"string","minLength":1},"documentType":{"allOf":[{"$ref":"#/components/schemas/TransactionDocumentType"}]}},"required":["entity"]},"RfiReplyFileDto":{"type":"object","properties":{"key":{"type":"string","maxLength":1024,"description":"Key returned by the attachment upload endpoint.","minLength":1},"fileName":{"type":"string","maxLength":255,"minLength":1},"mimeType":{"type":"string"}},"required":["key","fileName"]},"RfiReplyDto":{"type":"object","properties":{"bodyHtml":{"type":"string","minLength":1},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/RfiReplyAttachmentDto"}},"files":{"type":"array","items":{"$ref":"#/components/schemas/RfiReplyFileDto"},"maxItems":10}},"required":["bodyHtml"]},"AttachRfiReferenceDto":{"type":"object","properties":{"entity":{"allOf":[{"$ref":"#/components/schemas/RfiEntityType"}]},"entityId":{"type":"string","minLength":1}},"required":["entity","entityId"]},"RfiUploadAttachmentDto":{"type":"object","properties":{"fileName":{"type":"string","maxLength":255,"minLength":1},"mimeType":{"type":"string"},"content":{"type":"string","maxLength":13981016,"description":"Base64-encoded file content (without data URL prefix).","minLength":1}},"required":["fileName","content"]},"RfiUploadedAttachmentEntity":{"type":"object","properties":{"key":{"type":"string"},"fileName":{"type":"string"},"mimeType":{"type":"string","nullable":true},"sizeBytes":{"type":"number"}},"required":["key","fileName","mimeType","sizeBytes"]},"RfiAttachmentDownloadEntity":{"type":"object","properties":{"url":{"type":"string"},"fileName":{"type":"string"}},"required":["url","fileName"]}}}}