IBAN stands for International Bank Account Number.
cta: type: - object - 'null' description: Call-to-action details. properties: label: type: string description: CTA label. example: IBAN content: type: string description: CTA content. example: BE12 3456 7890 1234 hidden: type: boolean description: Whether the field should be hidden in the UI. example: false bankFeatures: type: array description: Features enabled on the account. items: type: object properties: key: type: string description: Feature identifier. example: LOCAL_RECEIVE title: type: string description: Human-readable feature name. example: Receive locally supported: type: boolean description: Whether the feature is supported. example: true PayInDetails: type: object description: >- Pay-in details describe how the batch group can be funded. Only populated when a batch group is in the `COMPLETED` state. properties: type: type: string description: Method of payment. enum: - bank_transfer example: bank_transfer reference: type: string description: >- The reference that should be used when funding the transfers in the batch group. This reference should be treated as an opaque value and there should be no attempt to decode or decompose it. example: B5323 amount: type: number format: decimal description: >- The total pay-in amount for all transactions in the batch when paying in with this reference and method. example: 12504.54 currency: type: string description: Three-character ISO 4217 currency code. example: NOK name: type: string description: Name of the bank account holder. example: TransferWise Ltd branchName: type: - string - 'null' description: >- Name of the bank branch. Provided only when the currency route requires it (such as JPY). example: null accountNumber: type: - string - 'null' description: Bank account number. example: '9910728' accountType: type: - string - 'null' description: >- Bank account type. Provided only when the currency route requires it. example: null bankCode: type: - string - 'null' description: >- Bank identifier or routing number, depending on pay-in type and currency. example: '8301' bankAddress: type: - object - 'null' description: >- Address for the receiving bank. Provided only when the currency route requires it. properties: name: type: string description: Bank name. example: CitiBank Europe Plc firstLine: type: string description: Street address. example: Bolette brygge 1 postCode: type: string description: Postcode or ZIP code. example: '0252' city: type: string description: City. example: Oslo stateCode: type: - string - 'null' description: State, province, or region code. example: null country: type: string description: Country name. example: Norway transferWiseAddress: type: - object - 'null' description: Wise's address. Provided only when the currency route requires it. properties: name: type: string description: Wise's company name. example: TransferWise Ltd firstLine: type: string description: Street address. example: 6th Floor, The Tea Building, 56 Shoreditch High Street postCode: type: string description: Postcode or ZIP code. example: E1 6JJ city: type: string description: City. example: London stateCode: type: - string - 'null' description: State, province, or region code. example: null country: type: string description: Country name. example: United Kingdom iban: type: - string - 'null' description: ISO 13616 International Bank Account Number (when available). example: null bban: type: - string - 'null' description: >- Basic Bank Account Number (BBAN). Provided only when the currency route requires it (such as NOK). example: '83019910728' institutionNumber: type: - string - 'null' description: >- Financial Institution number (3 digits). Provided only when the currency route requires it (such as CAD). example: null transitNumber: type: - string - 'null' description: >- Branch Transit Number (5 digits). Provided only when the currency route requires it (such as CAD). example: null beneficiaryBankBIC: type: - string - 'null' description: >- Beneficiary Bank Business Identifier Code (BIC). Provided only when the currency route requires it (such as CAD). example: null intermediaryBankBIC: type: - string - 'null' description: >- Intermediary Bank Business Identifier Code (BIC). Provided only when the currency route requires it (such as CAD). example: null fpsIdentifier: type: - string - 'null' description: >- Faster Payment System identifier. Provided only when the currency route requires it (such as HKD). example: null clearingNumber: type: - string - 'null' description: >- Clearing number. Provided only when the currency route requires it (such as SEK). example: null BatchGroup: title: Batch Group x-tags: - batch-group type: object properties: id: type: string format: uuid description: Batch group ID. example: 54a6bc09-cef9-49a8-9041-f1f0c654cd88 version: type: integer format: int64 description: > Batch version, used for concurrency control. This number is updated whenever there is a change to the batch group state (its status, the identity of the transfers in the batch, etc). Some API operations require this version in requests, and operations may be rejected when the requested version does not match the server's version. The version is a signed integer and is not ordered with respect to any previous version. example: 123 name: type: string description: Descriptive name for the batch group. example: My batch group sourceCurrency: type: string description: >- Source currency code (ISO 4217 Alphabetic Code). This currency is expected to be used for funding the batch group. example: GBP status: type: string description: > Current batch group status: - `NEW` — New batch group with zero or more transfers. Able to have more transfers added to it. Transfers in a `NEW` group cannot yet be funded and paid out. - `COMPLETED` — The batch group has had all desired transfers added and is now closed to further changes. Transfers in the group can now be funded and paid out. Note: `COMPLETED` does not imply payouts have been successfully completed. - `MARKED_FOR_CANCELLATION` — Cancellation of the transfers in the batch group was requested. - `PROCESSING_CANCEL` — Transfers in the group are being cancelled. - `CANCELLED` — Transfers in the group have been cancelled. enum: - NEW - COMPLETED - MARKED_FOR_CANCELLATION - PROCESSING_CANCEL - CANCELLED example: COMPLETED transferIds: type: array items: type: integer format: int64 description: The IDs of all transfers successfully added to the group. example: - 234 - 456 payInDetails: type: array description: > List of pay-in details describing how the batch group can be funded. Provided only when the batch group is in the `COMPLETED` state. Currently supported types: `bank_transfer`. items: $ref: '#/components/schemas/PayInDetails' PaymentInitiation: type: object description: Payment initiation for funding a batch group via direct debit. properties: id: type: integer format: int64 description: Payment initiation ID. example: 12345 batchGroupId: type: string format: uuid description: Batch group ID. example: 068e186d-9632-4937-b753-af3e53f4d0b0 reference: type: string description: >- Payment reference that will be passed to the network. Can be used for reconciliation. example: B1234567 userId: type: integer format: int64 description: The ID of the user who initiated this payment. example: 33333333 profileId: type: integer format: int64 description: The ID of the profile this payment belongs to. example: 44444444 type: type: string description: Payment type. enum: - DIRECT_DEBIT example: DIRECT_DEBIT status: type: string description: | Payment initiation status: - `NEW` — Payment initiation created - `PROCESSING` — Payment is being processed - `COMPLETED` — Payment completed successfully - `FAILED` — Payment failed - `CHARGED_BACK` — Payment was charged back enum: - NEW - PROCESSING - COMPLETED - FAILED - CHARGED_BACK example: NEW accountId: type: integer format: int64 description: External account ID associated with the payment. example: 1 transferId: type: - integer - 'null' format: int64 description: >- Transfer ID of the direct debit payment. Present only after the direct debit is initiated. example: null createdTime: type: string format: date-time description: Date and time when the payment initiation was created. example: '2022-01-01T19:51:41.423404Z' Card: type: object description: The Card resource represents a Wise card linked to a profile. x-tags: - card properties: token: type: string description: Unique identifier for the card. example: ca0c8154-1e14-4464-a1ce-dcea7dc3de52 profileId: type: integer format: int64 description: Profile ID that owns this card. example: 123456 clientId: type: string description: Client ID of the partner that issued the card. example: wise_api_docs status: type: object description: Current status of the card. properties: value: type: string description: > Status value. One of: - `ACTIVE` - Card is active and can be used - `INACTIVE` - Card is inactive and all transactions will be declined - `BLOCKED` - Card is blocked and cannot be reversed back to any state - `FROZEN` - Card is temporarily blocked - `PARTNER_SUSPENDED` - Card is suspended by Wise temporarily (do not display to end customers) - `EXPIRED` - Card is expired - `PURGED` - Cardholder data (e.g. PAN, PIN) has been purged after the retention period (555 days after the card's expiry date) enum: - ACTIVE - INACTIVE - BLOCKED - FROZEN - PARTNER_SUSPENDED - EXPIRED - PURGED example: ACTIVE cardHolderName: type: string description: Name of the card holder. example: John Smith expiryDate: type: string format: date-time description: Date when the card will expire. example: '2028-05-31T00:00:00Z' lastFourDigits: type: string description: Last 4 digits of the card number. example: '6320' bankIdentificationNumber: type: string description: Bank identification number (BIN) of the card. example: '459661' phoneNumber: type: string description: Phone number associated with the card. example: '+441234567890' cardProgram: type: object description: Card program details. properties: name: type: string description: Name of the card program. example: VISA_DEBIT_BUSINESS_UK_1 scheme: type: string description: Card network scheme. enum: - VISA - MASTERCARD example: VISA defaultCurrency: type: string description: Default currency of the card. example: GBP cardType: type: string description: Type of the card. E.g. `PHYSICAL` or `VIRTUAL`. example: VIRTUAL unlockSpendingPermissions: type: string description: > Method with which physical card spending permissions can be unlocked. One of: - `WITH_PARTNER_API` - Unlock via Partner API - `WITH_FIRST_CHIP_AND_PIN_TRANSACTION` - Unlock with first chip and PIN transaction - `NONE` - Not applicable (for virtual cards) enum: - WITH_PARTNER_API - WITH_FIRST_CHIP_AND_PIN_TRANSACTION - NONE example: WITH_PARTNER_API creationTime: type: string format: date-time description: Time when the card was created. example: '2022-05-31T01:43:24.596321434Z' modificationTime: type: string format: date-time description: Time when the card was last modified. example: '2022-05-31T01:43:24.596321825Z' Permission: type: object description: Spending permission configuration for a card. x-tags: - card properties: type: type: string description: > The type of transaction this permission controls: - `ECOM` - Online transactions - `POS_CHIP` - Physical point-of-sale transactions with chip - `POS_MAGSTRIPE` - Physical point-of-sale transactions with magnetic stripe - `POS_CONTACTLESS` - Physical point-of-sale contactless transactions - `ATM_WITHDRAWAL` - ATM withdrawals - `MOBILE_WALLETS` - Digital wallet payments (Apple Pay, Google Pay) enum: - ECOM - POS_CHIP - POS_MAGSTRIPE - POS_CONTACTLESS - ATM_WITHDRAWAL - MOBILE_WALLETS example: ECOM isEnabled: type: boolean description: Indicates if this permission type is enabled. example: false isLocked: type: boolean description: >- Indicates if this permission is locked. If locked, the permission cannot be enabled. example: false ProductionStatus: type: object description: Represents the production status of a card at a kiosk machine. properties: status: type: string description: | Current production status: - `READY` - Card is ready for production - `IN_PROGRESS` - Card is in production at the kiosk machine - `PRODUCED` - Card is produced and collected. This is a final state - `PRODUCTION_ERROR` - Card production failed - `REQUEST_ERROR` - Card production request failed enum: - READY - IN_PROGRESS - PRODUCED - PRODUCTION_ERROR - REQUEST_ERROR example: IN_PROGRESS kioskId: type: - string - 'null' description: >- Identifier that specifies which kiosk machine is producing the card. When the status is `READY`, this value is null. example: WIS00001 occurredAt: type: string format: date-time description: >- Time when the card production request has been sent to the kiosk machine (ISO 8601 format). example: '2024-01-01T12:24:56.121Z' errorCode: type: - string - 'null' description: > Code returned when card production is not successful. Nullable. **Request errors** - Returned when `status` is `REQUEST_ERROR`: - `UNKNOWN_ERROR` - An error occurred on the server - `REQUEST_ALREADY_EXISTS` - The request has already been submitted - `KIOSK_ID_NOT_FOUND` - The kiosk ID does not exist - `CARD_TYPE_NOT_FOUND` - The card type does not exist - `INVALID_FIELD_VALUE` - Some field values are unexpected - `INVALID_PIN_FORMAT` - The PIN does not follow ISO0 or ISO2 standard - `EMPTY_OR_NULL_FIELD_VALUE` - Some required fields are empty or null - `EMPTY_OR_NULL_OR_WRONG_SIZE_FIELD_VALUE` - Some required fields are empty, null, or have incorrect lengths - `CHARSET_NOT_SUPPORTED` - The character set for some fields is not supported - `INVALID_FIELD_FORMAT` - Some field formats are invalid - `INVALID_FIELD_ENCODING` - The encoding for some fields is not expected - `CDATA_ENCODING_OR_FORMATING_ERROR` - The encoding or formatting for XML text field values is incorrect - `PIN_LENGTH_ERROR` - The PIN length is incorrect - `PIN_VERIFICATION_FAILED` - The PIN cannot be verified because the server is unreachable - `DATA_PREPARATION_FAILED` - The server failed to parse the request - `PARTIAL_DATA_RECEIVED` - Only part of the expected data has been received - `NO_BRANCH_LINKED_TO_KIOSK` - The kiosk has not been linked to any branch - `IMAGE_SERVER_ERROR` - The image server is unreachable or failed to process the data - `PAN_ALREADY_EXISTS` - The PAN already exists - `PRINTER_OR_SATELLITE_NOT_READY` - The printer or satellite is not ready to start the production - `REQUEST_CREATED_BUT_NOT_STARTED` - The request has been created, but production is pending until the printer or satellite is ready - `UNABLE_TO_ACCEPT_REQUEST` - The system is currently busy and cannot accept new requests at this time **Production errors** - Returned when `status` is `PRODUCTION_ERROR`: - `CB_NOT_AVAILABLE` - Main server error: central base not available - `CB_DB_NOT_AVAILABLE` - Main server error: database not available - `CB_NETWORK_NOT_AVAILABLE` - Main server error: network not available - `CB_AUTHENTICATION_FAILED` - Main server error: user authentication verification failed - `CB_SERVICE_NOT_ALLOWED` - Main server error: the accessed service requires a higher security level - `CB_TIME` - Main server error: timeout occurred on the Central Base side - `DP_NOT_AVAILABLE` - Data processing error: the Data preparation module is not available - `DP_IO_ERROR` - Data processing error: Input/Output error when communicating with the DP - `DP_TIMEOUT` - Data processing error: timeout error - `SAT_SERVER_NOT_REACHABLE` - Satellite agent error: the server is not reachable - `SAT_AUTHENTICATION_FAILED` - Satellite agent error: user authentication failed on satellite - `SAT_NETWORK_NOT_AVAILABLE` - Satellite agent error: the network is not available - `PRT_NOT_REACHABLE` - Printer error: printer is not reachable - `PRT_SETUP_ERROR` - Printer error: printer setup is incorrect - `PRT_TIMEOUT` - Printer error: printer timeout - `PRT_RIBBON` - Printer error: ribbon error - `PRT_LOCK_ERROR` - Printer error: printer physically unlocked - `PRT_RIBBON_MISSING` - Printer error: ribbon is missing - `PRT_RIBBON_ENDED` - Printer error: ribbon has ended - `PRT_COVER_OPEN` - Printer error: printer cover is open - `PRT_PAUSED` - Printer error: printer paused - `PRD_UNEXPECTED_DATA` - Production error: production data is incorrect - `PRD_FEEDER_EMPTY` - Production error: feeder is empty - `PRD_FEEDER_JAM` - Production error: feeder card jam - `PRD_HOPPER_FULL` - Production error: hopper is full - `PRD_HOPPER_DOOR` - Production error: hopper door is open - `PRD_HOPPER_JAM` - Production error: hopper card jam - `PRD_MAGSTRIPE` - Production error: error occurred during magstripe encoding - `PRD_SMARTCARD` - Production error: error occurred during chip personalization - `PRD_EMBOSSER` - Production error: error occurred during embossing - `PRD_TIMEOUT` - Production error: production timeout has been reached - `PRD_REJECT_FULL` - Production error: reject box is full - `PRD_SMARTCARD_CARD_NOT_IN_READER` - Production error: card is not in reader - `PRD_FINAL_VALIDATION_NOK` - Production error: user has rejected card production - `INV_NOT_INITIALIZED` - Production error: inventory not initialized - `UNKNOWN_ERROR` - Unknown error example: PIN_VERIFICATION_FAILED description: type: - string - 'null' description: Detailed description of the error code. example: The PIN cannot be verified because the server is unreachable CardOrder: type: object title: Card Order x-tags: - card-order properties: id: type: integer format: int64 description: ID of the card order. example: 142 profileId: type: integer format: int64 description: Profile ID. example: 123456 clientId: type: string description: Client ID. example: your-client-id cardProgram: type: object description: >- The card program associated with this card order. A Card Program is what Wise refers to all the cards that you will be issuing with us, grouped by product type and by issuing country. properties: name: type: string description: The name of the card program. example: VISA_DEBIT_BUSINESS_UK_1_PHYSICAL_CARDS_API scheme: type: string description: | The network of the card program: - `MASTERCARD` - `VISA` enum: - MASTERCARD - VISA example: VISA defaultCurrency: type: string description: The default currency assigned to the card program. example: GBP cardType: type: string description: | The type of the card: - `VIRTUAL_NON_UPGRADEABLE` - `PHYSICAL` enum: - VIRTUAL_NON_UPGRADEABLE - PHYSICAL example: PHYSICAL address: type: object description: >- Address set during card order. Fields vary by country. See the [card address validation guide](/guides/developer/api-guides/card-address-validation) for country-specific fields and validation rules. additionalProperties: true properties: firstLine: type: string description: Card holder's address. example: 56 Shoreditch High St secondLine: type: - string - 'null' description: Card holder's address. example: The Tea Bldg thirdLine: type: - string - 'null' description: Card holder's address. example: null city: type: string description: Card holder's city. example: London postCode: type: string description: Card holder's postal code. example: E1 6JJ state: type: - string - 'null' description: Card holder's state. example: null country: type: string description: Card holder's country (ISO 3166-1 alpha-2). example: GB cardToken: type: - string - 'null' description: Token of the card associated with card order. Nullable. example: 4dc0be88-903f-49e4-8237-735f1139e3dd replacesCard: type: - string - 'null' description: A string for replacement card. Not supported at the moment. example: null creationTime: type: string format: date-time description: Time when the card order is created. example: '2023-07-31T01:43:24.596321434Z' modificationTime: type: string format: date-time description: Time when the card order was last modified. example: '2023-07-31T01:43:24.596321825Z' status: type: string description: >- Status of the card order. See [card order status flow](/api-reference/card-order#card-order-status-flow) for details. enum: - PLACED - REQUIREMENTS_FULFILLED - CARD_DETAILS_CREATED - PRODUCED - COMPLETED - CANCELLED - RETURNED example: PRODUCED cardHolderName: type: string description: Name of the card holder. example: John Smith phoneNumber: type: string description: Phone number associated with the card order. example: '+441234567890' lifetimeLimit: type: - number - 'null' description: Maximum amount of spending on the card once issued. Nullable. example: 100 deliveryEstimate: type: string format: date-time description: > The estimated time when the card will be delivered. There are few scenarios to be mindful of: 1. For virtual card the delivery estimate will be close to the creationTime, as it does not require delivery. 2. For physical card in `PLACED` status, the delivery estimate is calculated assuming that the order requirements will be fulfilled today (refreshed daily). 3. For physical card after `PLACED` status, we provide a best effort estimation, and it should not be used as delivery timing as we will have separate delivery tracking (subject to region availability) for physical card that is coming soon. example: '2023-10-30T07:11:00.848681Z' deliveryDetails: type: object description: >- Delivery details of a physical card order. For virtual cards, this value is null. properties: deliveryOption: type: string description: The delivery option used on the card order. enum: - POSTAL_SERVICE_STANDARD - POSTAL_SERVICE_WITH_TRACKING - KIOSK_COLLECTION example: POSTAL_SERVICE_WITH_TRACKING deliveryVendor: type: - string - 'null' description: The name of the delivery vendor. example: DHL trackingUrl: type: - string - 'null' description: The URL to track the card delivery. example: >- https://www.dhl.com/gb-en/home/tracking/tracking-express.html?submit=1&tracking-id=1999473803 trackingNumber: type: - string - 'null' description: The tracking number of the card delivery. example: '1999473803' CardTransactionV3: title: Card Transaction (V3) type: object additionalProperties: true properties: id: type: string description: ID of the transaction example: '342671' cardToken: type: string description: Unique identifier of the card example: 59123122-223d-45f9-b840-0ad4a4f80937 type: type: string description: > [Type](/api-reference/card-transaction#card-transaction-type) of the transaction. One of: - `ACCOUNT_CREDIT` - `ACCOUNT_FUNDING` - `CASH_ADVANCE` - `CASH_WITHDRAWAL` - `CHARGEBACK` - `CREDIT_TRANSACTION` - `ECOM_PURCHASE` - `POS_PURCHASE` - `REFUND` enum: - ACCOUNT_CREDIT - ACCOUNT_FUNDING - CASH_ADVANCE - CASH_WITHDRAWAL - CHARGEBACK - CREDIT_TRANSACTION - ECOM_PURCHASE - POS_PURCHASE - REFUND example: ECOM_PURCHASE declineReason: type: - string - 'null' description: >- Code of the [decline reason](/api-reference/card-transaction#card-transaction-decline-reasons) if applicable example: null detailedDeclineReason: type: - string - 'null' description: >- Code of the [detailed decline reason](/api-reference/card-transaction#card-transaction-detailed-decline-reasons) if applicable example: null createdDate: type: string format: date-time description: When the transaction was created example: '2022-11-28T08:17:54.241236Z' state: type: string description: > The current [state](/api-reference/card-transaction#card-transaction-state) of the transaction. One of: - `IN_PROGRESS` - `COMPLETED` - `DECLINED` - `CANCELLED` - `UNKNOWN` enum: - IN_PROGRESS - COMPLETED - DECLINED - CANCELLED - UNKNOWN example: IN_PROGRESS cardLastDigits: type: string description: Last 4 digits of the card example: '3086' transactionAmount: type: object description: >- Transaction amount, excluding all embedded fees such as ATM fees that are not applied by Wise properties: amount: type: number description: Transaction amount example: 1.5 currency: type: string description: Currency code example: SGD fees: type: array description: Array of fees items: type: object properties: amount: type: number description: Fee amount example: 0.1 currency: type: string description: Currency code example: SGD fee_type: type: string description: Fee type example: ATM_ACQUIRER transactionAmountWithFees: type: object description: Transaction amount including fees properties: value: type: number description: Transaction amount including fees example: 1.5 currency: type: string description: Currency code example: SGD merchant: type: object description: Merchant information properties: name: type: string description: Name of the merchant example: Test Payment location: type: object description: Merchant location properties: country: type: - string - 'null' description: Country where merchant is located example: France city: type: - string - 'null' description: City where merchant is located example: Rouen zipCode: type: - string - 'null' description: Zip code where merchant is located example: '00000' region: type: - string - 'null' description: Region where merchant is located example: null state: type: - string - 'null' description: State where merchant is located example: null category: type: object description: Merchant category properties: name: type: string description: Category of the merchant example: RMiscellaneousAndSpecial code: type: string description: MCC code of the merchant example: '5999' description: type: string description: Description of the merchant category example: 5999 R Miscellaneous and Special authorisationMethod: type: string description: Authorisation method example: MANUAL_ENTRY balanceTransactionId: type: - integer - 'null' format: int64 description: Associated balance transaction ID if applicable example: 2598366 debits: type: array description: Array of debits items: type: object properties: balanceId: type: integer format: int64 description: Balance ID example: 52832 debitedAmount: type: object description: Amount taken from the balance properties: amount: type: number description: Amount example: 1.06 currency: type: string description: Currency code example: EUR forAmount: type: object description: Amount converted to properties: amount: type: number description: Amount example: 1.5 currency: type: string description: Currency code example: SGD rate: type: number description: Exchange rate of debitedAmount to forAmount example: 1.43073 fee: type: object description: Conversion fee properties: amount: type: number description: Conversion fee amount example: 0.01 currency: type: string description: Currency code example: EUR credit: type: - object - 'null' description: Credit details, present for refund transactions properties: balanceId: type: integer format: int64 description: Balance ID example: 52832 creditedAmount: type: object description: Amount credited to the balance properties: amount: type: number description: Amount example: 1.5 currency: type: string description: Currency code example: SGD relayAuthorisationData: type: - object - 'null' description: >- Relayed authorisation response data, only available if the partner has opted in for [relayed authorisation](/guides/product/issue-cards/relayed-authorisation) properties: responseCode: type: string description: > [ResponseCode](/guides/product/issue-cards/relayed-authorisation#authorisation-response) of the relayed authorisation. One of: - `APPROVED` - `PROCESSING_ERROR` - `NON_SUPPORTED_CURRENCY` - `NON_SUPPORTED_MCC_FOR_COUNTRY` - `BLOCKED_COUNTRY` - `TRANSACTION_TYPE_NOT_SUPPORTED` - `SUSPECTED_FRAUD` enum: - APPROVED - PROCESSING_ERROR - NON_SUPPORTED_CURRENCY - NON_SUPPORTED_MCC_FOR_COUNTRY - BLOCKED_COUNTRY - TRANSACTION_TYPE_NOT_SUPPORTED - SUSPECTED_FRAUD example: APPROVED fallback: type: boolean description: Indicating whether there was a fallback applied by Wise example: true CardTransaction: title: Card Transaction type: object additionalProperties: true description: > The `debits` and `credits` fields are only present when retrieving a single transaction by ID, and will not be present in the list transactions response. properties: id: type: integer format: int64 description: ID of the transaction example: 342671 cardToken: type: string description: Unique identifier of the card example: 59123122-223d-45f9-b840-0ad4a4f80937 type: type: string description: > [Type](/api-reference/card-transaction#card-transaction-type) of the transaction. One of: - `ACCOUNT_CREDIT` - `ACCOUNT_FUNDING` - `CASH_ADVANCE` - `CASH_WITHDRAWAL` - `CHARGEBACK` - `CREDIT_TRANSACTION` - `ECOM_PURCHASE` - `POS_PURCHASE` - `REFUND` enum: - ACCOUNT_CREDIT - ACCOUNT_FUNDING - CASH_ADVANCE - CASH_WITHDRAWAL - CHARGEBACK - CREDIT_TRANSACTION - ECOM_PURCHASE - POS_PURCHASE - REFUND example: ECOM_PURCHASE state: type: string description: > The current [state](/api-reference/card-transaction#card-transaction-state) of the transaction. One of: - `IN_PROGRESS` - `COMPLETED` - `DECLINED` - `CANCELLED` - `UNKNOWN` enum: - IN_PROGRESS - COMPLETED - DECLINED - CANCELLED - UNKNOWN example: IN_PROGRESS declineReason: type: - string - 'null' description: >- Code of the [decline reason](/api-reference/card-transaction#card-transaction-decline-reasons) if applicable example: null detailedDeclineReason: type: - string - 'null' description: >- Code of the [detailed decline reason](/api-reference/card-transaction#card-transaction-detailed-decline-reasons) if applicable example: null creationTime: type: string format: date-time description: When the transaction was created example: '2022-11-28T08:17:54.241Z' modificationTime: type: string format: date-time description: When the transaction was last updated example: '2022-11-28T08:17:54.241Z' purgeTime: type: - string - 'null' format: date-time description: >- Time at which reserved funds will be released after the authorisation hold expires example: '2022-11-28T08:17:54.241Z' transactionAmount: type: object description: >- Transaction amount, including any embedded fees such as ATM fees that are not applied by Wise properties: amount: type: number description: Transaction amount example: 1.4 currency: type: string description: Currency code example: SGD fees: type: array description: Array of fees items: type: object properties: amount: type: number description: Fee amount example: 0.1 currency: type: string description: Currency code example: SGD fee_type: type: string description: Fee type example: ATM_ACQUIRER transactionAmountWithFees: type: object description: Transaction amount including all fees properties: amount: type: number description: Transaction amount including all fees example: 1.5 currency: type: string description: Currency code example: SGD merchant: type: object description: Merchant information properties: name: type: string description: Name of the merchant example: Test Payment location: type: object description: Merchant location properties: country: type: - string - 'null' description: Country where merchant is located example: France city: type: - string - 'null' description: City where merchant is located example: Rouen zipCode: type: - string - 'null' description: Zip code where merchant is located example: '00000' region: type: - string - 'null' description: Region where merchant is located example: null state: type: - string - 'null' description: State where merchant is located example: null category: type: object description: Merchant category properties: name: type: string description: Category of the merchant example: MISCELLANEOUS_FOOD_STORES_CONVEN code: type: string description: MCC code of the merchant example: '5999' description: type: string description: Description of the merchant category example: 5999 R Miscellaneous and Special authorisationMethod: type: string description: Authorisation method example: MANUAL_ENTRY approvalCode: type: - string - 'null' description: >- Also called authorization code. This can be used to prove ownership of a customer's card/account to a merchant example: '913647' billingAmount: type: object description: Billing amount properties: amount: type: number description: Billing amount example: 1.1 currency: type: string description: Currency code example: EUR arn: type: - string - 'null' description: Acquirer reference number example: '04300014127798385983852' pinValidationResult: type: - string - 'null' description: | PIN validation result. One of: - `ONLINE_PIN_VALIDATED` - `ONLINE_PIN_INVALID` - `OFFLINE_PIN_VALIDATED` - `OFFLINE_PIN_INVALID` - `NOT_RECEIVED` enum: - ONLINE_PIN_VALIDATED - ONLINE_PIN_INVALID - OFFLINE_PIN_VALIDATED - OFFLINE_PIN_INVALID - NOT_RECEIVED example: ONLINE_PIN_VALIDATED balanceChannelReferenceId: type: - string - 'null' description: Balance channel reference ID associated with the card transaction example: 6e71018d-2f4d-4fc3-6711-f517f4664712 debits: type: array description: > Array of debits. Only present when retrieving a single transaction by ID. The debits list is a non-aggregated list of debit movements, meaning that the `balanceId` is not unique in the list. For example, a cancelled transaction may have a list of 2 debits where the absolute values of `debitedAmount.amount`, `forAmount.amount` and `fee.amount` are the same, but one is the negation of the other due to a reservation (first debit) which was then released (second debit with negated amounts). You can choose to perform the aggregation in your system or display the full list of debits to the end customer. items: type: object properties: balanceId: type: integer format: int64 description: Balance ID example: 52832 debitedAmount: type: object description: Amount taken from the balance properties: amount: type: number description: Amount example: 1.1 currency: type: string description: Currency code example: EUR forAmount: type: object description: Amount converted to properties: amount: type: number description: Amount example: 1.5 currency: type: string description: Currency code example: SGD rate: type: number description: Exchange rate of debitedAmount to forAmount example: 1.36363636364 fee: type: object description: Conversion fee properties: amount: type: number description: Conversion fee amount example: 0.04 currency: type: string description: Currency code example: EUR creationTime: type: string format: date-time description: Creation time of debit example: '2022-11-28T08:17:54.241Z' credits: type: array description: >- Array of credits. Only present when retrieving a single transaction by ID items: type: object properties: balanceId: type: integer format: int64 description: Balance ID example: 52832 creditedAmount: type: object description: Amount credited to the balance properties: amount: type: number description: Amount example: 1.5 currency: type: string description: Currency code example: SGD creationTime: type: string format: date-time description: Creation time of credit example: '2022-11-28T08:17:54.241Z' relayAuthorisationData: type: - object - 'null' description: >- Relayed authorisation response data, only available if the partner has opted in for [relayed authorisation](/guides/product/issue-cards/relayed-authorisation) properties: responseCode: type: string description: > [ResponseCode](/guides/product/issue-cards/relayed-authorisation#authorisation-response) of the relayed authorisation. One of: - `APPROVED` - `PROCESSING_ERROR` - `NON_SUPPORTED_CURRENCY` - `NON_SUPPORTED_MCC_FOR_COUNTRY` - `BLOCKED_COUNTRY` - `TRANSACTION_TYPE_NOT_SUPPORTED` - `SUSPECTED_FRAUD` enum: - APPROVED - PROCESSING_ERROR - NON_SUPPORTED_CURRENCY - NON_SUPPORTED_MCC_FOR_COUNTRY - BLOCKED_COUNTRY - TRANSACTION_TYPE_NOT_SUPPORTED - SUSPECTED_FRAUD example: APPROVED fallback: type: boolean description: Indicating whether there was a fallback applied by Wise example: true ComparisonV3: title: Comparison (V3) type: object additionalProperties: true description: >- V3 comparison response containing price and speed estimates from various money transfer providers. properties: sourceCurrency: type: - string - 'null' description: ISO 4217 source currency code example: GBP targetCurrency: type: - string - 'null' description: ISO 4217 target currency code example: EUR sourceCountry: type: - string - 'null' description: Source country (ISO 3166-1 Alpha-2 code) example: null targetCountry: type: - string - 'null' description: Target country (ISO 3166-1 Alpha-2 code) example: null providerCountry: type: - string - 'null' description: Provider country (ISO 3166-1 Alpha-2 code) example: null providerTypes: type: array description: List of provider types included in the response items: type: string example: - bank - moneyTransferProvider amount: type: number description: The comparison amount example: 10000 providerType: type: - string - 'null' description: Provider type filter applied to the request example: null providers: type: array description: List of providers with their estimated quotes items: type: object additionalProperties: true properties: id: type: integer format: int64 description: Provider ID example: 39 alias: type: string description: Provider alias (lowercase slug name) example: wise name: type: string description: Provider name (presentational / formal name) example: Wise logos: type: object description: URLs pointing to provider logos (svg, png) properties: normal: type: object properties: svgUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo.svg pngUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo.png inverse: type: object properties: svgUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_inverse.svg pngUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_inverse.png white: type: object properties: svgUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_white.svg pngUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_white.png circle: type: object properties: svgUrl: type: - string - 'null' example: >- https://dq8dwmysp7hk1.cloudfront.net/logos/wise-mark.svg pngUrl: type: - string - 'null' example: null altText: type: string description: Alt text for the provider logo example: Wise logo: type: - string - 'null' description: (Deprecated) Provider logo svg deprecated: true example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo.svg type: type: string description: 'Provider type: bank, money transfer provider, or travel money' example: moneyTransferProvider partner: type: boolean description: Whether a partner of Wise or not example: false quotes: type: array description: An array of estimated quotes per provider items: type: object additionalProperties: true properties: rate: type: number description: >- The live estimated exchange rate for the provider for this quote example: 1.15989 fee: type: number description: The estimated fee for the provider for this quote example: 37.12 dateCollected: type: string description: The date of collection for the original quote example: '2019-10-22T14:36:43Z' sourceCountry: type: - string - 'null' description: Source country (ISO 3166-1 Alpha-2 code) example: null targetCountry: type: - string - 'null' description: Target country (ISO 3166-1 Alpha-2 code) example: null markup: type: number description: >- Percentage markup on the quoted rate compared to the mid-market rate example: 0 receivedAmount: type: - number - 'null' description: >- The total estimated received amount for the provider for this quote example: 11555.84 deliveryEstimation: type: object description: Delivery estimation details - i.e. a speed estimate properties: duration: type: object description: Duration range properties: min: type: - string - 'null' description: >- Minimum quoted time for transaction delivery (ISO 8601 duration format) example: PT20H8M16.305111S max: type: - string - 'null' description: >- Maximum quoted time for transaction delivery (ISO 8601 duration format) example: PT20H8M16.305111S providerGivesEstimate: type: boolean description: >- Whether a provider publicly surfaces a speed estimate or not example: true durationType: type: string description: >- Whether the duration is in calendar days, business days, or same day enum: - CALENDAR - BUSINESS - SAME DAY example: CALENDAR deliveryDate: type: object description: Estimated transaction delivery date range properties: min: type: - string - 'null' description: Minimum estimated delivery date example: '2025-02-05T15:08:00.000000492Z' max: type: - string - 'null' description: Maximum estimated delivery date example: '2025-02-05T15:08:00.000000492Z' Comparison: title: Comparison type: object additionalProperties: true description: >- V4 comparison response containing price and speed estimates from various money transfer providers. properties: sourceCurrency: type: - string - 'null' description: ISO 4217 source currency code example: GBP targetCurrency: type: - string - 'null' description: ISO 4217 target currency code example: EUR sourceCountry: type: - string - 'null' description: Source country (ISO 3166-1 Alpha-2 code) example: null targetCountry: type: - string - 'null' description: Target country (ISO 3166-1 Alpha-2 code) example: null providerCountry: type: - string - 'null' description: Provider country (ISO 3166-1 Alpha-2 code) example: null providerTypes: type: array description: List of provider types included in the response items: type: string example: - bank - moneyTransferProvider amount: type: number description: The comparison amount example: 10000 amountType: type: string description: Whether the amount represents a send amount or recipient gets amount example: SEND providers: type: array description: List of providers with their estimated quotes items: type: object additionalProperties: true properties: id: type: integer format: int64 description: Provider ID example: 39 alias: type: string description: Provider alias (lowercase slug name) example: wise name: type: string description: Provider name (presentational / formal name) example: Wise logos: type: object description: URLs pointing to provider logos (svg, png) properties: normal: type: object properties: svgUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo.svg pngUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo.png inverse: type: object properties: svgUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_inverse.svg pngUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_inverse.png white: type: object properties: svgUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_white.svg pngUrl: type: - string - 'null' example: >- https://wise.com/public-resources/assets/logos/wise-personal/logo_white.png circle: type: object properties: svgUrl: type: - string - 'null' example: >- https://dq8dwmysp7hk1.cloudfront.net/logos/wise-mark.svg pngUrl: type: - string - 'null' example: null altText: type: string description: Alt text for the provider logo example: Wise type: type: string description: 'Provider type: bank, money transfer provider, or travel money' example: moneyTransferProvider partner: type: boolean description: Whether a partner of Wise or not example: false quotes: type: array description: An array of estimated quotes per provider items: type: object additionalProperties: true properties: rate: type: number description: >- The live estimated exchange rate for the provider for this quote example: 1.15989 fee: type: number description: The estimated fee for the provider for this quote example: 37.12 dateCollected: type: string description: The date of collection for the original quote example: '2019-10-22T14:36:43Z' sourceCountry: type: - string - 'null' description: Source country (ISO 3166-1 Alpha-2 code) example: null targetCountry: type: - string - 'null' description: Target country (ISO 3166-1 Alpha-2 code) example: null markup: type: number description: >- Percentage markup on the quoted rate compared to the mid-market rate example: 0 receivedAmount: type: - number - 'null' description: >- The total estimated received amount for the provider for this quote (non-null only if a send amount request was made) example: 11555.84 sendAmount: type: - number - 'null' description: >- The total estimated send amount for the provider for this quote (non-null only if a recipient gets amount request was made) example: null isConsideredMidMarketRate: type: boolean description: >- Whether the provider's rate is close enough to the true mid-market rate to be classified as a mid-market rate example: true deliveryEstimation: type: object description: Delivery estimation details - i.e. a speed estimate properties: duration: type: object description: Duration range properties: min: type: - string - 'null' description: >- Minimum quoted time for transaction delivery (ISO 8601 duration format) example: PT20H8M16.305111S max: type: - string - 'null' description: >- Maximum quoted time for transaction delivery (ISO 8601 duration format) example: PT20H8M16.305111S providerGivesEstimate: type: boolean description: >- Whether a provider publicly surfaces a speed estimate or not example: true DirectDebitAccount: title: Direct Debit Account type: object properties: id: type: integer format: int64 description: Direct debit account ID example: 1 currency: type: string description: >- Currency of the bank account. 3-character currency code — `USD` for ACH, `CAD` for EFT example: USD type: type: string description: | Payment type for which the account is used. - `ACH` — US direct debit (USD) - `EFT` — CA direct debit (CAD) enum: - ACH - EFT example: ACH details: type: object description: Bank account details properties: routingNumber: type: string description: >- A valid ABA routing number. For CAD direct debits, the routing number is a combination of an institution number + transit number example: '000000000' accountNumber: type: string description: A valid bank account number example: '0000000000' accountType: type: string description: | Bank account type. - `CHECKING` — Checking account (USD, CAD) - `SAVINGS` — Savings account (USD, CAD) enum: - CHECKING - SAVINGS example: CHECKING DisputeReason: title: DisputeReason type: object properties: code: type: string description: > The type of reasons available for the dispute. Top-level codes include `ATM_DISPENSED_NO_FUNDS`, `WRONG_AMOUNT`, `TROUBLE_WITH_GOODS_SERVICES`, `MERCHANT_CHARGED_AGAIN`, `NO_REFUND`, `UNAUTHORIZED`. If a reason has `subOptions`, use the sub-option reason code when submitting a dispute. example: UNAUTHORIZED description: type: string description: The description of the dispute reason. example: I did not make, authorize, or participate in this transaction isFraud: type: boolean description: Flag indicating that the dispute reason is fraud-related. example: false tooltip: type: string description: Text to display when showing the dispute form to your users. example: >- Choose this if you don't know the merchant or have never purchased anything from them supportsMultipleTransactions: type: boolean description: Whether the dispute supports multiple transactions. example: false subOptions: type: array description: >- Optional list of sub-reasons that should be used as the dispute reason. items: $ref: '#/components/schemas/DisputeReason' Dispute: title: Dispute type: object properties: id: type: string description: Unique identifier of the dispute. example: b4eae16c-b3a9-4327-b0bd-6a2ad430d803 transactionId: type: integer format: int64 description: Card transaction ID. example: 476873 profileId: type: integer format: int64 description: Profile ID. example: 14547572 reason: type: string description: Dispute reason code. example: WRONG_AMOUNT status: type: string description: Dispute overall status. enum: - ACTIVE - CLOSED example: CLOSED subStatus: type: string description: Dispute detailed status. enum: - SUBMITTED - IN_REVIEW - REFUNDED - REJECTED - WITHDRAWN - CONFIRMED - REFUND_IN_PROGRESS - ATTEMPTING_RECOVERY - RECOVERY_UNSUCCESSFUL example: WITHDRAWN statusMessage: type: string description: Explanation for `subStatus`. example: Withdrawn createdAt: type: string format: date-time description: Time when the dispute was created. example: '2024-03-18T03:47:52.493Z' createdBy: type: string description: Creator of the dispute. Currently set to the user ID. example: '9867661' lastUpdatedAt: type: string format: date-time description: Time when the dispute was last updated. example: '2024-03-27T02:30:27.374Z' canWithdraw: type: boolean description: Whether the dispute can be withdrawn. example: false kyc-requirement: title: KYC Requirement description: >- An object returned as part of the [KYC Review](api-reference/kyc-review/kyc-review) object, which includes information about a required evidence, its state, and any additional information that might be required. x-tags: - kyc-review type: object properties: key: type: string description: >- The name of the KYC requirement. A single KYC Requirement should appear in the requirements list at most once. example: ID_DOCUMENT state: type: string description: > The state of the KYC requirement. - `NOT_PROVIDED` — the information is pending. Either the Hosted KYC flow or [KYC Requirement Submit](kycreviewrequirementsubmit) endpoint should be used to fulfil the requirement. - `IN_REVIEW` — the required information has been retrieved and the KYC requirement is being reviewed. No action is needed. enum: - NOT_PROVIDED - IN_REVIEW example: NOT_PROVIDED apiCollectionSupported: type: boolean description: > Indicates if the requirement can be provided via the [KYC Requirement Submit](kycreviewrequirementsubmit) endpoint. If `false`, the requirement should be provided via the Hosted KYC flow. example: true additionalRequirements: type: - array - 'null' description: > List of additional submissions that are needed to fulfill this requirement. These can appear when the originally submitted evidence is a wrong document, wrong format, incomplete or otherwise insufficient. Only provided if not empty. items: type: object properties: additionalRequirementId: type: string format: uuid description: >- Unique identifier for an additional requirement, generated by Wise. example: 8b789c45-60ae-475d-b667-c8714db9a6a4 key: type: string description: A key outlining what type of evidence is additionally required enum: - ACKNOWLEDGEMENT, - DOCUMENT - WRITTEN_ANSWER - DOCUMENT_AND_WRITTEN_ANSWER - DOCUMENT_OR_WRITTEN_ANSWER - EMAIL - CUSTOM_REQUEST example: DOCUMENT_OR_WRITTEN_ANSWER state: type: string description: > The state of the additional requirement. This state should be treated as independent of the parent KYC Requirement's state. They can, but don't have to, change together. - `NOT_PROVIDED` — the information is pending. Either the Hosted KYC flow or [KYC Requirement Submit](kycreviewrequirementsubmit) endpoint should be used to fulfil the additional requirement. - `IN_REVIEW` — the required information has been retrieved and the additional requirement is being reviewed. No action is needed. enum: - NOT_PROVIDED - IN_REVIEW example: NOT_PROVIDED reasons: type: object description: >- Contains information about the reason this additional requirement has been requested. properties: errorCode: type: string description: >- Code for the reason this additional requirement has been requested. enum: - NEEDED - WRONG_DOCUMENT - EXPIRED - INVALID_TRADING_ADDRESS - MISSING_ONE_SIDE - MISSING_COUNTRY_OF_RESIDENCE - MISSING_DIRECTORS - MISSING_UBOS - NO_UBO_DOC_REQUIRED - MISMATCH_NAME - MISMATCH_DATE_OF_BIRTH - AGENT_DETAILS_PROVIDED - DIRECTOR_IS_BUSINESS - UBO_IS_BUSINESS - UNCLEAR - WEBSITE_LINK_BROKEN - BUSINESS_NAME_NOT_ON_WEBSITE - DRIVING_LICENSE_NOT_ACCEPTED - BUSINESS_NOT_REGISTERED - OTHER example: EXPIRED description: type: string example: >- The provided document or information has expired. A valid document is required. dateTime: type: string format: date-time description: >- Timestamp marking when this additional requirement was requested. example: '2026-04-13T10:54:21.929314' attributes: type: object description: >- Contains metadata information about the additional requirement. Not returned if empty. properties: fields: type: object description: Not returned if empty properties: name: type: string description: The name of the affected person(s) or business examples: - John Smith - Hannah Myers and John Smith - My Business Inc. website: type: string description: The URL of the affected website examples: - https://example.com businessName: type: string description: The name of the affected business examples: - My Business Inc. owningBusinessName: type: string description: The name of the affected owning business examples: - Owning Business Inc. markdownText: type: string description: >- Free format text written by a Wise Agent in markdown format. example: >- Requirement details were unclear, *please* provide a clear scan where: * All information is clearly readable * The document is in colour issues: type: array description: >- A list of issues with the previously uploaded document. Not returned if empty items: type: string enum: - CANNOT_BE_SCREENSHOT - INCORRECT_FILE_FORMAT - NEED_COLOUR_VERSION - POOR_QUALITY example: - CANNOT_BE_SCREENSHOT - NEED_COLOUR_VERSION versions: type: array description: > **Conditional:** Only present when `apiCollectionSupported` is `true`. Lists the available versions and their validity. items: type: object properties: version: type: string description: The version identifier. example: v1 validUntil: type: - string - 'null' format: date description: >- If present, indicates the expiry date of this version (ISO 8601). example: '2026-06-30' kyc-review: title: KYC Review description: >- The return object of most KYC Review endpoints, which includes information about the given KYC Review such as status, trigger references, and a list of [KYC Requirements](api-reference/kyc-review/kyc-requirement). x-tags: - kyc-review type: object properties: id: type: string format: uuid description: Unique identifier for a KYC Review resource, generated by Wise. example: 46e1a5c4-4a9b-4563-39d3-18174d3ac0f8 status: type: string description: > Aggregated state of the underlying requirement set. Any of the states below could move into any other state. enum: - NEW - PASSED - PASSED_WITH_REQUIREMENTS - WAITING_CUSTOMER_INPUT - PROCESSING example: WAITING_CUSTOMER_INPUT link: type: - object - 'null' description: > Contains the URL and expiry of said URL the end customer needs to be directed to in order to go through Hosted KYC flow. `link` is returned only when `status` is `WAITING_CUSTOMER_INPUT` and [Update redirect URL](kycreviewredirecturlupdate) is called. properties: value: type: string description: >- The URL that the end customer needs to be directed to in order to go through the Hosted KYC flow. example: >- https://wise-sandbox.com/embedded-flows/verification?token=d7332edb-25bf-41af-a4e9-09f5efe39ded&checkId=3120073 expiresAt: type: string format: date-time description: >- Timestamp for when the one-time token in the link will expire, after which a new link needs to be generated. example: '2024-09-03T16:29:41.203225146' createdAt: type: string format: date-time description: Timestamp marking the creation of the KYC Review. example: '2024-09-03T16:22:02.257725' updatedAt: type: string format: date-time description: Timestamp marking the last update of the KYC Review. example: '2024-09-03T16:29:41.147522' requiredBy: type: - string - 'null' format: date-time description: >- Timestamp by which the underlying requirement set needs to be verified to not block the customer. Only relevant if the status is `PASSED_WITH_REQUIREMENTS`. example: '2024-09-03T16:22:02.257725' triggerReferences: type: array description: List of trigger reference objects. items: type: object description: >- An object that refers to the action or process this KYC Review pertains to. properties: type: type: string description: > Type of the underlying action or process this KYC Review is for. Usually a reference to which product this KYC Review pertains to (like `QUOTE` or `TRANSFER`) or a reference to a KYC process on the profile that isn't related to a specific product (like `REFRESH_CYCLE` or `REPAPERING`). Currently supported types: - `QUOTE` - `TRANSFER` - `PROACTIVE_SEND_MONEY` - `ADD_MONEY` - `CARD` - `BANK_ACCOUNT_DETAILS` - `INFO_REQUEST` example: QUOTE triggerData: type: object description: > Key-value object containing metadata of the underlying product object that triggered the KYC Review. For `QUOTE`, `TRANSFER` and `ADD_MONEY` types, `triggerData` contains an `id` field that refers to their respective IDs. For `BANK_ACCOUNT_DETAILS`, `triggerData` has a field called `currencies` which contains a list of currencies (e.g. USD, SGD, EUR) that the bank details have been created for. Fields and their data types for each `triggerReference.type`: - `QUOTE` - `id` (uuid) - `TRANSFER` - `id` (long) - `ADD_MONEY` - `id` (long) - `BANK_ACCOUNT_DETAILS` - `currencies` (list of string) additionalProperties: true example: id: ba83a43a-f623-46f0-956d-196c13e2ab01 redirectUrl: type: - string - 'null' description: > URL where the user will be redirected at the end of the flow. Can contain query params and path fragments. It has to be a valid URL as per [RFC 2396](https://www.ietf.org/rfc/rfc2396.txt). Provided by the caller in the [Update redirect URL](kycreviewredirecturlupdate) call. example: https://example.com requirements: type: - array - 'null' description: > Nested list of [KYC Requirement](api-reference/kyc-review/kyc-requirement) objects in `[[Requirement]]` format, where each inner list represents a combination of possible requirements to be provided. To fulfil the whole KYC Review, at least one item from each inner list should be provided. For example, if the requirements are `[[a, b], [c, d]]` then it should be read as `(a or b) and (c or d)`. items: type: array items: type: object $ref: '#/components/schemas/kyc-requirement' client-credentials-grant: type: object required: - grant_type properties: grant_type: type: string description: OAuth 2.0 grant type. enum: - client_credentials example: client_credentials registration-code-grant: type: object required: - grant_type - client_id - email - registration_code properties: grant_type: type: string description: OAuth 2.0 grant type. enum: - registration_code example: registration_code client_id: type: string description: Your API client ID. email: type: string format: email description: The email address of the user being registered. registration_code: type: string description: >- Registration code obtained when creating the user via `POST /v1/user/signup/registration_code`. authorization-code-grant: type: object required: - grant_type - client_id - code - redirect_uri properties: grant_type: type: string description: OAuth 2.0 grant type. enum: - authorization_code example: authorization_code client_id: type: string description: Your API client ID. code: type: string description: >- Authorisation code provided upon redirect back from the authorisation flow. redirect_uri: type: string description: Registered redirect URL coordinated with Wise during onboarding. example: https://www.yourapp.com refresh-token-grant: type: object required: - grant_type - refresh_token properties: grant_type: type: string description: OAuth 2.0 grant type. enum: - refresh_token example: refresh_token refresh_token: type: string description: >- Refresh token obtained from a `registration_code` or `authorization_code` grant. token-response: type: object properties: access_token: type: string description: Access token to be used when calling the API. Valid for 12 hours. example: 01234567-89ab-cdef-0123-456789abcdef token_type: type: string description: Type of the token. example: bearer refresh_token: type: string description: > Refresh token used to obtain new user access tokens without requiring the user to re-authorise. Valid for up to 20 years. Only returned for user access token grant types (`registration_code`, `authorization_code`, `refresh_token`). example: 01234567-89ab-cdef-0123-456789abcdef expires_in: type: integer format: int32 description: Access token expiry time in seconds. example: 43199 expires_at: type: string description: Access token expiration timestamp (UTC). example: '2025-04-11T03:43:28.148Z' refresh_token_expires_in: type: integer format: int32 description: > Refresh token expiry time in seconds. Only returned for user access token grant types (`registration_code`, `authorization_code`, `refresh_token`). example: 628639555 refresh_token_expires_at: type: string description: > Refresh token expiration timestamp (UTC). Only returned for user access token grant types (`registration_code`, `authorization_code`, `refresh_token`). example: '2045-03-12T13:49:23.552Z' scope: type: string description: Scope of the token. example: transfers created_at: type: string description: > Token creation time in ISO 8601 format. Only returned for user access token grant types (`registration_code`, `authorization_code`, `refresh_token`). example: '2020-01-01T12:33:33.12345Z' ott-response: type: object properties: oneTimeTokenProperties: type: object description: Properties of the one time token. properties: oneTimeToken: type: string description: Unique identifier of a one time token. challenges: type: array description: Array of challenge objects. items: type: object description: >- Challenge object containing primary and alternative challenges. properties: primaryChallenge: type: object description: Type of challenge user can do. properties: type: type: string description: >- Type of the challenge (PIN, FACE_MAP, SMS, WHATSAPP, VOICE, PARTNER_DEVICE_FINGERPRINT). viewData: type: object description: >- An object that provides data required to present a challenge window. It can be messages, IDs, or other attributes. alternatives: type: array description: Alternative challenges that user can do instead. items: type: object required: type: boolean description: Required (or not) to pass the OTT. passed: type: boolean description: Status of this challenge. validity: type: integer format: int64 description: Seconds until the one time token becomes expired. actionType: type: string description: >- The action bound to the one time token. For example, `BALANCE__GET_STATEMENT` when we want to [retrieve a balance account statement](/api-reference/balance-statement/balancestatementget). userId: type: integer format: int64 description: Creator of this one time token. phone-number: title: Phone Number type: object properties: id: type: integer format: int64 description: ID of the phone number. example: 1230944 phoneNumber: type: string description: A text representation of phone number. example: '+6588888888' type: type: string description: | Type of phone number when used in authentication. Only **PRIMARY** is supported at the moment. example: PRIMARY verified: type: boolean description: Indicator if phone number is verified. example: true clientId: type: string description: Client ID of which this phone number belongs to. example: clientId case: type: object properties: id: type: integer format: int64 description: Partner Case ID. Generated by Wise. example: 123456789 status: type: string description: '[Status of the case](/api-reference/case#case-statuses).' enum: - CREATING - OPEN - PENDING - SOLVED - CLOSED example: PENDING type: type: string description: >- Type of the partner case. More case types will be added in the future. enum: - GENERAL_ENQUIRY example: GENERAL_ENQUIRY externalId: type: string description: >- An ID provided by the external partner for partner internal tracking. example: partner_12344567 createdAt: type: string format: date-time description: When the partner case was originally created. example: '2023-06-28T15:21:24.901' updatedAt: type: string format: date-time description: When the partner case was last updated. example: '2023-06-28T15:21:24.901' address: type: object description: Address associated with a profile. properties: id: type: integer format: int64 description: ID of the address. example: 36086782 addressFirstLine: type: string description: First line of the address. example: 24 Willow Creek Lane city: type: string description: City of the address. example: Bristol countryIso2Code: type: string description: Two-letter ISO country code. example: GB countryIso3Code: type: string description: Three-letter ISO country code. example: gbr postCode: type: string description: Postal code of the address. example: BS1 6AE stateCode: type: - string - 'null' description: State code of the address (can be null for some countries). example: null personal-profile: title: Personal Profile type: object required: - type properties: type: type: string description: Type of profile. enum: - PERSONAL example: PERSONAL id: type: integer format: int64 description: Unique identifier for the profile. example: 14575282 publicId: type: string description: Publicly accessible identifier for the profile. example: a1b2c3d4-e5f6-7890-1234-567890abcdef userId: type: integer format: int64 description: The ID of the user associated with this profile. example: 9889627 address: description: Main registered address of the profile. $ref: '#/components/schemas/address' email: type: string description: Primary email address for the profile. example: sarah.jenkins@example.com createdAt: type: string format: date-time description: Timestamp when the profile was created (ISO 8601 format). example: '2023-01-15T10:30:00' updatedAt: type: string format: date-time description: Timestamp when the profile was last updated (ISO 8601 format). example: '2025-06-18T14:20:00' avatar: type: - string - 'null' description: Link to person avatar image. example: null currentState: type: string description: Current status of this profile. enum: - HIDDEN - VISIBLE - DEACTIVATED example: VISIBLE contactDetails: type: object description: Contact information for the profile. properties: email: type: string description: Contact email address. example: sarah.contact@example.com phoneNumber: type: string description: Contact phone number. example: '+447700900123' firstName: type: string description: First name of the profile holder. example: Sarah lastName: type: string description: Last name of the profile holder. example: Jenkins preferredName: type: string description: Preferred name of the profile holder. example: Sal dateOfBirth: type: string description: Date of birth of the profile holder. example: '1985-05-20' phoneNumber: type: string description: Phone number of the profile holder. example: '+447700900456' secondaryAddresses: type: array description: An array of secondary addresses associated with the profile. items: $ref: '#/components/schemas/address' fullName: type: string description: Full name of the profile holder. example: Sarah Jenkins business-profile: title: Business Profile type: object required: - type properties: type: type: string description: Type of profile. enum: - BUSINESS example: BUSINESS id: type: integer format: int64 description: Unique identifier for the profile. example: 14599371 publicId: type: string description: Publicly accessible identifier for the profile. example: f0e9d8c7-b6a5-4321-fedc-ba9876543210 userId: type: integer format: int64 description: The ID of the user associated with this profile. example: 9889627 address: description: Main registered address of the business. $ref: '#/components/schemas/address' email: type: string description: Primary email address for the business. example: info@innovate-solutions.co.uk createdAt: type: string format: date-time description: Timestamp when the profile was created (ISO 8601 format). example: '2024-03-10T09:00:00' updatedAt: type: string format: date-time description: Timestamp when the profile was last updated (ISO 8601 format). example: '2025-06-18T14:22:00' currentState: type: string description: Current status of this profile. enum: - HIDDEN - VISIBLE - DEACTIVATED example: VISIBLE contactDetails: type: object description: Contact information for the business. properties: email: type: string description: Contact email address. example: contact@innovate-solutions.co.uk phoneNumber: type: string description: Contact phone number. example: '+441617891234' businessName: type: string description: Registered business name. example: Innovate Solutions Ltd registrationNumber: type: string description: Business registration number. example: SC1234567890ABCD descriptionOfBusiness: type: string description: Brief description of the business. example: SOFTWARE_DEVELOPMENT webpage: type: string description: Business website URL. example: https://www.innovate-solutions.co.uk companyType: type: string description: Type of company. example: LIMITED_COMPANY companyRole: type: string description: Role of the person managing the business profile. enum: - OWNER - DIRECTOR - OTHER example: OWNER businessFreeFormDescription: type: string description: Free-form description of the business activities. example: We create cutting-edge software for businesses. firstLevelCategory: type: string description: >- Primary [business category](/guides/developer/api-guides/business-categories). example: CONSULTING_IT_BUSINESS_SERVICES secondLevelCategory: type: string description: >- Secondary [business category](/guides/developer/api-guides/business-categories). example: IT_DEVELOPMENT operationalAddresses: type: array description: An array of operational addresses for the business. items: $ref: '#/components/schemas/address' fullName: type: string description: Full legal name of the business. example: Innovate Solutions Ltd profile: title: Profile x-tags: - profile description: > A profile represents an identity that can send and receive money through Wise. There are two types: **Personal** (an individual) and **Business** (a company). The fields returned vary depending on the profile type. discriminator: propertyName: type mapping: PERSONAL: '#/components/schemas/personal-profile' BUSINESS: '#/components/schemas/business-profile' oneOf: - $ref: '#/components/schemas/personal-profile' - $ref: '#/components/schemas/business-profile' director: type: object properties: id: type: integer format: int64 description: ID of the director. Automatically set. example: 10 firstName: type: string description: Director first name. example: John lastName: type: string description: Director last name. example: Doe dateOfBirth: type: string description: Date of birth. example: '1982-05-20' countryOfResidenceIso3Code: type: string description: 3 character country code. example: usa ubo: type: object properties: id: type: string description: ID of the ultimate beneficial owner. example: 013ab1c2688d0185b582ee7e0bcb28b2 name: type: string description: Owner full name. example: John Doe dateOfBirth: type: string description: Date of birth. example: '1982-05-20' countryOfResidenceIso3Code: type: string description: 3 character country code. example: usa addressFirstLine: type: string description: First line of address. example: 123 Fake St postCode: type: string description: Address post code. example: FK 12345 ownershipPercentage: type: - integer - 'null' format: int32 description: Percentage of ownership. example: 30 quote: type: object title: Quote x-tags: - quote properties: id: type: string format: uuid description: ID of this quote (GUID format). example: 11144c35-9fe8-4c32-b7fd-d05c2a7734bf sourceCurrency: type: string description: Source (sending) currency code. example: GBP targetCurrency: type: string description: Target (receive) currency code. example: USD sourceAmount: type: number description: Amount in source currency to send. example: 100 targetAmount: type: number description: Amount in target currency to be received by the recipient. example: 129.24 payOut: type: string description: >- Mechanism we use to deliver the transfer. Not usually of interest to the user. example: BANK_TRANSFER preferredPayIn: type: string description: Preferred pay-in method. example: BANK_TRANSFER rate: type: number description: Exchange rate value used for the conversion. example: 1.30445 createdTime: type: string format: date-time description: Quote created timestamp. example: '2019-04-05T13:18:58Z' user: type: integer format: int64 description: User ID who created the quote. example: 55 profile: type: integer format: int64 description: Personal or business profile ID. example: 101 rateType: type: string description: Whether the rate is fixed or floating. enum: - FIXED - FLOATING example: FIXED rateExpirationTime: type: string format: date-time description: Time the locked rate will expire. example: '2019-04-08T13:18:57Z' guaranteedTargetAmountAllowed: type: boolean description: Whether guaranteed target amount is allowed. example: true targetAmountAllowed: type: boolean description: Whether target amount is allowed. example: true guaranteedTargetAmount: type: boolean description: Whether the target amount is guaranteed. example: false providedAmountType: type: string description: Whether the quote was created as source or target. enum: - SOURCE - TARGET example: SOURCE pricingConfiguration: type: object description: >- Allows for pricing configurations to be overridden by partners on a transfer level. properties: fee: type: object properties: type: type: string description: >- Identifies the type of fee that will be configured. Options include only `OVERRIDE`. example: OVERRIDE variable: type: number description: >- The selected variable percentage (in decimal format) that should be used in the pricingConfiguration. example: 0.011 fixed: type: number description: >- The selected fixed fee (in source currency) that should be used in the pricingConfiguration. example: 15.42 paymentOptions: type: array description: List of the methods a user can pay for the transfer. items: type: object properties: disabled: type: boolean description: Whether this option is enabled or not for this quote. example: false estimatedDelivery: type: string format: date-time description: >- The estimated delivery time for this combination of payIn and payOut methods, assuming payIn is performed now. example: '2019-04-08T12:30:00Z' formattedEstimatedDelivery: type: string description: A string to display to users for the estimated delivery date. example: by Apr 8 estimatedDeliveryDelays: type: array description: Array of objects for delivery delays to display to users. items: type: object properties: reason: type: string description: Reason of the delivery delay. example: sample reason fee: type: object description: Object containing fee information. properties: transferwise: type: number description: >- The fee to be paid by the sender based on the current state of the quote. example: 3.04 payIn: type: number description: >- The fee for this payment option, based on the product type of the payment option. example: 0 discount: type: number description: >- Any discounts that have been applied to this quote for the user. example: 2.27 partner: type: number description: >- If you have agreed a custom price, it will be displayed here. example: 0 total: type: number description: >- The total fees to be paid - use this figure when displaying fees on your app. example: 0.77 price: type: object description: Object containing the price information. properties: priceSetId: type: integer format: int64 description: ID of the price structure. example: 238 total: type: object description: >- The total fees to be paid - use this figure when displaying fees on your app. properties: type: type: string description: Type of the pricing element. example: TOTAL label: type: string description: Short text describing the price structure. example: Total fees value: type: object description: Object containing value elements. properties: amount: type: number description: Amount to be paid. example: 0.77 currency: type: string description: Currency of the amount to be paid. example: GBP label: type: string description: Text version of the price. example: 0.77 GBP explanation: type: object description: Object element giving more details about the price. items: type: array description: >- Object containing the details of the different elements of the total price. items: type: object properties: id: type: string description: ID of this item. type: type: string description: >- Type of the pricing item. It could be `DISCOUNT` for example. example: FEE label: type: string description: Short text describing the pricing element. example: fee value: type: object description: Object containing value elements. properties: amount: type: number description: >- Amount associated to this pricing element. Can be negative for discounts. example: 0 currency: type: string description: Currency of the pricing element. example: GBP label: type: string description: >- Text field containing the price and its currency. example: 0 GBP explanation: type: object description: Additional information on a price breakdown item. properties: plainText: type: string description: Text element giving more details about the item. markdown: type: string description: Formatted textual information. deferredFee: type: object description: >- Deferred fee information from a pricingConfiguration override. properties: amount: type: number description: >- The amount of fees that has been deferred by a pricingConfiguration override. example: 14.79 currency: type: string description: The currency of the deferred fee amount. example: BRL calculatedOn: type: object properties: unroundedAmountToConvert: type: object description: >- The amount, unrounded, that fees were calculated on and built up from. properties: amount: type: number example: 179.97342 currency: type: string example: BRL sourceAmount: type: number description: sourceAmount when using this payment option. example: 100 targetAmount: type: number description: targetAmount when using this payment option. example: 129.24 sourceCurrency: type: string description: Source currency for this payment option. example: GBP targetCurrency: type: string description: Target currency for this payment option. example: USD payIn: type: string description: Type of pay in method for this payment option. example: BANK_TRANSFER payOut: type: string description: Type of pay out method for this payment option. example: BANK_TRANSFER allowedProfileTypes: type: array description: >- Array of the allowed types of profile to use this payment option. items: type: string enum: - PERSONAL - BUSINESS example: - PERSONAL - BUSINESS payInProduct: type: string description: Pay-in product type. example: CHEAP feePercentage: type: number description: Fee percentage for this payment option. example: 0.0092 disabledReason: type: object description: Object present if a payment option is disabled. properties: code: type: string description: Code to denote the reason a payment method is unavailable. message: type: string description: >- User friendly message to display when a method is unavailable. status: type: string description: Current status of this quote. enum: - PENDING - ACCEPTED - FUNDED - EXPIRED example: PENDING expirationTime: type: string format: date-time description: The time the quote expires. example: '2019-04-05T13:48:58Z' notices: type: array description: >- Array of messages to display to the user. May be empty (`[]`) if there are no messages. items: type: object properties: text: type: string description: The message to display. example: >- You can have a maximum of 3 open transfers with a guaranteed rate. After that, they'll be transferred using the live rate. Complete or cancel your other transfers to regain the use of guaranteed rate. link: type: - string - 'null' description: >- URL that provides more information to the message. May be `null` if there's no URL. example: null type: type: string description: >- Type of message. If it is `BLOCKED`, don't allow the quote to be used to create the transfer. enum: - WARNING - INFO - BLOCKED example: WARNING recipient-v1: type: object title: Recipient Account (v1) description: > Deprecated v1 recipient account object. For new integrations, use the v2 resource which includes additional fields such as `displayFields`, `accountSummary`, and `longAccountSummary`. properties: id: type: integer format: int64 description: Recipient account ID. example: 40000000 business: type: - integer - 'null' format: int64 description: Business profile ID (if applicable). example: null profile: type: integer format: int64 description: Personal or business profile ID. example: 30000000 accountHolderName: type: string description: Recipient full name. example: John Doe currency: type: string description: 3 character currency code. example: GBP country: type: string description: 2 character country code. example: GB type: type: string description: Recipient type. example: sort_code details: type: object description: >- Currency-specific fields. All possible fields are returned, with unused fields set to `null`. properties: legalType: type: string description: Recipient legal type. example: PRIVATE sortCode: type: string description: Recipient bank sort code (GBP example). example: '040075' accountNumber: type: string description: Recipient bank account number (GBP example). example: '37778842' additionalProperties: true user: type: integer format: int64 description: User that created or owns this recipient. example: 10000000 active: type: boolean description: Status of the recipient. example: true ownedByCustomer: type: boolean description: Whether this account is owned by the sending user. example: false confirmations: type: object description: Verification results for the recipient's details. properties: acceptedOutcomes: type: boolean example: false acceptedAt: type: - string - 'null' format: date-time example: null quoteId: type: - string - 'null' example: null outcomes: type: array items: type: object recipient-create-request: type: object description: > Create a recipient (beneficiary) account request for POST /v1/accounts. The required fields inside `details` depend on currency/route; use the account-requirements endpoints (e.g. /v1/quotes/{quoteId}/account-requirements) to discover the exact required fields. properties: currency: type: string description: 3 character currency code. example: GBP type: type: string description: >- Recipient account type (currency/route-specific), e.g. sort_code, iban, email. example: sort_code profile: type: integer format: int64 description: >- Personal or business profile ID of the sender. It is highly advised to pass the business profile ID in this field if your business account is managed by multiple users, so that the recipient can be accessed by all users authorized on the business account. example: 30000000 accountHolderName: type: string description: Recipient full name. example: John Doe ownedByCustomer: type: boolean description: > Indicates whether the recipient account is owned by the profile owner (self-transfer), such as a user sending money to their own account in another country or currency. Set to `true` for self-transfers. We strongly recommend setting this field, as distinguishing self-transfers from third-party transfers improves routing and processing efficiency. example: true details: type: object description: > Currency/route-specific recipient fields. Common examples include legalType, sortCode, accountNumber, email, dateOfBirth, etc. Use account-requirements APIs to determine what is required. properties: legalType: type: string description: Recipient legal type (when applicable). enum: - PRIVATE - BUSINESS example: PRIVATE sortCode: type: string description: Sort code (GBP example). example: '040075' accountNumber: type: string description: Account number (GBP example). example: '37778842' dateOfBirth: type: string description: >- Date of birth in ISO 8601 date format (Optional for GBP example). example: '1961-01-01' additionalProperties: true recipient: type: object title: Recipient Account x-tags: - recipient description: > The `accountSummary` and `longAccountSummary` fields can be used to represent the recipient's details in your UI. The `displayFields` array allows you to build a UI containing all the dynamic fields of a recipient individually. In order to use these fields, you would need to POST using the v1 endpoint to create the recipient account, and then GET using the v2 endpoint to retrieve these fields. The v2 resource also includes the `hash` field that can be used to track recipient details changes. This is useful for re-running any validation checks your system performs on the recipient, for example against fraud engines. The hash will remain constant unless the recipient's name or information in the `details` object changes. properties: id: type: integer format: int64 description: >- ID of the recipient. Use the returned id as `sourceAccount` to specify the refund recipient when creating transfers. example: 40000000 creatorId: type: integer format: int64 description: Account entity that owns the recipient account. example: 41000000 profileId: type: integer format: int64 description: Specific profile that owns the recipient account. example: 30000000 name: type: object description: Recipient name details. properties: fullName: type: string description: Recipient full name. example: John Doe givenName: type: - string - 'null' description: Recipient first name. example: null familyName: type: - string - 'null' description: Recipient surname. example: null middleName: type: - string - 'null' description: Recipient middle name. example: null patronymicName: type: - string - 'null' description: Recipient patronymic name (when applicable). example: null cannotHavePatronymicName: type: - boolean - 'null' description: >- Indicates if the recipient cannot have a patronymic name (when applicable). example: null currency: type: string description: 3 character currency code. example: GBP country: type: string description: 2 character country code. example: GB type: type: string description: Recipient type. example: SortCode legalEntityType: type: string description: Entity type of recipient. example: PERSON active: type: boolean description: Status of the recipient. example: true details: type: object description: >- Account details (currency/type-specific). The keys present vary by currency route and recipient type (e.g., sort code, IBAN, SWIFT, email). properties: reference: type: - string - 'null' description: Recipient reference (present for some routes). example: null sortCode: type: string description: Recipient bank sort code (GBP example). example: '040075' accountNumber: type: string description: Recipient bank account number (GBP example). example: '37778842' hashedByLooseHashAlgorithm: type: string description: Recipient account hash. example: ad245621b974efa3ef870895c3wer419a3f01af18a8a5790b47645dba6304194 additionalProperties: true commonFieldMap: type: object description: Map of key lookup fields on the account. example: accountNumberField: accountNumber bankCodeField: sortCode hash: type: string description: Account hash for change tracking. example: 666ef880f8aa6113fa112ba6531d3ed2c26dd9fgbd7de5136bfb827a6e800479 accountSummary: type: string description: Summary of account details for ease of lookup. example: (04-00-75) 37778842 longAccountSummary: type: string description: Account details summary. example: GBP account ending in 8842 displayFields: type: array description: Lookup fields (key/label/value) for rendering a UI. items: type: object properties: key: type: string description: Account identifier key name. label: type: string description: Account identifier display label. value: type: string description: Account identifier value. example: - key: details/sortCode label: UK sort code value: 04-00-75 - key: details/accountNumber label: Account number value: '37778842' isInternal: type: boolean description: Indicates whether recipient is internal. example: false ownedByCustomer: type: boolean description: If recipient account belongs to profile owner. example: false confirmations: type: object description: > Verification results for the recipient's details. Only populated for currencies with recipient verification enabled (KRW, INR, IDR, EUR). See the [Verifying Recipient Details](/guides/developer/api-guides/recipient-verification) guide for how to handle these. properties: acceptedOutcomes: type: boolean description: Whether we've received an explicit customer acceptance. example: false acceptedAt: type: - string - 'null' format: date-time description: >- Timestamp indicating time of outcome acceptance, `null` if has not been accepted. example: null quoteId: type: - string - 'null' description: >- If the confirmation check was run as part of a quote compatibility check, then the `quoteId` will be on the result. If `quoteId` is present, then the outcome acceptance will need the `quoteId` to be specified as well. example: null outcomes: type: array description: >- Array of confirmation outcomes. At the moment it is safe to assume that there is only one element in the outcomes list. items: type: object properties: type: type: string description: >- The type of confirmation. Possible values: `ACCOUNT_EXISTENCE`, `NAME_MATCHING`, `NAME_RESOLUTION`. example: NAME_MATCHING timestamp: type: string format: date-time description: Timestamp of when the confirmation check was performed. example: '2024-11-11T23:58:11.105916743Z' outcome: type: string description: >- The actual outcome of the confirmation. Possible values: `SUCCESS`, `PARTIAL_FAILURE`, `FAILURE`, `COULD_NOT_CHECK`. example: PARTIAL_FAILURE requiresCustomerAcceptance: type: boolean description: >- Whether we require customer acceptance. Whether this value is true or false is dependent on the currency and the nature of the confirmation. example: true fieldsChecked: type: array description: Fields we used to confirm the account. items: type: string example: - name/fullName - details/accountNumber providedName: type: string description: >- The name that the customer provided when creating the recipient account. Only populated for NAME_MATCHING and NAME_RESOLUTION types for certain outcomes. example: John Doe resolvedName: type: string description: >- The name that we resolved during name matching or name resolution. example: Joe Doe message: type: string description: Customer facing message about the outcome of the check. example: >- The name entered is slightly different to the name on the account. recommendedUpdates: type: array description: >- Shows what are the correct values for some of the fields we've checked. items: type: object properties: path: type: string description: The field path to update. example: name/fullName value: type: string description: The recommended value for the field. example: Joe Doe account-requirements-response: type: array description: > Dynamic account-requirements response used to build recipient forms. The structure and the fields returned vary by currency, recipient type, route, and sometimes previously provided inputs. Treat this as a schema for a dynamically generated form definition rather than a fixed set of recipient fields. items: type: object description: A requirement group for a specific payout method / route. properties: type: type: string description: Requirement group identifier (route/payout-method specific). example: south_korean_paygate title: type: string description: Human-readable title for the requirement group. example: PayGate usageInfo: type: string description: Optional usage/help text. example: null fields: type: array description: List of UI field groups to collect required data. items: type: object description: Group of related fields shown together in UI. properties: name: type: string description: Display name of this group. example: E-mail group: type: array description: The actual fields within this group. items: type: object description: A single field descriptor. properties: key: type: string description: >- Key to include in JSON when submitting recipient details. example: email name: type: string description: Human-readable label. example: E-mail type: type: string description: UI field type. example: text refreshRequirementsOnChange: type: boolean description: > If true, changing this field can alter requirements; call the POST account-requirements endpoint with updated data to refresh requirements. example: false required: type: boolean description: Indicates whether this field is mandatory. example: true displayFormat: type: string description: Optional display formatting hint. example: null example: type: string description: Example value for the field (may be empty string). example: example@example.ex minLength: type: integer description: Minimum allowed length, when applicable. example: null maxLength: type: integer description: Maximum allowed length, when applicable. example: null validationRegexp: type: string description: Regex pattern for validation, when applicable. example: ^[^\s]+@[^\s]+\.[^\s]{2,}$ validationAsync: type: string deprecated: true description: >- Deprecated. This validation will instead be performed when submitting the request. example: null valuesAllowed: type: - array - 'null' description: >- Allowed values for select/radio inputs; null for free-text/date inputs. items: type: object properties: key: type: string description: Machine-readable value. example: PRIVATE name: type: string description: Human-readable value label. example: Person example: - type: south_korean_paygate title: PayGate usageInfo: null fields: - name: E-mail group: - key: email name: E-mail type: text refreshRequirementsOnChange: false required: true displayFormat: null example: example@example.ex minLength: null maxLength: null validationRegexp: ^[^\s]+@[^\s]+\.[^\s]{2,}$ validationAsync: null valuesAllowed: null - name: Recipient type group: - key: legalType name: Recipient type type: select refreshRequirementsOnChange: false required: true displayFormat: null example: '' minLength: null maxLength: null validationRegexp: null validationAsync: null valuesAllowed: - key: PRIVATE name: Person - name: Full Name group: - key: accountHolderName name: Full Name type: text refreshRequirementsOnChange: false required: true displayFormat: null example: '' minLength: 2 maxLength: 140 validationRegexp: ^[0-9A-Za-zÀ-ÖØ-öø-ÿ-_()'*,.%#^@{}~<>+$"\[\]\\ ]+$ validationAsync: null valuesAllowed: null - name: Recipient's Date of Birth group: - key: dateOfBirth name: Recipient's Date of Birth type: date refreshRequirementsOnChange: false required: true displayFormat: null example: '' minLength: null maxLength: null validationRegexp: ^\d{4}\-\d{2}\-\d{2}$ validationAsync: null valuesAllowed: null - name: Recipient Bank Name group: - key: bankCode name: Recipient Bank Name type: select refreshRequirementsOnChange: false required: true displayFormat: null example: Choose recipient bank minLength: null maxLength: null validationRegexp: null validationAsync: null valuesAllowed: - key: '' name: Choose recipient bank - key: '004' name: Example Bank A - key: '011' name: Example Bank B - name: Account number (KRW accounts only) group: - key: accountNumber name: Account number (KRW accounts only) type: text refreshRequirementsOnChange: false required: true displayFormat: null example: '1254693521232' minLength: 10 maxLength: 16 validationRegexp: null validationAsync: null valuesAllowed: null confirmations: type: object description: > Verification results for the recipient's details. Only populated for currencies with recipient verification enabled (KRW, INR, IDR, EUR). See the [Verifying Recipient Details](/guides/developer/api-guides/recipient-verification) guide for how to handle these. properties: acceptedOutcomes: type: boolean description: Whether we've received an explicit customer acceptance. example: false acceptedAt: type: - string - 'null' format: date-time description: >- Timestamp indicating time of outcome acceptance, `null` if has not been accepted. example: null quoteId: type: - string - 'null' description: >- If the confirmation check was run as part of a quote compatibility check, then the `quoteId` will be on the result. If `quoteId` is present, then the outcome acceptance will need the `quoteId` to be specified as well. example: null outcomes: type: array description: >- Array of confirmation outcomes. At the moment it is safe to assume that there is only one element in the outcomes list. items: type: object properties: type: type: string description: >- The type of confirmation. Possible values: `ACCOUNT_EXISTENCE`, `NAME_MATCHING`, `NAME_RESOLUTION`. example: NAME_MATCHING timestamp: type: string format: date-time description: Timestamp of when the confirmation check was performed. example: '2024-11-11T23:58:11.105916743Z' outcome: type: string description: >- The actual outcome of the confirmation. Possible values: `SUCCESS`, `PARTIAL_FAILURE`, `FAILURE`, `COULD_NOT_CHECK`. example: PARTIAL_FAILURE requiresCustomerAcceptance: type: boolean description: >- Whether we require customer acceptance. Whether this value is true or false is dependent on the currency and the nature of the confirmation. example: true fieldsChecked: type: array description: Fields we used to confirm the account. items: type: string example: - name/fullName - details/accountNumber providedName: type: string description: >- The name that the customer provided when creating the recipient account. Only populated for NAME_MATCHING and NAME_RESOLUTION types for certain outcomes. example: John Doe resolvedName: type: string description: >- The name that we resolved during name matching or name resolution. example: Joe Doe message: type: string description: Customer facing message about the outcome of the check. example: >- The name entered is slightly different to the name on the account. recommendedUpdates: type: array description: >- Shows what are the correct values for some of the fields we've checked. items: type: object properties: path: type: string description: The field path to update. example: name/fullName value: type: string description: The recommended value for the field. example: Joe Doe rule: title: Authorisation Rule x-tags: - spend-controls type: object properties: id: type: integer format: int64 description: The unique ID for the authorisation rule. type: type: string enum: - MCC - CURRENCY description: The type of authorisation rule. operation: type: string enum: - ALLOW - BLOCK description: Determines whether the transactions should be allowed or blocked. description: type: string description: The description of the authorisation rule. values: type: array items: type: string description: A list of values based on the `type` of rule configured. example: id: 123 description: my authorisation rule type: MCC operation: BLOCK values: - '1234' - '5678' profile-limits: title: Profile Limits x-tags: - spend-limits type: object properties: type: type: string enum: - PURCHASE - ATM_WITHDRAWAL description: > The type of transaction. `PURCHASE` is a combined limit that applies to contactless, magnetic, online purchase, chip and PIN/mobile wallet transactions. aggregateWindow: type: object properties: daily: type: object properties: value: type: object description: >- Daily limit. The value should be between 0 and the max allowed. properties: amount: type: number example: 20000 currency: type: string example: GBP usage: type: object description: The total authorised amount to date. properties: amount: type: number example: 0 currency: type: string example: GBP max: type: object description: >- The max allowed limit for [daily](https://wise.com/help/articles/2899986/what-are-my-spending-limits). properties: amount: type: number example: 30000 currency: type: string example: GBP resetAt: type: string format: date-time description: >- The time when the limit gets reset. ISO-8601 timestamp with timezone. example: '2023-07-31T22:59:59.999999999Z' monthly: type: object properties: value: type: object description: >- Monthly limit. The value should be between 0 and the max allowed. properties: amount: type: number example: 20000 currency: type: string example: GBP usage: type: object description: The total authorised amount to date. properties: amount: type: number example: 0 currency: type: string example: GBP max: type: object description: >- The max allowed limit for [monthly](https://wise.com/help/articles/2899986/what-are-my-spending-limits). properties: amount: type: number example: 30000 currency: type: string example: GBP resetAt: type: string format: date-time description: >- The time when the limit gets reset. ISO-8601 timestamp with timezone. example: '2023-07-31T22:59:59.999999999Z' card-limits: title: Card Limits x-tags: - spend-limits type: object properties: transaction: type: - object - 'null' properties: value: type: object description: Transaction limit. properties: amount: type: number example: 100 currency: type: string example: GBP usage: type: object description: The total authorised amount. Always 0 for transaction limit. properties: amount: type: number example: 0 currency: type: string example: GBP resetAt: type: - string - 'null' format: date-time description: The time when the limit gets reset. Null for transaction limit. example: null daily: type: - object - 'null' properties: value: type: object description: Daily limit. properties: amount: type: number example: 2000 currency: type: string example: GBP usage: type: object description: The total authorised amount during the daily window. properties: amount: type: number example: 100 currency: type: string example: GBP resetAt: type: - string - 'null' format: date-time description: >- The time when the limit gets reset. ISO-8601 timestamp with timezone. example: '2023-09-29T22:59:59.999999999Z' monthly: type: - object - 'null' properties: value: type: object description: Monthly limit. properties: amount: type: number example: 3000 currency: type: string example: GBP usage: type: object description: The total authorised amount during the monthly window. properties: amount: type: number example: 100 currency: type: string example: GBP resetAt: type: - string - 'null' format: date-time description: >- The time when the limit gets reset. ISO-8601 timestamp with timezone. example: '2023-09-30T22:59:59.999999999Z' lifetime: type: - object - 'null' properties: value: type: object description: Lifetime limit. properties: amount: type: number example: 5000 currency: type: string example: GBP usage: type: object description: The total authorised amount over the lifetime of the card. properties: amount: type: number example: 100 currency: type: string example: GBP resetAt: type: - string - 'null' format: date-time description: The time when the limit gets reset. Null for lifetime limit. example: null one-time-token: title: One-Time Token x-tags: - sca-ott type: object description: > A one-time token is generated when accessing an endpoint secured by SCA. This token includes a list of all available challenges to complete. You can use the [OTT status endpoint](/api-reference/sca-ott/ottstatusget) to view challenges and their statuses, or use [create SCA session](/api-reference/sca-sessions/scasessioncreate) to manually trigger SCA and return a one-time token. properties: oneTimeToken: type: string format: uuid description: A one-time token unique identifier. example: 5932d5b5-ec13-452f-8688-308feade7834 challenges: type: array description: An array of challenges. items: type: object properties: primaryChallenge: type: object properties: type: type: string description: A type of challenge. example: PIN passed: type: boolean description: The status of a challenge. example: false validity: type: integer description: The One-Time Token expiration in seconds. example: 3600 transfer: title: Standard Transfer x-tags: - transfer type: object properties: id: type: integer format: int64 description: Transfer ID example: 16521632 user: type: integer format: int64 description: Your user ID example: 4342275 targetAccount: type: integer format: int64 description: Recipient account ID example: 8692237 sourceAccount: type: - integer - 'null' format: int64 description: Refund recipient account ID example: null quote: type: - integer - 'null' format: int64 description: V1 quote ID example: null quoteUuid: type: string format: uuid description: V2 quote ID example: 8fa9be20-ba43-4b15-abbb-9424e1481050 status: type: string description: >- Transfer current status. See [Tracking Transfers](/guides/product/send-money/tracking-transfers) for all possible statuses. example: incoming_payment_waiting reference: type: string description: Deprecated, use `details.reference` instead deprecated: true example: reference text rate: type: number description: Exchange rate value example: 0.89 created: type: string format: date-time description: Timestamp when transfer was created example: '2017-11-24 10:47:49' business: type: - integer - 'null' format: int64 description: Your business profile ID example: null transferRequest: type: - integer - 'null' description: Deprecated deprecated: true example: null details: type: object properties: reference: type: string description: Payment reference text example: Testing hasActiveIssues: type: boolean description: Are there any pending issues which stop executing the transfer? example: false sourceCurrency: type: string description: Source currency code example: EUR sourceValue: type: number description: Transfer amount in source currency example: 0 targetCurrency: type: string description: Target currency code example: GBP targetValue: type: number description: Transfer amount in target currency example: 150 customerTransactionId: type: string format: uuid description: >- Unique identifier randomly generated per transfer request by the calling client example: 54a6bc09-cef9-49a8-9041-f1f0c654cd88 payinSessionId: type: string format: uuid description: >- ID of the Payin Session generated for the transfer, which can be used for certain payin methods when funding the transfer example: 23330542-8e9e-419f-95eb-312b880f92ad originator-transfer: title: Originator Transfer x-tags: - transfer type: object properties: id: type: integer format: int64 description: Transfer ID example: 16521632 user: type: integer format: int64 description: Your user ID example: 4342275 targetAccount: type: integer format: int64 description: Recipient account ID example: 8692237 sourceAccount: type: - integer - 'null' format: int64 description: Refund recipient account ID example: null quote: type: string description: Quote ID example: 8fa9be20-ba43-4b15-abbb-9424e1481050 status: type: string description: >- Transfer current status. See [Tracking Transfers](/guides/product/send-money/tracking-transfers) for all possible statuses. example: cancelled reference: type: string description: Deprecated, use `details.reference` instead deprecated: true example: reference text rate: type: number description: Exchange rate value example: 0.89 created: type: string format: date-time description: Timestamp when transfer was created example: '2025-10-29T12:28:16.000Z' business: type: - integer - 'null' format: int64 description: Your business profile ID example: null transferRequest: type: - integer - 'null' description: Deprecated deprecated: true example: null details: type: object properties: reference: type: string description: Payment reference text example: Testing originator: type: object description: Data block to capture payment originator details properties: legalEntityType: type: string enum: - PRIVATE - BUSINESS description: Payment originator legal type example: PRIVATE reference: type: string description: Unique customer ID in your system example: CST-2991992 name: type: object properties: givenName: type: string description: Payment originator first name example: John middleNames: type: array items: type: string description: Payment originator middle name(s) example: - Ryan familyName: type: string description: Payment originator family name example: Godspeed patronymicName: type: - string - 'null' description: Payment originator patronymic name example: null fullName: type: string description: Payment originator full legal name example: John Godspeed dateOfBirth: type: string format: date description: Payment originator date of birth example: '1977-07-01' businessRegistrationCode: type: - string - 'null' description: Payment originator business registry or incorporation number example: null address: type: object properties: firstLine: type: string description: Payment originator address first line example: Salu tee 14 city: type: string description: Payment originator address city example: Tallinn stateCode: type: - string - 'null' description: Payment originator address state code example: null countryCode: type: string description: Payment originator address country code ISO 3166-1 alpha-2 example: EE postCode: type: string description: Payment originator address zip code example: '12112' accountDetails: type: string description: Originator account number example: '23456789' hasActiveIssues: type: boolean description: Are there any pending issues which stop executing the transfer? example: false sourceCurrency: type: string description: Source currency code example: EUR sourceValue: type: number description: Transfer amount in source currency example: 0 targetCurrency: type: string description: Target currency code example: GBP targetValue: type: number description: Transfer amount in target currency example: 150 originalTransferId: type: string description: >- Unique identifier randomly generated per transfer request by the calling client example: 54a6bc09-cef9-49a8-9041-f1f0c654cd88 payinSessionId: type: string format: uuid description: >- ID of the Payin Session generated for the transfer, which can be used for certain payin methods when funding the transfer example: 23330542-8e9e-419f-95eb-312b880f92ad transfer-requirement: title: Transfer Requirement type: object properties: type: type: string description: Resource type example: transfer fields: type: array items: type: object properties: name: type: string description: Field description group: type: array items: type: object properties: key: type: string description: Name of the field to include in the JSON name: type: string description: Field description type: type: string description: Display type of field (e.g. text, select) refreshRequirementsOnChange: type: boolean description: >- Whether to call POST transfer-requirements again once the field value is set to discover required lower level fields required: type: boolean description: Indicates if the field is mandatory displayFormat: type: - string - 'null' description: Display format pattern example: type: - string - 'null' description: Example value minLength: type: - integer - 'null' format: int32 description: Minimum valid length of field value maxLength: type: - integer - 'null' format: int32 description: Maximum valid length of field value validationRegexp: type: - string - 'null' description: Regexp validation pattern validationAsync: type: - string - 'null' description: >- Deprecated. This validation will instead be performed when submitting the request deprecated: true valuesAllowed: type: - array - 'null' description: List of allowed values items: type: object properties: key: type: string description: Value key name: type: string description: Value name payment: title: Payment type: object properties: id: type: integer format: int64 description: Payment ID example: 50000000 method: type: string description: The payment method used to pay for the transfer example: BANK_TRANSFER pricingVariant: type: - string - 'null' description: >- The qualifier that allows to apply different pricing policy within the same payment method. Often the value might be the payment method itself example: null amount: type: number description: Transfer source amount example: 1000 currency: type: string description: Transfer source currency example: GBP timeCreated: type: string format: date-time description: Date of when payment was created example: '2020-01-01T12:30:15.000Z' timeUpdated: type: string format: date-time description: Date of when payment was updated example: '2020-01-01T12:30:15.000Z' user: title: User type: object x-tags: - user description: Represents a Wise user account. properties: id: type: integer format: int64 description: User ID. example: 101 name: type: - string - 'null' description: User's full name. example: Example Person email: type: string description: User's email. example: person@example.com active: type: boolean description: If user is active or not. example: true details: type: - object - 'null' description: User details. properties: firstName: type: string description: User's first name. example: Example lastName: type: string description: User's last name. example: Person phoneNumber: type: string description: Phone number. example: '+37111111111' dateOfBirth: type: string format: date description: Date of birth (YYYY-MM-DD). example: '1977-01-01' occupation: type: string description: Person's occupation. example: '' avatar: type: string description: Link to person avatar image. example: https://lh6.googleusercontent.com/photo.jpg primaryAddress: type: integer format: int64 description: Address object ID to use in addresses endpoints. example: 111 address: type: object description: User's address. properties: countryCode: type: string description: Address country code in 2 digits. "US" for example. example: EE firstLine: type: string description: Address first line. example: Road 123 postCode: type: string description: Address post code. example: '11111' city: type: string description: Address city name. example: Tallinn state: type: string description: >- Address state code. Required if country is US, CA, AU, or BR. example: '' occupation: type: string description: User occupation. Required for US, CA, JP. example: '' subscription: title: Subscription type: object properties: id: type: string format: uuid description: UUID that uniquely identifies the subscription. example: 72195556-e5cb-495e-a010-b37a4f2a3043 name: type: string description: A custom name for your webhook to ease with identification. example: 'Webhook Subscription #1' trigger_on: type: string description: > The event type this subscription is listening for. [List of available events](/guides/developer/webhooks/event-types). example: transfers#state-change delivery: type: object properties: version: type: string description: The event representation semantic version. example: 4.0.0 url: type: string description: The URL where your server will be listening for events. example: https://your.webhook.url/12345 scope: type: object properties: domain: type: string description: Scope of this subscription (e.g. "application" or "profile"). example: application id: type: string description: ID associated with the scope (client key or profile ID). example: