---
title: "Redeem a transfer token"
method: POST
path: "/transfers"
tags: ["Transfers - for Payments v1"]
---

# Redeem a transfer token

`POST /transfers`

The `POST /transfers` endpoint is only required when you explicitly redeem the request token, <i>i.e.</i>, auto-redeem is not enabled.

## Request body

- CreateTransferRequest
  - `payload` TransferPayloadRequest, required — Contains the financial details of the transfer.
    - `amount` object — The balance currency and value.
      - `currency` string — The <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank">ISO 4217</a> three letter currency code.
      - `value` string — The transaction amount with up to four digits after the decimal point.
    - `confirmFunds` boolean — Requests confirmation that sufficient funds are available.
    - `description` string — A description of the transfer.<br/>**Warning**: If the description in a subsequent token request for lookups/changes/updates (retrieve, redeem, or cancel) doesn't match the description in the originating token request, an exception will be thrown.
    - `metadata` Metadata — Information governing or otherwise related to the transfer instructions.
      - `chargeBearer` 'INVALID_CHARGE_BEARER' | 'CRED' | 'DEBT' | 'SHAR' | 'SLEV' — The bearer of the charge, if any, for international transfers. <ul><li><b>CRED</b> - all charges are borne by the creditor.</li> <li><b>DEBT</b> - all charges are borne by the debtor.</li> <li><b>SHAR</b> - the parties share the charges.</li> <li><b>SLEV</b> - each party bears its own charges, recommended on SEPA payments.</li></ul>
      - `providerTransferMetadata` union — The transfer metadata required under the Open Banking API standard adopted by the bank.
        - object
          - `cma9TransferMetadata` Cma9TransferMetadata — Transfer metadata required under the <a href=https://openbanking.atlassian.net/wiki/spaces/DZ/pages/937656404/Read+Write+Data+API+Specification+-+v3.1 target="_blank">CMA9 API standard</a>.
            - `endToEndIdentification` string — A short reference field to share an invoice or receipt number for your records; this reference is important to the debtor (this could be an internal reference id against the transaction) but it Is NOT the reference information that will be primarily populated on the statement of the creditor (beneficiary).
            - `instructionIdentification` string — The TPP-generated, unique transaction id passed to the bank (mandatory) but does not have to go any further in the payment flow. The expectation is that this is unique indefinitely across all time periods by including a date or date time element to the field, or by inserting a unique id.
            - `risk` Cma9Risk — This object specifies additional details for risk scoring of payments.
              - …
        - object
          - `nextGenPsd2TransferMetadata` NextGenPsd2TransferMetadata — The transfer metadata required under the <a href="https://www.berlin-group.org/nextgenpsd2-downloads" target="_blank">NextGenPSD2 standard</a>.
            - `creditorAgent` string — A unique and unambiguous identifier for a financial institution, as assigned under an internationally recognised or proprietary identification scheme.
            - `creditorAgentName` string — The name of the financial institution servicing an account for the creditor.
            - `endToEndIdentification` string — The unique identifier assigned by the initiating party to unambiguously identify the transaction; this identification is passed on, unchanged, throughout the entire end-to-end chain.
            - `remittanceInformationStructured` string — The information supplied to enable matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts receivable system.
        - object
          - `polishApiTransferMetadata` PolishApiTransferMetadata — Transfer metadata required under the <a href="https://polishapi.org/en/dokumentacja-standardu/" target="blank">Polish API standard</a>.
            - `deliveryMode` 'INVALID_DELIVERY_MODE' | 'STANDARD_D2' | 'STANDARD_D1' | 'URGENT_D1' | 'EXPRESS_D0' — The urgency classification for delivery.
            - `hold` boolean — Indicates whether payment should be held until confirmation of delivery.
        - object
          - `stetTransferMetadata` StetTransferMetadata — Transfer metadata required under the <a href="https://www.stet.eu/en/psd2/" target="_blank">French PSD2 API standard</a>.
            - `beneficiary` StetBeneficiary — The creditor or payee receiving the transfer.
              - …
            - `debtorAgent` StetFinancialInstitutionIdentification — The unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.
              - …
            - `endToEndId` string — The unique identification assigned by the initiating party to unambiguously identify the transaction, which is passed on, unchanged, throughout the entire end-to-end chain.
            - `executionRule` string — The execution date-shifting rule when a recurring payment date falls on a weekend or bank holiday; payment is then executed either the "preceding" or "following" working day in accordance with bank policy.
            - `paymentTypeInformation` StetPaymentTypeInformation — A set of elements used to further specify the type of transaction.
              - …
            - `regulatoryReportingCodes` StetRegulatoryReportingCodes — Contains the list of needed regulatory reporting codes for international payments.
              - …
      - `purposeCode` 'CASH' | 'CORT' | 'DVPM' | 'INTC' | 'TREA' | 'SUPP' — The <a href="https://www.iso.org/standard/55005.html" target="_blank">ISO 20022</a> external purpose code. Purpose Codes are four letter codes which are carried across the payment chain, providing information to all users in the payments chain to indicate the reason a payment is being made. Purpose Codes are one of the policy areas of Enhanced Data that can deliver the benefits of the ISO 20022 payment messaging standard. <ul><li><b>CASH</b> - CashManagementTransfer</li><li><b>CORT</b> - TradeSettlementPayment</li><li><b>DVPM</b> - DeliveryAgainstPayment</li><li><b>INTC</b> - IntraCompanyPayment</li><li><b>TREA</b> - TreasuryPayment</li><li><b>SUPP</b> - SupplierPayment</li></ul>
      - `ultimateCreditor` string — The ultimate party to which an amount of money is due.
      - `ultimateDebtor` string — The ultimate party that owes that owes money to the (ultimate) creditor.
    - `refId` string — The TPP-generated reference identifier for the token. This is not to be confused with the `requestId`. The `refId` maps to the `tppRefId` in the bank's `consentRequest`. This is needed to match/verify the originating token request with the bank's consent request. <br/>We recommend that the `refId` should not contain special characters (the allowed characters are the 26-letter Latin alphabet, the numerical digits from 0-9 and the hyphen '-'). This field should not exceed 18 characters in length.
    - `tokenId` string, required — Identifies the authorization token for the transfer.
    - `transferDestinations` TransferDestinationRequest[] — The beneficiary account specifying the transfer destination; <i>i.e.</i>, TPP/merchant/creditor.
      - union — The beneficiary account specifying the transfer destination, <i>i.e.</i> TPP/merchant/creditor bank.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `sepa` TransferDestinationSepa, required — SEPA account details where the iban is required and the bic is optional.
            - `iban` string, required — The International Bank Account Number, used when sending interbank transfers or wiring money from one bank to another, especially across international borders. It consists of a two-letter country code followed by two check digits and up to thirty-five alphanumeric characters.
            - `bic` string — The Business Identifier Code (BIC), <a href="https://www.iso.org/standard/84108.html" target="_blank">ISO 9362</a>, is the address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs can be either 8 or 11 characters long.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `sepaInstant` TransferDestinationSepaInstant, required — SEPA Instant account details where the iban is required and the bic is optional.
            - `iban` string, required — The International Bank Account Number, used when sending interbank transfers or wiring money from one bank to another, especially across international borders. It consists of a two-letter country code followed by two check digits and up to thirty-five alphanumeric characters.
            - `bic` string — The Business Identifier Code (BIC), <a href="https://www.iso.org/standard/84108.html" target="_blank">ISO 9362</a>, is the address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs can be either 8 or 11 characters long.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `fasterPayments` TransferDestinationFasterPayments, required — A UK or Irish account where the sort code and account number are required.
            - `accountNumber` string, required — The unique identifier for the bank account in the UK or Ireland.
            - `sortCode` string, required — The number assigned to a branch of a bank, typically containing six digits and most commonly used in the UK and Ireland.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `elixir` TransferDestinationElixir, required — The interbank payment system in Poland.
            - `accountNumber` string, required — The payee's Elixir-registered bank account number. You can also enter the iban in this field for iban accounts.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `euDomesticNonEuro` union, required — The payment system within a country using that country's non-Euro domestic currency. An IBAN account will require an `iban` and an optional `bic`, a BBAN account will require a `bban` and an optional `bic`, a Clearing Number account will require a `bban` and a `clearingNumber`. A SENoBankId account, where the currency is SEK or NOK, will require an `iban` and `bban` with an optional `bic` and/or `clearingNumber`. This option is only available for an HP flow that doesn't have a preselected `bankId`.
            - EUIbanAccount — Account details where the iban is required and the bic is optional.
              - …
            - BbanAccount — Account details where the bban is required and the bic is optional.
              - …
            - ClearingNumberAccount — Account details where the bban is required and the clearing number is optional.
              - …
            - SENoBankIdAccount — Account details where the iban and bban are required and the bic and clearing number are optional. This is ONLY allowed for an HP flow if there is no `bankId` provided in the initiation AND the currency is SEK or NOK.
              - …
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `euDomesticNonEuroInstant` union, required — The instant payment system within a country using that country's non-Euro domestic currency. An IBAN account will require an `iban` and an optional `bic`, a BBAN account will require a `bban` and an optional `bic`, a Clearing Number account will require a `bban` and a `clearingNumber`. A SENoBankId account, where the currency is SEK or NOK, will require an `iban` and `bban` with an optional `bic` and/or `clearingNumber`. This option is only available for an HP flow that doesn't have a preselected `bankId`.
            - EUIbanAccount — Account details where the iban is required and the bic is optional.
              - …
            - BbanAccount — Account details where the bban is required and the bic is optional.
              - …
            - ClearingNumberAccount — Account details where the bban is required and the clearing number is optional.
              - …
            - SENoBankIdAccount — Account details where the iban and bban are required and the bic and clearing number are optional. This is ONLY allowed for an HP flow if there is no `bankId` provided in the initiation AND the currency is SEK or NOK.
              - …
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `bankgiro` TransferDestinationBankgiro, required — Account details where the bankgiroNumber is required and the bic is optional.
            - `bankgiroNumber` string, required — The unique identifier for the bank account in Sweden (known in Swedish as Bankgironummer), it consists of 7 or 8 digits.
            - `bic` string — The Business Identifier Code (BIC), <a href="https://www.iso.org/standard/84108.html" target="_blank">ISO 9362</a>, is the address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs can be either 8 or 11 characters long.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `plusgiro` TransferDestinationPlusgiro, required — Account details where the plusgiroNumber is required and the bic is optional.
            - `plusgiroNumber` string, required — The unique identifier for the Swedish money transaction system owned by <a href="https://www.nordea.com" target="blank">Nordea</a>.
            - `bic` string — The Business Identifier Code (BIC), <a href="https://www.iso.org/standard/84108.html" target="_blank">ISO 9362</a>, is the SWIFT Address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs are often called SWIFT Codes and can be either 8 or 11 characters long."
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `token` TransferDestinationToken — The primary account number. The cCard identifier found on payment cards, such as credit and debit cards, as well as stored-value cards, gift cards and other similar cards, somtimes referred to as a bank card number.
            - `accountId` string — The bank account identifier for a linked account used by Token.io's Bank Integration Account Linking Service.
            - `memberId` string — The Token.io-generated member id for the user/account holder.
        - object
          - `customerData` CustomerData, required — Specifies the legal identity information for the account. This information is not required for settlement accounts.
            - `address` AddressInfo — The complete postal address of a party.
              - …
            - `legalNames` string[] — The legal owner name for the account.
          - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
          - `virtualAccount` TransferDestinationVirtualAccount, required — The details of the transfer destination for the settlement account. This destination is mandatory for unregulated TPPs.
            - `id` string, required — The unique identifier for the settlement account.
            - `localInstrument` 'SEPA' | 'SEPA_INSTANT' | 'FASTER_PAYMENTS', required — The bank's payment service used to make the payment.

## Response `200`

Successful response

- CreateTransferResponse
  - `authorizationDetails` ExternalAuthorizationDetails — Contains the external authorization details provided by the bank.
    - `authorizationUrl` string — Content displayed from this URL prompts the user for permission to initiate the standing order.
  - `transfer` Transfer — Information about each respective transfer record requested.
    - `actingAs` ActingAs — Specifies another party for whom the token was created 'on behalf of'.
      - `displayName` string — The name of the recipient shown to the user; required when specifying `actingAs`, optional otherwise.
      - `refId` string — The TPP-generated reference identifier for the token. This is not to be confused with the `requestId`. The `refId` maps to the `tppRefId` in the bank's `consentRequest`. This is needed to match/verify the originating token request with the bank's consent request. <br/>We recommend that the `refId` should not contain special characters (the allowed characters are the 26-letter Latin alphabet, the numerical digits from 0-9 and the hyphen '-'). This field should not exceed 18 characters in length.
      - `secondaryName` string — The domain or email address of the recipient shown to the user along with the `displayName`.
    - `convertedToFutureDatedPayment` boolean — Indicates whether a transfer is from an auto single immediate payment coinciding with the bank's out-of-operation hours was converted to a future dated payment
    - `createdAtMs` string, string — Specifies the time the transfer was created; timestamp (UTC) in milliseconds, 1 day (24 hours) = 8640000000, 1 hour = 36000000, and 1 minute = 60000.
    - `executionDate` string — Specifies the execution date for the transfer (in <a href="https://www.iso.org/iso-8601-date-and-time-format.html" target="_blank">ISO 8601</a> format).
    - `id` string — The `transferId` computed as the hash of the transfer payload.
    - `payload` TransferPayload — Contains the financial details of the transfer.
      - `amount` object, required — The balance currency and value.
        - `currency` string — The <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank">ISO 4217</a> three letter currency code.
        - `value` string — The transaction amount with up to four digits after the decimal point.
      - `confirmFunds` boolean — Requests confirmation that sufficient funds are available.
      - `description` string — A description of the transfer.
      - `metadata` Metadata — Information governing or otherwise related to the transfer instructions.
        - `chargeBearer` 'INVALID_CHARGE_BEARER' | 'CRED' | 'DEBT' | 'SHAR' | 'SLEV' — The bearer of the charge, if any, for international transfers. <ul><li><b>CRED</b> - all charges are borne by the creditor.</li> <li><b>DEBT</b> - all charges are borne by the debtor.</li> <li><b>SHAR</b> - the parties share the charges.</li> <li><b>SLEV</b> - each party bears its own charges, recommended on SEPA payments.</li></ul>
        - `providerTransferMetadata` union — The transfer metadata required under the Open Banking API standard adopted by the bank.
          - object
            - `cma9TransferMetadata` Cma9TransferMetadata — Transfer metadata required under the <a href=https://openbanking.atlassian.net/wiki/spaces/DZ/pages/937656404/Read+Write+Data+API+Specification+-+v3.1 target="_blank">CMA9 API standard</a>.
              - …
          - object
            - `nextGenPsd2TransferMetadata` NextGenPsd2TransferMetadata — The transfer metadata required under the <a href="https://www.berlin-group.org/nextgenpsd2-downloads" target="_blank">NextGenPSD2 standard</a>.
              - …
          - object
            - `polishApiTransferMetadata` PolishApiTransferMetadata — Transfer metadata required under the <a href="https://polishapi.org/en/dokumentacja-standardu/" target="blank">Polish API standard</a>.
              - …
          - object
            - `stetTransferMetadata` StetTransferMetadata — Transfer metadata required under the <a href="https://www.stet.eu/en/psd2/" target="_blank">French PSD2 API standard</a>.
              - …
        - `purposeCode` 'CASH' | 'CORT' | 'DVPM' | 'INTC' | 'TREA' | 'SUPP' — The <a href="https://www.iso.org/standard/55005.html" target="_blank">ISO 20022</a> external purpose code. Purpose Codes are four letter codes which are carried across the payment chain, providing information to all users in the payments chain to indicate the reason a payment is being made. Purpose Codes are one of the policy areas of Enhanced Data that can deliver the benefits of the ISO 20022 payment messaging standard. <ul><li><b>CASH</b> - CashManagementTransfer</li><li><b>CORT</b> - TradeSettlementPayment</li><li><b>DVPM</b> - DeliveryAgainstPayment</li><li><b>INTC</b> - IntraCompanyPayment</li><li><b>TREA</b> - TreasuryPayment</li><li><b>SUPP</b> - SupplierPayment</li></ul>
        - `ultimateCreditor` string — The ultimate party to which an amount of money is due.
        - `ultimateDebtor` string — The ultimate party that owes that owes money to the (ultimate) creditor.
      - `refId` string, required — The TPP-generated reference identifier for the token. This is not to be confused with the `requestId`. The `refId` maps to the `tppRefId` in the bank's `consentRequest`. This is needed to match/verify the originating token request with the bank's consent request. <br/>We recommend that the `refId` should not contain special characters (the allowed characters are the 26-letter Latin alphabet, the numerical digits from 0-9 and the hyphen '-'). This field should not exceed 18 characters in length.
      - `tokenId` string, required — Identifies the authorization token for the transfer.
      - `transferDestinations` TransferDestination[] — The beneficiary account specifying the transfer destination; <i>i.e.</i>, TPP/merchant/creditor.
        - union — The beneficiary account specifying the transfer destination, <i>i.e.</i> TPP/merchant/creditor bank.
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `sepa` TransferDestinationSepa, required — SEPA account details where the iban is required and the bic is optional.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `sepaInstant` TransferDestinationSepaInstant, required — SEPA Instant account details where the iban is required and the bic is optional.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `fasterPayments` TransferDestinationFasterPayments, required — A UK or Irish account where the sort code and account number are required.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `elixir` TransferDestinationElixir, required — The interbank payment system in Poland.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `euDomesticNonEuro` union, required — The payment system within a country using that country's non-Euro domestic currency. An IBAN account will require an `iban` and an optional `bic`, a BBAN account will require a `bban` and an optional `bic`, a Clearing Number account will require a `bban` and a `clearingNumber`. A SENoBankId account, where the currency is SEK or NOK, will require an `iban` and `bban` with an optional `bic` and/or `clearingNumber`. This option is only available for an HP flow that doesn't have a preselected `bankId`.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `euDomesticNonEuroInstant` union, required — The instant payment system within a country using that country's non-Euro domestic currency. An IBAN account will require an `iban` and an optional `bic`, a BBAN account will require a `bban` and an optional `bic`, a Clearing Number account will require a `bban` and a `clearingNumber`. A SENoBankId account, where the currency is SEK or NOK, will require an `iban` and `bban` with an optional `bic` and/or `clearingNumber`. This option is only available for an HP flow that doesn't have a preselected `bankId`.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `bankgiro` TransferDestinationBankgiro, required — Account details where the bankgiroNumber is required and the bic is optional.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `plusgiro` TransferDestinationPlusgiro, required — Account details where the plusgiroNumber is required and the bic is optional.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `token` TransferDestinationToken — The primary account number. The cCard identifier found on payment cards, such as credit and debit cards, as well as stored-value cards, gift cards and other similar cards, somtimes referred to as a bank card number.
              - …
          - object
            - `customerData` CustomerDataCreditor, required — Specifies the legal identity information for the payee. This information is not required for settlement accounts.
              - …
            - `type` 'UNKNOWN' | 'BUSINESS' | 'PERSONAL' — Specifies the type of transfer destination.
            - `virtualAccount` TransferDestinationVirtualAccount, required — The details of the transfer destination for the settlement account. This destination is mandatory for unregulated TPPs.
              - …
    - `payloadSignatures` Signature[]
      - `keyId` string — The id of the public key used to verify the signature. This is only present if a `tokenId` is present. It can be used to validate that the provided `tokenId` corresponds to the token request (this is needed for Hosted Pages flows only).
      - `memberId` string — The Token.io member id of the signing member.
      - `signature` string — The Base64url-encoded ciphertext signature.
    - `providerDetails` ProviderTransferDetails — Information about the transfer.
      - `id` string — A provider-specific reference id generated upon TPP submission.
      - `status` string — The status provided by the bank. This can be the <a href="https://www.iso20022.org/" target="_blank">ISO 20022</a> payment status code. See <a href="https://developer.token.io/token_rest_api_doc/content/e-rest/iso-20022-statuses.htm" target="_blank">ISO 20022 payment status codes</a> for more information.
    - `refund` RefundInfo — Contains information about each refund initiation record in the list.
      - `account` union — Account numbers and other strings that identify this as a unique bank account.
        - object
          - `bankgiro` AccountIdentifierBankgiro, required — The identifier for domestic bank accounts in Sweden.
            - `bankgiroNumber` string — The unique identifier for the bank account in Sweden (known in Swedish as Bankgironummer); it consists of 7 or 8 digits; the clearing code is not used.
        - object
          - `bban` AccountIdentifierBban, required
            - `bban` string — Represents a country-specific bank account number. The BBAN is the last part of the IBAN when used for international funds transfers. Every country has its own specific BBAN format and length. At present, there is no common EU or other standard unifying the BBAN. This is why IBAN was introduced to standardise international bank transfers.
            - `clearingNumber` string — The bank clearing number or BC number is a number used for the identification of financial institutions in Switzerland and Liechtenstein. Bank clearing numbers are connected to the Swiss Interbank Clearing and the EuroSIC system.
        - object
          - `gbDomestic` AccountIdentifierGbDomestic, required — A domestic bank account in the UK.
            - `accountNumber` string — The unique identifier for the bank account in the UK or Ireland.
            - `sortCode` string — The number assigned to a branch of a bank, typically containing six digits and most commonly used in the UK and Ireland.
        - object
          - `iban` AccountIdentifierIban, required — The International Bank Account Number, used when sending interbank transfers or wiring money from one bank to another, especially across international borders.
            - `iban` string — The International Bank Account Number. This consists of a two-letter country code followed by two check digits and up to thirty-five alphanumeric characters.
        - object
          - `msisdn` AccountIdentifierMsisdn, required — The Mobile Station International Subscriber Director Number (MSISDN) is the user's mobile phone number, used as a unique identifier to enable routing of voice and SMS traffic to and from a specific subscription/device on a wireless/mobile network.
            - `msisdn` string — The MSISDN is composed of the country code and the national destination code. Ensure you remove the + sign and any 0 before the mobile number.
        - object
          - `pan` AccountIdentifierPan, required — The Primary Account Number (PAN). The card identifier found on payment cards, such as credit cards and debit cards, as well as stored-value cards, gift cards and other similar card, sometimes referred to as a bank card number.
            - `pan` string — The 14, 15, or 16 digit number generated as a unique identifier for a primary account.
        - object
          - `plusgiro` AccountIdentifierPlusgiro — The domestic transaction clearing system in Sweden. The credit transfer function, which is part of <a href="https://www.nordea.com" target="blank">Nordea</a>, and used for mediating payments between accounts held by companies and individuals.
            - `plusgiroNumber` string — The account number (minimum 2 and maximum 8 digits) for a PlusGiro account. The clearing code is not used.
        - object
          - `token` AccountIdentifierToken, required — The primary account number; the card identifier found on payment cards, such as credit cards and debit cards, as well as stored-value cards, gift cards and other similar card, sometimes referred to as a bank card number.
            - `accountId` string — The bank account identifier for a linked account used by Token.io's Bank Integration Account Linking Service.
            - `memberId` string — The Token.io-generated member id for the user/account holder.
      - `name` string — Name of the account.
    - `refundDetails` TransferRefund — Contains details of the refunded amount settled, the transfer balance remaining, and whether initiated.
      - `remainingRefundAmount` object — The balance currency and value.
        - `currency` string, required — The <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank">ISO 4217</a> three letter currency code.
        - `value` string, required — The transaction amount with up to four digits after the decimal point.
      - `settledRefundAmount` object — The balance currency and value.
        - `currency` string, required — The <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank">ISO 4217</a> three letter currency code.
        - `value` string, required — The transaction amount with up to four digits after the decimal point.
      - `transferRefundStatus` 'UNSET' | 'NONE' | 'PARTIAL' | 'FULL' — Indicates the status of the initiated refund payout.
    - `source` TransferDebtorEndpointResponse — Contains information about the payer account.
      - `accountIdentifier` union, required — Account numbers and other strings that identify this as a unique bank account.
        - object
          - `bankgiro` AccountIdentifierBankgiro, required — The identifier for domestic bank accounts in Sweden.
            - `bankgiroNumber` string — The unique identifier for the bank account in Sweden (known in Swedish as Bankgironummer); it consists of 7 or 8 digits; the clearing code is not used.
        - object
          - `bban` AccountIdentifierBban, required
            - `bban` string — Represents a country-specific bank account number. The BBAN is the last part of the IBAN when used for international funds transfers. Every country has its own specific BBAN format and length. At present, there is no common EU or other standard unifying the BBAN. This is why IBAN was introduced to standardise international bank transfers.
            - `clearingNumber` string — The bank clearing number or BC number is a number used for the identification of financial institutions in Switzerland and Liechtenstein. Bank clearing numbers are connected to the Swiss Interbank Clearing and the EuroSIC system.
        - object
          - `gbDomestic` AccountIdentifierGbDomestic, required — A domestic bank account in the UK.
            - `accountNumber` string — The unique identifier for the bank account in the UK or Ireland.
            - `sortCode` string — The number assigned to a branch of a bank, typically containing six digits and most commonly used in the UK and Ireland.
        - object
          - `iban` AccountIdentifierIban, required — The International Bank Account Number, used when sending interbank transfers or wiring money from one bank to another, especially across international borders.
            - `iban` string — The International Bank Account Number. This consists of a two-letter country code followed by two check digits and up to thirty-five alphanumeric characters.
        - object
          - `msisdn` AccountIdentifierMsisdn, required — The Mobile Station International Subscriber Director Number (MSISDN) is the user's mobile phone number, used as a unique identifier to enable routing of voice and SMS traffic to and from a specific subscription/device on a wireless/mobile network.
            - `msisdn` string — The MSISDN is composed of the country code and the national destination code. Ensure you remove the + sign and any 0 before the mobile number.
        - object
          - `pan` AccountIdentifierPan, required — The Primary Account Number (PAN). The card identifier found on payment cards, such as credit cards and debit cards, as well as stored-value cards, gift cards and other similar card, sometimes referred to as a bank card number.
            - `pan` string — The 14, 15, or 16 digit number generated as a unique identifier for a primary account.
        - object
          - `plusgiro` AccountIdentifierPlusgiro — The domestic transaction clearing system in Sweden. The credit transfer function, which is part of <a href="https://www.nordea.com" target="blank">Nordea</a>, and used for mediating payments between accounts held by companies and individuals.
            - `plusgiroNumber` string — The account number (minimum 2 and maximum 8 digits) for a PlusGiro account. The clearing code is not used.
        - object
          - `token` AccountIdentifierToken, required — The primary account number; the card identifier found on payment cards, such as credit cards and debit cards, as well as stored-value cards, gift cards and other similar card, sometimes referred to as a bank card number.
            - `accountId` string — The bank account identifier for a linked account used by Token.io's Bank Integration Account Linking Service.
            - `memberId` string — The Token.io-generated member id for the user/account holder.
      - `bankId` string — The Token.io id of the bank where the consent is created. **This field is required if the customer is not using Token.io's Hosted Pages for bank selection, <i>i.e.</i>, API-only integration when `EMBEDDED_HOSTED_PAGES` is selected in `flowType`, or Hosted Pages embedded (modal) integration.**
      - `bic` string — The Business Identifier Code (BIC), <a href="https://www.iso.org/standard/84108.html" target="_blank">ISO 9362</a>, is the SWIFT Address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs are often called SWIFT Codes and can be either 8 or 11 characters long.
      - `customerData` CustomerDataDebtorResponse — Specifies the legal identity information for the payer/customer.
        - `address` AddressInfo — The complete postal address of a party.
          - `city` string — Name of the city as given in postal addresses of the building/area.
          - `conscriptionNumber` string — A special kind of house number. This relates to a settlement instead of a street. Conscription numbers are in use in some parts of Europe, sometimes together with street-related house numbers, which are also called orientation numbers.
          - `country` string — Two-letter country code in upper case (ISO 3166-1 alpha-2).
          - `district` string — A defined district within the city or country containing the address.
          - `flats` string — House numbers (range or list) of flats behind a door.
          - `full` string — This is used for a full-text, often multi-line address if you find the structured address fields unsuitable for denoting the address of this particular location. Typically such strings cannot be parsed by software.
          - `hamlet` string — A small settlement. In different jurisdictions and geographies, a hamlet may be the size of a town, village, or parish, or may be considered to be a smaller settlement or subdivision or satellite entity to a larger settlement.
          - `houseName` string — The name of a house. Sometimes used in countries like England instead of (or in addition to) a house number.
          - `houseNumber` string — The house number (may contain letters, dashes, or other characters). This identifies a single building with multiple addresses.
          - `place` string — The part of an address which refers to the name of some territorial zone (like an island or square) instead of a street. It should not be included together with `street`.
          - `postCode` string — An identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
          - `province` string — For Canada, uppercase two-letter postal abbreviations, <i>e.g.</i>, BC, AB, ON, QC.
          - `state` string — For the US, uppercase two-letter postal abbreviations, <i>e.g.</i>, AK, CA, HI, NY, TX, WY.
          - `street` string — the name of the respective street in which the dwelling or business is located or where mail is received.
          - `subdistrict` string — A smaller, readily identifiable part of a district.
          - `suburb` string — Suburbs and localities are the names of geographic subdivisions of urban areas in Australia.
        - `legalNames` string[] — Legal owner name for the debtor account.
    - `status` 'PROCESSING' | 'SUCCESS' | 'INITIATED' | 'PENDING' | 'PENDING_EXTERNAL_AUTHORIZATION' | 'FAILURE_GENERIC' | 'FAILURE_PERMISSION_DENIED' | 'FAILURE_CANCELED' | 'FAILURE_EXPIRED' | 'FAILURE_INSUFFICIENT_FUNDS' | 'FAILURE_DECLINED' | 'SETTLEMENT_IN_PROGRESS' | 'SETTLEMENT_COMPLETED' | 'SETTLEMENT_INCOMPLETE' — Filters by transaction status. <ul> <li><b>PROCESSING</b> – This status indicates that the transaction is in process and that the final status has not been received from the bank.</li> <li><b>SUCCESS</b> – This status indicates that successful payment initiation has been received from the bank. Settlement might not be complete.</li> <li><b>INITIATED</b> – This status is set when the previous status has remained as `PROCESSING` for 30 days and cannot be updated. The transaction has been initiated but the result is unknown. This is the final status and will not get updated later because Token.io has stopped polling the bank.<br/> This status is also returned in a two-step payment flow in the event that a user’s request has been authorized at the bank but the payment confirmation has subsequently failed.</li> <li><b>PENDING</b> – This status indicates that the user has successfully completed the authorization process at the bank and the transfer is pending redemption. This status is only relevant for two-step payment flows.</li> <li><b>PENDING_EXTERNAL_AUTHORIZATION</b> – This status indicates that the user has been sent to the bank to complete the authorization process. If not completed within the allowed timeframe (usually around 15 mins, but there are variations between banks) the transaction will expire and transition to `FAILURE_EXPIRED`. This status is only relevant for 1-step payment flows.</li> <li><b>FAILURE_GENERIC</b> – This status usually indicates a technical failure. Possibly, a failure callback was received from the bank, with no transaction status and no further information.</li> <li><b>FAILURE_PERMISSION_DENIED</b> – This status indicates that the user has been denied authorization at the bank This status is only relevant for two-step payment flows.</li> <li><b>FAILURE_CANCELED</b> – This status indicates that the payment initiation has been cancelled before execution.</li> <li><b>FAILURE_EXPIRED</b> – This status indicates that the user did not complete the authorization process within the allowed timeframe (usually around 15 mins, but there are variations between banks) and the payment has expired.</li> <li><b>FAILURE_INSUFFICIENT_FUNDS</b> – This status indicates that the payment initiation request has been rejected due to insufficient funds.</li> <li><b>FAILURE_DECLINED</b> – This status indicates that the payment initiation has been rejected by the bank.</li> <li><b>SETTLEMENT_IN_PROGRESS</b> – This status is provided when a Token.io settlement account is used as the beneficiary for the payment, and replaces the payment initiation status. Token.io is waiting for the payment to reach the payee bank. No action is required; await the next step, <i>e.g.</i>, Token.io sends a webhook with the status update, or a polling call. The status will change to `SETTLEMENT_IN_PROGRESS` soon after Token.io receives the final status from the debtor bank.</li> <li><b>SETTLEMENT_COMPLETED</b> – This status is provided when a Token.io settlement account is used as the beneficiary for the payment, and replaces the payment initiation status. The payment has reached the payee bank and Token.io has matched the transaction in the TPP’s settlement account to the initiated payment. For instant payments, `SETTLEMENT_COMPLETED` will be achieved within 30-45 minutes from payment initiation, at the latest. For non-instant payments, the time to reach `SETTLEMENT_COMPLETED` will depend on the clearing period for the payment.</li> <li><b>SETTLEMENT_INCOMPLETE</b> – This status is provided when a Token.io settlement account is used as the beneficiary for the payment, and replaces the payment initiation status. Reconciliation has failed. This happens when Token.io doesn't find the corresponding transaction in the TPP’s settlement account automatically.</li></ul><br/>During settlement of a settlement accounts payment, the status update job will run first for up to 30 days. Payment will then enter into a 'final' status, normally `SUCCESS`.<br/>Once the status update job has run, the reconciliation job looks for matching inbound payments.<br/>For SEPA payments:<ul><li>if a matching inbound payment is found within 15 days of the final payment status update -> `SETTLEMENT_COMPLETED`</li><li>if no matching inbound payment is found within 15 days of the final payment status update -> `SETTLEMENT_INCOMPLETE`</li></ul>For SEPA Instant payments:<ul><li>if a matching inbound payment is found within 1 day of the final payment status update -> `SETTLEMENT_COMPLETED`</li><li>if no matching inbound payment is found within 1 day of the final payment status update -> `SETTLEMENT_INCOMPLETE`</li></ul>
    - `statusReasonInformation` string — A human-readable description of the reason for the reported status, which may include a message from the bank. This value should not exceed 256 characters in length.
    - `transactionId` string — The unique transaction identifier; the transaction id.

## Other responses

- `400` — The client specified an invalid argument
- `401` — The authorization information is missing or invalid
- `403` — Permission to access this endpoint is denied
- `404` — The requested entity, such as a payment, was not found
- `429` — Too many requests
- `500` — An unexpected or internal server error
- `501` — The operation was not implemented
- `503` — Service is unavailable
- `504` — Gateway has timed out

---

[API](https://skmtc.net/token/apis/token-io-s-open-banking-api-for-tpps.md) · [All operations](https://skmtc.net/token/apis/token-io-s-open-banking-api-for-tpps/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/token/token-io-s-open-banking-api-for-tpps/versions/5e8d6d2c24a1/schema)
