Skip to main content
POST

Authorizations

Authorization
string
header
required

You can use an OAuth2 JWT bearer token in the Authorization header of your API requests for supported endpoints: Authorization: Bearer <YOUR_JWT_HERE>. These tokens are valid for 10 minutes and can be requested via the access token endpoint endpoint.

Headers

x-idempotency-key
string<uuid>
required

Idempotency key to be used. Sending again the same key would return the same result without re-executing the update.

Body

application/json
paymentMethod
enum<string>
required

Represents the payment method type.

Available options:
googlePay,
applePay,
card,
payPal,
bankAccount,
iDeal,
bancontact,
mbWay,
klarnaPayLater,
klarnaPayNow,
klarnaPayOverTime
holderId
string<uuid>

Unique identifier of the Holder in Payrails. At least one of holderId or holderReference values have to be provided in the request.

holderReference
string

Merchant-provided reference for the transaction counterparty, i.e. the paying consumer. At least one of holderReference or holderId values have to be provided in the request.

futureUsage
enum<string>

Represents the future usage to define the payment flows that the stored instrument will be used for.

Available options:
Subscription,
CardOnFile,
UnscheduledCardOnFile
description
string

Human-friendly description of the Instrument.

Example:

"Main card, mom's card, company card"

merchantReference
string

Merchant-provided reference for the instrument.

networkTransactionReference
string

Identifier of the initial payment made with this instrument on the Networks, e.g. Mastercard Trace ID or Visa Transaction ID.

Mastercard Transaction Link Identifier (TLID) of the transaction series this instrument belongs to. Returned by the card network on the initial cardholder-initiated transaction and required on economically related merchant-initiated transactions, such as recurring payments and installments, when the series spans payment providers.

storeInstrument
boolean

True if the holder wants to store the instrument for future use when payment is completed.

default
boolean | null

True if the holder wants to make this instrument as default.

workspaceId
string<uuid>

Workspace identifier. When a merchant has multiple network token provider configs, this determines which workspace-scoped config is used for network token provisioning.

provisionNetworkToken
boolean

True if the merchant wants to provision a network token for this instrument.

data
Card · object

Type-specific information about the instrument.

token
object | null

Token-specific information about the instrument. Required when creating an instrument from a tokenization tool like the Payrails SDK.

encryptedDataAttributes
object

Additional attributes for the instrument tokenization.

Response

Created.

id
string<uuid>
required

Id of the instrument.

createdAt
string<date-time>
required

Date and time when the Instrument was created in Payrails.

updatedAt
string<date-time>
required

When the Instrument was last updated.

holderId
string<uuid>
required

Unique identifier of the Holder in Payrails.

paymentMethod
enum<string>
required

Represents the payment method type.

Available options:
alexBankMa7fazty,
applePay,
audi2pay,
bankAccount,
card,
2c2p,
vietQR,
cibSmartWallet,
easypaisa,
etisalatCash,
fawryMobileWallet,
fawryPay,
googlePay,
jazzCash,
nbePhoneCash,
orangeCash,
payPal,
qnbEWallet,
weCash,
genericRedirect,
alfa,
konnect,
eftPro,
netBanking,
upi,
cashFreeWallet,
paytmWallet,
phonePe,
iDeal,
bancontact,
klarnaPayLater,
klarnaPayNow,
klarnaPayOverTime,
scalapay
status
enum<string>
required

Status of the instrument.

Available options:
created,
deleted,
enabled,
disabled,
transient
displayName
string

Instrument name suitable for display.

description
string

Description of the instrument.

default
boolean | null

True if this instrument is set as default for the holder.

merchantReference
string

Merchant-provided reference for the instrument.

fingerprint
string

System-wide unique identifier of the Instrument. If two Holders have the same instrument stored, this value will be the same for both, but the instrument and token IDs will be different. Cannot be used for payments, should only be used for analytics and fraud prevention.

futureUsage
enum<string>

Represents the future usage to define the payment flows that the stored instrument will be used for.

Available options:
Subscription,
CardOnFile,
UnscheduledCardOnFile
networkTransactionReference
string

Identifier of the initial payment made with this instrument on the Networks, e.g. Mastercard Trace ID or Visa Transaction ID.

Mastercard Transaction Link Identifier (TLID) of the transaction series this instrument belongs to. Returned by the card network on the initial cardholder-initiated transaction and required on economically related merchant-initiated transactions, such as recurring payments and installments, when the series spans payment providers.

data
Card · object

Type-specific information about the instrument.

tokens
object[]

List of tokens inside the instrument. Not included by default, includeTokens query parameter must be used.

Last modified on October 1, 2026