CyberSource Merchant Defined Fields API
The Merchant Defined Fields API from CyberSource — 2 operation(s) for merchant defined fields.
The Merchant Defined Fields API from CyberSource — 2 operation(s) for merchant defined fields.
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-merchant-defined-fields-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 Merchant Defined Fields API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: Merchant Defined Fields
paths:
/invoicing/v2/{referenceType}/merchantDefinedFields:
get:
tags:
- Merchant Defined Fields
summary: Get all merchant defined fields for a given reference type
operationId: getMerchantDefinedFieldsDefinitions
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
parameters:
- name: referenceType
in: path
description: The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation
required: true
schema:
type: string
enum:
- Invoice
- Purchase
- Donation
responses:
'200':
description: Get all merchant defined fields for a given reference type
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
fieldType:
type: string
label:
type: string
customerVisible:
type: boolean
textMinLength:
type: integer
format: int32
textMaxLength:
type: integer
format: int32
possibleValues:
type: string
textDefaultValue:
type: string
merchantId:
type: string
referenceType:
type: string
readOnly:
type: boolean
merchantDefinedDataIndex:
type: integer
format: int32
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
'404':
description: Merchant defined fields not found
content:
application/json:
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
post:
tags:
- Merchant Defined Fields
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
summary: Create merchant defined field for a given reference type
operationId: createMerchantDefinedFieldDefinition
parameters:
- name: referenceType
in: path
description: The reference type for which merchant defined fields are to be fetched. Available values are Invoice, Purchase, Donation
required: true
schema:
type: string
enum:
- Invoice
- Purchase
- Donation
responses:
'201':
description: Create merchant defined field for a given reference type
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
fieldType:
type: string
label:
type: string
customerVisible:
type: boolean
textMinLength:
type: integer
format: int32
textMaxLength:
type: integer
format: int32
possibleValues:
type: string
textDefaultValue:
type: string
merchantId:
type: string
referenceType:
type: string
readOnly:
type: boolean
merchantDefinedDataIndex:
type: integer
format: int32
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
'400':
description: MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned
content:
application/json:
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
'409':
description: MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned
content:
application/json:
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
'412':
description: Merchant has exceeded limit for type {referenceType}
content:
application/json:
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
x-example:
example0:
summary: Create merchant defined field
value:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
requestBody:
content:
application/json:
schema:
type: object
properties:
fieldType:
type: string
description: 'Possible values:
- text
- select'
label:
type: string
maxLength: 100
customerVisible:
type: boolean
default: false
textMinLength:
type: integer
default: 0
description: Should be used only if fieldType = "text"
textMaxLength:
type: integer
default: 100
description: Should be used only if fieldType = "text"
textDefaultValue:
type: string
maxLength: 100
description: Should be used only if fieldType = "text"
possibleValues:
type: string
maxLength: 600
description: Should be mandatory and used only if fieldType = "select"
readOnly:
type: boolean
default: false
merchantDefinedDataIndex:
type: integer
required:
- fieldType
- label
- merchantDefinedDataIndex
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
required: true
/invoicing/v2/{referenceType}/merchantDefinedFields/{id}:
put:
tags:
- Merchant Defined Fields
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
summary: Update a MerchantDefinedField by ID
operationId: putMerchantDefinedFieldsDefinitions
parameters:
- in: path
name: referenceType
required: true
schema:
type: string
enum:
- Invoice
- Purchase
- Donation
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
'200':
description: A list of MerchantDefinedField
content:
application/hal+json;charset=utf-8:
schema:
type: array
items:
type: object
properties:
id:
type: integer
format: int64
fieldType:
type: string
label:
type: string
customerVisible:
type: boolean
textMinLength:
type: integer
format: int32
textMaxLength:
type: integer
format: int32
possibleValues:
type: string
textDefaultValue:
type: string
merchantId:
type: string
referenceType:
type: string
readOnly:
type: boolean
merchantDefinedDataIndex:
type: integer
format: int32
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
'400':
description: Wrong referenceType in the path
content:
application/hal+json;charset=utf-8:
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
'409':
description: MerchantDefinedData definition is already updated or Merchant Defined Data Index is already assigned
content:
application/hal+json;charset=utf-8:
schema:
type: object
properties:
submitTimeUtc:
type: string
description: The time the response was submitted
status:
type: integer
description: The status code of the response
format: int32
reason:
type: string
description: The reason for the response
message:
type: string
description: The message of the response
details:
description: The details of the validation error
type: array
items:
type: object
properties:
field:
type: string
description: The field that caused the validation error
reason:
type: string
description: The reason for the validation error
example:
correlationId: 08b69ffe-f79b-4e09-991f-b030058e21f4
status: 400
responseData:
submitTimeUtc: '2016-08-11T22:47:57Z'
status: 400
reason: MERCHANT_DEFINED_FIELD_ALREADY_UPDATED
message: Merchant defined field already updated or does not exist
details:
- field: customerVisible readOnly
reason: For 'Select' field type 'Read only' must be false and 'Customer Visible' true
- field: textMinLength
reason: textMinLength is not allowed for field type Select
- field: textMaxLength
reason: textMaxLength is not allowed for field type Select
- field: textDefaultValue
reason: textDefaultValue is not allowed for field type Select
- field: possibleValues
reason: Possible values cannot be empty for Select field type
- field: possibleValues
reason: Possible value Best Dad in the world is too long
- field: possibleValues
reason: Possible values must contain at least two values
- field: possibleValues
reason: Possible values total length cannot exceed 4000 characters
- field: possibleValues
reason: Possible value cannot be empty
x-example:
example0:
summary: Create merchant defined field
value:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
requestBody:
content:
application/json;charset=utf-8:
schema:
type: object
properties:
fieldType:
type: string
description: 'Possible values:
- text
- select'
label:
type: string
maxLength: 100
customerVisible:
type: boolean
default: false
textMinLength:
type: integer
default: 0
description: Should be used only if fieldType = "text"
textMaxLength:
type: integer
default: 100
description: Should be used only if fieldType = "text"
textDefaultValue:
type: string
maxLength: 100
description: Should be used only if fieldType = "text"
possibleValues:
type: string
maxLength: 600
description: Should be mandatory and used only if fieldType = "select"
readOnly:
type: boolean
default: false
merchantDefinedDataIndex:
type: integer
required:
- fieldType
- label
- merchantDefinedDataIndex
example:
fieldType: Text
label: Cup
customerVisible: 'true'
readOnly: 'false'
textMinLength: 1
textMaxLength: 100
textDefaultValue: default text
merchantDefinedDataIndex: 15
required: true
delete:
tags:
- Merchant Defined Fields
x-devcenter-metaData:
categoryTag: Invoicing
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html
summary: Delete a MerchantDefinedField by ID
operationId: deleteMerchantDefinedFieldsDefinitions
parameters:
- in: path
name: referenceType
required: true
schema:
type: string
enum:
- Invoice
- Purchase
- Donation
- in: path
name: id
required: true
schema:
type: integer
format: int64
responses:
'204':
description: MerchantDefinedField deleted
x-devcenter-metaData:
categoryTagArray:
- name: Payments
description: For more information about Payments transactions, see the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html).
- name: Transaction_Batches
description: For more information about Transaction Batches, see the [Transaction Batches Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html).
- name: eCheck_AVS
description: For more information about eCheck Account Validation, see the [Account Validation Developer Guides Page](https://...).
- name: Token_Management
description: For more information about the Token Management Service (TMS) see the [Token Management Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/tms/developer/all/rest/tms/tms-overview.html)
- name: Flex_Microform
description: Microform Integration is a lightweight acceptance solution designed to safely and securely accept payment information within your web page. Microform is designed to a be embedded seamlessly within your existing webpage experience, blending in with your existing acceptance form. This solution allows for the replacement of sensitive payment date with a transient token (a short lived reference to the sensitive payment data). For more information about Flex Microform transactions, see the [Flex Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken.html). For examples on how to integrate Flex Microform within your webpage please see our [GitHub Flex Samples](https://github.com/CyberSource?q=flex&type=&language=)
- name: Flex_API
description: For more information about Flex API, please see [Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/da-flex-api-intro.html).
- name: Risk_Management
- name: Payouts
description: 'For more information about Payouts, see the [Payouts Developer Guides Page](https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html).
'
- name: Installments
description: For more information about Installment contact Cybersource Support. For Visa installments contact VISthroughCYBS@visa.com
- name: Recurring_Billing_Subscriptions
description: For more information about Recurring Billing, see the [Recurring Billing Developer Guide](https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing-developer/recur-bill-services-intro.html).
- name: BIN_Lookup
description: 'The BIN Lookup Service is a versatile business tool that provides card network agnostic solution designed to ensure frictionless transaction experience by utilizing up-to-date Bank Identification Number (BIN) attributes sour
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-merchant-defined-fields-api-openapi.yml