How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

token-io Payments v2 API

Creates and initiates a single immediate payment or a future-dated payment. Also supports initiating a Variable Recurring Payment (VRP) using an existing VRP mandate that has been created and authorised via the `/vrp-consent` endpoint.

token-io Payments v2 API is one of 29 APIs that Token.io publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 3 JSON Schema definitions.

Tagged areas include Payments v2. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, a getting-started guide, a JSON-LD context, and 3 JSON Schemas.

This API exposes 5 operations across 4 paths, and defines 73 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against a single base URL, https://api.token.io.

5 operations 4 paths 73 schemas 3 GET2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.token.io
Authentication
HTTP Bearer, API Key
Resource Areas
1

Authentication & Security 2

token-io Payments v2 API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (JWT) (Bearer). An API key is passed in the header as Authorization (BasicAuth).

  • Bearer — For Production and Sandbox environments. When using curl samples the authorization header is given as -H 'Authorization: Bearer + JWT' Please substitute your B…
  • BasicAuth — For Sandbox environment only. When using curl samples the authorization header is given as -H 'Authorization: YOURAPIKEYHERE' Please substitute your Basic key…

Paths & Operations 5

Across 4 paths, the API surfaces 5 operations — 3 GET, 2 POST. Each is listed below with its method, path, parameters, and response codes.

Payments v2 5

Creates and initiates a single immediate payment or a future-dated payment. Also supports initiating a Variable Recurring Payment (VRP) using an existing VRP mandate that has been…

POST
/v2/payments
Initiate a payment
InitiatePayment 1 param body → 200400401403500
GET
/v2/payments
Get payments
GetPayments 15 params → 200400401500
GET
/v2/payments/{paymentId}
Get a payment
GetPayment 2 params → 200401404500
POST
/v2/payments/{paymentId}/embedded-auth
Provide information for embedded authentication
ProvideEmbeddedFields 2 params body → 200400401403404500
GET
/qr-code
Generate QR code
GetQrCode 1 param → 200400401403404500

Schemas 73

The contract defines 73 schemas that model the data the API accepts and returns. The most detailed are PaymentInitiation (21 properties), Payment (17 properties), DeliveryAddress (10 properties), Address (8 properties). Each schema is shown below with its type and property counts.

errorInfo
object
This field will be populated if the status is final and the payment is not successful, or there has been an error that caused payment rejection, or the bank co…
4 properties 1 required
ChargeBearer
string
The bearer of the charge, if any, for international transfers. CRED - all charges are borne by the creditor. DEBT - all charges are borne by the debtor. SHAR -…
EmbeddedAuth
object
Information and fields presented to the user in order to collect the requested data. This should be populated if the payment status is INITIATIONPENDINGEMBEDDE…
5 properties 1 required
PaymentInitiation
object
The initiation payload for the payment. All standard flow types — amount and remittanceInformationPrimary are required.
21 properties 7 required
EUIbanAccount
object
Account details where the iban is required and the bic is optional.
2 properties 1 required
FieldError
object
An error object providing details about an error caused by a particular field or fields in the request. Possible error code values include: Field.NotUnique - T…
1 property 1 required
remittanceInformationPrimary
string
The primary field for remittance information. This should contain a reference, as assigned by the creditor, to unambiguously refer to the payment transactions…
PaymentContextCode
string
This field describes the context of the payment context. This field is an OBIE standard and also maps to NextGenPsd2 's purposeCode and categoryPurposeCode fie…
PLIbanAccount
object
Polish account details where the iban is required and the bic is optional.
2 properties 1 required
PaymentFlowType
string
The integration option requested by the TPP. APIONLY - This is the default. The TPP owns the user experience including bank selection logic, collection of mand…
inline_response_400
object
1 property
PanDetectedError
object
Error object retured when PAN is detected in the submitted initiation payload. The error code value is PanDetected.
1 property
paymentIdEmbeddedAuthBody
object
1 property
EmbeddedAuthFields
object
This field provides a map of all fields requested for embedded authentication, with their values. The key is the id of the field from the authentication payloa…
EUDomesticNonEuroAccountDebtor
The payment system within a European country using that country's non-Euro domestic currency. An IBAN account will require an iban and an optional bic, a BBAN…
RefundDetails
object
The refund-related information for this payment. This field requires specific permission and is only available if paymentInitiation.returnRefundAccount is set…
4 properties 1 required
BankGiroAccount
object
Account details where the bankgiroNumber is required and the bic is optional.
2 properties 1 required
inline_response_400_2
object
1 property 1 required
pispConsentAccepted
boolean
This flag indicates whether the user has granted consent for the payment in the TPP's user interface.
FasterPaymentsAccount
object
A UK or Irish account where the sort code and account number are required.
2 properties 2 required
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 consentReques…
ServerError
object
This could refer to either an error by the payment service provider or the bank. When the bank reports a 5xx error, "token-external-error": "true" is set as a…
2 properties
RedirectUrl
object
1 property 1 required
ElixirAccountDebtor
The Elixir debtor account details.
ElixirAccountCreditor
The Elixir creditor account details.
inline_response_500
object
1 property
PlusGiroAccount
object
Account details where the plusgiroNumber is required and the bic is optional.
2 properties 1 required
PaymentLinkStatus
string
If the payment was initiated using a Pay by Link flow type, this shows the status of the payment link. For all other flows, this field is empty. LINKACTIVE – T…
inline_response_400_4
object
1 property 1 required
RequiredField
object
Contains information used in embedded authentication flows. These are optional credential request fields.
5 properties 3 required
SepaAccount
object
SEPA account details where the iban is required and the bic is optional.
2 properties 1 required
EUDomesticNonEuroAccountCreditor
The payment system within a European country using that country's non-Euro domestic currency. An IBAN account will require an iban and an optional bic, a BBAN…
ClearingNumberAccount
object
Account details where the bban is required and the clearing number is optional.
2 properties 1 required
PaymentsResponse
object
2 properties 2 required
inline_response_403
object
1 property 1 required
callbackStatev2
string
The uniquely-generated string included as part of the URL when communicating with the bank. It is sent to the bank during payment initiation and is also return…
PaymentStatus
string
The Token.io Payment Status: INITIATIONPENDING - Token.io has received the payment initiation and the initiation has passed Token.io's validation. No action is…
RefundAccount
The account to which the refund should be sent.
TokenBankError
object
Error object providing details about an error related to the debtor bank. Possible error code values include: - Bank.RegistrationNotFound - unable to find regi…
2 properties
EUDomesticNonEuroInstantAccountCreditor
The instant payment system within a European country using that country's non-Euro domestic currency. An IBAN account will require an iban and an optional bic,…
SENoBankIdCreditorAccount
object
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 pr…
4 properties 2 required
remittanceInformationSecondary
string
The secondary field for remittance information. The information supplied should enable the reconciliation of an entry in an unstructured form. Depending on the…
Payment
object
The payment object.
17 properties 6 required
v2_payments_body
object
3 properties 1 required
PageInfo
object
The information about the current page, which also indicates whether the next page exists.
4 properties 1 required
VirtualAccountCreditor
object
The creditor settlement account details.
1 property 1 required
Address
object
Address
8 properties
PermissionDeniedError
object
The error returned when the member is not authorized to perform the given operation: PermissionDenied. This error message will be accompanied by the reason fro…
1 property
RawDebtorInformation
Raw debtor information. The account information (one of) is required.
PLAccount
object
Polish account details where the account number is required and the bic is optional.
2 properties 1 required
Amount
object
The transaction amount and currency.
2 properties 2 required
CreditorInformation
The creditor information. The account information (one of) is required.
TokenizedAccountIdentifier
object
1 property 1 required
EUDomesticNonEuroInstantAccountDebtor
The instant payment system within a European country using that country's non-Euro domestic currency. An IBAN account will require an iban and an optional bic,…
memberId
string
The Token.io-assigned member id of the TPP.
ExternalPsuReference
string
An external reference provided by the TPP (Third Party Provider) to uniquely identify the PSU (Payment Service User).
LocalInstrument
string
The bank's payment service used to make the payment. Depending on which local instrument you select, you will require different account identifiers in the debt…
callbackUrl
string
The TPP's url that Token.io calls back to. This url should not be under the token.io domain and must be https/SSL secure.
inline_response_401
object
1 property
Error
object
The request does not have valid authentication credentials needed to perform the operation.
2 properties
BbanAccount
object
Account details where the bban is required and the bic is optional.
2 properties 1 required
Risk
object
This field is used to specify additional details for the risk scoring of payments.
8 properties
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.e.…
AccountVerificationId
string
The Id returned from the /account-verifications endpoint and used to identify the account verification relating to the beneficiary of the payment. Only require…
PaymentNotFoundError
object
The error object returned when given payment cannot be found: ResourceNotFound.
2 properties 1 required
DebtorInformation
Debtor information. Provide either an Account on File OR full Debtor Account details. These two modes are mutually exclusive.
ErrorWithCode
object
Error object providing details about the error.
2 properties 2 required
SepaInstantAccount
object
SEPA Instant account details where the iban is required and the bic is optional.
2 properties 1 required
PaymentRefundStatus
string
The refund status for this payment.
inline_response_404
object
1 property 1 required
Authenticationv2
object
The authentication operation required to proceed with payment creation. This is present when additional steps are required to authorize the payment.
PaymentResponse
object
1 property
DeliveryAddress
object
Specifies the recipient's delivery address details.
10 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

token-io-payments-v2-api-openapi.yml Raw ↑

Other APIs Token.io publishes across the network.

Token.io JavaScript SDK
Token.io PHP SDK
Token.io C# SDK
Token.io Objective-C SDK
Token.io iOS Webview SDK
Token.io Android Webview SDK
Merchant Sample (Java)
Merchant Sample (JavaScript)
Bank Sample (Java)
Personal Finance Management Sample (Java)
Merchant Integration Workshop
token-io Account on File API
Where this information came from

This is an independent, third-party profile of token-io Payments v2 API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.