CyberSource Tokenize API
An orchestration resource used to combine multiple API calls into a single request.
An orchestration resource used to combine multiple API calls into a single request.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cybersource-tokenize-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
version: 0.0.1
title: CyberSource Merged Spec bankAccountValidation Tokenize API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: Tokenize
description: 'An orchestration resource used to combine multiple API calls into a single request.
'
paths:
/tms/v2/tokenize:
post:
summary: Tokenize
description: "| | | | \n| --- | --- | --- |\n|The **Tokenize API** endpoint facilitates the creation of various TMS tokens such as Customers, Payment Instruments, Shipping Addresses, and Instrument Identifiers in a single operation. The request includes a processingInformation object, which specifies **\"TOKEN_CREATE\"** and the types of tokens to be created. The **tokenInformation** section of the request includes detailed information relevant to each token type. This includes attributes for Customers, Payment Instruments, Shipping Addresses, Instrument Identifiers and Transient Token data. The payload is flexible, allowing for different combinations of tokens to be created in a single request.| |The **API response** includes a responses array, which details the outcome of the tokenization process for each requested resource type, such as Customer, Payment Instrument, Shipping Address, and Instrument Identifier. Each entry in this array provides an HTTP status code such as **201/200 for successful creations**, and a unique identifier for the newly created token.<br>In cases where token creation encounters issues, the response includes a **non-2XX** status code and an errors array for the affected resource. Each error object in the array details the **error type and a descriptive message** providing insight into why a particular token creation was not attempted or failed.\n"
parameters:
- name: profile-id
in: header
description: The Id of a profile containing user specific TMS configuration.
required: false
x-hide-field: true
schema:
type: string
maxLength: 36
minLength: 36
tags:
- Tokenize
operationId: tokenize
x-devcenter-metaData:
categoryTag: Token_Management
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-overview.html
mleForRequest: mandatory
authorizationType:
- Json Web Token
responses:
'200':
description: Returns the responses from the orchestrated API requests.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
schema:
type: string
uniqueTransactionID:
description: A globally-unique Id associated with your request.
schema:
type: string
content:
application/json;charset=utf-8:
schema:
type: object
properties:
responses:
type: array
items:
type: object
properties:
resource:
type: string
description: 'TMS token type associated with the response.
Possible Values:
- customer
- paymentInstrument
- instrumentIdentifier
- shippingAddress
- tokenizedCard
'
example: customer
httpStatus:
type: integer
format: int32
description: 'Http status associated with the response.
'
example: 201
id:
type: string
description: 'TMS token id associated with the response.
'
example: 351A67733325454AE0633F36CF0A9420
errors:
type: array
items:
type: object
properties:
type:
type: string
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n - forbidden\n - notFound\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n - notAvailable\n - serverError\n - notAttempted\n\nA \"notAttempted\" error type is returned when the request cannot be processed because it depends on the existence of another token that does not exist. For example, creating a shipping address token is not attempted if the required customer token is missing.\n"
example: notAttempted
message:
type: string
description: The detailed message related to the type.
example: Creation not attempted due to customer token creation failure
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
example: address1
location:
type: string
readOnly: true
description: The location of the field that caused the error.
example: billTo
'400':
description: 'Bad Request: e.g. A required header value could be missing.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
schema:
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
schema:
type: string
content:
application/json;charset=utf-8:
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
details:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
name:
type: string
readOnly: true
description: The name of the field that caused the error.
location:
type: string
readOnly: true
description: The location of the field that caused the error.
'403':
description: 'Forbidden: e.g. The profile might not have permission to perform the operation.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
schema:
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
schema:
type: string
content:
application/json;charset=utf-8:
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - forbidden\n - declined\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
'424':
description: 'Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.'
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
schema:
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
schema:
type: string
content:
application/json;charset=utf-8:
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - notFound\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
'500':
description: Unexpected error.
headers:
v-c-correlation-id:
description: The mandatory correlation Id passed by upstream (calling) system.
schema:
type: string
uniqueTransactionID:
description: A globally unique Id associated with your request.
schema:
type: string
content:
application/json;charset=utf-8:
schema:
type: object
readOnly: true
properties:
errors:
type: array
readOnly: true
items:
type: object
readOnly: true
properties:
type:
type: string
readOnly: true
description: "The type of error.\n\nPossible Values:\n - internalError\n"
message:
type: string
readOnly: true
description: The detailed message related to the type.
x-example:
example0:
summary: Create Complete Customer & Network Token using a Card
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- customer
- shippingAddress
- paymentInstrument
- instrumentIdentifier
tokenInformation:
customer:
buyerInformation:
merchantCustomerID: Your customer identifier
email: test@cybs.com
clientReferenceInformation:
code: TC50171_3
merchantDefinedInformation:
- name: data1
value: Your customer data
shippingAddress:
default: 'true'
shipTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
paymentInstrument:
default: 'true'
card:
expirationMonth: '12'
expirationYear: '2031'
type: '001'
billTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
instrumentIdentifier:
type: enrollable card
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example1:
summary: Create Customer Payment Instrument & Network Token using a Card
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- paymentInstrument
- instrumentIdentifier
tokenInformation:
customer:
id: <ID>
paymentInstrument:
default: 'true'
card:
expirationMonth: '12'
expirationYear: '2031'
type: '001'
billTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
instrumentIdentifier:
type: enrollable card
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example2:
summary: Create Instrument Identifier & Network Token using a Card
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- instrumentIdentifier
tokenInformation:
instrumentIdentifier:
type: enrollable card
card:
number: '4622943123116478'
expirationMonth: '12'
expirationYear: '2026'
example3:
summary: Create Complete Customer using a Transient Token
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- customer
- shippingAddress
- paymentInstrument
- instrumentIdentifier
tokenInformation:
transientTokenJwt: <TRANSIENT_TOKEN_JWT>
customer:
buyerInformation:
merchantCustomerID: Your customer identifier
email: test@cybs.com
clientReferenceInformation:
code: TC50171_3
merchantDefinedInformation:
- name: data1
value: Your customer data
shippingAddress:
default: 'true'
shipTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
paymentInstrument:
default: 'true'
card:
expirationMonth: '12'
expirationYear: '2031'
type: '001'
billTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
example4:
summary: Create Instrument Identifier using a Transient Token
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- instrumentIdentifier
tokenInformation:
transientTokenJwt: <TRANSIENT_TOKEN_JWT>
example5:
summary: Create Complete Customer & Account Updater Subscription
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- customer
- shippingAddress
- paymentInstrument
- instrumentIdentifier
tokenInformation:
customer:
buyerInformation:
merchantCustomerID: Your customer identifier
email: test@cybs.com
clientReferenceInformation:
code: TC50171_3
merchantDefinedInformation:
- name: data1
value: Your customer data
shippingAddress:
default: 'true'
shipTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
paymentInstrument:
default: 'true'
card:
expirationMonth: '12'
expirationYear: '2031'
type: '001'
billTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
instrumentIdentifier:
type: enrollable card
card:
number: '4000007113112087'
expirationMonth: '12'
expirationYear: '2031'
example6:
summary: Create Customer Payment Instrument & Account Updater Subscription
value:
processingInformation:
actionList:
- TOKEN_CREATE
actionTokenTypes:
- paymentInstrument
- instrumentIdentifier
tokenInformation:
customer:
id: <ID>
paymentInstrument:
default: 'true'
card:
expirationMonth: '12'
expirationYear: '2031'
type: '001'
billTo:
firstName: John
lastName: Doe
company: CyberSource
address1: 1 Market St
locality: San Francisco
administrativeArea: CA
postalCode: '94105'
country: US
email: test@cybs.com
phoneNumber: '4158880000'
instrumentIdentifier:
type: enrollable card
card:
number: '4000007113112087'
expirationMonth: '12'
expirationYear: '2031'
requestBody:
content:
application/json;charset=utf-8:
schema:
type: object
properties:
processingInformation:
type: object
properties:
actionList:
type: array
description: "Array of actions (one or more) to be included in the tokenize request.\n\nPossible Values:\n - `TOKEN_CREATE`: Use this when you want to create a token from the card/bank data in your tokenize request.\n"
items:
type: string
example:
- TOKEN_CREATE
actionTokenTypes:
type: array
description: 'TMS tokens types you want to perform the action on.
Possible Values:
- customer
- paymentInstrument
- instrumentIdentifier
- shippingAddress
- tokenizedCard
'
items:
type: string
example:
- customer
- paymentInstrument
- shippingAddress
- instrumentIdentifier
tokenInformation:
type: object
properties:
jti:
type: string
maxLength: 64
description: 'TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).
'
transientTokenJwt:
type: string
description: 'Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.
'
customer:
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Customer.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3
paymentInstruments:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Customers Payment Instruments.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments
shippingAddress:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Customers Shipping Addresses.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses
id:
type: string
minLength: 1
maxLength: 32
description: The Id of the Customer Token.
objectInformation:
type: object
properties:
title:
type: string
description: 'Name or title of the customer.
'
maxLength: 60
comment:
type: string
description: 'Comments that you can make about the customer.
'
maxLength: 150
buyerInformation:
type: object
properties:
merchantCustomerID:
type: string
description: 'Your identifier for the customer.
'
maxLength: 100
email:
type: string
maxLength: 255
description: 'Customer''s primary email address, including the full domain name.
'
clientReferenceInformation:
type: object
properties:
code:
type: string
description: 'Client-generated order reference or tracking number.
'
maxLength: 50
merchantDefinedInformation:
type: array
description: 'Object containing the custom data that the merchant defines.
'
items:
type: object
properties:
name:
type: string
description: 'The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4
For example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2
Possible Values:
- data1
- data2
- data3
- data4
- sensitive1
- sensitive2
- sensitive3
- sensitive4
'
value:
type: string
description: 'The value you assign for your merchant-defined data field.
**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not
limited to, address, credit card number, social security number, driver''s license number, state-issued identification number, passport number, and card verification numbers (CVV,
CVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant''s account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.
'
maxLength: 100
defaultPaymentInstrument:
type: object
properties:
id:
type: string
description: 'The Id of the Customers default Payment Instrument
'
defaultShippingAddress:
type: object
properties:
id:
type: string
description: 'The Id of the Customers default Shipping Address
'
metadata:
type: object
readOnly: true
properties:
creator:
type: string
readOnly: true
description: 'The creator of the Customer.
'
_embedded:
type: object
readOnly: true
description: 'Additional resources for the Customer.
'
properties:
defaultPaymentInstrument:
readOnly: true
type: object
properties:
_links:
type: object
readOnly: true
properties:
self:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Payment Instrument.
'
example: /tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments
customer:
type: object
readOnly: true
properties:
href:
type: string
readOnly: true
description: 'Link to the Customer.
'
example: /tms/v2/customers/D9F
# --- truncated at 32 KB (337 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-tokenize-api-openapi.yml