Skip to main content
The card products resource represents the behavior and functionality of one or more cards (either physical or virtual). For example, attributes of the card product determine whether the associated cards can be used at an ATM and/or online and whether they are currently enabled. For physical cards, the card product determines color and other printing specifications for when the cards are manufactured and personalized. You can optionally associate authorization controls and/or velocity controls with card products to restrict where and how associated cards are used. If your program is Managed by Marqeta, then Marqeta will create the card products for your production environment. Some attributes of the cardproduct object can also be defined in an associated bulkissuance or card object. If you define one of these attributes in more than one object, the Marqeta platform applies an order of precedence to determine which attribute to use at fulfillment time. The order of precedence is as follows:
1
card
2
bulkissuance
3
cardproduct
Defining an attribute in an object with higher precedence does not overwrite the same attribute in a lower-precedence object; the Marqeta platform ignores these lower-precedence attributes. For more information on cards, see About Cards.

Create card product

Action: POST
Endpoint: /cardproducts
Use this endpoint to create a card product. The card product request contains a set of fields that provide basic information about the card product, such as name, active status, and start and end dates. Configuration information is contained in the config object, which contains sub-elements whose fields control the features and behavior of the card product. The elements are referred to collectively as the card product “configuration,” and as such are contained in a config object.

Request body

FieldsDescription
active

boolean

Optional
Indicates whether the card product is active.

NOTE: This field has no effect on the ability to create cards from this card product. Use the config.fulfillment.allow_card_creation field to allow/disallow card creation.

Allowable Values:

true, false

Default value:
true
config

object

Optional
Defines the characteristics of the card product. Configurations are conditionally required based on program setup.

Allowable Values:

card_life_cycle, clearing_and_settlement, digital_wallet_tokenization, fulfillment, jit_funding, poi, selective_auth, special, transaction_controls
config.card_life_cycle

object

Optional
Defines characteristics of the lifecycle of cards of this card product type.

Allowable Values:

activate_upon_issue, card_service_code, expiration_offset, reloadability, update_expiration_upon_activation
config.card_life_cycle.activate_upon_issue

boolean

Optional
A value of true indicates that cards of this card product type are active once they are issued.

Allowable Values:

true, false

Default value:
false
config.card_life_cycle.card_service_code

integer

Optional
Sequence of three digits that defines various services, differentiates card usage in international or domestic interchange, designates personal identification number (PIN) and authorization requirements, and identifies card restrictions. The following values are commonly used:

First digit

- 1 — International interchange OK
- 2 — International interchange, use IC (chip) where feasible
- 5 — National interchange only except under bilateral agreement
- 6 — National interchange only except under bilateral agreement, use IC (chip) where feasible
- 7 — No interchange except under bilateral agreement (closed loop)
- 9 — Test

Second digit

- 0 — Normal
- 2 — Contact issuer via online means
- 4 — Contact issuer via online means except under bilateral agreement

Third digit

- 0 — No restrictions, PIN required
- 1 — No restrictions
- 2 — Goods and services only (no cash)
- 3 — ATM only, PIN required
- 4 — Cash only
- 5 — Goods and services only (no cash), PIN required
- 6 — No restrictions, use PIN where feasible
- 7 — Goods and services only (no cash), use PIN where feasible

Allowable Values:

100 - 999

Default value:
101
config.card_life_cycle.expiration_offset

object

Optional
Specifies the length of time after the date of issue for which cards of this card product type are valid.

Allowable Values:

min_offset, unit, value
config.card_life_cycle.expiration_offset.min_offset

object

Optional
Specifies the minimum length of time after the date of issue for which the cards are valid.

Allowable Values:

unit, value
config.card_life_cycle.expiration_offset.min_offset.unit

string

Optional
Specifies the time unit of the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS
config.card_life_cycle.expiration_offset.min_offset.value

integer

Optional
Specifies the number of time units (as defined by the unit field) for which cards of this card product type are valid. Cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.expiration_offset.unit

string

Optional
Specifies the units for the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS

Default value:
YEARS
config.card_life_cycle.expiration_offset.value

integer

Optional
Specifies the number of time units (as defined by the unit field in this object) for which cards of this card product type are valid. In other words, cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.reloadability

string

Optional
Indicates if a card is reloadable.

Allowable Values:

NON-RELOADABLE, RELOADABLE, SINGLE_USE_VIRTUAL
config.card_life_cycle.update_expiration_upon_activation

boolean

Optional
Normally, the expiration_offset is measured from the date of issue. Set this field to true to measure expiration_offset from the date of activation instead.

Allowable Values:

true, false

Default value:
false
config.clearing_and_settlement

object

Optional
Specifies the destination for overdraft funds.

Allowable Values:

overdraft_destination
config.clearing_and_settlement.overdraft_destination

string

Optional
Specifies the destination for overdraft funds.

This field does not apply if JIT Funding is enabled.

Allowable Values:

GPA, MERCHANT_CAMPAIGN_ACCOUNT, GLOBAL_OVERDRAFT_ACCOUNT

Default value:
GPA
config.digital_wallet_tokenization

object

Optional
Controls characteristics related to digital wallets.

Allowable Values:

card_art_id, provisioning_controls
config.digital_wallet_tokenization.card_art_id

string

Optional
Specifies the digital wallet card art identifier for the card product. The card art identifier also includes card metadata, such as terms and conditions, card product information, contact information, Apple Pay requirements, Android Pay requirements, wallet profiles, rule sets, terminal profiles, authorization profiles, message profiles, and activation profiles.

Digital wallets display the card art after the initial token has been provisioned and activated. Digital wallet card art is updated for all wallets automatically whenever a tokenized card is reissued or replaced.

- If your card program is Managed by Marqeta, Marqeta populates this field on your behalf.
- If your card program is Powered by Marqeta, you can obtain the correct card art identifier directly from Visa or Mastercard.

If this field is left blank, your card product inherits the card art assigned to the account BIN range. For more information about this field, contact your Marqeta representative.

Allowable Values:

Valid identifiers are defined by Visa or Mastercard and vary by program:

- For Visa card products, this identifier is a GUID called profileID.
- For Mastercard card products, this identifier is a string called ProductConfigID.
config.digital_wallet_tokenization.provisioning_controls

object

Optional
Controls the provisioning of digital wallets.

Allowable Values:

Valid provisioning_controls object
config.digital_wallet_tokenization.provisioning_controls.in_app_provisioning

object

Optional
Controls the provisioning of digital wallets by a Marqeta customer’s mobile application.

Allowable Values:

Valid in_app_provisioning object
config.digital_wallet_tokenization.provisioning_controls.manual_entry

object

Optional
Controls the provisioning of digital wallets by manual entry, in which the cardholder manually enters the card’s primary account number (PAN), card verification value (CVV2), and expiration date.

Allowable Values:

Valid manual_entry object
config.digital_wallet_tokenization.provisioning_controls.wallet_provider_card_on_file

object

Optional
Controls the provisioning of digital wallets where the digital wallet provider already has the card on file.

Allowable Values:

Valid wallet_provider_card_on_file object
config.digital_wallet_tokenization.provisioning_controls.web_push_provisioning

object

Optional
Specifies the digital wallet card art and program configuration identifiers at the card product level for Web Push Provisioning.

Allowable Values:

Valid web_push_provisioning object
config.digital_wallet_tokenization.provisioning_controls.dwt_use_card_status_during_auth

boolean

Optional
If true, then digital wallet transactions are declined if the card associated with the digital wallet token is in either the SUSPENDED or TERMINATED state.

Allowable Values:

true, false

Default value:
false
config.fulfillment

object

Optional
Determines physical characteristics of a card, along with its bulk shipment information.

Allowable Values:

all_zero_card_security_code, allow_card_creation, bin_prefix, bulk_ship, card_personalization, enable_offline_pin, fulfillment_provider, package_id, pan_length, payment_instrument, shipping, uppercase_name_lines
config.fulfillment.all_zero_card_security_code

boolean

Optional
If true, an all zero code (000) is allowed as a valid value in an authorization request.

Allowable Values:

true, false

Default value:
false
config.fulfillment.allow_card_creation

boolean

Optional
Controls the ability to create cards from this card product; true allows and false disallows the creation of cards.

NOTE: The card product’s active field has no effect on card creation or the behavior of this field.

Allowable Values:

true, false

Default value:
true
config.fulfillment.bin_prefix

string

Optional
Prefix of the bank identification number.

Allowable Values:

A six-digit number for the sandbox environment; a six- to nine-digit number is expected in production environments (see note below).

Default value:
111111

NOTE: In the sandbox environment or when testing against OpenAPI (Swagger), this field must be set to 111111. It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use.
config.fulfillment.bin_issue_country

string

Optional
Country of the card issuer.

Allowable Values:

A valid alpha-3 ISO 3166 country code
config.fulfillment.bulk_ship

boolean

Optional
Enables bulk ordering of cards of this card product type using the /bulkissuances endpoint.

Allowable Values:

true, false

Default value:
false
config.fulfillment.card_personalization

object

Required
Allows personalized attributes to be added to the card product.

Allowable Values:

Valid card_personalization object
config.fulfillment.card_personalization.carrier

object

Optional
Specifies attributes of the card carrier.

Allowable Values:

logo_file, logo_thumbnail_file, message_file, message_line, template_id
config.fulfillment.card_personalization.carrier.logo_file

string

Optional
Specifies an image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.logo_thumbnail_file

string

Optional
Specifies a thumbnail-sized rendering of the image specified in the logo_file field.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_file

string

Optional
Specifies a text file containing a custom message to print on the card carrier.

Allowable Values:

Contains the name of the text file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_line

string

Optional
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.message_line_2

string

Optional
Specifies the second line of a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.template_id

string

Optional
Specifies the card carrier template to use.

Allowable Values:

Card carrier template ID
config.fulfillment.card_personalization.images

object

Optional
Specifies personalized images that appear on the card.

Allowable Values:

card, carrier, carrier_return_window, signature
config.fulfillment.card_personalization.images.card

object

Optional
Specifies personalized images that appear on the card.

Allowable Values:

name, thermal_color
config.fulfillment.card_personalization.images.card.name

string

Optional
Specifies a PNG image to display on the card.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.card.thermal_color

string

Optional
Specifies the color of the image displayed on the card.

Allowable Values:

Contains the name of the color and must match one of the provider’s predefined colors.
config.fulfillment.card_personalization.images.carrier

object

Optional
Specifies personalized images that appear on the card carrier.

Allowable Values:

message_1, name
config.fulfillment.card_personalization.images.carrier.message_1

string

Optional
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.images.carrier.name

string

Optional
Specifies a PNG image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.carrier_return_window

object

Optional
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

name
config.fulfillment.card_personalization.images.carrier_return_window.name

string

Optional
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.signature

object

Optional
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

name
config.fulfillment.card_personalization.images.signature.name

string

Optional
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.perso_type

string

Optional
Specifies the type of card personalization.

Allowable Values:

EMBOSS, LASER, FLAT
config.fulfillment.card_personalization.text

object

Required
Specifies personalized text that appears on the card.

Allowable Values:

name_line_1, name_line_2, name_line_3
config.fulfillment.card_personalization.text.name_line_1

object

Required
Specifies the first line of personalized text that appears on the card.

Allowable Values:

name_line_1.value

21 char max; if name_line_1_numeric_postfix is true, 14 char max.

Strings longer than the character limit are truncated.
config.fulfillment.card_personalization.text.name_line_1.value

string

Optional
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_2

object

Optional
Specifies the second line of personalized text that appears on the card.

Allowable Values:

name_line_2.value
config.fulfillment.card_personalization.text.name_line_2.value

string

Optional
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_3

object

Optional
Specifies the third line of personalized text that appears on the card.

Allowable Values:

name_line_3.value
config.fulfillment.card_personalization.text.name_line_3.value

string

Optional
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.enable_offline_pin

boolean

Optional
Enables offline personal identification number (PIN) verification for Europay Mastercard and Visa (EMV, or “chip-and-PIN”) card payments.

Allowable Values:

true, false

Default value:
false
config.fulfillment.fulfillment_provider

string

Optional
Specifies the fulfillment provider.

You can work with providers located in North America, Europe, South America, and the Asia-Pacific region. For more information, see Fulfillment providers by location.

NOTE: Expedited processing is available for cards that are fulfilled by Arroweye Solutions, G+D, IDEMIA, and Perfect Plastic Printing. You can expedite an order’s processing by using the expedite field of the card or bulkissuance object. Contact your Marqeta representative for information regarding the cost of expedited service.

Allowable Values:

ABCORP, ALLPAY, ARROWEYE, CPI, EXCEET_DE, GD, GEMALTO, IDEMIA, IDEMIA_AU, IDEMIA_CZ, IDEMIA_DE, IDEMIA_FR, IDEMIA_FR_SC, IDEMIA_LA, IDEMIA_PL, IDEMIA_UK, NID, NITECREST, NITECREST_PL, NITECREST_UK_SC, OBERTHUR, OBERTHUR_SC, PERFECTPLASTIC, TAG

Default value:
PERFECTPLASTIC
config.fulfillment.package_id

string

Optional
Card fulfillment provider’s package ID.

Allowable Values:

1–50 chars
config.fulfillment.pan_length

string

Optional
Specifies the length of the primary account number (PAN).

Allowable Values:

Default value:
16
config.fulfillment.payment_instrument

string

Optional
Specifies the physical form cards of this card product type will take.

Allowable Values:

PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN

Default value:
PHYSICAL_MSR
config.fulfillment.shipping

object

Optional
Specifies shipping details for the order.

Allowable Values:

care_of_line, method, recipient_address, return_address
config.fulfillment.shipping.care_of_line

string

Optional
Adds the specified value as a care of (C/O) line to the mailing carrier.

NOTE: This field can be specified on cards, card products, and bulk card orders. If you specify this field at multiple levels, the order of precedence is: card, bulk card order, card product.

Allowable Values:

255 char max
config.fulfillment.shipping.method

string

Optional
Specifies the shipping service.

Allowable Values:

LOCAL_MAIL, LOCAL_MAIL_PACKAGE, GROUND, TWO_DAY, OVERNIGHT, INTERNATIONAL, INTERNATIONAL_PRIORITY, LOCAL_PRIORITY, FEDEX_EXPEDITED, FEDEX_REGULAR, UPS_EXPEDITED, UPS_REGULAR, USPS_EXPEDITED, USPS_REGULAR

Shipping options vary by card provider. For details on the specific shipping companies and services offered by your card provider, contact your Marqeta representative.
config.fulfillment.shipping.recipient_address

object

Optional
Address to which the order will be shipped.

In order to generate cards, a valid shipping address must be provided by one of these:

- The card or bulk card order’s fulfillment.shipping.recipient_address field
- The users’ address fields
- The card product’s config.fulfillment.shipping.recipient_address field

The order of precedence from highest to lowest is card, user, card product. To be valid, an address must have the address1, city, state, and postal_code or zip fields populated. The country field defaults to USA if unpopulated.

Allowable Values:

Valid recipient_address object
config.fulfillment.shipping.recipient_address.address1

string

Optional
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.address2

string

Optional
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.city

string

Optional
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.country

string

Optional
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.recipient_address.first_name

string

Optional
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.last_name

string

Optional
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.middle_name

string

Optional
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.phone

string

Optional
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.recipient_address.postal_code

string

Optional
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.recipient_address.state

string

Optional
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.recipient_address.zip

string

Optional
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address

object

Optional
Address to which the order will be returned if shipping fails.

Allowable Values:

address1, address2, city, country, first_name, last_name, middle_name, phone, postal_code, state, zip
config.fulfillment.shipping.return_address.address1

string

Optional
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.address2

string

Optional
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.city

string

Optional
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.country

string

Optional
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.return_address.first_name

string

Optional
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.last_name

string

Optional
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.middle_name

string

Optional
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.phone

string

Optional
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.return_address.postal_code

string

Optional
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address.state

string

Optional
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.return_address.zip

string

Optional
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.uppercase_name_lines

boolean

Optional
A value of true sets the text in the fulfillment.card_personalization.text.name_line_1 and name_line_2 fields to all uppercase letters. A value of false leaves the text in its original state.

Allowable Values:

true, false

Default value:
true
config.jit_funding

object

Optional
Governs the behavior of JIT Funding.

Allowable Values:

paymentcard_funding_source, program_funding_source, programgateway_funding_source
config.jit_funding.paymentcard_funding_source

object

Optional
Enables and configures a payment card funding source.

Allowable Values:

Valid paymentcard_funding_source object
config.jit_funding.paymentcard_funding_source.enabled

boolean

Optional
Specifies whether JIT Funding is enabled or disabled for the payment card funding source. A value of true indicates that the payment card funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.paymentcard_funding_source.refunds_destination

string

Optional
Specifies the return destination for refunds in the case of a transaction reversal.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.jit_funding.program_funding_source

object

Optional
Enables and configures a program funding source.

Allowable Values:

Valid program_funding_source object
config.jit_funding.program_funding_source.enabled

boolean

Optional
Specifies whether JIT Funding is enabled or disabled for the program funding source. A value of true indicates that the program funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.program_funding_source.funding_source_token

string

Optional
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.program_funding_source.refunds_destination

string

Optional
Specifies the return destination for refunds in the case of a transaction reversal. PROGRAM_FUNDING_SOURCE returns funds to the program funding source. GPA returns the funds to the user’s GPA.

Allowable Values:

PROGRAM_FUNDING_SOURCE, GPA, WATERFALL
config.jit_funding.programgateway_funding_source

object

Optional
Enables and configures a program gateway funding source.

Allowable Values:

Valid programgateway_funding_source object
config.jit_funding.programgateway_funding_source.always_fund

boolean

Optional
If set to true, this card product is always funded from this program gateway funding source.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.enabled

boolean

Optional
Specifies whether JIT Funding is enabled or disabled for the program gateway funding source. A value of true indicates that the program gateway funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.funding_source_token

string

Optional
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.programgateway_funding_source.refunds_destination

string

Optional
Specifies the return destination for refunds in the case of a transaction reversal. In most cases, you should set the value to GATEWAY, which returns funds to the program gateway funding source. Setting to GPA returns the funds to the user’s GPA, which creates a positive account balance and introduces the potential of a transaction being authorized without a JIT Funding request being sent to the gateway.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.poi

object

Optional
Governs the point of interaction.

Allowable Values:

atm, ecommerce, other
config.poi.atm

boolean

Optional
If set to true, cards can be used for withdrawing cash at an ATM and for receiving cash back at a point of sale (POS).

Allowable Values:

true, false

Default value:
false
config.poi.ecommerce

boolean

Optional
If set to true, cards can be used for online purchases.

Allowable Values:

true, false

Default value:
false
config.poi.other

object

Optional
Allows for configuration of points of interaction other than ecommerce or ATMs, such as points of sale (POS).

Allowable Values:

allow, card_presence_required, cardholder_presence_required
config.poi.other.allow

boolean

Optional
If set to true, card transactions at points of interaction other than e-commerce or ATMs are allowed. This group includes points of sale (POS).

Allowable Values:

true, false

Default value:
true
config.poi.other.card_presence_required

boolean

Optional
If set to true, cards of this card product type are required to be present during the transaction, such as in IVR scenarios.

Allowable Values:

true, false

Default value:
false
config.poi.other.cardholder_presence_required

boolean

Optional
If set to true, the cardholder is required to be present during the transaction, such as in a restaurant where the card is present but the cardholder might not be present when the card is swiped.

Allowable Values:

true, false

Default value:
false
config.selective_auth

object

Optional
Contains information about authorization decisions.

Allowable Values:

dmd_location_sensitivity, enable_regex_search_chain, sa_mode
config.selective_auth.dmd_location_sensitivity

integer

Optional
Determines what type of merchant information is required for a match (authorization). Not relevant if enable_regex_search_chain = false.

- 0 – Requires exact match on card acceptor name and postal code to existing entry in Marqeta Merchant database (most restrictive).
- 1 – Partial match on card acceptor name (least restrictive).
- 2 – Partial match on card acceptor name; exact match on card acceptor city.
- 3 – Partial match on card acceptor name; exact match on card acceptor postal code.
- 4 – Partial match on card acceptor name; exact match on street address 1 and postal code.

Allowable Values:

0, 1, 2, 3, 4

Default value:
0
config.selective_auth.enable_regex_search_chain

boolean

Optional
Set to true to perform regular expression checking on the description received in the authorization.

Allowable Values:

true, false

Default value:
false
config.selective_auth.sa_mode

integer

Optional
Specifies the selective authorization mode.

- 0 — Inactive
- 1 — Active (attempts to authorize a merchant that does not have a recognized MID by matching other pieces of information)
- 2 — Logging and notification (checks the transaction and logs results, but does not authorize)

Selective authorization applies to transactions that are limited to specific merchants. Matching requirements for authorization are set by the dmd_location_sensitivity field.

Allowable Values:

0, 1, 2

Default value:
0
config.special

object

Optional
Contains information about merchant onboarding.

Allowable Values:

merchant_on_boarding
config.special.merchant_on_boarding

boolean

Optional
If set to true, cards of this card product type can be used for merchant onboarding.

Allowable Values:

true, false

Default value:
false
config.transaction_controls

object

Optional
Controls transactional characteristics of card usage.

Allowable Values:

accepted_countries_token, address_verification, allow_chip_fallback, allow_first_pin_set_via_financial_transaction, allow_gpa_auth, allow_mcc_group_authorization_controls, allow_network_load, allow_network_load_card_activation, allow_quasi_cash, always_require_icc, always_require_pin, enable_partial_auth_approval, ignore_card_suspended_state, notification_language, quasi_cash_exempt_merchant_group_token, quasi_cash_exempt_mids, require_card_not_present_card_security_code, strong_customer_authentication_limits
config.transaction_controls.accepted_countries_token

string

Optional
Set to accept_us_only to allow transactions only within the US.

Set to decline_ofac_countries to allow international transactions except with countries that the Financial Action Task Force (FATF) and Office of Foreign Assets Control (OFAC) have identified as high risk.

Users with the Admin role can create and update additional lists of accepted countries for transactions at the /acceptedcountries endpoint. See Accepted Countries.

Allowable Values:

accept_us_only, decline_ofac_countries, additional Admin-defined tokens

Default value:
accept_us_only
config.transaction_controls.address_verification

object

Optional
Contains configuration options for AVS.

Allowable Values:

Valid address_verification object
config.transaction_controls.address_verification.auth_messages

object

Optional
Contains verification options for authorization messages.

These messages pertain to actual purchases and are for amounts greater than $0.

Allowable Values:

One or more verification options
config.transaction_controls.address_verification.av_messages

object

Optional
Contains verification options for account verification messages.

These are $0 messages typically used to store cards on file at a merchant.

Allowable Values:

One or more verification options
config.transaction_controls.allow_chip_fallback

boolean

Optional
Indicates whether to allow transactions where a Europay Mastercard and Visa (EMV) chip-enabled card was processed using the magstripe as fallback.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_first_pin_set_via_financial_transaction

boolean

Optional
WARNING: This field is deprecated and will be unsupported in a future release.

Allows cardholders to define a personal identification number (PIN) as they complete their first PIN-debit transaction.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_gpa_auth

boolean

Optional
If set to true, transactions can be authorized using GPA funds.

NOTE: For most programs, this field should be set to true.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_mcc_group_authorization_controls

boolean

Optional
The MCC groupauthorization_controls object allows you to automatically increase authorization holds and to specify authorization expiration times based on merchant type. By default, these settings apply to all cards in your program.

However, you can make cards that are associated with a particular card product exempt from increasing authorization holds by setting the allow_mcc_group_authorization_controls field to false. Doing so does not impact authorization expiration times.

NOTE:Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, because Marqeta will increase authorization holds for AFDs if the card product has been configured to do so.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_network_load

boolean

Optional
Indicates whether card network loads are allowed. The associated card’s state must be ACTIVE or the load will be rejected.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_network_load_card_activation

boolean

Optional
Indicates whether card network loads are allowed. Sets the associated card’s state to ACTIVE if its current state is INACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_quasi_cash

boolean

Optional
Indicates whether quasi-cash transactions are allowed. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_icc

boolean

Optional
If set to true, cards of this card product type require an Integrated Circuit Card.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_pin

boolean

Optional
If set to true, cards of this card product type require a personal identification number (PIN).

Allowable Values:

true, false

Default value:
false
config.transaction_controls.enable_partial_auth_approval

boolean

Optional
Set to true to enable partial authorizations.

When this setting is false and the requested authorization amount exceeds available funds, the transaction is declined. When this setting is true and the requested authorization amount exceeds available funds, the transaction is authorized for the amount of available funds.

NOTE|OPEN|| CALLOUTTITLE:Note|TITLEBREAK|Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, as Marqeta will always partially approve AFD pre-authorizations if the transaction payload field partial_approval_capable is enabled. NOTE|CLOSE

Allowable Values:

true, false

Default value:
true
config.transaction_controls.ignore_card_suspended_state

boolean

Optional
Allows transactions to be approved even if the card’s state = SUSPENDED. When this field is set to true, the card behaves as if its state = ACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.notification_language

string

Optional
Specifies the language for 3D Secure and digital wallet token notifications sent to cardholders under this card program.

You can send notifications to your cardholders in the following languages:

- ces – Czech
- deu – German
- eng – English
- fra – French
- grc – Greek
- ita – Italian
- nld – Dutch
- pol – Polish
- por – Portuguese
- rou – Romanian
- spa – Spanish
- swe – Swedish

By default, notifications are sent in English.

To specify the language for OTP notifications at the user level, see Users. Languages set at the user level take precedence over the language set at the card product level.

Allowable Values:

ces, deu, eng, fra, grc, ita, nld, pol, por, rou, spa, swe

If you leave this field blank, cardholders receive notifications in English.
config.transaction_controls.quasi_cash_exempt_merchant_group_token

string

Optional
The token of the merchant group that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

You can specify a merchant group token in addition to whatever merchant identifiers you listed in the quasi_cash_exempt_mids field, if any. For more information, see Merchant Groups.

Allowable Values:

1–36 chars

Valid merchant group token.
config.transaction_controls.quasi_cash_exempt_mids

string

Optional
Comma-separated list of merchant identifiers that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

255 char max

For example: 12345678901,23456789012,34567890123,45678901234
config.transaction_controls.require_card_not_present_card_security_code

boolean

Optional
A value of true indicates that if card_presence_required is true, the card’s security code is required.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits

object

Optional
Contains information about Strong Customer Authentication (SCA) behavior for contactless point-of-sale (POS) and low-value payment (LVP) e-commerce transactions.

Allowable Values:

sca_contactless_cumulative_amount_limit, sca_contactless_transaction_limit, sca_contactless_transactions_count_limit, sca_contactless_transactions_currency, sca_lvp_cumulative_amount_limit, sca_lvp_transaction_limit, sca_lvp_transactions_count_limit, sca_tra_exemption_amount_limit
config.transaction_controls.strong_customer_authentication_limits.cavv_authentication_amount_incremental_percentage

string

Optional
If you have enabled CAVV authentication amount validation, the value of this field specifies the maximum allowable variance between the authorization amount and the 3D Secure authentication amount. Expressed as a percentage.

Allowable Values:

255 char max

Default value:
0
config.transaction_controls.strong_customer_authentication_limits.enable_cavv_authentication_amount_validation

boolean

Optional
If set to true, Marqeta validates the amount in the authorization transaction against the amount in the 3D Secure authentication attempt. If the authorization amount is greater than the 3D Secure authentication amount, Marqeta rejects the transaction. You can specify an allowable variance for the 3D Secure authentication amount in the cavv_authentication_amount_incremental_percentage field.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.enable_issuer_tra_exemption

boolean

Optional
If set to true, Marqeta does not increment the low-value payment (LVP) counter for frictionless 3D Secure transactions.

This field is enabled in your card product configuration. Contact your Marqeta representative to configure this field for your program.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_cumulative_amount_limit

decimal

Optional
Specifies the cumulative limit of transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the cumulative amount spent in contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transaction_limit

decimal

Optional
Specifies the maximum allowable amount for a single contactless point-of-sale (POS) transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

A value of 0 in this field means that the amount of any single contactless POS transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_count_limit

integer

Optional
Specifies the number of contactless POS transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the number of contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

Any integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_currency

string

Optional
Specifies the currency type for contactless POS transactions.

This field is required if either the sca_contactless_transaction_limit field or the sca_contactless_cumulative_amount_limit field in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_cumulative_amount_limit

decimal

Optional
Specifies the cumulative limit of low-value payment (LVP) e-commerce transactions the cardholder can perform before receiving an SCA challenge.

For example, if you set the value of this field to 100.00, your cardholder can perform two transactions for 30.00 and two transactions for 20.00 before receiving an SCA challenge.

If you leave this field blank, the cumulative amount spent in LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transaction_limit

decimal

Optional
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

If you leave this field blank, the amount of any single LVP e-commerce transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_count_limit

integer

Optional
Specifies the number of LVP e-commerce transactions the cardholder can perform before receiving an SCA challenge.

If you leave this field blank, the total number of LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

An integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_currency

string

Optional
Specifies the currency type for LVP e-commerce transaction limits.

This field is required if any one of the sca_lvp_transaction_limit, sca_lvp_cumulative_amount_limit, or sca_lvp_transactions_count_limit fields in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_tra_exemption_amount_limit

decimal

Optional
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction with transaction risk analysis (TRA) exemption sent by the merchant or acquirer. If the transaction amount exceeds the specified limit, then the transaction is either approved or it receives a strong customer authentication (SCA) challenge based on sca_lvp_transaction_limit and sca_lvp_transactions_currency.

Allowable Values:

decimal

Format:
0.00

Default value:
0.00
end_date

date

Optional
End date of the range over which the card product can be active.

Allowable Values:

Format: yyyy-mm-DD
name

string

Required
Name of the card product. Marqeta recommends that you use a unique string.

Allowable Values:

1–40 chars
start_date

date

Required
Date when the card product becomes active. If the start date has passed and the card is set to active = false, then the card will not be activated.

Allowable Values:

Format: yyyy-mm-DD
token

string

Optional
Unique identifier of the card product.

If you do not include a token, the system will generate one automatically. This token is required in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated.

Allowable Values:

1–36 chars

Sample request body

JSON
{
  "name": "My Card Product 01",
  "token": "my_cardproduct_01",
  "start_date": "2021-04-27",
  "config": {
    "poi": {
      "ecommerce": false,
      "atm": false,
      "other": {
        "allow": true,
        "card_presence_required": false,
        "cardholder_presence_required": false
      }
    },
    "transaction_controls": {
      "accepted_countries_token": "accept_us_only",
      "always_require_pin": false,
      "always_require_icc": false,
      "allow_gpa_auth": true,
      "require_card_not_present_card_security_code": false,
      "allow_mcc_group_authorization_controls": true,
      "ignore_card_suspended_state": false,
      "allow_network_load": false,
      "allow_network_load_card_activation": false,
      "allow_quasi_cash": false,
      "enable_partial_auth_approval": true,
      "notification_language": "fra"
    },
    "fulfillment": {
      "shipping": {
        "return_address": {
          "address1": "123 Henry St",
          "address2": "Suite 101",
          "city": "Porterville",
          "state": "CA",
          "postal_code": "93257",
          "country": "USA",
          "phone": "8315551212",
          "first_name": "Saki",
          "middle_name": "R",
          "last_name": "Dogger"
        },
        "recipient_address": {
          "address1": "1234 Grove Street",
          "city": "Berkeley",
          "state": "CA",
          "postal_code": "94702",
          "country": "USA",
          "phone": "5105551212",
          "first_name": "Jane",
          "last_name": "Doe"
        },
        "method": "OVERNIGHT"
      },
      "card_personalization": {
        "text": {
          "name_line_1": {
            "value": "Saki Dogger"
          },
          "name_line_2": {
            "value": "Aegis Fleet Services"
          }
        },
        "carrier": {
          "name": "my_carrier_logo.png",
          "message_line": "my message"
        },
        "images": {
          "card": {
            "name": "my_card_logo.png",
            "thermal_color": "Black"
          }
        },
        "signature": {
          "name": "my_signature.png"
        },
        "carrier_return_window": {
          "name": "my_return_address_image.png"
        }
      },
      "payment_instrument": "PHYSICAL_MSR",
      "package_id": "0",
      "all_zero_card_security_code": false,
      "bin_prefix": "111111",
      "bin_issue_country": "USA",
      "bulk_ship": false,
      "pan_length": "16",
      "fulfillment_provider": "PERFECTPLASTIC"
    },
    "selective_auth": {
      "sa_mode": 1,
      "enable_regex_search_chain": false,
      "dmd_location_sensitivity": 0
    },
    "card_life_cycle": {
      "activate_upon_issue": true,
      "expiration_offset": {
        "unit": "YEARS",
        "value": 10
      },
      "card_service_code": 101,
      "update_expiration_upon_activation": false
    },
    "jit_funding": {
      "paymentcard_funding_source": {
        "enabled": true
      }
    }
  }
}

Response body

FieldsDescription
active

boolean

Conditionally returned
Indicates whether the card product is active.

This field is returned if it exists in the resource.

Allowable Values:

true, false

Default value:
true
config

object

Conditionally returned
Defines the characteristics of the card product. Configurations are conditionally returned based on program setup.

Allowable Values:

card_life_cycle, clearing_and_settlement, digital_wallet_tokenization, fulfillment, jit_funding, poi, selective_auth, special, transaction_controls
config.card_life_cycle

object

Conditionally returned
Defines characteristics of the lifecycle of cards of this card product type.

Allowable Values:

activate_upon_issue, card_service_code, expiration_offset, reloadability, update_expiration_upon_activation
config.card_life_cycle.activate_upon_issue

boolean

Conditionally returned
A value of true indicates that cards of this card product type are active once they are issued.

Allowable Values:

true, false

Default value:
false
config.card_life_cycle.card_service_code

integer

Conditionally returned
Sequence of three digits that defines various services, differentiates card usage in international or domestic interchange, designates personal identification number (PIN) and authorization requirements, and identifies card restrictions. The following values are commonly used:

First digit

- 1 — International interchange OK
- 2 — International interchange, use IC (chip) where feasible
- 5 — National interchange only except under bilateral agreement
- 6 — National interchange only except under bilateral agreement, use IC (chip) where feasible
- 7 — No interchange except under bilateral agreement (closed loop)
- 9 — Test

Second digit

- 0 — Normal
- 2 — Contact issuer via online means
- 4 — Contact issuer via online means except under bilateral agreement

Third digit

- 0 — No restrictions, PIN required
- 1 — No restrictions
- 2 — Goods and services only (no cash)
- 3 — ATM only, PIN required
- 4 — Cash only
- 5 — Goods and services only (no cash), PIN required
- 6 — No restrictions, use PIN where feasible
- 7 — Goods and services only (no cash), use PIN where feasible

Allowable Values:

100 - 999

Default value:
101
config.card_life_cycle.expiration_offset

object

Conditionally returned
Specifies the length of time after the date of issue for which cards of this card product type are valid.

Allowable Values:

min_offset, unit, value
config.card_life_cycle.expiration_offset.min_offset

object

Conditionally returned
Specifies the minimum length of time after the date of issue for which the cards are valid.

Allowable Values:

unit, value
config.card_life_cycle.expiration_offset.min_offset.unit

string

Conditionally returned
Specifies the time unit of the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS
config.card_life_cycle.expiration_offset.min_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field) for which cards of this card product type are valid. Cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.expiration_offset.unit

string

Conditionally returned
Specifies the units for the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS

Default value:
YEARS
config.card_life_cycle.expiration_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field in this object) for which cards of this card product type are valid. In other words, cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.reloadability

string

Conditionally returned
Indicates if a card is reloadable.

Allowable Values:

NON-RELOADABLE, RELOADABLE, SINGLE_USE_VIRTUAL
config.card_life_cycle.update_expiration_upon_activation

boolean

Conditionally returned
Normally, the expiration_offset is measured from the date of issue. Set this field to true to measure expiration_offset from the date of activation instead.

Allowable Values:

true, false

Default value:
false
config.clearing_and_settlement

object

Conditionally returned
Specifies the destination for overdraft funds.

Allowable Values:

overdraft_destination
config.clearing_and_settlement.overdraft_destination

string

Conditionally returned
Specifies the destination for overdraft funds.

This field does not apply if JIT Funding is enabled.

Allowable Values:

GPA, MERCHANT_CAMPAIGN_ACCOUNT, GLOBAL_OVERDRAFT_ACCOUNT

Default value:
GPA
config.digital_wallet_tokenization

object

Conditionally returned
Controls characteristics related to digital wallets.

Allowable Values:

card_art_id, provisioning_controls
config.digital_wallet_tokenization.card_art_id

string

Conditionally returned
Specifies the digital wallet card art identifier for the card product. The card art identifier also includes card metadata, such as terms and conditions, card product information, contact information, Apple Pay requirements, Android Pay requirements, wallet profiles, rule sets, terminal profiles, authorization profiles, message profiles, and activation profiles.

Digital wallets display the card art after the initial token has been provisioned and activated. Digital wallet card art is updated for all wallets automatically whenever a tokenized card is reissued or replaced.

- If your card program is Managed by Marqeta, Marqeta populates this field on your behalf.
- If your card program is Powered by Marqeta, you can obtain the correct card art identifier directly from Visa or Mastercard.

If this field is left blank, your card product inherits the card art assigned to the account BIN range. For more information about this field, contact your Marqeta representative.

Allowable Values:

Valid identifiers are defined by Visa or Mastercard and vary by program:

- For Visa card products, this identifier is a GUID called profileID.
- For Mastercard card products, this identifier is a string called ProductConfigID.
config.digital_wallet_tokenization.provisioning_controls

object

Conditionally returned
Controls the provisioning of digital wallets.

Allowable Values:

Valid provisioning_controls object
config.digital_wallet_tokenization.provisioning_controls.in_app_provisioning

object

Conditionally returned
Controls the provisioning of digital wallets by a Marqeta customer’s mobile application.

Allowable Values:

Valid in_app_provisioning object
config.digital_wallet_tokenization.provisioning_controls.manual_entry

object

Conditionally returned
Controls the provisioning of digital wallets by manual entry, in which the cardholder manually enters the card’s primary account number (PAN), card verification value (CVV2), and expiration date.

Allowable Values:

Valid manual_entry object
config.digital_wallet_tokenization.provisioning_controls.wallet_provider_card_on_file

object

Conditionally returned
Controls the provisioning of digital wallets where the digital wallet provider already has the card on file.

Allowable Values:

Valid wallet_provider_card_on_file object
config.digital_wallet_tokenization.provisioning_controls.web_push_provisioning

object

Conditionally returned
Specifies the digital wallet card art and program configuration identifiers at the card product level for Web Push Provisioning.

Allowable Values:

Valid web_push_provisioning object
config.digital_wallet_tokenization.provisioning_controls.dwt_use_card_status_during_auth

boolean

Conditionally returned
If true, then digital wallet transactions are declined if the card associated with the digital wallet token is in either the SUSPENDED or TERMINATED state.

Allowable Values:

true, false

Default value:
false
config.fulfillment

object

Conditionally returned
Determines physical characteristics of a card, along with its bulk shipment information.

Allowable Values:

all_zero_card_security_code, allow_card_creation, bin_prefix, bulk_ship, card_personalization, enable_offline_pin, fulfillment_provider, package_id, pan_length, payment_instrument, shipping, uppercase_name_lines
config.fulfillment.all_zero_card_security_code

boolean

Conditionally returned
If true, an all zero code (000) is allowed as a valid value in an authorization request.

Allowable Values:

true, false

Default value:
false
config.fulfillment.allow_card_creation

boolean

Conditionally returned
Controls the ability to create cards from this card product; true allows and false disallows the creation of cards.

NOTE: The card product’s active field has no effect on card creation or the behavior of this field.

Allowable Values:

true, false

Default value:
true
config.fulfillment.bin_prefix

string

Conditionally returned
Prefix of the bank identification number.

Allowable Values:

A six-digit number for the sandbox environment; a six- to nine-digit number is expected in production environments (see note below).

Default value:
111111

NOTE: In the sandbox environment or when testing against OpenAPI (Swagger), this field must be set to 111111. It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use.
config.fulfillment.bin_issue_country

string

Conditionally returned
Country of the card issuer.

Allowable Values:

A valid alpha-3 ISO 3166 country code
config.fulfillment.bulk_ship

boolean

Conditionally returned
Enables bulk ordering of cards of this card product type using the /bulkissuances endpoint.

Allowable Values:

true, false

Default value:
false
config.fulfillment.card_personalization

object

Returned
Allows personalized attributes to be added to the card product.

Allowable Values:

Valid card_personalization object
config.fulfillment.card_personalization.carrier

object

Conditionally returned
Specifies attributes of the card carrier.

Allowable Values:

logo_file, logo_thumbnail_file, message_file, message_line, template_id
config.fulfillment.card_personalization.carrier.logo_file

string

Conditionally returned
Specifies an image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.logo_thumbnail_file

string

Conditionally returned
Specifies a thumbnail-sized rendering of the image specified in the logo_file field.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_file

string

Conditionally returned
Specifies a text file containing a custom message to print on the card carrier.

Allowable Values:

Contains the name of the text file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_line

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.message_line_2

string

Conditionally returned
Specifies the second line of a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.template_id

string

Conditionally returned
Specifies the card carrier template to use.

Allowable Values:

Card carrier template ID
config.fulfillment.card_personalization.images

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

card, carrier, carrier_return_window, signature
config.fulfillment.card_personalization.images.card

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

name, thermal_color
config.fulfillment.card_personalization.images.card.name

string

Conditionally returned
Specifies a PNG image to display on the card.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.card.thermal_color

string

Conditionally returned
Specifies the color of the image displayed on the card.

Allowable Values:

Contains the name of the color and must match one of the provider’s predefined colors.
config.fulfillment.card_personalization.images.carrier

object

Conditionally returned
Specifies personalized images that appear on the card carrier.

Allowable Values:

message_1, name
config.fulfillment.card_personalization.images.carrier.message_1

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.images.carrier.name

string

Conditionally returned
Specifies a PNG image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.carrier_return_window

object

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

name
config.fulfillment.card_personalization.images.carrier_return_window.name

string

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.signature

object

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

name
config.fulfillment.card_personalization.images.signature.name

string

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.perso_type

string

Conditionally returned
Specifies the type of card personalization.

Allowable Values:

EMBOSS, LASER, FLAT
config.fulfillment.card_personalization.text

object

Returned
Specifies personalized text that appears on the card.

Allowable Values:

name_line_1, name_line_2, name_line_3
config.fulfillment.card_personalization.text.name_line_1

object

Returned
Specifies the first line of personalized text that appears on the card.

Allowable Values:

name_line_1.value

21 char max; if name_line_1_numeric_postfix is true, 14 char max.

Strings longer than the character limit are truncated.
config.fulfillment.card_personalization.text.name_line_1.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_2

object

Conditionally returned
Specifies the second line of personalized text that appears on the card.

Allowable Values:

name_line_2.value
config.fulfillment.card_personalization.text.name_line_2.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_3

object

Conditionally returned
Specifies the third line of personalized text that appears on the card.

Allowable Values:

name_line_3.value
config.fulfillment.card_personalization.text.name_line_3.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.enable_offline_pin

boolean

Conditionally returned
Enables offline personal identification number (PIN) verification for Europay Mastercard and Visa (EMV, or “chip-and-PIN”) card payments.

Allowable Values:

true, false

Default value:
false
config.fulfillment.fulfillment_provider

string

Conditionally returned
Specifies the fulfillment provider.

You can work with providers located in North America, Europe, South America, and the Asia-Pacific region. For more information, see Fulfillment providers by location.

NOTE: Expedited processing is available for cards that are fulfilled by Arroweye Solutions, G+D, IDEMIA, and Perfect Plastic Printing. You can expedite an order’s processing by using the expedite field of the card or bulkissuance object. Contact your Marqeta representative for information regarding the cost of expedited service.

Allowable Values:

ABCORP, ALLPAY, ARROWEYE, CPI, EXCEET_DE, GD, GEMALTO, IDEMIA, IDEMIA_AU, IDEMIA_CZ, IDEMIA_DE, IDEMIA_FR, IDEMIA_FR_SC, IDEMIA_LA, IDEMIA_PL, IDEMIA_UK, NID, NITECREST, NITECREST_PL, NITECREST_UK_SC, OBERTHUR, OBERTHUR_SC, PERFECTPLASTIC, TAG

Default value:
PERFECTPLASTIC
config.fulfillment.package_id

string

Conditionally returned
Card fulfillment provider’s package ID.

Allowable Values:

1–50 chars
config.fulfillment.pan_length

string

Conditionally returned
Specifies the length of the primary account number (PAN).

Allowable Values:

Default value:
16
config.fulfillment.payment_instrument

string

Conditionally returned
Specifies the physical form cards of this card product type will take.

Allowable Values:

PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN

Default value:
PHYSICAL_MSR
config.fulfillment.shipping

object

Conditionally returned
Specifies shipping details for the order.

Allowable Values:

care_of_line, method, recipient_address, return_address
config.fulfillment.shipping.care_of_line

string

Conditionally returned
Adds the specified value as a care of (C/O) line to the mailing carrier.

NOTE: This field can be specified on cards, card products, and bulk card orders. If you specify this field at multiple levels, the order of precedence is: card, bulk card order, card product.

Allowable Values:

255 char max
config.fulfillment.shipping.method

string

Conditionally returned
Specifies the shipping service.

Allowable Values:

LOCAL_MAIL, LOCAL_MAIL_PACKAGE, GROUND, TWO_DAY, OVERNIGHT, INTERNATIONAL, INTERNATIONAL_PRIORITY, LOCAL_PRIORITY, FEDEX_EXPEDITED, FEDEX_REGULAR, UPS_EXPEDITED, UPS_REGULAR, USPS_EXPEDITED, USPS_REGULAR

Shipping options vary by card provider. For details on the specific shipping companies and services offered by your card provider, contact your Marqeta representative.
config.fulfillment.shipping.recipient_address

object

Conditionally returned
Address to which the order will be shipped.

In order to generate cards, a valid shipping address must be provided by one of these:

- The card or bulk card order’s fulfillment.shipping.recipient_address field
- The users’ address fields
- The card product’s config.fulfillment.shipping.recipient_address field

The order of precedence from highest to lowest is card, user, card product. To be valid, an address must have the address1, city, state, and postal_code or zip fields populated. The country field defaults to USA if unpopulated.

Allowable Values:

Valid recipient_address object
config.fulfillment.shipping.recipient_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.recipient_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.recipient_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.recipient_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.recipient_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address

object

Conditionally returned
Address to which the order will be returned if shipping fails.

Allowable Values:

address1, address2, city, country, first_name, last_name, middle_name, phone, postal_code, state, zip
config.fulfillment.shipping.return_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.return_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.return_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.return_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.uppercase_name_lines

boolean

Conditionally returned
A value of true sets the text in the fulfillment.card_personalization.text.name_line_1 and name_line_2 fields to all uppercase letters. A value of false leaves the text in its original state.

Allowable Values:

true, false

Default value:
true
config.jit_funding

object

Conditionally returned
Governs the behavior of JIT Funding.

Allowable Values:

paymentcard_funding_source, program_funding_source, programgateway_funding_source
config.jit_funding.paymentcard_funding_source

object

Conditionally returned
Enables and configures a payment card funding source.

Allowable Values:

Valid paymentcard_funding_source object
config.jit_funding.paymentcard_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the payment card funding source. A value of true indicates that the payment card funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.paymentcard_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.jit_funding.program_funding_source

object

Conditionally returned
Enables and configures a program funding source.

Allowable Values:

Valid program_funding_source object
config.jit_funding.program_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program funding source. A value of true indicates that the program funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.program_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.program_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. PROGRAM_FUNDING_SOURCE returns funds to the program funding source. GPA returns the funds to the user’s GPA.

Allowable Values:

PROGRAM_FUNDING_SOURCE, GPA, WATERFALL
config.jit_funding.programgateway_funding_source

object

Conditionally returned
Enables and configures a program gateway funding source.

Allowable Values:

Valid programgateway_funding_source object
config.jit_funding.programgateway_funding_source.always_fund

boolean

Conditionally returned
If set to true, this card product is always funded from this program gateway funding source.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program gateway funding source. A value of true indicates that the program gateway funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.programgateway_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. In most cases, you should set the value to GATEWAY, which returns funds to the program gateway funding source. Setting to GPA returns the funds to the user’s GPA, which creates a positive account balance and introduces the potential of a transaction being authorized without a JIT Funding request being sent to the gateway.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.poi

object

Conditionally returned
Governs the point of interaction.

Allowable Values:

atm, ecommerce, other
config.poi.atm

boolean

Conditionally returned
If set to true, cards can be used for withdrawing cash at an ATM and for receiving cash back at a point of sale (POS).

Allowable Values:

true, false

Default value:
false
config.poi.ecommerce

boolean

Conditionally returned
If set to true, cards can be used for online purchases.

Allowable Values:

true, false

Default value:
false
config.poi.other

object

Conditionally returned
Allows for configuration of points of interaction other than ecommerce or ATMs, such as points of sale (POS).

Allowable Values:

allow, card_presence_required, cardholder_presence_required
config.poi.other.allow

boolean

Conditionally returned
If set to true, card transactions at points of interaction other than e-commerce or ATMs are allowed. This group includes points of sale (POS).

Allowable Values:

true, false

Default value:
true
config.poi.other.card_presence_required

boolean

Conditionally returned
If set to true, cards of this card product type are required to be present during the transaction, such as in IVR scenarios.

Allowable Values:

true, false

Default value:
false
config.poi.other.cardholder_presence_required

boolean

Conditionally returned
If set to true, the cardholder is required to be present during the transaction, such as in a restaurant where the card is present but the cardholder might not be present when the card is swiped.

Allowable Values:

true, false

Default value:
false
config.selective_auth

object

Conditionally returned
Contains information about authorization decisions.

Allowable Values:

dmd_location_sensitivity, enable_regex_search_chain, sa_mode
config.selective_auth.dmd_location_sensitivity

integer

Conditionally returned
Determines what type of merchant information is required for a match (authorization). Not relevant if enable_regex_search_chain = false.

- 0 – Requires exact match on card acceptor name and postal code to existing entry in Marqeta Merchant database (most restrictive).
- 1 – Partial match on card acceptor name (least restrictive).
- 2 – Partial match on card acceptor name; exact match on card acceptor city.
- 3 – Partial match on card acceptor name; exact match on card acceptor postal code.
- 4 – Partial match on card acceptor name; exact match on street address 1 and postal code.

Allowable Values:

0, 1, 2, 3, 4

Default value:
0
config.selective_auth.enable_regex_search_chain

boolean

Conditionally returned
Set to true to perform regular expression checking on the description received in the authorization.

Allowable Values:

true, false

Default value:
false
config.selective_auth.sa_mode

integer

Conditionally returned
Specifies the selective authorization mode.

- 0 — Inactive
- 1 — Active (attempts to authorize a merchant that does not have a recognized MID by matching other pieces of information)
- 2 — Logging and notification (checks the transaction and logs results, but does not authorize)

Selective authorization applies to transactions that are limited to specific merchants. Matching requirements for authorization are set by the dmd_location_sensitivity field.

Allowable Values:

0, 1, 2

Default value:
0
config.special

object

Conditionally returned
Contains information about merchant onboarding.

Allowable Values:

merchant_on_boarding
config.special.merchant_on_boarding

boolean

Conditionally returned
If set to true, cards of this card product type can be used for merchant onboarding.

Allowable Values:

true, false

Default value:
false
config.transaction_controls

object

Conditionally returned
Controls transactional characteristics of card usage.

Allowable Values:

accepted_countries_token, address_verification, allow_chip_fallback, allow_first_pin_set_via_financial_transaction, allow_gpa_auth, allow_mcc_group_authorization_controls, allow_network_load, allow_network_load_card_activation, allow_quasi_cash, always_require_icc, always_require_pin, enable_partial_auth_approval, ignore_card_suspended_state, notification_language, quasi_cash_exempt_merchant_group_token, quasi_cash_exempt_mids, require_card_not_present_card_security_code, strong_customer_authentication_limits
config.transaction_controls.accepted_countries_token

string

Conditionally returned
Set to accept_us_only to allow transactions only within the US.

Set to decline_ofac_countries to allow international transactions except with countries that the Financial Action Task Force (FATF) and Office of Foreign Assets Control (OFAC) have identified as high risk.

Users with the Admin role can create and update additional lists of accepted countries for transactions at the /acceptedcountries endpoint. See Accepted Countries.

Allowable Values:

accept_us_only, decline_ofac_countries, additional Admin-defined tokens

Default value:
accept_us_only
config.transaction_controls.address_verification

object

Conditionally returned
Contains configuration options for AVS.

Allowable Values:

Valid address_verification object
config.transaction_controls.address_verification.auth_messages

object

Conditionally returned
Contains verification options for authorization messages.

These messages pertain to actual purchases and are for amounts greater than $0.

Allowable Values:

One or more verification options
config.transaction_controls.address_verification.av_messages

object

Conditionally returned
Contains verification options for account verification messages.

These are $0 messages typically used to store cards on file at a merchant.

Allowable Values:

One or more verification options
config.transaction_controls.allow_chip_fallback

boolean

Conditionally returned
Indicates whether to allow transactions where a Europay Mastercard and Visa (EMV) chip-enabled card was processed using the magstripe as fallback.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_first_pin_set_via_financial_transaction

boolean

Conditionally returned
WARNING: This field is deprecated and will be unsupported in a future release.

Allows cardholders to define a personal identification number (PIN) as they complete their first PIN-debit transaction.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_gpa_auth

boolean

Conditionally returned
If set to true, transactions can be authorized using GPA funds.

NOTE: For most programs, this field should be set to true.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_mcc_group_authorization_controls

boolean

Conditionally returned
The MCC groupauthorization_controls object allows you to automatically increase authorization holds and to specify authorization expiration times based on merchant type. By default, these settings apply to all cards in your program.

However, you can make cards that are associated with a particular card product exempt from increasing authorization holds by setting the allow_mcc_group_authorization_controls field to false. Doing so does not impact authorization expiration times.

NOTE:Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, because Marqeta will increase authorization holds for AFDs if the card product has been configured to do so.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_network_load

boolean

Conditionally returned
Indicates whether card network loads are allowed. The associated card’s state must be ACTIVE or the load will be rejected.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_network_load_card_activation

boolean

Conditionally returned
Indicates whether card network loads are allowed. Sets the associated card’s state to ACTIVE if its current state is INACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_quasi_cash

boolean

Conditionally returned
Indicates whether quasi-cash transactions are allowed. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_icc

boolean

Conditionally returned
If set to true, cards of this card product type require an Integrated Circuit Card.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_pin

boolean

Conditionally returned
If set to true, cards of this card product type require a personal identification number (PIN).

Allowable Values:

true, false

Default value:
false
config.transaction_controls.enable_partial_auth_approval

boolean

Conditionally returned
Set to true to enable partial authorizations.

When this setting is false and the requested authorization amount exceeds available funds, the transaction is declined. When this setting is true and the requested authorization amount exceeds available funds, the transaction is authorized for the amount of available funds.

NOTE|OPEN|| CALLOUTTITLE:Note|TITLEBREAK|Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, as Marqeta will always partially approve AFD pre-authorizations if the transaction payload field partial_approval_capable is enabled. NOTE|CLOSE

Allowable Values:

true, false

Default value:
true
config.transaction_controls.ignore_card_suspended_state

boolean

Conditionally returned
Allows transactions to be approved even if the card’s state = SUSPENDED. When this field is set to true, the card behaves as if its state = ACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.notification_language

string

Conditionally returned
Specifies the language for 3D Secure and digital wallet token notifications sent to cardholders under this card program.

You can send notifications to your cardholders in the following languages:

- ces – Czech
- deu – German
- eng – English
- fra – French
- grc – Greek
- ita – Italian
- nld – Dutch
- pol – Polish
- por – Portuguese
- rou – Romanian
- spa – Spanish
- swe – Swedish

By default, notifications are sent in English.

To specify the language for OTP notifications at the user level, see Users. Languages set at the user level take precedence over the language set at the card product level.

Allowable Values:

ces, deu, eng, fra, grc, ita, nld, pol, por, rou, spa, swe

If you leave this field blank, cardholders receive notifications in English.
config.transaction_controls.quasi_cash_exempt_merchant_group_token

string

Conditionally returned
The token of the merchant group that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

You can specify a merchant group token in addition to whatever merchant identifiers you listed in the quasi_cash_exempt_mids field, if any. For more information, see Merchant Groups.

Allowable Values:

1–36 chars

Valid merchant group token.
config.transaction_controls.quasi_cash_exempt_mids

string

Conditionally returned
Comma-separated list of merchant identifiers that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

255 char max

For example: 12345678901,23456789012,34567890123,45678901234
config.transaction_controls.require_card_not_present_card_security_code

boolean

Conditionally returned
A value of true indicates that if card_presence_required is true, the card’s security code is required.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits

object

Conditionally returned
Contains information about Strong Customer Authentication (SCA) behavior for contactless point-of-sale (POS) and low-value payment (LVP) e-commerce transactions.

Allowable Values:

sca_contactless_cumulative_amount_limit, sca_contactless_transaction_limit, sca_contactless_transactions_count_limit, sca_contactless_transactions_currency, sca_lvp_cumulative_amount_limit, sca_lvp_transaction_limit, sca_lvp_transactions_count_limit, sca_tra_exemption_amount_limit
config.transaction_controls.strong_customer_authentication_limits.cavv_authentication_amount_incremental_percentage

string

Conditionally returned
If you have enabled CAVV authentication amount validation, the value of this field specifies the maximum allowable variance between the authorization amount and the 3D Secure authentication amount. Expressed as a percentage.

Allowable Values:

255 char max

Default value:
0
config.transaction_controls.strong_customer_authentication_limits.enable_cavv_authentication_amount_validation

boolean

Conditionally returned
If set to true, Marqeta validates the amount in the authorization transaction against the amount in the 3D Secure authentication attempt. If the authorization amount is greater than the 3D Secure authentication amount, Marqeta rejects the transaction. You can specify an allowable variance for the 3D Secure authentication amount in the cavv_authentication_amount_incremental_percentage field.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.enable_issuer_tra_exemption

boolean

Conditionally returned
If set to true, Marqeta does not increment the low-value payment (LVP) counter for frictionless 3D Secure transactions.

This field is enabled in your card product configuration. Contact your Marqeta representative to configure this field for your program.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the cumulative amount spent in contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single contactless point-of-sale (POS) transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

A value of 0 in this field means that the amount of any single contactless POS transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_count_limit

integer

Conditionally returned
Specifies the number of contactless POS transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the number of contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

Any integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_currency

string

Conditionally returned
Specifies the currency type for contactless POS transactions.

This field is required if either the sca_contactless_transaction_limit field or the sca_contactless_cumulative_amount_limit field in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of low-value payment (LVP) e-commerce transactions the cardholder can perform before receiving an SCA challenge.

For example, if you set the value of this field to 100.00, your cardholder can perform two transactions for 30.00 and two transactions for 20.00 before receiving an SCA challenge.

If you leave this field blank, the cumulative amount spent in LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

If you leave this field blank, the amount of any single LVP e-commerce transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_count_limit

integer

Conditionally returned
Specifies the number of LVP e-commerce transactions the cardholder can perform before receiving an SCA challenge.

If you leave this field blank, the total number of LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

An integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_currency

string

Conditionally returned
Specifies the currency type for LVP e-commerce transaction limits.

This field is required if any one of the sca_lvp_transaction_limit, sca_lvp_cumulative_amount_limit, or sca_lvp_transactions_count_limit fields in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_tra_exemption_amount_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction with transaction risk analysis (TRA) exemption sent by the merchant or acquirer. If the transaction amount exceeds the specified limit, then the transaction is either approved or it receives a strong customer authentication (SCA) challenge based on sca_lvp_transaction_limit and sca_lvp_transactions_currency.

Allowable Values:

decimal

Format:
0.00

Default value:
0.00
created_time

datetime

Returned
Date and time when the resource was created, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
end_date

date

Conditionally returned
End date of the range over which the card product can be active.

This field is returned if it exists in the resource.

Allowable Values:

Format: yyyy-mm-DD
last_modified_time

datetime

Returned
Date and time when the resource was last updated, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
name

string

Returned
Name of the card product.

Allowable Values:

1–40 chars
start_date

date

Returned
Date when the card product becomes active.

Allowable Values:

Format: yyyy-mm-DD
token

string

Conditionally returned
Unique identifier of the card product.

Allowable Values:

1–36 chars

If you did not include a token in your request, the system returns an automatically generated token in the response.

Sample response body

JSON
{
  "token": "my_cardproduct_01",
  "name": "My Card Product 01",
  "active": true,
  "start_date": "2021-04-27",
  "config": {
    "poi": {
      "other": {
        "allow": true,
        "card_presence_required": false,
        "cardholder_presence_required": false
      },
      "ecommerce": false,
      "atm": false
    },
    "transaction_controls": {
      "accepted_countries_token": "accept_us_only",
      "always_require_pin": false,
      "always_require_icc": false,
      "allow_gpa_auth": true,
      "require_card_not_present_card_security_code": false,
      "allow_mcc_group_authorization_controls": true,
      "ignore_card_suspended_state": false,
      "allow_chip_fallback": true,
      "allow_network_load": false,
      "allow_network_load_card_activation": false,
      "allow_quasi_cash": false,
      "enable_partial_auth_approval": true,
      "address_verification": {
        "av_messages": {
          "validate": true,
          "decline_on_address_number_mismatch": false,
          "decline_on_postal_code_mismatch": true
        },
        "auth_messages": {
          "validate": true,
          "decline_on_address_number_mismatch": false,
          "decline_on_postal_code_mismatch": false
        }
      },
      "notification_language": "fra",
      "strong_customer_authentication_limits": {
        "sca_contactless_cumulative_amount_limit": 150,
        "sca_contactless_transaction_limit": 30,
        "sca_contactless_transactions_count_limit": 5,
        "sca_contactless_transactions_currency": "EUR"
      },
      "quasi_cash_exempt_mids": "984226812886,000984226812886"
    },
    "selective_auth": {
      "sa_mode": 1,
      "enable_regex_search_chain": false,
      "dmd_location_sensitivity": 0
    },
    "card_life_cycle": {
      "activate_upon_issue": true,
      "expiration_offset": {
        "unit": "YEARS",
        "value": 10
      },
      "card_service_code": 101,
      "update_expiration_upon_activation": false
    },
    "clearing_and_settlement": {
      "overdraft_destination": "GPA"
    },
    "jit_funding": {
      "paymentcard_funding_source": {
        "enabled": true,
        "refunds_destination": "GPA"
      },
      "programgateway_funding_source": {
        "enabled": false,
        "funding_source_token": "",
        "refunds_destination": "GATEWAY",
        "always_fund": true
      },
      "program_funding_source": {
        "enabled": false,
        "funding_source_token": "",
        "refunds_destination": "PROGRAM_FUNDING_SOURCE"
      }
    },
    "digital_wallet_tokenization": {
      "provisioning_controls": {
        "manual_entry": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "wallet_provider_card_on_file": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "in_app_provisioning": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "dwt_use_card_status_during_auth": false
      },
      "card_art_id": "myCardArt01"
    },
    "fulfillment": {
      "shipping": {
        "method": "OVERNIGHT",
        "return_address": {
          "first_name": "Saki",
          "middle_name": "R",
          "last_name": "Dogger",
          "address1": "123 Henry St",
          "address2": "Suite 101",
          "city": "Porterville",
          "state": "CA",
          "postal_code": "93257",
          "country": "USA",
          "phone": "8315551212"
        },
        "recipient_address": {
          "first_name": "Jane",
          "last_name": "Doe",
          "address1": "1234 Grove Street",
          "city": "Berkeley",
          "state": "CA",
          "postal_code": "94702",
          "country": "USA",
          "phone": "5105551212"
        }
      },
      "card_personalization": {
        "text": {
          "name_line_1": {
            "value": "Saki Dogger"
          },
          "name_line_2": {
            "value": "Aegis Fleet Services"
          }
        },
        "carrier": {
          "name": "my_carrier_logo.png",
          "message_line": "my message"
        },
        "images": {
          "card": {
            "name": "my_card_logo.png",
            "thermal_color": "Black"
          }
        },
        "signature": {
          "name": "my_signature.png"
        },
        "carrier_return_window": {
          "name": "my_return_address_image.png"
        }
      }
    },
    "payment_instrument": "PHYSICAL_MSR",
    "package_id": "0",
    "all_zero_card_security_code": false,
    "bin_prefix": "111111",
    "bin_issue_country": "USA",
    "bulk_ship": false,
    "pan_length": "16",
    "fulfillment_provider": "PERFECTPLASTIC",
    "allow_card_creation": true,
    "uppercase_name_lines": true,
    "enable_offline_pin": false
  },
  "created_time": "2022-03-26T20:25:52Z",
  "last_modified_time": "2022-03-26T20:25:52Z"
}

List card products

Action: GET
Endpoint: /cardproducts
Use this endpoint to list existing card products. This endpoint supports pagination.

URL query parameters

FieldsDescription
count

integer

Optional
Number of resources to retrieve. Count can be between 1 - 10 items.

Allowable Values:

1-10

Default value:
5
start_index

integer

Optional
The sort order index of the first resource in the returned array.

Allowable Values:

Any integer

Default value:
0
sort_by

string

Optional
Field on which to sort. Use any field in the resource model, or one of the system fields lastModifiedTime or createdTime. Prefix the field name with a hyphen (-) to sort in descending order. Omit the hyphen to sort in ascending order.

Allowable Values:

createdTime, lastModifiedTime, or any field in the resource model

Default value:
-createdTime

Response body

FieldsDescription
count

integer

Conditionally returned
Number of resources to retrieve.

This field is returned if there are resources in your returned array.

Allowable Values:

1-10
data

array of objects

Conditionally returned
Array of card product objects.

Objects are returned as appropriate to your query.

Allowable Values:

Valid array of one or more card product objects
data[].active

boolean

Conditionally returned
Indicates whether the card product is active.

This field is returned if it exists in the resource.

Allowable Values:

true, false

Default value:
true
data[].config

object

Conditionally returned
Defines the characteristics of the card product. Configurations are conditionally returned based on program setup.

Allowable Values:

card_life_cycle, clearing_and_settlement, digital_wallet_tokenization, fulfillment, jit_funding, poi, selective_auth, special, transaction_controls
data[].config.card_life_cycle

object

Conditionally returned
Defines characteristics of the lifecycle of cards of this card product type.

Allowable Values:

activate_upon_issue, card_service_code, expiration_offset, reloadability, update_expiration_upon_activation
data[].config.card_life_cycle.activate_upon_issue

boolean

Conditionally returned
A value of true indicates that cards of this card product type are active once they are issued.

Allowable Values:

true, false

Default value:
false
data[].config.card_life_cycle.card_service_code

integer

Conditionally returned
Sequence of three digits that defines various services, differentiates card usage in international or domestic interchange, designates personal identification number (PIN) and authorization requirements, and identifies card restrictions. The following values are commonly used:

First digit

- 1 — International interchange OK
- 2 — International interchange, use IC (chip) where feasible
- 5 — National interchange only except under bilateral agreement
- 6 — National interchange only except under bilateral agreement, use IC (chip) where feasible
- 7 — No interchange except under bilateral agreement (closed loop)
- 9 — Test

Second digit

- 0 — Normal
- 2 — Contact issuer via online means
- 4 — Contact issuer via online means except under bilateral agreement

Third digit

- 0 — No restrictions, PIN required
- 1 — No restrictions
- 2 — Goods and services only (no cash)
- 3 — ATM only, PIN required
- 4 — Cash only
- 5 — Goods and services only (no cash), PIN required
- 6 — No restrictions, use PIN where feasible
- 7 — Goods and services only (no cash), use PIN where feasible

Allowable Values:

100 - 999

Default value:
101
data[].config.card_life_cycle.expiration_offset

object

Conditionally returned
Specifies the length of time after the date of issue for which cards of this card product type are valid.

Allowable Values:

min_offset, unit, value
data[].config.card_life_cycle.expiration_offset.min_offset

object

Conditionally returned
Specifies the minimum length of time after the date of issue for which the cards are valid.

Allowable Values:

unit, value
data[].config.card_life_cycle.expiration_offset.min_offset.unit

string

Conditionally returned
Specifies the time unit of the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS
data[].config.card_life_cycle.expiration_offset.min_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field) for which cards of this card product type are valid. Cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
data[].config.card_life_cycle.expiration_offset.unit

string

Conditionally returned
Specifies the units for the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS

Default value:
YEARS
data[].config.card_life_cycle.expiration_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field in this object) for which cards of this card product type are valid. In other words, cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
data[].config.card_life_cycle.reloadability

string

Conditionally returned
Indicates if a card is reloadable.

Allowable Values:

NON-RELOADABLE, RELOADABLE, SINGLE_USE_VIRTUAL
data[].config.card_life_cycle.update_expiration_upon_activation

boolean

Conditionally returned
Normally, the expiration_offset is measured from the date of issue. Set this field to true to measure expiration_offset from the date of activation instead.

Allowable Values:

true, false

Default value:
false
data[].config.clearing_and_settlement

object

Conditionally returned
Specifies the destination for overdraft funds.

Allowable Values:

overdraft_destination
data[].config.clearing_and_settlement.overdraft_destination

string

Conditionally returned
Specifies the destination for overdraft funds.

This field does not apply if JIT Funding is enabled.

Allowable Values:

GPA, MERCHANT_CAMPAIGN_ACCOUNT, GLOBAL_OVERDRAFT_ACCOUNT

Default value:
GPA
data[].config.digital_wallet_tokenization

object

Conditionally returned
Controls characteristics related to digital wallets.

Allowable Values:

card_art_id, provisioning_controls
data[].config.digital_wallet_tokenization.card_art_id

string

Conditionally returned
Specifies the digital wallet card art identifier for the card product. The card art identifier also includes card metadata, such as terms and conditions, card product information, contact information, Apple Pay requirements, Android Pay requirements, wallet profiles, rule sets, terminal profiles, authorization profiles, message profiles, and activation profiles.

Digital wallets display the card art after the initial token has been provisioned and activated. Digital wallet card art is updated for all wallets automatically whenever a tokenized card is reissued or replaced.

- If your card program is Managed by Marqeta, Marqeta populates this field on your behalf.
- If your card program is Powered by Marqeta, you can obtain the correct card art identifier directly from Visa or Mastercard.

If this field is left blank, your card product inherits the card art assigned to the account BIN range. For more information about this field, contact your Marqeta representative.

Allowable Values:

Valid identifiers are defined by Visa or Mastercard and vary by program:

- For Visa card products, this identifier is a GUID called profileID.
- For Mastercard card products, this identifier is a string called ProductConfigID.
data[].config.digital_wallet_tokenization.provisioning_controls

object

Conditionally returned
Controls the provisioning of digital wallets.

Allowable Values:

Valid provisioning_controls object
data[].config.digital_wallet_tokenization.provisioning_controls.in_app_provisioning

object

Conditionally returned
Controls the provisioning of digital wallets by a Marqeta customer’s mobile application.

Allowable Values:

Valid in_app_provisioning object
data[].config.digital_wallet_tokenization.provisioning_controls.manual_entry

object

Conditionally returned
Controls the provisioning of digital wallets by manual entry, in which the cardholder manually enters the card’s primary account number (PAN), card verification value (CVV2), and expiration date.

Allowable Values:

Valid manual_entry object
data[].config.digital_wallet_tokenization.provisioning_controls.wallet_provider_card_on_file

object

Conditionally returned
Controls the provisioning of digital wallets where the digital wallet provider already has the card on file.

Allowable Values:

Valid wallet_provider_card_on_file object
data[].config.digital_wallet_tokenization.provisioning_controls.web_push_provisioning

object

Conditionally returned
Specifies the digital wallet card art and program configuration identifiers at the card product level for Web Push Provisioning.

Allowable Values:

Valid web_push_provisioning object
data[].config.digital_wallet_tokenization.provisioning_controls.dwt_use_card_status_during_auth

boolean

Conditionally returned
If true, then digital wallet transactions are declined if the card associated with the digital wallet token is in either the SUSPENDED or TERMINATED state.

Allowable Values:

true, false

Default value:
false
data[].config.fulfillment

object

Conditionally returned
Determines physical characteristics of a card, along with its bulk shipment information.

Allowable Values:

all_zero_card_security_code, allow_card_creation, bin_prefix, bulk_ship, card_personalization, enable_offline_pin, fulfillment_provider, package_id, pan_length, payment_instrument, shipping, uppercase_name_lines
data[].config.fulfillment.all_zero_card_security_code

boolean

Conditionally returned
If true, an all zero code (000) is allowed as a valid value in an authorization request.

Allowable Values:

true, false

Default value:
false
data[].config.fulfillment.allow_card_creation

boolean

Conditionally returned
Controls the ability to create cards from this card product; true allows and false disallows the creation of cards.

NOTE: The card product’s active field has no effect on card creation or the behavior of this field.

Allowable Values:

true, false

Default value:
true
data[].config.fulfillment.bin_prefix

string

Conditionally returned
Prefix of the bank identification number.

Allowable Values:

A six-digit number for the sandbox environment; a six- to nine-digit number is expected in production environments (see note below).

Default value:
111111

NOTE: In the sandbox environment or when testing against OpenAPI (Swagger), this field must be set to 111111. It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use.
data[].config.fulfillment.bin_issue_country

string

Conditionally returned
Country of the card issuer.

Allowable Values:

A valid alpha-3 ISO 3166 country code
data[].config.fulfillment.bulk_ship

boolean

Conditionally returned
Enables bulk ordering of cards of this card product type using the /bulkissuances endpoint.

Allowable Values:

true, false

Default value:
false
data[].config.fulfillment.card_personalization

object

Returned
Allows personalized attributes to be added to the card product.

Allowable Values:

Valid card_personalization object
data[].config.fulfillment.card_personalization.carrier

object

Conditionally returned
Specifies attributes of the card carrier.

Allowable Values:

logo_file, logo_thumbnail_file, message_file, message_line, template_id
data[].config.fulfillment.card_personalization.carrier.logo_file

string

Conditionally returned
Specifies an image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.carrier.logo_thumbnail_file

string

Conditionally returned
Specifies a thumbnail-sized rendering of the image specified in the logo_file field.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.carrier.message_file

string

Conditionally returned
Specifies a text file containing a custom message to print on the card carrier.

Allowable Values:

Contains the name of the text file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.carrier.message_line

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
data[].config.fulfillment.card_personalization.carrier.message_line_2

string

Conditionally returned
Specifies the second line of a custom message that appears on the card carrier.

Allowable Values:

60 char max
data[].config.fulfillment.card_personalization.carrier.template_id

string

Conditionally returned
Specifies the card carrier template to use.

Allowable Values:

Card carrier template ID
data[].config.fulfillment.card_personalization.images

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

card, carrier, carrier_return_window, signature
data[].config.fulfillment.card_personalization.images.card

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

name, thermal_color
data[].config.fulfillment.card_personalization.images.card.name

string

Conditionally returned
Specifies a PNG image to display on the card.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.images.card.thermal_color

string

Conditionally returned
Specifies the color of the image displayed on the card.

Allowable Values:

Contains the name of the color and must match one of the provider’s predefined colors.
data[].config.fulfillment.card_personalization.images.carrier

object

Conditionally returned
Specifies personalized images that appear on the card carrier.

Allowable Values:

message_1, name
data[].config.fulfillment.card_personalization.images.carrier.message_1

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
data[].config.fulfillment.card_personalization.images.carrier.name

string

Conditionally returned
Specifies a PNG image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.images.carrier_return_window

object

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

name
data[].config.fulfillment.card_personalization.images.carrier_return_window.name

string

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.images.signature

object

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

name
data[].config.fulfillment.card_personalization.images.signature.name

string

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
data[].config.fulfillment.card_personalization.perso_type

string

Conditionally returned
Specifies the type of card personalization.

Allowable Values:

EMBOSS, LASER, FLAT
data[].config.fulfillment.card_personalization.text

object

Returned
Specifies personalized text that appears on the card.

Allowable Values:

name_line_1, name_line_2, name_line_3
data[].config.fulfillment.card_personalization.text.name_line_1

object

Returned
Specifies the first line of personalized text that appears on the card.

Allowable Values:

name_line_1.value

21 char max; if name_line_1_numeric_postfix is true, 14 char max.

Strings longer than the character limit are truncated.
data[].config.fulfillment.card_personalization.text.name_line_1.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
data[].config.fulfillment.card_personalization.text.name_line_2

object

Conditionally returned
Specifies the second line of personalized text that appears on the card.

Allowable Values:

name_line_2.value
data[].config.fulfillment.card_personalization.text.name_line_2.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
data[].config.fulfillment.card_personalization.text.name_line_3

object

Conditionally returned
Specifies the third line of personalized text that appears on the card.

Allowable Values:

name_line_3.value
data[].config.fulfillment.card_personalization.text.name_line_3.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
data[].config.fulfillment.enable_offline_pin

boolean

Conditionally returned
Enables offline personal identification number (PIN) verification for Europay Mastercard and Visa (EMV, or “chip-and-PIN”) card payments.

Allowable Values:

true, false

Default value:
false
data[].config.fulfillment.fulfillment_provider

string

Conditionally returned
Specifies the fulfillment provider.

You can work with providers located in North America, Europe, South America, and the Asia-Pacific region. For more information, see Fulfillment providers by location.

NOTE: Expedited processing is available for cards that are fulfilled by Arroweye Solutions, G+D, IDEMIA, and Perfect Plastic Printing. You can expedite an order’s processing by using the expedite field of the card or bulkissuance object. Contact your Marqeta representative for information regarding the cost of expedited service.

Allowable Values:

ABCORP, ALLPAY, ARROWEYE, CPI, EXCEET_DE, GD, GEMALTO, IDEMIA, IDEMIA_AU, IDEMIA_CZ, IDEMIA_DE, IDEMIA_FR, IDEMIA_FR_SC, IDEMIA_LA, IDEMIA_PL, IDEMIA_UK, NID, NITECREST, NITECREST_PL, NITECREST_UK_SC, OBERTHUR, OBERTHUR_SC, PERFECTPLASTIC, TAG

Default value:
PERFECTPLASTIC
data[].config.fulfillment.package_id

string

Conditionally returned
Card fulfillment provider’s package ID.

Allowable Values:

1–50 chars
data[].config.fulfillment.pan_length

string

Conditionally returned
Specifies the length of the primary account number (PAN).

Allowable Values:

Default value:
16
data[].config.fulfillment.payment_instrument

string

Conditionally returned
Specifies the physical form cards of this card product type will take.

Allowable Values:

PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN

Default value:
PHYSICAL_MSR
data[].config.fulfillment.shipping

object

Conditionally returned
Specifies shipping details for the order.

Allowable Values:

care_of_line, method, recipient_address, return_address
data[].config.fulfillment.shipping.care_of_line

string

Conditionally returned
Adds the specified value as a care of (C/O) line to the mailing carrier.

NOTE: This field can be specified on cards, card products, and bulk card orders. If you specify this field at multiple levels, the order of precedence is: card, bulk card order, card product.

Allowable Values:

255 char max
data[].config.fulfillment.shipping.method

string

Conditionally returned
Specifies the shipping service.

Allowable Values:

LOCAL_MAIL, LOCAL_MAIL_PACKAGE, GROUND, TWO_DAY, OVERNIGHT, INTERNATIONAL, INTERNATIONAL_PRIORITY, LOCAL_PRIORITY, FEDEX_EXPEDITED, FEDEX_REGULAR, UPS_EXPEDITED, UPS_REGULAR, USPS_EXPEDITED, USPS_REGULAR

Shipping options vary by card provider. For details on the specific shipping companies and services offered by your card provider, contact your Marqeta representative.
data[].config.fulfillment.shipping.recipient_address

object

Conditionally returned
Address to which the order will be shipped.

In order to generate cards, a valid shipping address must be provided by one of these:

- The card or bulk card order’s fulfillment.shipping.recipient_address field
- The users’ address fields
- The card product’s config.fulfillment.shipping.recipient_address field

The order of precedence from highest to lowest is card, user, card product. To be valid, an address must have the address1, city, state, and postal_code or zip fields populated. The country field defaults to USA if unpopulated.

Allowable Values:

Valid recipient_address object
data[].config.fulfillment.shipping.recipient_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
data[].config.fulfillment.shipping.recipient_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
data[].config.fulfillment.shipping.recipient_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.recipient_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
data[].config.fulfillment.shipping.recipient_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.recipient_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.recipient_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.recipient_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
data[].config.fulfillment.shipping.recipient_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
data[].config.fulfillment.shipping.recipient_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
data[].config.fulfillment.shipping.recipient_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
data[].config.fulfillment.shipping.return_address

object

Conditionally returned
Address to which the order will be returned if shipping fails.

Allowable Values:

address1, address2, city, country, first_name, last_name, middle_name, phone, postal_code, state, zip
data[].config.fulfillment.shipping.return_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
data[].config.fulfillment.shipping.return_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
data[].config.fulfillment.shipping.return_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.return_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
data[].config.fulfillment.shipping.return_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.return_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.return_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
data[].config.fulfillment.shipping.return_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
data[].config.fulfillment.shipping.return_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
data[].config.fulfillment.shipping.return_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
data[].config.fulfillment.shipping.return_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
data[].config.fulfillment.uppercase_name_lines

boolean

Conditionally returned
A value of true sets the text in the fulfillment.card_personalization.text.name_line_1 and name_line_2 fields to all uppercase letters. A value of false leaves the text in its original state.

Allowable Values:

true, false

Default value:
true
data[].config.jit_funding

object

Conditionally returned
Governs the behavior of JIT Funding.

Allowable Values:

paymentcard_funding_source, program_funding_source, programgateway_funding_source
data[].config.jit_funding.paymentcard_funding_source

object

Conditionally returned
Enables and configures a payment card funding source.

Allowable Values:

Valid paymentcard_funding_source object
data[].config.jit_funding.paymentcard_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the payment card funding source. A value of true indicates that the payment card funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
data[].config.jit_funding.paymentcard_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal.

Allowable Values:

GATEWAY, GPA, WATERFALL
data[].config.jit_funding.program_funding_source

object

Conditionally returned
Enables and configures a program funding source.

Allowable Values:

Valid program_funding_source object
data[].config.jit_funding.program_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program funding source. A value of true indicates that the program funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
data[].config.jit_funding.program_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
data[].config.jit_funding.program_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. PROGRAM_FUNDING_SOURCE returns funds to the program funding source. GPA returns the funds to the user’s GPA.

Allowable Values:

PROGRAM_FUNDING_SOURCE, GPA, WATERFALL
data[].config.jit_funding.programgateway_funding_source

object

Conditionally returned
Enables and configures a program gateway funding source.

Allowable Values:

Valid programgateway_funding_source object
data[].config.jit_funding.programgateway_funding_source.always_fund

boolean

Conditionally returned
If set to true, this card product is always funded from this program gateway funding source.

Allowable Values:

true, false

Default value:
false
data[].config.jit_funding.programgateway_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program gateway funding source. A value of true indicates that the program gateway funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
data[].config.jit_funding.programgateway_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
data[].config.jit_funding.programgateway_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. In most cases, you should set the value to GATEWAY, which returns funds to the program gateway funding source. Setting to GPA returns the funds to the user’s GPA, which creates a positive account balance and introduces the potential of a transaction being authorized without a JIT Funding request being sent to the gateway.

Allowable Values:

GATEWAY, GPA, WATERFALL
data[].config.poi

object

Conditionally returned
Governs the point of interaction.

Allowable Values:

atm, ecommerce, other
data[].config.poi.atm

boolean

Conditionally returned
If set to true, cards can be used for withdrawing cash at an ATM and for receiving cash back at a point of sale (POS).

Allowable Values:

true, false

Default value:
false
data[].config.poi.ecommerce

boolean

Conditionally returned
If set to true, cards can be used for online purchases.

Allowable Values:

true, false

Default value:
false
data[].config.poi.other

object

Conditionally returned
Allows for configuration of points of interaction other than ecommerce or ATMs, such as points of sale (POS).

Allowable Values:

allow, card_presence_required, cardholder_presence_required
data[].config.poi.other.allow

boolean

Conditionally returned
If set to true, card transactions at points of interaction other than e-commerce or ATMs are allowed. This group includes points of sale (POS).

Allowable Values:

true, false

Default value:
true
data[].config.poi.other.card_presence_required

boolean

Conditionally returned
If set to true, cards of this card product type are required to be present during the transaction, such as in IVR scenarios.

Allowable Values:

true, false

Default value:
false
data[].config.poi.other.cardholder_presence_required

boolean

Conditionally returned
If set to true, the cardholder is required to be present during the transaction, such as in a restaurant where the card is present but the cardholder might not be present when the card is swiped.

Allowable Values:

true, false

Default value:
false
data[].config.selective_auth

object

Conditionally returned
Contains information about authorization decisions.

Allowable Values:

dmd_location_sensitivity, enable_regex_search_chain, sa_mode
data[].config.selective_auth.dmd_location_sensitivity

integer

Conditionally returned
Determines what type of merchant information is required for a match (authorization). Not relevant if enable_regex_search_chain = false.

- 0 – Requires exact match on card acceptor name and postal code to existing entry in Marqeta Merchant database (most restrictive).
- 1 – Partial match on card acceptor name (least restrictive).
- 2 – Partial match on card acceptor name; exact match on card acceptor city.
- 3 – Partial match on card acceptor name; exact match on card acceptor postal code.
- 4 – Partial match on card acceptor name; exact match on street address 1 and postal code.

Allowable Values:

0, 1, 2, 3, 4

Default value:
0
data[].config.selective_auth.enable_regex_search_chain

boolean

Conditionally returned
Set to true to perform regular expression checking on the description received in the authorization.

Allowable Values:

true, false

Default value:
false
data[].config.selective_auth.sa_mode

integer

Conditionally returned
Specifies the selective authorization mode.

- 0 — Inactive
- 1 — Active (attempts to authorize a merchant that does not have a recognized MID by matching other pieces of information)
- 2 — Logging and notification (checks the transaction and logs results, but does not authorize)

Selective authorization applies to transactions that are limited to specific merchants. Matching requirements for authorization are set by the dmd_location_sensitivity field.

Allowable Values:

0, 1, 2

Default value:
0
data[].config.special

object

Conditionally returned
Contains information about merchant onboarding.

Allowable Values:

merchant_on_boarding
data[].config.special.merchant_on_boarding

boolean

Conditionally returned
If set to true, cards of this card product type can be used for merchant onboarding.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls

object

Conditionally returned
Controls transactional characteristics of card usage.

Allowable Values:

accepted_countries_token, address_verification, allow_chip_fallback, allow_first_pin_set_via_financial_transaction, allow_gpa_auth, allow_mcc_group_authorization_controls, allow_network_load, allow_network_load_card_activation, allow_quasi_cash, always_require_icc, always_require_pin, enable_partial_auth_approval, ignore_card_suspended_state, notification_language, quasi_cash_exempt_merchant_group_token, quasi_cash_exempt_mids, require_card_not_present_card_security_code, strong_customer_authentication_limits
data[].config.transaction_controls.accepted_countries_token

string

Conditionally returned
Set to accept_us_only to allow transactions only within the US.

Set to decline_ofac_countries to allow international transactions except with countries that the Financial Action Task Force (FATF) and Office of Foreign Assets Control (OFAC) have identified as high risk.

Users with the Admin role can create and update additional lists of accepted countries for transactions at the /acceptedcountries endpoint. See Accepted Countries.

Allowable Values:

accept_us_only, decline_ofac_countries, additional Admin-defined tokens

Default value:
accept_us_only
data[].config.transaction_controls.address_verification

object

Conditionally returned
Contains configuration options for AVS.

Allowable Values:

Valid address_verification object
data[].config.transaction_controls.address_verification.auth_messages

object

Conditionally returned
Contains verification options for authorization messages.

These messages pertain to actual purchases and are for amounts greater than $0.

Allowable Values:

One or more verification options
data[].config.transaction_controls.address_verification.av_messages

object

Conditionally returned
Contains verification options for account verification messages.

These are $0 messages typically used to store cards on file at a merchant.

Allowable Values:

One or more verification options
data[].config.transaction_controls.allow_chip_fallback

boolean

Conditionally returned
Indicates whether to allow transactions where a Europay Mastercard and Visa (EMV) chip-enabled card was processed using the magstripe as fallback.

Allowable Values:

true, false

Default value:
true
data[].config.transaction_controls.allow_first_pin_set_via_financial_transaction

boolean

Conditionally returned
WARNING: This field is deprecated and will be unsupported in a future release.

Allows cardholders to define a personal identification number (PIN) as they complete their first PIN-debit transaction.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.allow_gpa_auth

boolean

Conditionally returned
If set to true, transactions can be authorized using GPA funds.

NOTE: For most programs, this field should be set to true.

Allowable Values:

true, false

Default value:
true
data[].config.transaction_controls.allow_mcc_group_authorization_controls

boolean

Conditionally returned
The MCC groupauthorization_controls object allows you to automatically increase authorization holds and to specify authorization expiration times based on merchant type. By default, these settings apply to all cards in your program.

However, you can make cards that are associated with a particular card product exempt from increasing authorization holds by setting the allow_mcc_group_authorization_controls field to false. Doing so does not impact authorization expiration times.

NOTE:Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, because Marqeta will increase authorization holds for AFDs if the card product has been configured to do so.

Allowable Values:

true, false

Default value:
true
data[].config.transaction_controls.allow_network_load

boolean

Conditionally returned
Indicates whether card network loads are allowed. The associated card’s state must be ACTIVE or the load will be rejected.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.allow_network_load_card_activation

boolean

Conditionally returned
Indicates whether card network loads are allowed. Sets the associated card’s state to ACTIVE if its current state is INACTIVE.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.allow_quasi_cash

boolean

Conditionally returned
Indicates whether quasi-cash transactions are allowed. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.always_require_icc

boolean

Conditionally returned
If set to true, cards of this card product type require an Integrated Circuit Card.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.always_require_pin

boolean

Conditionally returned
If set to true, cards of this card product type require a personal identification number (PIN).

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.enable_partial_auth_approval

boolean

Conditionally returned
Set to true to enable partial authorizations.

When this setting is false and the requested authorization amount exceeds available funds, the transaction is declined. When this setting is true and the requested authorization amount exceeds available funds, the transaction is authorized for the amount of available funds.

NOTE|OPEN|| CALLOUTTITLE:Note|TITLEBREAK|Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, as Marqeta will always partially approve AFD pre-authorizations if the transaction payload field partial_approval_capable is enabled. NOTE|CLOSE

Allowable Values:

true, false

Default value:
true
data[].config.transaction_controls.ignore_card_suspended_state

boolean

Conditionally returned
Allows transactions to be approved even if the card’s state = SUSPENDED. When this field is set to true, the card behaves as if its state = ACTIVE.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.notification_language

string

Conditionally returned
Specifies the language for 3D Secure and digital wallet token notifications sent to cardholders under this card program.

You can send notifications to your cardholders in the following languages:

- ces – Czech
- deu – German
- eng – English
- fra – French
- grc – Greek
- ita – Italian
- nld – Dutch
- pol – Polish
- por – Portuguese
- rou – Romanian
- spa – Spanish
- swe – Swedish

By default, notifications are sent in English.

To specify the language for OTP notifications at the user level, see Users. Languages set at the user level take precedence over the language set at the card product level.

Allowable Values:

ces, deu, eng, fra, grc, ita, nld, pol, por, rou, spa, swe

If you leave this field blank, cardholders receive notifications in English.
data[].config.transaction_controls.quasi_cash_exempt_merchant_group_token

string

Conditionally returned
The token of the merchant group that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

You can specify a merchant group token in addition to whatever merchant identifiers you listed in the quasi_cash_exempt_mids field, if any. For more information, see Merchant Groups.

Allowable Values:

1–36 chars

Valid merchant group token.
data[].config.transaction_controls.quasi_cash_exempt_mids

string

Conditionally returned
Comma-separated list of merchant identifiers that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

255 char max

For example: 12345678901,23456789012,34567890123,45678901234
data[].config.transaction_controls.require_card_not_present_card_security_code

boolean

Conditionally returned
A value of true indicates that if card_presence_required is true, the card’s security code is required.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.strong_customer_authentication_limits

object

Conditionally returned
Contains information about Strong Customer Authentication (SCA) behavior for contactless point-of-sale (POS) and low-value payment (LVP) e-commerce transactions.

Allowable Values:

sca_contactless_cumulative_amount_limit, sca_contactless_transaction_limit, sca_contactless_transactions_count_limit, sca_contactless_transactions_currency, sca_lvp_cumulative_amount_limit, sca_lvp_transaction_limit, sca_lvp_transactions_count_limit, sca_tra_exemption_amount_limit
data[].config.transaction_controls.strong_customer_authentication_limits.cavv_authentication_amount_incremental_percentage

string

Conditionally returned
If you have enabled CAVV authentication amount validation, the value of this field specifies the maximum allowable variance between the authorization amount and the 3D Secure authentication amount. Expressed as a percentage.

Allowable Values:

255 char max

Default value:
0
data[].config.transaction_controls.strong_customer_authentication_limits.enable_cavv_authentication_amount_validation

boolean

Conditionally returned
If set to true, Marqeta validates the amount in the authorization transaction against the amount in the 3D Secure authentication attempt. If the authorization amount is greater than the 3D Secure authentication amount, Marqeta rejects the transaction. You can specify an allowable variance for the 3D Secure authentication amount in the cavv_authentication_amount_incremental_percentage field.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.strong_customer_authentication_limits.enable_issuer_tra_exemption

boolean

Conditionally returned
If set to true, Marqeta does not increment the low-value payment (LVP) counter for frictionless 3D Secure transactions.

This field is enabled in your card product configuration. Contact your Marqeta representative to configure this field for your program.

Allowable Values:

true, false

Default value:
false
data[].config.transaction_controls.strong_customer_authentication_limits.sca_contactless_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the cumulative amount spent in contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single contactless point-of-sale (POS) transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

A value of 0 in this field means that the amount of any single contactless POS transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_count_limit

integer

Conditionally returned
Specifies the number of contactless POS transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the number of contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

Any integer, such as 5.

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_currency

string

Conditionally returned
Specifies the currency type for contactless POS transactions.

This field is required if either the sca_contactless_transaction_limit field or the sca_contactless_cumulative_amount_limit field in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_lvp_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of low-value payment (LVP) e-commerce transactions the cardholder can perform before receiving an SCA challenge.

For example, if you set the value of this field to 100.00, your cardholder can perform two transactions for 30.00 and two transactions for 20.00 before receiving an SCA challenge.

If you leave this field blank, the cumulative amount spent in LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

If you leave this field blank, the amount of any single LVP e-commerce transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_count_limit

integer

Conditionally returned
Specifies the number of LVP e-commerce transactions the cardholder can perform before receiving an SCA challenge.

If you leave this field blank, the total number of LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

An integer, such as 5.

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_currency

string

Conditionally returned
Specifies the currency type for LVP e-commerce transaction limits.

This field is required if any one of the sca_lvp_transaction_limit, sca_lvp_cumulative_amount_limit, or sca_lvp_transactions_count_limit fields in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
data[].config.transaction_controls.strong_customer_authentication_limits.sca_tra_exemption_amount_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction with transaction risk analysis (TRA) exemption sent by the merchant or acquirer. If the transaction amount exceeds the specified limit, then the transaction is either approved or it receives a strong customer authentication (SCA) challenge based on sca_lvp_transaction_limit and sca_lvp_transactions_currency.

Allowable Values:

decimal

Format:
0.00

Default value:
0.00
data[].created_time

datetime

Returned
Date and time when the resource was created, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
data[].end_date

date

Conditionally returned
End date of the range over which the card product can be active.

This field is returned if it exists in the resource.

Allowable Values:

Format: yyyy-mm-DD
data[].last_modified_time

datetime

Returned
Date and time when the resource was last updated, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
data[].name

string

Returned
Name of the card product.

Allowable Values:

1–40 chars
data[].start_date

date

Returned
Date when the card product becomes active.

Allowable Values:

Format: yyyy-mm-DD
data[].token

string

Conditionally returned
Unique identifier of the card product.

Allowable Values:

1–36 chars

If you did not include a token in your request, the system returns an automatically generated token in the response.
end_index

integer

Conditionally returned
Sort order index of the last resource in the returned array.

This field is returned if there are resources in your returned array.

Allowable Values:

Any integer
is_more

boolean

Conditionally returned
A value of true indicates that more unreturned resources exist. A value of false indicates that no more unreturned resources exist.

This field is returned if there are resources in your returned array.

Allowable Values:

true, false
start_index

integer

Conditionally returned
Sort order index of the first resource in the returned array.

This field is returned if there are resources in your returned array.

Allowable Values:

Any integer

Sample response body

JSON
{
  "count": 1,
  "start_index": 0,
  "end_index": 0,
  "is_more": true,
  "data[]": {
    "token": "my_cardproduct_01",
    "name": "My Card Product 01",
    "active": true,
    "config": {
      "poi": {
        "other": {
          "allow": "true,",
          "card_presence_required": "false,",
          "cardholder_presence_required": false
        },
        "ecommerce": false,
        "atm": false
      },
      "transaction_controls": {
        "accepted_countries_token": "accept_us_only",
        "always_require_pin": false,
        "always_require_icc": false,
        "allow_gpa_auth": true,
        "require_card_not_present_card_security_code": false,
        "allow_mcc_group_authorization_controls": true,
        "ignore_card_suspended_state": false,
        "allow_network_load": false,
        "allow_network_load_card_activation": false,
        "allow_quasi_cash": false,
        "enable_partial_auth_approval": true,
        "notification_language": "fra",
        "address_verification": {
          "av_messages": {
            "validate": true,
            "decline_on_address_number_mismatch": false,
            "decline_on_postal_code_mismatch": true
          },
          "auth_messages": {
            "validate": true,
            "decline_on_address_number_mismatch": false,
            "decline_on_postal_code_mismatch": false
          }
        }
      },
      "fulfillment": {
        "shipping": {
          "method": "OVERNIGHT",
          "return_address": {
            "first_name": "Saki",
            "middle_name": "R",
            "last_name": "Dogger",
            "address1": "123 Henry St",
            "address2": "Suite 101",
            "city": "Porterville",
            "state": "CA",
            "postal_code": "93257",
            "country": "USA",
            "phone": "8315555555"
          },
          "recipient_address": {
            "first_name": "Jane",
            "last_name": "Doe",
            "address1": "1234 Grove Street",
            "city": "Berkeley",
            "state": "CA",
            "postal_code": 94702,
            "country": "USA",
            "phone": "5105551212"
          }
        },
        "card_personalization": {
          "text": {
            "name_line_1": null,
            "value": "Saki Dogger",
            "name_line_2": {
              "value": "Aegis Fleet Services"
            }
          },
          "carrier": {
            "name": "my_carrier_logo.png",
            "message_line": "my message"
          },
          "images": {
            "card": {
              "name": "my_card_logo.png",
              "thermal_color": "Black"
            }
          },
          "signature": {
            "name": "my_signature.png"
          },
          "carrier_return_window": {
            "name": "my_return_address_image.png"
          }
        }
      },
      "payment_instrument": "PHYSICAL_MSR",
      "package_id": "0",
      "all_zero_card_security_code": false,
      "bin_prefix": "111111",
      "bin_issue_country": "USA",
      "bulk_ship": false,
      "pan_length": "16",
      "fulfillment_provider": "PERFECTPLASTIC",
      "allow_card_creation": true,
      "uppercase_name_lines": true
    },
    "selective_auth": {
      "sa_mode": 1,
      "enable_regex_search_chain": false,
      "dmd_location_sensitivity": 0
    },
    "card_life_cycle": {
      "activate_upon_issue": true,
      "expiration_offset": {
        "unit": "YEARS",
        "value": 10,
        "min_offset": {
          "unit": "YEARS",
          "value": 4
        }
      },
      "card_service_code": 101,
      "update_expiration_upon_activation": false
    },
    "clearing_and_settlement": {
      "overdraft_destination": "GPA"
    },
    "jit_funding": {
      "paymentcard_funding_source": {
        "enabled": true,
        "refunds_destination": ""
      },
      "programgateway_funding_source": {
        "enabled": false,
        "funding_source_token": "",
        "refunds_destination": "GATEWAY"
      },
      "program_funding_source": {
        "enabled": false,
        "funding_source_token": "",
        "refunds_destination": "PROGRAM_FUNDING_SOURCE"
      }
    },
    "digital_wallet_tokenization": {
      "provisioning_controls": {
        "manual_entry": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "wallet_provider_card_on_file": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "in_app_provisioning": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "dwt_use_card_status_during_auth": false
      }
    },
    "start_date": "2022-04-27",
    "created_time": "2022-04-27T19:25:55Z",
    "last_modified_time": "2022-04-27T21:29:12Z"
  }
}

Update card product

Action: PUT
Endpoint: /cardproducts/{token}
Use this endpoint to update a card product. Only values of fields in the request are modified; all others are left unchanged.

URL path parameters

FieldsDescription
token

string

Required
Unique identifier of the card product to update.

Allowable Values:

Existing card product token

Request body

FieldsDescription
active

boolean

Optional
Indicates whether the card product is active.

NOTE: This field has no effect on the ability to create cards from this card product. Use the config.fulfillment.allow_card_creation field to allow/disallow card creation.

Allowable Values:

true, false

Default value:
true
config

object

Optional
Defines the characteristics of the card product. Configurations are conditionally required based on program setup.

Allowable Values:

card_life_cycle, clearing_and_settlement, digital_wallet_tokenization, fulfillment, jit_funding, poi, selective_auth, special, transaction_controls
config.card_life_cycle

object

Optional
Defines characteristics of the lifecycle of cards of this card product type.

Allowable Values:

activate_upon_issue, card_service_code, expiration_offset, reloadability, update_expiration_upon_activation
config.card_life_cycle.activate_upon_issue

boolean

Optional
A value of true indicates that cards of this card product type are active once they are issued.

Allowable Values:

true, false

Default value:
false
config.card_life_cycle.card_service_code

integer

Optional
Sequence of three digits that defines various services, differentiates card usage in international or domestic interchange, designates personal identification number (PIN) and authorization requirements, and identifies card restrictions. The following values are commonly used:

First digit

- 1 — International interchange OK
- 2 — International interchange, use IC (chip) where feasible
- 5 — National interchange only except under bilateral agreement
- 6 — National interchange only except under bilateral agreement, use IC (chip) where feasible
- 7 — No interchange except under bilateral agreement (closed loop)
- 9 — Test

Second digit

- 0 — Normal
- 2 — Contact issuer via online means
- 4 — Contact issuer via online means except under bilateral agreement

Third digit

- 0 — No restrictions, PIN required
- 1 — No restrictions
- 2 — Goods and services only (no cash)
- 3 — ATM only, PIN required
- 4 — Cash only
- 5 — Goods and services only (no cash), PIN required
- 6 — No restrictions, use PIN where feasible
- 7 — Goods and services only (no cash), use PIN where feasible

Allowable Values:

100 - 999

Default value:
101
config.card_life_cycle.expiration_offset

object

Optional
Specifies the length of time after the date of issue for which cards of this card product type are valid.

Allowable Values:

min_offset, unit, value
config.card_life_cycle.expiration_offset.min_offset

object

Optional
Specifies the minimum length of time after the date of issue for which the cards are valid.

Allowable Values:

unit, value
config.card_life_cycle.expiration_offset.min_offset.unit

string

Optional
Specifies the time unit of the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS
config.card_life_cycle.expiration_offset.min_offset.value

integer

Optional
Specifies the number of time units (as defined by the unit field) for which cards of this card product type are valid. Cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.expiration_offset.unit

string

Optional
Specifies the units for the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS

Default value:
YEARS
config.card_life_cycle.expiration_offset.value

integer

Optional
Specifies the number of time units (as defined by the unit field in this object) for which cards of this card product type are valid. In other words, cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.reloadability

string

Optional
Indicates if a card is reloadable.

Allowable Values:

NON-RELOADABLE, RELOADABLE, SINGLE_USE_VIRTUAL
config.card_life_cycle.update_expiration_upon_activation

boolean

Optional
Normally, the expiration_offset is measured from the date of issue. Set this field to true to measure expiration_offset from the date of activation instead.

Allowable Values:

true, false

Default value:
false
config.clearing_and_settlement

object

Optional
Specifies the destination for overdraft funds.

Allowable Values:

overdraft_destination
config.clearing_and_settlement.overdraft_destination

string

Optional
Specifies the destination for overdraft funds.

This field does not apply if JIT Funding is enabled.

Allowable Values:

GPA, MERCHANT_CAMPAIGN_ACCOUNT, GLOBAL_OVERDRAFT_ACCOUNT

Default value:
GPA
config.digital_wallet_tokenization

object

Optional
Controls characteristics related to digital wallets.

Allowable Values:

card_art_id, provisioning_controls
config.digital_wallet_tokenization.card_art_id

string

Optional
Specifies the digital wallet card art identifier for the card product. The card art identifier also includes card metadata, such as terms and conditions, card product information, contact information, Apple Pay requirements, Android Pay requirements, wallet profiles, rule sets, terminal profiles, authorization profiles, message profiles, and activation profiles.

Digital wallets display the card art after the initial token has been provisioned and activated. Digital wallet card art is updated for all wallets automatically whenever a tokenized card is reissued or replaced.

- If your card program is Managed by Marqeta, Marqeta populates this field on your behalf.
- If your card program is Powered by Marqeta, you can obtain the correct card art identifier directly from Visa or Mastercard.

If this field is left blank, your card product inherits the card art assigned to the account BIN range. For more information about this field, contact your Marqeta representative.

Allowable Values:

Valid identifiers are defined by Visa or Mastercard and vary by program:

- For Visa card products, this identifier is a GUID called profileID.
- For Mastercard card products, this identifier is a string called ProductConfigID.
config.digital_wallet_tokenization.provisioning_controls

object

Optional
Controls the provisioning of digital wallets.

Allowable Values:

Valid provisioning_controls object
config.digital_wallet_tokenization.provisioning_controls.in_app_provisioning

object

Optional
Controls the provisioning of digital wallets by a Marqeta customer’s mobile application.

Allowable Values:

Valid in_app_provisioning object
config.digital_wallet_tokenization.provisioning_controls.manual_entry

object

Optional
Controls the provisioning of digital wallets by manual entry, in which the cardholder manually enters the card’s primary account number (PAN), card verification value (CVV2), and expiration date.

Allowable Values:

Valid manual_entry object
config.digital_wallet_tokenization.provisioning_controls.wallet_provider_card_on_file

object

Optional
Controls the provisioning of digital wallets where the digital wallet provider already has the card on file.

Allowable Values:

Valid wallet_provider_card_on_file object
config.digital_wallet_tokenization.provisioning_controls.web_push_provisioning

object

Optional
Specifies the digital wallet card art and program configuration identifiers at the card product level for Web Push Provisioning.

Allowable Values:

Valid web_push_provisioning object
config.digital_wallet_tokenization.provisioning_controls.dwt_use_card_status_during_auth

boolean

Optional
If true, then digital wallet transactions are declined if the card associated with the digital wallet token is in either the SUSPENDED or TERMINATED state.

Allowable Values:

true, false

Default value:
false
config.fulfillment

object

Optional
Determines physical characteristics of a card, along with its bulk shipment information.

Allowable Values:

all_zero_card_security_code, allow_card_creation, bin_prefix, bulk_ship, card_personalization, enable_offline_pin, fulfillment_provider, package_id, pan_length, payment_instrument, shipping, uppercase_name_lines
config.fulfillment.all_zero_card_security_code

boolean

Optional
If true, an all zero code (000) is allowed as a valid value in an authorization request.

Allowable Values:

true, false

Default value:
false
config.fulfillment.allow_card_creation

boolean

Optional
Controls the ability to create cards from this card product; true allows and false disallows the creation of cards.

NOTE: The card product’s active field has no effect on card creation or the behavior of this field.

Allowable Values:

true, false

Default value:
true
config.fulfillment.bin_prefix

string

Optional
Prefix of the bank identification number.

Allowable Values:

A six-digit number for the sandbox environment; a six- to nine-digit number is expected in production environments (see note below).

Default value:
111111

NOTE: In the sandbox environment or when testing against OpenAPI (Swagger), this field must be set to 111111. It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use.
config.fulfillment.bin_issue_country

string

Optional
Country of the card issuer.

Allowable Values:

A valid alpha-3 ISO 3166 country code
config.fulfillment.bulk_ship

boolean

Optional
Enables bulk ordering of cards of this card product type using the /bulkissuances endpoint.

Allowable Values:

true, false

Default value:
false
config.fulfillment.card_personalization

object

Required
Allows personalized attributes to be added to the card product.

Allowable Values:

Valid card_personalization object
config.fulfillment.card_personalization.carrier

object

Optional
Specifies attributes of the card carrier.

Allowable Values:

logo_file, logo_thumbnail_file, message_file, message_line, template_id
config.fulfillment.card_personalization.carrier.logo_file

string

Optional
Specifies an image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.logo_thumbnail_file

string

Optional
Specifies a thumbnail-sized rendering of the image specified in the logo_file field.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_file

string

Optional
Specifies a text file containing a custom message to print on the card carrier.

Allowable Values:

Contains the name of the text file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_line

string

Optional
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.message_line_2

string

Optional
Specifies the second line of a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.template_id

string

Optional
Specifies the card carrier template to use.

Allowable Values:

Card carrier template ID
config.fulfillment.card_personalization.images

object

Optional
Specifies personalized images that appear on the card.

Allowable Values:

card, carrier, carrier_return_window, signature
config.fulfillment.card_personalization.images.card

object

Optional
Specifies personalized images that appear on the card.

Allowable Values:

name, thermal_color
config.fulfillment.card_personalization.images.card.name

string

Optional
Specifies a PNG image to display on the card.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.card.thermal_color

string

Optional
Specifies the color of the image displayed on the card.

Allowable Values:

Contains the name of the color and must match one of the provider’s predefined colors.
config.fulfillment.card_personalization.images.carrier

object

Optional
Specifies personalized images that appear on the card carrier.

Allowable Values:

message_1, name
config.fulfillment.card_personalization.images.carrier.message_1

string

Optional
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.images.carrier.name

string

Optional
Specifies a PNG image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.carrier_return_window

object

Optional
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

name
config.fulfillment.card_personalization.images.carrier_return_window.name

string

Optional
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.signature

object

Optional
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

name
config.fulfillment.card_personalization.images.signature.name

string

Optional
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.perso_type

string

Optional
Specifies the type of card personalization.

Allowable Values:

EMBOSS, LASER, FLAT
config.fulfillment.card_personalization.text

object

Required
Specifies personalized text that appears on the card.

Allowable Values:

name_line_1, name_line_2, name_line_3
config.fulfillment.card_personalization.text.name_line_1

object

Required
Specifies the first line of personalized text that appears on the card.

Allowable Values:

name_line_1.value

21 char max; if name_line_1_numeric_postfix is true, 14 char max.

Strings longer than the character limit are truncated.
config.fulfillment.card_personalization.text.name_line_1.value

string

Optional
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_2

object

Optional
Specifies the second line of personalized text that appears on the card.

Allowable Values:

name_line_2.value
config.fulfillment.card_personalization.text.name_line_2.value

string

Optional
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_3

object

Optional
Specifies the third line of personalized text that appears on the card.

Allowable Values:

name_line_3.value
config.fulfillment.card_personalization.text.name_line_3.value

string

Optional
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.enable_offline_pin

boolean

Optional
Enables offline personal identification number (PIN) verification for Europay Mastercard and Visa (EMV, or “chip-and-PIN”) card payments.

Allowable Values:

true, false

Default value:
false
config.fulfillment.fulfillment_provider

string

Optional
Specifies the fulfillment provider.

You can work with providers located in North America, Europe, South America, and the Asia-Pacific region. For more information, see Fulfillment providers by location.

NOTE: Expedited processing is available for cards that are fulfilled by Arroweye Solutions, G+D, IDEMIA, and Perfect Plastic Printing. You can expedite an order’s processing by using the expedite field of the card or bulkissuance object. Contact your Marqeta representative for information regarding the cost of expedited service.

Allowable Values:

ABCORP, ALLPAY, ARROWEYE, CPI, EXCEET_DE, GD, GEMALTO, IDEMIA, IDEMIA_AU, IDEMIA_CZ, IDEMIA_DE, IDEMIA_FR, IDEMIA_FR_SC, IDEMIA_LA, IDEMIA_PL, IDEMIA_UK, NID, NITECREST, NITECREST_PL, NITECREST_UK_SC, OBERTHUR, OBERTHUR_SC, PERFECTPLASTIC, TAG

Default value:
PERFECTPLASTIC
config.fulfillment.package_id

string

Optional
Card fulfillment provider’s package ID.

Allowable Values:

1–50 chars
config.fulfillment.pan_length

string

Optional
Specifies the length of the primary account number (PAN).

Allowable Values:

Default value:
16
config.fulfillment.payment_instrument

string

Optional
Specifies the physical form cards of this card product type will take.

Allowable Values:

PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN

Default value:
PHYSICAL_MSR
config.fulfillment.shipping

object

Optional
Specifies shipping details for the order.

Allowable Values:

care_of_line, method, recipient_address, return_address
config.fulfillment.shipping.care_of_line

string

Optional
Adds the specified value as a care of (C/O) line to the mailing carrier.

NOTE: This field can be specified on cards, card products, and bulk card orders. If you specify this field at multiple levels, the order of precedence is: card, bulk card order, card product.

Allowable Values:

255 char max
config.fulfillment.shipping.method

string

Optional
Specifies the shipping service.

Allowable Values:

LOCAL_MAIL, LOCAL_MAIL_PACKAGE, GROUND, TWO_DAY, OVERNIGHT, INTERNATIONAL, INTERNATIONAL_PRIORITY, LOCAL_PRIORITY, FEDEX_EXPEDITED, FEDEX_REGULAR, UPS_EXPEDITED, UPS_REGULAR, USPS_EXPEDITED, USPS_REGULAR

Shipping options vary by card provider. For details on the specific shipping companies and services offered by your card provider, contact your Marqeta representative.
config.fulfillment.shipping.recipient_address

object

Optional
Address to which the order will be shipped.

In order to generate cards, a valid shipping address must be provided by one of these:

- The card or bulk card order’s fulfillment.shipping.recipient_address field
- The users’ address fields
- The card product’s config.fulfillment.shipping.recipient_address field

The order of precedence from highest to lowest is card, user, card product. To be valid, an address must have the address1, city, state, and postal_code or zip fields populated. The country field defaults to USA if unpopulated.

Allowable Values:

Valid recipient_address object
config.fulfillment.shipping.recipient_address.address1

string

Optional
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.address2

string

Optional
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.city

string

Optional
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.country

string

Optional
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.recipient_address.first_name

string

Optional
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.last_name

string

Optional
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.middle_name

string

Optional
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.phone

string

Optional
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.recipient_address.postal_code

string

Optional
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.recipient_address.state

string

Optional
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.recipient_address.zip

string

Optional
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address

object

Optional
Address to which the order will be returned if shipping fails.

Allowable Values:

address1, address2, city, country, first_name, last_name, middle_name, phone, postal_code, state, zip
config.fulfillment.shipping.return_address.address1

string

Optional
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.address2

string

Optional
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.city

string

Optional
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.country

string

Optional
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.return_address.first_name

string

Optional
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.last_name

string

Optional
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.middle_name

string

Optional
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.phone

string

Optional
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.return_address.postal_code

string

Optional
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address.state

string

Optional
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.return_address.zip

string

Optional
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.uppercase_name_lines

boolean

Optional
A value of true sets the text in the fulfillment.card_personalization.text.name_line_1 and name_line_2 fields to all uppercase letters. A value of false leaves the text in its original state.

Allowable Values:

true, false

Default value:
true
config.jit_funding

object

Optional
Governs the behavior of JIT Funding.

Allowable Values:

paymentcard_funding_source, program_funding_source, programgateway_funding_source
config.jit_funding.paymentcard_funding_source

object

Optional
Enables and configures a payment card funding source.

Allowable Values:

Valid paymentcard_funding_source object
config.jit_funding.paymentcard_funding_source.enabled

boolean

Optional
Specifies whether JIT Funding is enabled or disabled for the payment card funding source. A value of true indicates that the payment card funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.paymentcard_funding_source.refunds_destination

string

Optional
Specifies the return destination for refunds in the case of a transaction reversal.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.jit_funding.program_funding_source

object

Optional
Enables and configures a program funding source.

Allowable Values:

Valid program_funding_source object
config.jit_funding.program_funding_source.enabled

boolean

Optional
Specifies whether JIT Funding is enabled or disabled for the program funding source. A value of true indicates that the program funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.program_funding_source.funding_source_token

string

Optional
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.program_funding_source.refunds_destination

string

Optional
Specifies the return destination for refunds in the case of a transaction reversal. PROGRAM_FUNDING_SOURCE returns funds to the program funding source. GPA returns the funds to the user’s GPA.

Allowable Values:

PROGRAM_FUNDING_SOURCE, GPA, WATERFALL
config.jit_funding.programgateway_funding_source

object

Optional
Enables and configures a program gateway funding source.

Allowable Values:

Valid programgateway_funding_source object
config.jit_funding.programgateway_funding_source.always_fund

boolean

Optional
If set to true, this card product is always funded from this program gateway funding source.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.enabled

boolean

Optional
Specifies whether JIT Funding is enabled or disabled for the program gateway funding source. A value of true indicates that the program gateway funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.funding_source_token

string

Optional
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.programgateway_funding_source.refunds_destination

string

Optional
Specifies the return destination for refunds in the case of a transaction reversal. In most cases, you should set the value to GATEWAY, which returns funds to the program gateway funding source. Setting to GPA returns the funds to the user’s GPA, which creates a positive account balance and introduces the potential of a transaction being authorized without a JIT Funding request being sent to the gateway.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.poi

object

Optional
Governs the point of interaction.

Allowable Values:

atm, ecommerce, other
config.poi.atm

boolean

Optional
If set to true, cards can be used for withdrawing cash at an ATM and for receiving cash back at a point of sale (POS).

Allowable Values:

true, false

Default value:
false
config.poi.ecommerce

boolean

Optional
If set to true, cards can be used for online purchases.

Allowable Values:

true, false

Default value:
false
config.poi.other

object

Optional
Allows for configuration of points of interaction other than ecommerce or ATMs, such as points of sale (POS).

Allowable Values:

allow, card_presence_required, cardholder_presence_required
config.poi.other.allow

boolean

Optional
If set to true, card transactions at points of interaction other than e-commerce or ATMs are allowed. This group includes points of sale (POS).

Allowable Values:

true, false

Default value:
true
config.poi.other.card_presence_required

boolean

Optional
If set to true, cards of this card product type are required to be present during the transaction, such as in IVR scenarios.

Allowable Values:

true, false

Default value:
false
config.poi.other.cardholder_presence_required

boolean

Optional
If set to true, the cardholder is required to be present during the transaction, such as in a restaurant where the card is present but the cardholder might not be present when the card is swiped.

Allowable Values:

true, false

Default value:
false
config.selective_auth

object

Optional
Contains information about authorization decisions.

Allowable Values:

dmd_location_sensitivity, enable_regex_search_chain, sa_mode
config.selective_auth.dmd_location_sensitivity

integer

Optional
Determines what type of merchant information is required for a match (authorization). Not relevant if enable_regex_search_chain = false.

- 0 – Requires exact match on card acceptor name and postal code to existing entry in Marqeta Merchant database (most restrictive).
- 1 – Partial match on card acceptor name (least restrictive).
- 2 – Partial match on card acceptor name; exact match on card acceptor city.
- 3 – Partial match on card acceptor name; exact match on card acceptor postal code.
- 4 – Partial match on card acceptor name; exact match on street address 1 and postal code.

Allowable Values:

0, 1, 2, 3, 4

Default value:
0
config.selective_auth.enable_regex_search_chain

boolean

Optional
Set to true to perform regular expression checking on the description received in the authorization.

Allowable Values:

true, false

Default value:
false
config.selective_auth.sa_mode

integer

Optional
Specifies the selective authorization mode.

- 0 — Inactive
- 1 — Active (attempts to authorize a merchant that does not have a recognized MID by matching other pieces of information)
- 2 — Logging and notification (checks the transaction and logs results, but does not authorize)

Selective authorization applies to transactions that are limited to specific merchants. Matching requirements for authorization are set by the dmd_location_sensitivity field.

Allowable Values:

0, 1, 2

Default value:
0
config.special

object

Optional
Contains information about merchant onboarding.

Allowable Values:

merchant_on_boarding
config.special.merchant_on_boarding

boolean

Optional
If set to true, cards of this card product type can be used for merchant onboarding.

Allowable Values:

true, false

Default value:
false
config.transaction_controls

object

Optional
Controls transactional characteristics of card usage.

Allowable Values:

accepted_countries_token, address_verification, allow_chip_fallback, allow_first_pin_set_via_financial_transaction, allow_gpa_auth, allow_mcc_group_authorization_controls, allow_network_load, allow_network_load_card_activation, allow_quasi_cash, always_require_icc, always_require_pin, enable_partial_auth_approval, ignore_card_suspended_state, notification_language, quasi_cash_exempt_merchant_group_token, quasi_cash_exempt_mids, require_card_not_present_card_security_code, strong_customer_authentication_limits
config.transaction_controls.accepted_countries_token

string

Optional
Set to accept_us_only to allow transactions only within the US.

Set to decline_ofac_countries to allow international transactions except with countries that the Financial Action Task Force (FATF) and Office of Foreign Assets Control (OFAC) have identified as high risk.

Users with the Admin role can create and update additional lists of accepted countries for transactions at the /acceptedcountries endpoint. See Accepted Countries.

Allowable Values:

accept_us_only, decline_ofac_countries, additional Admin-defined tokens

Default value:
accept_us_only
config.transaction_controls.address_verification

object

Optional
Contains configuration options for AVS.

Allowable Values:

Valid address_verification object
config.transaction_controls.address_verification.auth_messages

object

Optional
Contains verification options for authorization messages.

These messages pertain to actual purchases and are for amounts greater than $0.

Allowable Values:

One or more verification options
config.transaction_controls.address_verification.av_messages

object

Optional
Contains verification options for account verification messages.

These are $0 messages typically used to store cards on file at a merchant.

Allowable Values:

One or more verification options
config.transaction_controls.allow_chip_fallback

boolean

Optional
Indicates whether to allow transactions where a Europay Mastercard and Visa (EMV) chip-enabled card was processed using the magstripe as fallback.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_first_pin_set_via_financial_transaction

boolean

Optional
WARNING: This field is deprecated and will be unsupported in a future release.

Allows cardholders to define a personal identification number (PIN) as they complete their first PIN-debit transaction.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_gpa_auth

boolean

Optional
If set to true, transactions can be authorized using GPA funds.

NOTE: For most programs, this field should be set to true.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_mcc_group_authorization_controls

boolean

Optional
The MCC groupauthorization_controls object allows you to automatically increase authorization holds and to specify authorization expiration times based on merchant type. By default, these settings apply to all cards in your program.

However, you can make cards that are associated with a particular card product exempt from increasing authorization holds by setting the allow_mcc_group_authorization_controls field to false. Doing so does not impact authorization expiration times.

NOTE:Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, because Marqeta will increase authorization holds for AFDs if the card product has been configured to do so.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_network_load

boolean

Optional
Indicates whether card network loads are allowed. The associated card’s state must be ACTIVE or the load will be rejected.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_network_load_card_activation

boolean

Optional
Indicates whether card network loads are allowed. Sets the associated card’s state to ACTIVE if its current state is INACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_quasi_cash

boolean

Optional
Indicates whether quasi-cash transactions are allowed. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_icc

boolean

Optional
If set to true, cards of this card product type require an Integrated Circuit Card.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_pin

boolean

Optional
If set to true, cards of this card product type require a personal identification number (PIN).

Allowable Values:

true, false

Default value:
false
config.transaction_controls.enable_partial_auth_approval

boolean

Optional
Set to true to enable partial authorizations.

When this setting is false and the requested authorization amount exceeds available funds, the transaction is declined. When this setting is true and the requested authorization amount exceeds available funds, the transaction is authorized for the amount of available funds.

NOTE|OPEN|| CALLOUTTITLE:Note|TITLEBREAK|Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, as Marqeta will always partially approve AFD pre-authorizations if the transaction payload field partial_approval_capable is enabled. NOTE|CLOSE

Allowable Values:

true, false

Default value:
true
config.transaction_controls.ignore_card_suspended_state

boolean

Optional
Allows transactions to be approved even if the card’s state = SUSPENDED. When this field is set to true, the card behaves as if its state = ACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.notification_language

string

Optional
Specifies the language for 3D Secure and digital wallet token notifications sent to cardholders under this card program.

You can send notifications to your cardholders in the following languages:

- ces – Czech
- deu – German
- eng – English
- fra – French
- grc – Greek
- ita – Italian
- nld – Dutch
- pol – Polish
- por – Portuguese
- rou – Romanian
- spa – Spanish
- swe – Swedish

By default, notifications are sent in English.

To specify the language for OTP notifications at the user level, see Users. Languages set at the user level take precedence over the language set at the card product level.

Allowable Values:

ces, deu, eng, fra, grc, ita, nld, pol, por, rou, spa, swe

If you leave this field blank, cardholders receive notifications in English.
config.transaction_controls.quasi_cash_exempt_merchant_group_token

string

Optional
The token of the merchant group that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

You can specify a merchant group token in addition to whatever merchant identifiers you listed in the quasi_cash_exempt_mids field, if any. For more information, see Merchant Groups.

Allowable Values:

1–36 chars

Valid merchant group token.
config.transaction_controls.quasi_cash_exempt_mids

string

Optional
Comma-separated list of merchant identifiers that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

255 char max

For example: 12345678901,23456789012,34567890123,45678901234
config.transaction_controls.require_card_not_present_card_security_code

boolean

Optional
A value of true indicates that if card_presence_required is true, the card’s security code is required.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits

object

Optional
Contains information about Strong Customer Authentication (SCA) behavior for contactless point-of-sale (POS) and low-value payment (LVP) e-commerce transactions.

Allowable Values:

sca_contactless_cumulative_amount_limit, sca_contactless_transaction_limit, sca_contactless_transactions_count_limit, sca_contactless_transactions_currency, sca_lvp_cumulative_amount_limit, sca_lvp_transaction_limit, sca_lvp_transactions_count_limit, sca_tra_exemption_amount_limit
config.transaction_controls.strong_customer_authentication_limits.cavv_authentication_amount_incremental_percentage

string

Optional
If you have enabled CAVV authentication amount validation, the value of this field specifies the maximum allowable variance between the authorization amount and the 3D Secure authentication amount. Expressed as a percentage.

Allowable Values:

255 char max

Default value:
0
config.transaction_controls.strong_customer_authentication_limits.enable_cavv_authentication_amount_validation

boolean

Optional
If set to true, Marqeta validates the amount in the authorization transaction against the amount in the 3D Secure authentication attempt. If the authorization amount is greater than the 3D Secure authentication amount, Marqeta rejects the transaction. You can specify an allowable variance for the 3D Secure authentication amount in the cavv_authentication_amount_incremental_percentage field.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.enable_issuer_tra_exemption

boolean

Optional
If set to true, Marqeta does not increment the low-value payment (LVP) counter for frictionless 3D Secure transactions.

This field is enabled in your card product configuration. Contact your Marqeta representative to configure this field for your program.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_cumulative_amount_limit

decimal

Optional
Specifies the cumulative limit of transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the cumulative amount spent in contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transaction_limit

decimal

Optional
Specifies the maximum allowable amount for a single contactless point-of-sale (POS) transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

A value of 0 in this field means that the amount of any single contactless POS transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_count_limit

integer

Optional
Specifies the number of contactless POS transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the number of contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

Any integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_currency

string

Optional
Specifies the currency type for contactless POS transactions.

This field is required if either the sca_contactless_transaction_limit field or the sca_contactless_cumulative_amount_limit field in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_cumulative_amount_limit

decimal

Optional
Specifies the cumulative limit of low-value payment (LVP) e-commerce transactions the cardholder can perform before receiving an SCA challenge.

For example, if you set the value of this field to 100.00, your cardholder can perform two transactions for 30.00 and two transactions for 20.00 before receiving an SCA challenge.

If you leave this field blank, the cumulative amount spent in LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transaction_limit

decimal

Optional
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

If you leave this field blank, the amount of any single LVP e-commerce transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_count_limit

integer

Optional
Specifies the number of LVP e-commerce transactions the cardholder can perform before receiving an SCA challenge.

If you leave this field blank, the total number of LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

An integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_currency

string

Optional
Specifies the currency type for LVP e-commerce transaction limits.

This field is required if any one of the sca_lvp_transaction_limit, sca_lvp_cumulative_amount_limit, or sca_lvp_transactions_count_limit fields in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_tra_exemption_amount_limit

decimal

Optional
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction with transaction risk analysis (TRA) exemption sent by the merchant or acquirer. If the transaction amount exceeds the specified limit, then the transaction is either approved or it receives a strong customer authentication (SCA) challenge based on sca_lvp_transaction_limit and sca_lvp_transactions_currency.

Allowable Values:

decimal

Format:
0.00

Default value:
0.00
end_date

date

Optional
End date of the range over which the card product can be active.

Allowable Values:

Format: yyyy-mm-DD
name

string

Optional
Name of the card product. Marqeta recommends that you use a unique string.

Allowable Values:

1–40 chars
start_date

date

Optional
Date the card product becomes active. If the start date has passed and the card is set to active = false, then the card will not be activated.

Allowable Values:

Format: yyyy-mm-DD

Sample request body

JSON
{
  "active": false
}

Response body

FieldsDescription
active

boolean

Conditionally returned
Indicates whether the card product is active.

This field is returned if it exists in the resource.

Allowable Values:

true, false

Default value:
true
config

object

Conditionally returned
Defines the characteristics of the card product. Configurations are conditionally returned based on program setup.

Allowable Values:

card_life_cycle, clearing_and_settlement, digital_wallet_tokenization, fulfillment, jit_funding, poi, selective_auth, special, transaction_controls
config.card_life_cycle

object

Conditionally returned
Defines characteristics of the lifecycle of cards of this card product type.

Allowable Values:

activate_upon_issue, card_service_code, expiration_offset, reloadability, update_expiration_upon_activation
config.card_life_cycle.activate_upon_issue

boolean

Conditionally returned
A value of true indicates that cards of this card product type are active once they are issued.

Allowable Values:

true, false

Default value:
false
config.card_life_cycle.card_service_code

integer

Conditionally returned
Sequence of three digits that defines various services, differentiates card usage in international or domestic interchange, designates personal identification number (PIN) and authorization requirements, and identifies card restrictions. The following values are commonly used:

First digit

- 1 — International interchange OK
- 2 — International interchange, use IC (chip) where feasible
- 5 — National interchange only except under bilateral agreement
- 6 — National interchange only except under bilateral agreement, use IC (chip) where feasible
- 7 — No interchange except under bilateral agreement (closed loop)
- 9 — Test

Second digit

- 0 — Normal
- 2 — Contact issuer via online means
- 4 — Contact issuer via online means except under bilateral agreement

Third digit

- 0 — No restrictions, PIN required
- 1 — No restrictions
- 2 — Goods and services only (no cash)
- 3 — ATM only, PIN required
- 4 — Cash only
- 5 — Goods and services only (no cash), PIN required
- 6 — No restrictions, use PIN where feasible
- 7 — Goods and services only (no cash), use PIN where feasible

Allowable Values:

100 - 999

Default value:
101
config.card_life_cycle.expiration_offset

object

Conditionally returned
Specifies the length of time after the date of issue for which cards of this card product type are valid.

Allowable Values:

min_offset, unit, value
config.card_life_cycle.expiration_offset.min_offset

object

Conditionally returned
Specifies the minimum length of time after the date of issue for which the cards are valid.

Allowable Values:

unit, value
config.card_life_cycle.expiration_offset.min_offset.unit

string

Conditionally returned
Specifies the time unit of the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS
config.card_life_cycle.expiration_offset.min_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field) for which cards of this card product type are valid. Cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.expiration_offset.unit

string

Conditionally returned
Specifies the units for the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS

Default value:
YEARS
config.card_life_cycle.expiration_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field in this object) for which cards of this card product type are valid. In other words, cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.reloadability

string

Conditionally returned
Indicates if a card is reloadable.

Allowable Values:

NON-RELOADABLE, RELOADABLE, SINGLE_USE_VIRTUAL
config.card_life_cycle.update_expiration_upon_activation

boolean

Conditionally returned
Normally, the expiration_offset is measured from the date of issue. Set this field to true to measure expiration_offset from the date of activation instead.

Allowable Values:

true, false

Default value:
false
config.clearing_and_settlement

object

Conditionally returned
Specifies the destination for overdraft funds.

Allowable Values:

overdraft_destination
config.clearing_and_settlement.overdraft_destination

string

Conditionally returned
Specifies the destination for overdraft funds.

This field does not apply if JIT Funding is enabled.

Allowable Values:

GPA, MERCHANT_CAMPAIGN_ACCOUNT, GLOBAL_OVERDRAFT_ACCOUNT

Default value:
GPA
config.digital_wallet_tokenization

object

Conditionally returned
Controls characteristics related to digital wallets.

Allowable Values:

card_art_id, provisioning_controls
config.digital_wallet_tokenization.card_art_id

string

Conditionally returned
Specifies the digital wallet card art identifier for the card product. The card art identifier also includes card metadata, such as terms and conditions, card product information, contact information, Apple Pay requirements, Android Pay requirements, wallet profiles, rule sets, terminal profiles, authorization profiles, message profiles, and activation profiles.

Digital wallets display the card art after the initial token has been provisioned and activated. Digital wallet card art is updated for all wallets automatically whenever a tokenized card is reissued or replaced.

- If your card program is Managed by Marqeta, Marqeta populates this field on your behalf.
- If your card program is Powered by Marqeta, you can obtain the correct card art identifier directly from Visa or Mastercard.

If this field is left blank, your card product inherits the card art assigned to the account BIN range. For more information about this field, contact your Marqeta representative.

Allowable Values:

Valid identifiers are defined by Visa or Mastercard and vary by program:

- For Visa card products, this identifier is a GUID called profileID.
- For Mastercard card products, this identifier is a string called ProductConfigID.
config.digital_wallet_tokenization.provisioning_controls

object

Conditionally returned
Controls the provisioning of digital wallets.

Allowable Values:

Valid provisioning_controls object
config.digital_wallet_tokenization.provisioning_controls.in_app_provisioning

object

Conditionally returned
Controls the provisioning of digital wallets by a Marqeta customer’s mobile application.

Allowable Values:

Valid in_app_provisioning object
config.digital_wallet_tokenization.provisioning_controls.manual_entry

object

Conditionally returned
Controls the provisioning of digital wallets by manual entry, in which the cardholder manually enters the card’s primary account number (PAN), card verification value (CVV2), and expiration date.

Allowable Values:

Valid manual_entry object
config.digital_wallet_tokenization.provisioning_controls.wallet_provider_card_on_file

object

Conditionally returned
Controls the provisioning of digital wallets where the digital wallet provider already has the card on file.

Allowable Values:

Valid wallet_provider_card_on_file object
config.digital_wallet_tokenization.provisioning_controls.web_push_provisioning

object

Conditionally returned
Specifies the digital wallet card art and program configuration identifiers at the card product level for Web Push Provisioning.

Allowable Values:

Valid web_push_provisioning object
config.digital_wallet_tokenization.provisioning_controls.dwt_use_card_status_during_auth

boolean

Conditionally returned
If true, then digital wallet transactions are declined if the card associated with the digital wallet token is in either the SUSPENDED or TERMINATED state.

Allowable Values:

true, false

Default value:
false
config.fulfillment

object

Conditionally returned
Determines physical characteristics of a card, along with its bulk shipment information.

Allowable Values:

all_zero_card_security_code, allow_card_creation, bin_prefix, bulk_ship, card_personalization, enable_offline_pin, fulfillment_provider, package_id, pan_length, payment_instrument, shipping, uppercase_name_lines
config.fulfillment.all_zero_card_security_code

boolean

Conditionally returned
If true, an all zero code (000) is allowed as a valid value in an authorization request.

Allowable Values:

true, false

Default value:
false
config.fulfillment.allow_card_creation

boolean

Conditionally returned
Controls the ability to create cards from this card product; true allows and false disallows the creation of cards.

NOTE: The card product’s active field has no effect on card creation or the behavior of this field.

Allowable Values:

true, false

Default value:
true
config.fulfillment.bin_prefix

string

Conditionally returned
Prefix of the bank identification number.

Allowable Values:

A six-digit number for the sandbox environment; a six- to nine-digit number is expected in production environments (see note below).

Default value:
111111

NOTE: In the sandbox environment or when testing against OpenAPI (Swagger), this field must be set to 111111. It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use.
config.fulfillment.bin_issue_country

string

Conditionally returned
Country of the card issuer.

Allowable Values:

A valid alpha-3 ISO 3166 country code
config.fulfillment.bulk_ship

boolean

Conditionally returned
Enables bulk ordering of cards of this card product type using the /bulkissuances endpoint.

Allowable Values:

true, false

Default value:
false
config.fulfillment.card_personalization

object

Returned
Allows personalized attributes to be added to the card product.

Allowable Values:

Valid card_personalization object
config.fulfillment.card_personalization.carrier

object

Conditionally returned
Specifies attributes of the card carrier.

Allowable Values:

logo_file, logo_thumbnail_file, message_file, message_line, template_id
config.fulfillment.card_personalization.carrier.logo_file

string

Conditionally returned
Specifies an image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.logo_thumbnail_file

string

Conditionally returned
Specifies a thumbnail-sized rendering of the image specified in the logo_file field.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_file

string

Conditionally returned
Specifies a text file containing a custom message to print on the card carrier.

Allowable Values:

Contains the name of the text file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_line

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.message_line_2

string

Conditionally returned
Specifies the second line of a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.template_id

string

Conditionally returned
Specifies the card carrier template to use.

Allowable Values:

Card carrier template ID
config.fulfillment.card_personalization.images

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

card, carrier, carrier_return_window, signature
config.fulfillment.card_personalization.images.card

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

name, thermal_color
config.fulfillment.card_personalization.images.card.name

string

Conditionally returned
Specifies a PNG image to display on the card.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.card.thermal_color

string

Conditionally returned
Specifies the color of the image displayed on the card.

Allowable Values:

Contains the name of the color and must match one of the provider’s predefined colors.
config.fulfillment.card_personalization.images.carrier

object

Conditionally returned
Specifies personalized images that appear on the card carrier.

Allowable Values:

message_1, name
config.fulfillment.card_personalization.images.carrier.message_1

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.images.carrier.name

string

Conditionally returned
Specifies a PNG image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.carrier_return_window

object

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

name
config.fulfillment.card_personalization.images.carrier_return_window.name

string

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.signature

object

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

name
config.fulfillment.card_personalization.images.signature.name

string

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.perso_type

string

Conditionally returned
Specifies the type of card personalization.

Allowable Values:

EMBOSS, LASER, FLAT
config.fulfillment.card_personalization.text

object

Returned
Specifies personalized text that appears on the card.

Allowable Values:

name_line_1, name_line_2, name_line_3
config.fulfillment.card_personalization.text.name_line_1

object

Returned
Specifies the first line of personalized text that appears on the card.

Allowable Values:

name_line_1.value

21 char max; if name_line_1_numeric_postfix is true, 14 char max.

Strings longer than the character limit are truncated.
config.fulfillment.card_personalization.text.name_line_1.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_2

object

Conditionally returned
Specifies the second line of personalized text that appears on the card.

Allowable Values:

name_line_2.value
config.fulfillment.card_personalization.text.name_line_2.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_3

object

Conditionally returned
Specifies the third line of personalized text that appears on the card.

Allowable Values:

name_line_3.value
config.fulfillment.card_personalization.text.name_line_3.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.enable_offline_pin

boolean

Conditionally returned
Enables offline personal identification number (PIN) verification for Europay Mastercard and Visa (EMV, or “chip-and-PIN”) card payments.

Allowable Values:

true, false

Default value:
false
config.fulfillment.fulfillment_provider

string

Conditionally returned
Specifies the fulfillment provider.

You can work with providers located in North America, Europe, South America, and the Asia-Pacific region. For more information, see Fulfillment providers by location.

NOTE: Expedited processing is available for cards that are fulfilled by Arroweye Solutions, G+D, IDEMIA, and Perfect Plastic Printing. You can expedite an order’s processing by using the expedite field of the card or bulkissuance object. Contact your Marqeta representative for information regarding the cost of expedited service.

Allowable Values:

ABCORP, ALLPAY, ARROWEYE, CPI, EXCEET_DE, GD, GEMALTO, IDEMIA, IDEMIA_AU, IDEMIA_CZ, IDEMIA_DE, IDEMIA_FR, IDEMIA_FR_SC, IDEMIA_LA, IDEMIA_PL, IDEMIA_UK, NID, NITECREST, NITECREST_PL, NITECREST_UK_SC, OBERTHUR, OBERTHUR_SC, PERFECTPLASTIC, TAG

Default value:
PERFECTPLASTIC
config.fulfillment.package_id

string

Conditionally returned
Card fulfillment provider’s package ID.

Allowable Values:

1–50 chars
config.fulfillment.pan_length

string

Conditionally returned
Specifies the length of the primary account number (PAN).

Allowable Values:

Default value:
16
config.fulfillment.payment_instrument

string

Conditionally returned
Specifies the physical form cards of this card product type will take.

Allowable Values:

PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN

Default value:
PHYSICAL_MSR
config.fulfillment.shipping

object

Conditionally returned
Specifies shipping details for the order.

Allowable Values:

care_of_line, method, recipient_address, return_address
config.fulfillment.shipping.care_of_line

string

Conditionally returned
Adds the specified value as a care of (C/O) line to the mailing carrier.

NOTE: This field can be specified on cards, card products, and bulk card orders. If you specify this field at multiple levels, the order of precedence is: card, bulk card order, card product.

Allowable Values:

255 char max
config.fulfillment.shipping.method

string

Conditionally returned
Specifies the shipping service.

Allowable Values:

LOCAL_MAIL, LOCAL_MAIL_PACKAGE, GROUND, TWO_DAY, OVERNIGHT, INTERNATIONAL, INTERNATIONAL_PRIORITY, LOCAL_PRIORITY, FEDEX_EXPEDITED, FEDEX_REGULAR, UPS_EXPEDITED, UPS_REGULAR, USPS_EXPEDITED, USPS_REGULAR

Shipping options vary by card provider. For details on the specific shipping companies and services offered by your card provider, contact your Marqeta representative.
config.fulfillment.shipping.recipient_address

object

Conditionally returned
Address to which the order will be shipped.

In order to generate cards, a valid shipping address must be provided by one of these:

- The card or bulk card order’s fulfillment.shipping.recipient_address field
- The users’ address fields
- The card product’s config.fulfillment.shipping.recipient_address field

The order of precedence from highest to lowest is card, user, card product. To be valid, an address must have the address1, city, state, and postal_code or zip fields populated. The country field defaults to USA if unpopulated.

Allowable Values:

Valid recipient_address object
config.fulfillment.shipping.recipient_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.recipient_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.recipient_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.recipient_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.recipient_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address

object

Conditionally returned
Address to which the order will be returned if shipping fails.

Allowable Values:

address1, address2, city, country, first_name, last_name, middle_name, phone, postal_code, state, zip
config.fulfillment.shipping.return_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.return_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.return_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.return_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.uppercase_name_lines

boolean

Conditionally returned
A value of true sets the text in the fulfillment.card_personalization.text.name_line_1 and name_line_2 fields to all uppercase letters. A value of false leaves the text in its original state.

Allowable Values:

true, false

Default value:
true
config.jit_funding

object

Conditionally returned
Governs the behavior of JIT Funding.

Allowable Values:

paymentcard_funding_source, program_funding_source, programgateway_funding_source
config.jit_funding.paymentcard_funding_source

object

Conditionally returned
Enables and configures a payment card funding source.

Allowable Values:

Valid paymentcard_funding_source object
config.jit_funding.paymentcard_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the payment card funding source. A value of true indicates that the payment card funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.paymentcard_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.jit_funding.program_funding_source

object

Conditionally returned
Enables and configures a program funding source.

Allowable Values:

Valid program_funding_source object
config.jit_funding.program_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program funding source. A value of true indicates that the program funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.program_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.program_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. PROGRAM_FUNDING_SOURCE returns funds to the program funding source. GPA returns the funds to the user’s GPA.

Allowable Values:

PROGRAM_FUNDING_SOURCE, GPA, WATERFALL
config.jit_funding.programgateway_funding_source

object

Conditionally returned
Enables and configures a program gateway funding source.

Allowable Values:

Valid programgateway_funding_source object
config.jit_funding.programgateway_funding_source.always_fund

boolean

Conditionally returned
If set to true, this card product is always funded from this program gateway funding source.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program gateway funding source. A value of true indicates that the program gateway funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.programgateway_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. In most cases, you should set the value to GATEWAY, which returns funds to the program gateway funding source. Setting to GPA returns the funds to the user’s GPA, which creates a positive account balance and introduces the potential of a transaction being authorized without a JIT Funding request being sent to the gateway.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.poi

object

Conditionally returned
Governs the point of interaction.

Allowable Values:

atm, ecommerce, other
config.poi.atm

boolean

Conditionally returned
If set to true, cards can be used for withdrawing cash at an ATM and for receiving cash back at a point of sale (POS).

Allowable Values:

true, false

Default value:
false
config.poi.ecommerce

boolean

Conditionally returned
If set to true, cards can be used for online purchases.

Allowable Values:

true, false

Default value:
false
config.poi.other

object

Conditionally returned
Allows for configuration of points of interaction other than ecommerce or ATMs, such as points of sale (POS).

Allowable Values:

allow, card_presence_required, cardholder_presence_required
config.poi.other.allow

boolean

Conditionally returned
If set to true, card transactions at points of interaction other than e-commerce or ATMs are allowed. This group includes points of sale (POS).

Allowable Values:

true, false

Default value:
true
config.poi.other.card_presence_required

boolean

Conditionally returned
If set to true, cards of this card product type are required to be present during the transaction, such as in IVR scenarios.

Allowable Values:

true, false

Default value:
false
config.poi.other.cardholder_presence_required

boolean

Conditionally returned
If set to true, the cardholder is required to be present during the transaction, such as in a restaurant where the card is present but the cardholder might not be present when the card is swiped.

Allowable Values:

true, false

Default value:
false
config.selective_auth

object

Conditionally returned
Contains information about authorization decisions.

Allowable Values:

dmd_location_sensitivity, enable_regex_search_chain, sa_mode
config.selective_auth.dmd_location_sensitivity

integer

Conditionally returned
Determines what type of merchant information is required for a match (authorization). Not relevant if enable_regex_search_chain = false.

- 0 – Requires exact match on card acceptor name and postal code to existing entry in Marqeta Merchant database (most restrictive).
- 1 – Partial match on card acceptor name (least restrictive).
- 2 – Partial match on card acceptor name; exact match on card acceptor city.
- 3 – Partial match on card acceptor name; exact match on card acceptor postal code.
- 4 – Partial match on card acceptor name; exact match on street address 1 and postal code.

Allowable Values:

0, 1, 2, 3, 4

Default value:
0
config.selective_auth.enable_regex_search_chain

boolean

Conditionally returned
Set to true to perform regular expression checking on the description received in the authorization.

Allowable Values:

true, false

Default value:
false
config.selective_auth.sa_mode

integer

Conditionally returned
Specifies the selective authorization mode.

- 0 — Inactive
- 1 — Active (attempts to authorize a merchant that does not have a recognized MID by matching other pieces of information)
- 2 — Logging and notification (checks the transaction and logs results, but does not authorize)

Selective authorization applies to transactions that are limited to specific merchants. Matching requirements for authorization are set by the dmd_location_sensitivity field.

Allowable Values:

0, 1, 2

Default value:
0
config.special

object

Conditionally returned
Contains information about merchant onboarding.

Allowable Values:

merchant_on_boarding
config.special.merchant_on_boarding

boolean

Conditionally returned
If set to true, cards of this card product type can be used for merchant onboarding.

Allowable Values:

true, false

Default value:
false
config.transaction_controls

object

Conditionally returned
Controls transactional characteristics of card usage.

Allowable Values:

accepted_countries_token, address_verification, allow_chip_fallback, allow_first_pin_set_via_financial_transaction, allow_gpa_auth, allow_mcc_group_authorization_controls, allow_network_load, allow_network_load_card_activation, allow_quasi_cash, always_require_icc, always_require_pin, enable_partial_auth_approval, ignore_card_suspended_state, notification_language, quasi_cash_exempt_merchant_group_token, quasi_cash_exempt_mids, require_card_not_present_card_security_code, strong_customer_authentication_limits
config.transaction_controls.accepted_countries_token

string

Conditionally returned
Set to accept_us_only to allow transactions only within the US.

Set to decline_ofac_countries to allow international transactions except with countries that the Financial Action Task Force (FATF) and Office of Foreign Assets Control (OFAC) have identified as high risk.

Users with the Admin role can create and update additional lists of accepted countries for transactions at the /acceptedcountries endpoint. See Accepted Countries.

Allowable Values:

accept_us_only, decline_ofac_countries, additional Admin-defined tokens

Default value:
accept_us_only
config.transaction_controls.address_verification

object

Conditionally returned
Contains configuration options for AVS.

Allowable Values:

Valid address_verification object
config.transaction_controls.address_verification.auth_messages

object

Conditionally returned
Contains verification options for authorization messages.

These messages pertain to actual purchases and are for amounts greater than $0.

Allowable Values:

One or more verification options
config.transaction_controls.address_verification.av_messages

object

Conditionally returned
Contains verification options for account verification messages.

These are $0 messages typically used to store cards on file at a merchant.

Allowable Values:

One or more verification options
config.transaction_controls.allow_chip_fallback

boolean

Conditionally returned
Indicates whether to allow transactions where a Europay Mastercard and Visa (EMV) chip-enabled card was processed using the magstripe as fallback.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_first_pin_set_via_financial_transaction

boolean

Conditionally returned
WARNING: This field is deprecated and will be unsupported in a future release.

Allows cardholders to define a personal identification number (PIN) as they complete their first PIN-debit transaction.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_gpa_auth

boolean

Conditionally returned
If set to true, transactions can be authorized using GPA funds.

NOTE: For most programs, this field should be set to true.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_mcc_group_authorization_controls

boolean

Conditionally returned
The MCC groupauthorization_controls object allows you to automatically increase authorization holds and to specify authorization expiration times based on merchant type. By default, these settings apply to all cards in your program.

However, you can make cards that are associated with a particular card product exempt from increasing authorization holds by setting the allow_mcc_group_authorization_controls field to false. Doing so does not impact authorization expiration times.

NOTE:Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, because Marqeta will increase authorization holds for AFDs if the card product has been configured to do so.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_network_load

boolean

Conditionally returned
Indicates whether card network loads are allowed. The associated card’s state must be ACTIVE or the load will be rejected.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_network_load_card_activation

boolean

Conditionally returned
Indicates whether card network loads are allowed. Sets the associated card’s state to ACTIVE if its current state is INACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_quasi_cash

boolean

Conditionally returned
Indicates whether quasi-cash transactions are allowed. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_icc

boolean

Conditionally returned
If set to true, cards of this card product type require an Integrated Circuit Card.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_pin

boolean

Conditionally returned
If set to true, cards of this card product type require a personal identification number (PIN).

Allowable Values:

true, false

Default value:
false
config.transaction_controls.enable_partial_auth_approval

boolean

Conditionally returned
Set to true to enable partial authorizations.

When this setting is false and the requested authorization amount exceeds available funds, the transaction is declined. When this setting is true and the requested authorization amount exceeds available funds, the transaction is authorized for the amount of available funds.

NOTE|OPEN|| CALLOUTTITLE:Note|TITLEBREAK|Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, as Marqeta will always partially approve AFD pre-authorizations if the transaction payload field partial_approval_capable is enabled. NOTE|CLOSE

Allowable Values:

true, false

Default value:
true
config.transaction_controls.ignore_card_suspended_state

boolean

Conditionally returned
Allows transactions to be approved even if the card’s state = SUSPENDED. When this field is set to true, the card behaves as if its state = ACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.notification_language

string

Conditionally returned
Specifies the language for 3D Secure and digital wallet token notifications sent to cardholders under this card program.

You can send notifications to your cardholders in the following languages:

- ces – Czech
- deu – German
- eng – English
- fra – French
- grc – Greek
- ita – Italian
- nld – Dutch
- pol – Polish
- por – Portuguese
- rou – Romanian
- spa – Spanish
- swe – Swedish

By default, notifications are sent in English.

To specify the language for OTP notifications at the user level, see Users. Languages set at the user level take precedence over the language set at the card product level.

Allowable Values:

ces, deu, eng, fra, grc, ita, nld, pol, por, rou, spa, swe

If you leave this field blank, cardholders receive notifications in English.
config.transaction_controls.quasi_cash_exempt_merchant_group_token

string

Conditionally returned
The token of the merchant group that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

You can specify a merchant group token in addition to whatever merchant identifiers you listed in the quasi_cash_exempt_mids field, if any. For more information, see Merchant Groups.

Allowable Values:

1–36 chars

Valid merchant group token.
config.transaction_controls.quasi_cash_exempt_mids

string

Conditionally returned
Comma-separated list of merchant identifiers that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

255 char max

For example: 12345678901,23456789012,34567890123,45678901234
config.transaction_controls.require_card_not_present_card_security_code

boolean

Conditionally returned
A value of true indicates that if card_presence_required is true, the card’s security code is required.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits

object

Conditionally returned
Contains information about Strong Customer Authentication (SCA) behavior for contactless point-of-sale (POS) and low-value payment (LVP) e-commerce transactions.

Allowable Values:

sca_contactless_cumulative_amount_limit, sca_contactless_transaction_limit, sca_contactless_transactions_count_limit, sca_contactless_transactions_currency, sca_lvp_cumulative_amount_limit, sca_lvp_transaction_limit, sca_lvp_transactions_count_limit, sca_tra_exemption_amount_limit
config.transaction_controls.strong_customer_authentication_limits.cavv_authentication_amount_incremental_percentage

string

Conditionally returned
If you have enabled CAVV authentication amount validation, the value of this field specifies the maximum allowable variance between the authorization amount and the 3D Secure authentication amount. Expressed as a percentage.

Allowable Values:

255 char max

Default value:
0
config.transaction_controls.strong_customer_authentication_limits.enable_cavv_authentication_amount_validation

boolean

Conditionally returned
If set to true, Marqeta validates the amount in the authorization transaction against the amount in the 3D Secure authentication attempt. If the authorization amount is greater than the 3D Secure authentication amount, Marqeta rejects the transaction. You can specify an allowable variance for the 3D Secure authentication amount in the cavv_authentication_amount_incremental_percentage field.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.enable_issuer_tra_exemption

boolean

Conditionally returned
If set to true, Marqeta does not increment the low-value payment (LVP) counter for frictionless 3D Secure transactions.

This field is enabled in your card product configuration. Contact your Marqeta representative to configure this field for your program.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the cumulative amount spent in contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single contactless point-of-sale (POS) transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

A value of 0 in this field means that the amount of any single contactless POS transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_count_limit

integer

Conditionally returned
Specifies the number of contactless POS transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the number of contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

Any integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_currency

string

Conditionally returned
Specifies the currency type for contactless POS transactions.

This field is required if either the sca_contactless_transaction_limit field or the sca_contactless_cumulative_amount_limit field in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of low-value payment (LVP) e-commerce transactions the cardholder can perform before receiving an SCA challenge.

For example, if you set the value of this field to 100.00, your cardholder can perform two transactions for 30.00 and two transactions for 20.00 before receiving an SCA challenge.

If you leave this field blank, the cumulative amount spent in LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

If you leave this field blank, the amount of any single LVP e-commerce transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_count_limit

integer

Conditionally returned
Specifies the number of LVP e-commerce transactions the cardholder can perform before receiving an SCA challenge.

If you leave this field blank, the total number of LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

An integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_currency

string

Conditionally returned
Specifies the currency type for LVP e-commerce transaction limits.

This field is required if any one of the sca_lvp_transaction_limit, sca_lvp_cumulative_amount_limit, or sca_lvp_transactions_count_limit fields in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_tra_exemption_amount_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction with transaction risk analysis (TRA) exemption sent by the merchant or acquirer. If the transaction amount exceeds the specified limit, then the transaction is either approved or it receives a strong customer authentication (SCA) challenge based on sca_lvp_transaction_limit and sca_lvp_transactions_currency.

Allowable Values:

decimal

Format:
0.00

Default value:
0.00
created_time

datetime

Returned
Date and time when the resource was created, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
end_date

date

Conditionally returned
End date of the range over which the card product can be active.

This field is returned if it exists in the resource.

Allowable Values:

Format: yyyy-mm-DD
last_modified_time

datetime

Returned
Date and time when the resource was last updated, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
name

string

Returned
Name of the card product.

Allowable Values:

1–40 chars
start_date

date

Returned
Date when the card product becomes active.

Allowable Values:

Format: yyyy-mm-DD
token

string

Conditionally returned
Unique identifier of the card product.

Allowable Values:

1–36 chars

If you did not include a token in your request, the system returns an automatically generated token in the response.

Sample response body

JSON
{
  "name": "My Card Product 01",
  "token": "my_cardproduct_01",
  "active": false,
  "config": {
    "poi": {
      "ecommerce": false,
      "atm": false,
      "other": {
        "allow": true,
        "card_presence_required": false,
        "cardholder_presence_required": false
      }
    },
    "transaction_controls": {
      "accepted_countries_token": "accept_us_only",
      "always_require_pin": false,
      "always_require_icc": false,
      "allow_gpa_auth": true,
      "require_card_not_present_card_security_code": false,
      "allow_mcc_group_authorization_controls": true,
      "ignore_card_suspended_state": false,
      "allow_network_load": false,
      "allow_network_load_card_activation": false,
      "allow_quasi_cash": false,
      "enable_partial_auth_approval": true,
      "notification_language": "fra"
    },
    "fulfillment": {
      "shipping": {
        "return_address": {
          "address1": "123 Henry St",
          "address2": "Suite 101",
          "city": "Porterville",
          "state": "CA",
          "postal_code": "93257",
          "country": "USA",
          "phone": "8315551212",
          "first_name": "Saki",
          "middle_name": "R",
          "last_name": "Dogger"
        },
        "recipient_address": {
          "address1": "1234 Grove Street",
          "city": "Berkeley",
          "state": "CA",
          "postal_code": "94702",
          "country": "USA",
          "phone": "5105551212",
          "first_name": "Jane",
          "last_name": "Doe"
        },
        "method": "OVERNIGHT"
      },
      "card_personalization": {
        "text": {
          "name_line_1": {
            "value": "Saki Dogger"
          },
          "name_line_2": {
            "value": "Aegis Fleet Services"
          }
        },
        "carrier": {
          "name": "my_carrier_logo.png",
          "message_line": "my message"
        },
        "images": {
          "card": {
            "name": "my_card_logo.png",
            "thermal_color": "Black"
          }
        },
        "signature": {
          "name": "my_signature.png"
        },
        "carrier_return_window": {
          "name": "my_return_address_image.png"
        }
      }
    },
    "payment_instrument": "PHYSICAL_MSR",
    "package_id": "0",
    "all_zero_card_security_code": false,
    "bin_prefix": "111111",
    "bin_issue_country": "USA",
    "bulk_ship": false,
    "pan_length": "16",
    "fulfillment_provider": "PERFECTPLASTIC"
  },
  "selective_auth": {
    "sa_mode": 1,
    "enable_regex_search_chain": false,
    "dmd_location_sensitivity": 0
  },
  "card_life_cycle": {
    "activate_upon_issue": true,
    "expiration_offset": {
      "unit": "YEARS",
      "value": 10
    },
    "card_service_code": 101,
    "update_expiration_upon_activation": false
  },
  "jit_funding": {
    "paymentcard_funding_source": {
      "enabled": true
    }
  },
  "start_date": "2022-04-27",
  "created_time": "2022-04-27T19:25:55Z",
  "last_modified_time": "2022-04-27T21:29:12Z"
}

Retrieve card product

Action: GET
Endpoint: /cardproducts/{token}
Use this endpoint to retrieve a specific card product.

URL path parameters

FieldsDescription
token

string

Required
Unique identifier of the card product to retrieve.

Allowable Values:

Existing card product token

Response body

FieldsDescription
active

boolean

Conditionally returned
Indicates whether the card product is active.

This field is returned if it exists in the resource.

Allowable Values:

true, false

Default value:
true
config

object

Conditionally returned
Defines the characteristics of the card product. Configurations are conditionally returned based on program setup.

Allowable Values:

card_life_cycle, clearing_and_settlement, digital_wallet_tokenization, fulfillment, jit_funding, poi, selective_auth, special, transaction_controls
config.card_life_cycle

object

Conditionally returned
Defines characteristics of the lifecycle of cards of this card product type.

Allowable Values:

activate_upon_issue, card_service_code, expiration_offset, reloadability, update_expiration_upon_activation
config.card_life_cycle.activate_upon_issue

boolean

Conditionally returned
A value of true indicates that cards of this card product type are active once they are issued.

Allowable Values:

true, false

Default value:
false
config.card_life_cycle.card_service_code

integer

Conditionally returned
Sequence of three digits that defines various services, differentiates card usage in international or domestic interchange, designates personal identification number (PIN) and authorization requirements, and identifies card restrictions. The following values are commonly used:

First digit

- 1 — International interchange OK
- 2 — International interchange, use IC (chip) where feasible
- 5 — National interchange only except under bilateral agreement
- 6 — National interchange only except under bilateral agreement, use IC (chip) where feasible
- 7 — No interchange except under bilateral agreement (closed loop)
- 9 — Test

Second digit

- 0 — Normal
- 2 — Contact issuer via online means
- 4 — Contact issuer via online means except under bilateral agreement

Third digit

- 0 — No restrictions, PIN required
- 1 — No restrictions
- 2 — Goods and services only (no cash)
- 3 — ATM only, PIN required
- 4 — Cash only
- 5 — Goods and services only (no cash), PIN required
- 6 — No restrictions, use PIN where feasible
- 7 — Goods and services only (no cash), use PIN where feasible

Allowable Values:

100 - 999

Default value:
101
config.card_life_cycle.expiration_offset

object

Conditionally returned
Specifies the length of time after the date of issue for which cards of this card product type are valid.

Allowable Values:

min_offset, unit, value
config.card_life_cycle.expiration_offset.min_offset

object

Conditionally returned
Specifies the minimum length of time after the date of issue for which the cards are valid.

Allowable Values:

unit, value
config.card_life_cycle.expiration_offset.min_offset.unit

string

Conditionally returned
Specifies the time unit of the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS
config.card_life_cycle.expiration_offset.min_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field) for which cards of this card product type are valid. Cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.expiration_offset.unit

string

Conditionally returned
Specifies the units for the value field.

Allowable Values:

YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS

Default value:
YEARS
config.card_life_cycle.expiration_offset.value

integer

Conditionally returned
Specifies the number of time units (as defined by the unit field in this object) for which cards of this card product type are valid. In other words, cards expire value x unit after the date of issue.

This number is rounded as follows:

- YEARS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 Jan 2021 and value = 1, the cards expire on the last day of Jan 2022.
- MONTHS – Rounds up to the last second of the last day of the month of expiration. For example, if the issue date is 1 May 2022 and value = 1, the cards expire on the last day of June 2022.
- DAYS – Rounds up to the last second of the day of expiration.
- HOURS, MINUTES, SECONDS – No rounding.

Allowable Values:

Any positive integer

Default value:
4
config.card_life_cycle.reloadability

string

Conditionally returned
Indicates if a card is reloadable.

Allowable Values:

NON-RELOADABLE, RELOADABLE, SINGLE_USE_VIRTUAL
config.card_life_cycle.update_expiration_upon_activation

boolean

Conditionally returned
Normally, the expiration_offset is measured from the date of issue. Set this field to true to measure expiration_offset from the date of activation instead.

Allowable Values:

true, false

Default value:
false
config.clearing_and_settlement

object

Conditionally returned
Specifies the destination for overdraft funds.

Allowable Values:

overdraft_destination
config.clearing_and_settlement.overdraft_destination

string

Conditionally returned
Specifies the destination for overdraft funds.

This field does not apply if JIT Funding is enabled.

Allowable Values:

GPA, MERCHANT_CAMPAIGN_ACCOUNT, GLOBAL_OVERDRAFT_ACCOUNT

Default value:
GPA
config.digital_wallet_tokenization

object

Conditionally returned
Controls characteristics related to digital wallets.

Allowable Values:

card_art_id, provisioning_controls
config.digital_wallet_tokenization.card_art_id

string

Conditionally returned
Specifies the digital wallet card art identifier for the card product. The card art identifier also includes card metadata, such as terms and conditions, card product information, contact information, Apple Pay requirements, Android Pay requirements, wallet profiles, rule sets, terminal profiles, authorization profiles, message profiles, and activation profiles.

Digital wallets display the card art after the initial token has been provisioned and activated. Digital wallet card art is updated for all wallets automatically whenever a tokenized card is reissued or replaced.

- If your card program is Managed by Marqeta, Marqeta populates this field on your behalf.
- If your card program is Powered by Marqeta, you can obtain the correct card art identifier directly from Visa or Mastercard.

If this field is left blank, your card product inherits the card art assigned to the account BIN range. For more information about this field, contact your Marqeta representative.

Allowable Values:

Valid identifiers are defined by Visa or Mastercard and vary by program:

- For Visa card products, this identifier is a GUID called profileID.
- For Mastercard card products, this identifier is a string called ProductConfigID.
config.digital_wallet_tokenization.provisioning_controls

object

Conditionally returned
Controls the provisioning of digital wallets.

Allowable Values:

Valid provisioning_controls object
config.digital_wallet_tokenization.provisioning_controls.in_app_provisioning

object

Conditionally returned
Controls the provisioning of digital wallets by a Marqeta customer’s mobile application.

Allowable Values:

Valid in_app_provisioning object
config.digital_wallet_tokenization.provisioning_controls.manual_entry

object

Conditionally returned
Controls the provisioning of digital wallets by manual entry, in which the cardholder manually enters the card’s primary account number (PAN), card verification value (CVV2), and expiration date.

Allowable Values:

Valid manual_entry object
config.digital_wallet_tokenization.provisioning_controls.wallet_provider_card_on_file

object

Conditionally returned
Controls the provisioning of digital wallets where the digital wallet provider already has the card on file.

Allowable Values:

Valid wallet_provider_card_on_file object
config.digital_wallet_tokenization.provisioning_controls.web_push_provisioning

object

Conditionally returned
Specifies the digital wallet card art and program configuration identifiers at the card product level for Web Push Provisioning.

Allowable Values:

Valid web_push_provisioning object
config.digital_wallet_tokenization.provisioning_controls.dwt_use_card_status_during_auth

boolean

Conditionally returned
If true, then digital wallet transactions are declined if the card associated with the digital wallet token is in either the SUSPENDED or TERMINATED state.

Allowable Values:

true, false

Default value:
false
config.fulfillment

object

Conditionally returned
Determines physical characteristics of a card, along with its bulk shipment information.

Allowable Values:

all_zero_card_security_code, allow_card_creation, bin_prefix, bulk_ship, card_personalization, enable_offline_pin, fulfillment_provider, package_id, pan_length, payment_instrument, shipping, uppercase_name_lines
config.fulfillment.all_zero_card_security_code

boolean

Conditionally returned
If true, an all zero code (000) is allowed as a valid value in an authorization request.

Allowable Values:

true, false

Default value:
false
config.fulfillment.allow_card_creation

boolean

Conditionally returned
Controls the ability to create cards from this card product; true allows and false disallows the creation of cards.

NOTE: The card product’s active field has no effect on card creation or the behavior of this field.

Allowable Values:

true, false

Default value:
true
config.fulfillment.bin_prefix

string

Conditionally returned
Prefix of the bank identification number.

Allowable Values:

A six-digit number for the sandbox environment; a six- to nine-digit number is expected in production environments (see note below).

Default value:
111111

NOTE: In the sandbox environment or when testing against OpenAPI (Swagger), this field must be set to 111111. It is preferable to use eight- or nine-digit BIN prefixes in production environments. Contact your Marqeta representative for the appropriate value to use.
config.fulfillment.bin_issue_country

string

Conditionally returned
Country of the card issuer.

Allowable Values:

A valid alpha-3 ISO 3166 country code
config.fulfillment.bulk_ship

boolean

Conditionally returned
Enables bulk ordering of cards of this card product type using the /bulkissuances endpoint.

Allowable Values:

true, false

Default value:
false
config.fulfillment.card_personalization

object

Returned
Allows personalized attributes to be added to the card product.

Allowable Values:

Valid card_personalization object
config.fulfillment.card_personalization.carrier

object

Conditionally returned
Specifies attributes of the card carrier.

Allowable Values:

logo_file, logo_thumbnail_file, message_file, message_line, template_id
config.fulfillment.card_personalization.carrier.logo_file

string

Conditionally returned
Specifies an image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.logo_thumbnail_file

string

Conditionally returned
Specifies a thumbnail-sized rendering of the image specified in the logo_file field.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_file

string

Conditionally returned
Specifies a text file containing a custom message to print on the card carrier.

Allowable Values:

Contains the name of the text file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.carrier.message_line

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.message_line_2

string

Conditionally returned
Specifies the second line of a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.carrier.template_id

string

Conditionally returned
Specifies the card carrier template to use.

Allowable Values:

Card carrier template ID
config.fulfillment.card_personalization.images

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

card, carrier, carrier_return_window, signature
config.fulfillment.card_personalization.images.card

object

Conditionally returned
Specifies personalized images that appear on the card.

Allowable Values:

name, thermal_color
config.fulfillment.card_personalization.images.card.name

string

Conditionally returned
Specifies a PNG image to display on the card.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.card.thermal_color

string

Conditionally returned
Specifies the color of the image displayed on the card.

Allowable Values:

Contains the name of the color and must match one of the provider’s predefined colors.
config.fulfillment.card_personalization.images.carrier

object

Conditionally returned
Specifies personalized images that appear on the card carrier.

Allowable Values:

message_1, name
config.fulfillment.card_personalization.images.carrier.message_1

string

Conditionally returned
Specifies a custom message that appears on the card carrier.

Allowable Values:

60 char max
config.fulfillment.card_personalization.images.carrier.name

string

Conditionally returned
Specifies a PNG image to display on the card carrier.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.carrier_return_window

object

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

name
config.fulfillment.card_personalization.images.carrier_return_window.name

string

Conditionally returned
Specifies a PNG image to display in the return address window of envelopes used for sending cards to cardholders.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.images.signature

object

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

name
config.fulfillment.card_personalization.images.signature.name

string

Conditionally returned
Specifies a PNG image of the cardholder’s signature.

Allowable Values:

Contains the name of the image file and must match the name of the file you send to your fulfillment provider.
config.fulfillment.card_personalization.perso_type

string

Conditionally returned
Specifies the type of card personalization.

Allowable Values:

EMBOSS, LASER, FLAT
config.fulfillment.card_personalization.text

object

Returned
Specifies personalized text that appears on the card.

Allowable Values:

name_line_1, name_line_2, name_line_3
config.fulfillment.card_personalization.text.name_line_1

object

Returned
Specifies the first line of personalized text that appears on the card.

Allowable Values:

name_line_1.value

21 char max; if name_line_1_numeric_postfix is true, 14 char max.

Strings longer than the character limit are truncated.
config.fulfillment.card_personalization.text.name_line_1.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_2

object

Conditionally returned
Specifies the second line of personalized text that appears on the card.

Allowable Values:

name_line_2.value
config.fulfillment.card_personalization.text.name_line_2.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.card_personalization.text.name_line_3

object

Conditionally returned
Specifies the third line of personalized text that appears on the card.

Allowable Values:

name_line_3.value
config.fulfillment.card_personalization.text.name_line_3.value

string

Conditionally returned
Line of personalized text printed on the card.

Allowable Values:

21 char max
config.fulfillment.enable_offline_pin

boolean

Conditionally returned
Enables offline personal identification number (PIN) verification for Europay Mastercard and Visa (EMV, or “chip-and-PIN”) card payments.

Allowable Values:

true, false

Default value:
false
config.fulfillment.fulfillment_provider

string

Conditionally returned
Specifies the fulfillment provider.

You can work with providers located in North America, Europe, South America, and the Asia-Pacific region. For more information, see Fulfillment providers by location.

NOTE: Expedited processing is available for cards that are fulfilled by Arroweye Solutions, G+D, IDEMIA, and Perfect Plastic Printing. You can expedite an order’s processing by using the expedite field of the card or bulkissuance object. Contact your Marqeta representative for information regarding the cost of expedited service.

Allowable Values:

ABCORP, ALLPAY, ARROWEYE, CPI, EXCEET_DE, GD, GEMALTO, IDEMIA, IDEMIA_AU, IDEMIA_CZ, IDEMIA_DE, IDEMIA_FR, IDEMIA_FR_SC, IDEMIA_LA, IDEMIA_PL, IDEMIA_UK, NID, NITECREST, NITECREST_PL, NITECREST_UK_SC, OBERTHUR, OBERTHUR_SC, PERFECTPLASTIC, TAG

Default value:
PERFECTPLASTIC
config.fulfillment.package_id

string

Conditionally returned
Card fulfillment provider’s package ID.

Allowable Values:

1–50 chars
config.fulfillment.pan_length

string

Conditionally returned
Specifies the length of the primary account number (PAN).

Allowable Values:

Default value:
16
config.fulfillment.payment_instrument

string

Conditionally returned
Specifies the physical form cards of this card product type will take.

Allowable Values:

PHYSICAL_MSR, PHYSICAL_ICC, PHYSICAL_CONTACTLESS, PHYSICAL_COMBO, VIRTUAL_PAN

Default value:
PHYSICAL_MSR
config.fulfillment.shipping

object

Conditionally returned
Specifies shipping details for the order.

Allowable Values:

care_of_line, method, recipient_address, return_address
config.fulfillment.shipping.care_of_line

string

Conditionally returned
Adds the specified value as a care of (C/O) line to the mailing carrier.

NOTE: This field can be specified on cards, card products, and bulk card orders. If you specify this field at multiple levels, the order of precedence is: card, bulk card order, card product.

Allowable Values:

255 char max
config.fulfillment.shipping.method

string

Conditionally returned
Specifies the shipping service.

Allowable Values:

LOCAL_MAIL, LOCAL_MAIL_PACKAGE, GROUND, TWO_DAY, OVERNIGHT, INTERNATIONAL, INTERNATIONAL_PRIORITY, LOCAL_PRIORITY, FEDEX_EXPEDITED, FEDEX_REGULAR, UPS_EXPEDITED, UPS_REGULAR, USPS_EXPEDITED, USPS_REGULAR

Shipping options vary by card provider. For details on the specific shipping companies and services offered by your card provider, contact your Marqeta representative.
config.fulfillment.shipping.recipient_address

object

Conditionally returned
Address to which the order will be shipped.

In order to generate cards, a valid shipping address must be provided by one of these:

- The card or bulk card order’s fulfillment.shipping.recipient_address field
- The users’ address fields
- The card product’s config.fulfillment.shipping.recipient_address field

The order of precedence from highest to lowest is card, user, card product. To be valid, an address must have the address1, city, state, and postal_code or zip fields populated. The country field defaults to USA if unpopulated.

Allowable Values:

Valid recipient_address object
config.fulfillment.shipping.recipient_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.recipient_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.recipient_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.recipient_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.recipient_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.recipient_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.recipient_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address

object

Conditionally returned
Address to which the order will be returned if shipping fails.

Allowable Values:

address1, address2, city, country, first_name, last_name, middle_name, phone, postal_code, state, zip
config.fulfillment.shipping.return_address.address1

string

Conditionally returned
Number and street of the address.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.address2

string

Conditionally returned
Additional address information.

Allowable Values:

255 char max

Limits lower than 255 characters may be imposed by providers. Perfect Plastic Printing and IDEMIA have a limit of 100 characters, and Arroweye Solutions has a limit of 50 characters.
config.fulfillment.shipping.return_address.city

string

Conditionally returned
City of the address.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.country

string

Conditionally returned
Country of the address.

Allowable Values:

40 char max

English short name. For example, for the Kingdom of Spain, use the English short name “Spain”.

The ISO maintains the full list of country codes.
config.fulfillment.shipping.return_address.first_name

string

Conditionally returned
First name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.last_name

string

Conditionally returned
Last name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.middle_name

string

Conditionally returned
Middle name of the addressee.

Allowable Values:

40 char max
config.fulfillment.shipping.return_address.phone

string

Conditionally returned
Telephone number of the addressee.

Allowable Values:

20 char max
config.fulfillment.shipping.return_address.postal_code

string

Conditionally returned
Postal code of the address.

Allowable Values:

10 char max
config.fulfillment.shipping.return_address.state

string

Conditionally returned
State of the address.

Allowable Values:

32 char max
config.fulfillment.shipping.return_address.zip

string

Conditionally returned
United States ZIP code of the address.

Allowable Values:

10 char max
config.fulfillment.uppercase_name_lines

boolean

Conditionally returned
A value of true sets the text in the fulfillment.card_personalization.text.name_line_1 and name_line_2 fields to all uppercase letters. A value of false leaves the text in its original state.

Allowable Values:

true, false

Default value:
true
config.jit_funding

object

Conditionally returned
Governs the behavior of JIT Funding.

Allowable Values:

paymentcard_funding_source, program_funding_source, programgateway_funding_source
config.jit_funding.paymentcard_funding_source

object

Conditionally returned
Enables and configures a payment card funding source.

Allowable Values:

Valid paymentcard_funding_source object
config.jit_funding.paymentcard_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the payment card funding source. A value of true indicates that the payment card funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.paymentcard_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.jit_funding.program_funding_source

object

Conditionally returned
Enables and configures a program funding source.

Allowable Values:

Valid program_funding_source object
config.jit_funding.program_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program funding source. A value of true indicates that the program funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.program_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.program_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. PROGRAM_FUNDING_SOURCE returns funds to the program funding source. GPA returns the funds to the user’s GPA.

Allowable Values:

PROGRAM_FUNDING_SOURCE, GPA, WATERFALL
config.jit_funding.programgateway_funding_source

object

Conditionally returned
Enables and configures a program gateway funding source.

Allowable Values:

Valid programgateway_funding_source object
config.jit_funding.programgateway_funding_source.always_fund

boolean

Conditionally returned
If set to true, this card product is always funded from this program gateway funding source.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.enabled

boolean

Conditionally returned
Specifies whether JIT Funding is enabled or disabled for the program gateway funding source. A value of true indicates that the program gateway funding source is enabled and will be debited when swipes occur.

Allowable Values:

true, false

Default value:
false
config.jit_funding.programgateway_funding_source.funding_source_token

string

Conditionally returned
Unique identifier of the already existing funding source. Required if JIT Funding is enabled.

Allowable Values:

36 char max
config.jit_funding.programgateway_funding_source.refunds_destination

string

Conditionally returned
Specifies the return destination for refunds in the case of a transaction reversal. In most cases, you should set the value to GATEWAY, which returns funds to the program gateway funding source. Setting to GPA returns the funds to the user’s GPA, which creates a positive account balance and introduces the potential of a transaction being authorized without a JIT Funding request being sent to the gateway.

Allowable Values:

GATEWAY, GPA, WATERFALL
config.poi

object

Conditionally returned
Governs the point of interaction.

Allowable Values:

atm, ecommerce, other
config.poi.atm

boolean

Conditionally returned
If set to true, cards can be used for withdrawing cash at an ATM and for receiving cash back at a point of sale (POS).

Allowable Values:

true, false

Default value:
false
config.poi.ecommerce

boolean

Conditionally returned
If set to true, cards can be used for online purchases.

Allowable Values:

true, false

Default value:
false
config.poi.other

object

Conditionally returned
Allows for configuration of points of interaction other than ecommerce or ATMs, such as points of sale (POS).

Allowable Values:

allow, card_presence_required, cardholder_presence_required
config.poi.other.allow

boolean

Conditionally returned
If set to true, card transactions at points of interaction other than e-commerce or ATMs are allowed. This group includes points of sale (POS).

Allowable Values:

true, false

Default value:
true
config.poi.other.card_presence_required

boolean

Conditionally returned
If set to true, cards of this card product type are required to be present during the transaction, such as in IVR scenarios.

Allowable Values:

true, false

Default value:
false
config.poi.other.cardholder_presence_required

boolean

Conditionally returned
If set to true, the cardholder is required to be present during the transaction, such as in a restaurant where the card is present but the cardholder might not be present when the card is swiped.

Allowable Values:

true, false

Default value:
false
config.selective_auth

object

Conditionally returned
Contains information about authorization decisions.

Allowable Values:

dmd_location_sensitivity, enable_regex_search_chain, sa_mode
config.selective_auth.dmd_location_sensitivity

integer

Conditionally returned
Determines what type of merchant information is required for a match (authorization). Not relevant if enable_regex_search_chain = false.

- 0 – Requires exact match on card acceptor name and postal code to existing entry in Marqeta Merchant database (most restrictive).
- 1 – Partial match on card acceptor name (least restrictive).
- 2 – Partial match on card acceptor name; exact match on card acceptor city.
- 3 – Partial match on card acceptor name; exact match on card acceptor postal code.
- 4 – Partial match on card acceptor name; exact match on street address 1 and postal code.

Allowable Values:

0, 1, 2, 3, 4

Default value:
0
config.selective_auth.enable_regex_search_chain

boolean

Conditionally returned
Set to true to perform regular expression checking on the description received in the authorization.

Allowable Values:

true, false

Default value:
false
config.selective_auth.sa_mode

integer

Conditionally returned
Specifies the selective authorization mode.

- 0 — Inactive
- 1 — Active (attempts to authorize a merchant that does not have a recognized MID by matching other pieces of information)
- 2 — Logging and notification (checks the transaction and logs results, but does not authorize)

Selective authorization applies to transactions that are limited to specific merchants. Matching requirements for authorization are set by the dmd_location_sensitivity field.

Allowable Values:

0, 1, 2

Default value:
0
config.special

object

Conditionally returned
Contains information about merchant onboarding.

Allowable Values:

merchant_on_boarding
config.special.merchant_on_boarding

boolean

Conditionally returned
If set to true, cards of this card product type can be used for merchant onboarding.

Allowable Values:

true, false

Default value:
false
config.transaction_controls

object

Conditionally returned
Controls transactional characteristics of card usage.

Allowable Values:

accepted_countries_token, address_verification, allow_chip_fallback, allow_first_pin_set_via_financial_transaction, allow_gpa_auth, allow_mcc_group_authorization_controls, allow_network_load, allow_network_load_card_activation, allow_quasi_cash, always_require_icc, always_require_pin, enable_partial_auth_approval, ignore_card_suspended_state, notification_language, quasi_cash_exempt_merchant_group_token, quasi_cash_exempt_mids, require_card_not_present_card_security_code, strong_customer_authentication_limits
config.transaction_controls.accepted_countries_token

string

Conditionally returned
Set to accept_us_only to allow transactions only within the US.

Set to decline_ofac_countries to allow international transactions except with countries that the Financial Action Task Force (FATF) and Office of Foreign Assets Control (OFAC) have identified as high risk.

Users with the Admin role can create and update additional lists of accepted countries for transactions at the /acceptedcountries endpoint. See Accepted Countries.

Allowable Values:

accept_us_only, decline_ofac_countries, additional Admin-defined tokens

Default value:
accept_us_only
config.transaction_controls.address_verification

object

Conditionally returned
Contains configuration options for AVS.

Allowable Values:

Valid address_verification object
config.transaction_controls.address_verification.auth_messages

object

Conditionally returned
Contains verification options for authorization messages.

These messages pertain to actual purchases and are for amounts greater than $0.

Allowable Values:

One or more verification options
config.transaction_controls.address_verification.av_messages

object

Conditionally returned
Contains verification options for account verification messages.

These are $0 messages typically used to store cards on file at a merchant.

Allowable Values:

One or more verification options
config.transaction_controls.allow_chip_fallback

boolean

Conditionally returned
Indicates whether to allow transactions where a Europay Mastercard and Visa (EMV) chip-enabled card was processed using the magstripe as fallback.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_first_pin_set_via_financial_transaction

boolean

Conditionally returned
WARNING: This field is deprecated and will be unsupported in a future release.

Allows cardholders to define a personal identification number (PIN) as they complete their first PIN-debit transaction.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_gpa_auth

boolean

Conditionally returned
If set to true, transactions can be authorized using GPA funds.

NOTE: For most programs, this field should be set to true.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_mcc_group_authorization_controls

boolean

Conditionally returned
The MCC groupauthorization_controls object allows you to automatically increase authorization holds and to specify authorization expiration times based on merchant type. By default, these settings apply to all cards in your program.

However, you can make cards that are associated with a particular card product exempt from increasing authorization holds by setting the allow_mcc_group_authorization_controls field to false. Doing so does not impact authorization expiration times.

NOTE:Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, because Marqeta will increase authorization holds for AFDs if the card product has been configured to do so.

Allowable Values:

true, false

Default value:
true
config.transaction_controls.allow_network_load

boolean

Conditionally returned
Indicates whether card network loads are allowed. The associated card’s state must be ACTIVE or the load will be rejected.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_network_load_card_activation

boolean

Conditionally returned
Indicates whether card network loads are allowed. Sets the associated card’s state to ACTIVE if its current state is INACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.allow_quasi_cash

boolean

Conditionally returned
Indicates whether quasi-cash transactions are allowed. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_icc

boolean

Conditionally returned
If set to true, cards of this card product type require an Integrated Circuit Card.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.always_require_pin

boolean

Conditionally returned
If set to true, cards of this card product type require a personal identification number (PIN).

Allowable Values:

true, false

Default value:
false
config.transaction_controls.enable_partial_auth_approval

boolean

Conditionally returned
Set to true to enable partial authorizations.

When this setting is false and the requested authorization amount exceeds available funds, the transaction is declined. When this setting is true and the requested authorization amount exceeds available funds, the transaction is authorized for the amount of available funds.

NOTE|OPEN|| CALLOUTTITLE:Note|TITLEBREAK|Automated fuel dispenser (AFD) transactions (MCC 5542) ignore this field, as Marqeta will always partially approve AFD pre-authorizations if the transaction payload field partial_approval_capable is enabled. NOTE|CLOSE

Allowable Values:

true, false

Default value:
true
config.transaction_controls.ignore_card_suspended_state

boolean

Conditionally returned
Allows transactions to be approved even if the card’s state = SUSPENDED. When this field is set to true, the card behaves as if its state = ACTIVE.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.notification_language

string

Conditionally returned
Specifies the language for 3D Secure and digital wallet token notifications sent to cardholders under this card program.

You can send notifications to your cardholders in the following languages:

- ces – Czech
- deu – German
- eng – English
- fra – French
- grc – Greek
- ita – Italian
- nld – Dutch
- pol – Polish
- por – Portuguese
- rou – Romanian
- spa – Spanish
- swe – Swedish

By default, notifications are sent in English.

To specify the language for OTP notifications at the user level, see Users. Languages set at the user level take precedence over the language set at the card product level.

Allowable Values:

ces, deu, eng, fra, grc, ita, nld, pol, por, rou, spa, swe

If you leave this field blank, cardholders receive notifications in English.
config.transaction_controls.quasi_cash_exempt_merchant_group_token

string

Conditionally returned
The token of the merchant group that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

You can specify a merchant group token in addition to whatever merchant identifiers you listed in the quasi_cash_exempt_mids field, if any. For more information, see Merchant Groups.

Allowable Values:

1–36 chars

Valid merchant group token.
config.transaction_controls.quasi_cash_exempt_mids

string

Conditionally returned
Comma-separated list of merchant identifiers that you want to exempt from quasi-cash transaction authorization control, allowing your cardholders to conduct quasi-cash transactions. In a quasi-cash transaction, the cardholder purchases an item that can be directly converted to cash, such as traveler’s checks, money orders, casino chips, or lottery tickets.

Allowable Values:

255 char max

For example: 12345678901,23456789012,34567890123,45678901234
config.transaction_controls.require_card_not_present_card_security_code

boolean

Conditionally returned
A value of true indicates that if card_presence_required is true, the card’s security code is required.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits

object

Conditionally returned
Contains information about Strong Customer Authentication (SCA) behavior for contactless point-of-sale (POS) and low-value payment (LVP) e-commerce transactions.

Allowable Values:

sca_contactless_cumulative_amount_limit, sca_contactless_transaction_limit, sca_contactless_transactions_count_limit, sca_contactless_transactions_currency, sca_lvp_cumulative_amount_limit, sca_lvp_transaction_limit, sca_lvp_transactions_count_limit, sca_tra_exemption_amount_limit
config.transaction_controls.strong_customer_authentication_limits.cavv_authentication_amount_incremental_percentage

string

Conditionally returned
If you have enabled CAVV authentication amount validation, the value of this field specifies the maximum allowable variance between the authorization amount and the 3D Secure authentication amount. Expressed as a percentage.

Allowable Values:

255 char max

Default value:
0
config.transaction_controls.strong_customer_authentication_limits.enable_cavv_authentication_amount_validation

boolean

Conditionally returned
If set to true, Marqeta validates the amount in the authorization transaction against the amount in the 3D Secure authentication attempt. If the authorization amount is greater than the 3D Secure authentication amount, Marqeta rejects the transaction. You can specify an allowable variance for the 3D Secure authentication amount in the cavv_authentication_amount_incremental_percentage field.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.enable_issuer_tra_exemption

boolean

Conditionally returned
If set to true, Marqeta does not increment the low-value payment (LVP) counter for frictionless 3D Secure transactions.

This field is enabled in your card product configuration. Contact your Marqeta representative to configure this field for your program.

Allowable Values:

true, false

Default value:
false
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the cumulative amount spent in contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single contactless point-of-sale (POS) transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

A value of 0 in this field means that the amount of any single contactless POS transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_count_limit

integer

Conditionally returned
Specifies the number of contactless POS transactions the cardholder can perform before receiving an SCA challenge.

A value of 0 in this field means that the number of contactless POS transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

Any integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_contactless_transactions_currency

string

Conditionally returned
Specifies the currency type for contactless POS transactions.

This field is required if either the sca_contactless_transaction_limit field or the sca_contactless_cumulative_amount_limit field in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_cumulative_amount_limit

decimal

Conditionally returned
Specifies the cumulative limit of low-value payment (LVP) e-commerce transactions the cardholder can perform before receiving an SCA challenge.

For example, if you set the value of this field to 100.00, your cardholder can perform two transactions for 30.00 and two transactions for 20.00 before receiving an SCA challenge.

If you leave this field blank, the cumulative amount spent in LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transaction_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction, above which the cardholder receives a strong customer authentication (SCA) challenge.

If you leave this field blank, the amount of any single LVP e-commerce transaction performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

decimal

Format:
0.00

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_count_limit

integer

Conditionally returned
Specifies the number of LVP e-commerce transactions the cardholder can perform before receiving an SCA challenge.

If you leave this field blank, the total number of LVP e-commerce transactions performed by the cardholder does not impact the decision of whether or not an SCA challenge is served.

Allowable Values:

An integer, such as 5.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_lvp_transactions_currency

string

Conditionally returned
Specifies the currency type for LVP e-commerce transaction limits.

This field is required if any one of the sca_lvp_transaction_limit, sca_lvp_cumulative_amount_limit, or sca_lvp_transactions_count_limit fields in this object contains a value, even if that value is 0.

Allowable Values:

Valid three-digit ISO 4217 currency type, such as EUR.

There is no default value for this field.
config.transaction_controls.strong_customer_authentication_limits.sca_tra_exemption_amount_limit

decimal

Conditionally returned
Specifies the maximum allowable amount for a single low-value payment (LVP) e-commerce transaction with transaction risk analysis (TRA) exemption sent by the merchant or acquirer. If the transaction amount exceeds the specified limit, then the transaction is either approved or it receives a strong customer authentication (SCA) challenge based on sca_lvp_transaction_limit and sca_lvp_transactions_currency.

Allowable Values:

decimal

Format:
0.00

Default value:
0.00
created_time

datetime

Returned
Date and time when the resource was created, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
end_date

date

Conditionally returned
End date of the range over which the card product can be active.

This field is returned if it exists in the resource.

Allowable Values:

Format: yyyy-mm-DD
last_modified_time

datetime

Returned
Date and time when the resource was last updated, in UTC.

Allowable Values:

datetime

Format:
yyyy-MM-ddThh:mm:ssZ
name

string

Returned
Name of the card product.

Allowable Values:

1–40 chars
start_date

date

Returned
Date when the card product becomes active.

Allowable Values:

Format: yyyy-mm-DD
token

string

Conditionally returned
Unique identifier of the card product.

Allowable Values:

1–36 chars

If you did not include a token in your request, the system returns an automatically generated token in the response.

Sample response body

JSON
{
  "token": "my_cardproduct_01",
  "name": "My Card Product 01",
  "active": true,
  "config": {
    "poi": {
      "other": {
        "allow": true,
        "card_presence_required": false,
        "cardholder_presence_required": false
      },
      "ecommerce": false,
      "atm": false
    },
    "transaction_controls": {
      "accepted_countries_token": "accept_us_only",
      "always_require_pin": false,
      "always_require_icc": false,
      "allow_gpa_auth": true,
      "require_card_not_present_card_security_code": false,
      "allow_mcc_group_authorization_controls": true,
      "ignore_card_suspended_state": false,
      "allow_chip_fallback": true,
      "allow_network_load": false,
      "allow_network_load_card_activation": false,
      "allow_quasi_cash": false,
      "enable_partial_auth_approval": true,
      "address_verification": {
        "av_messages": {
          "validate": true,
          "decline_on_address_number_mismatch": false,
          "decline_on_postal_code_mismatch": true
        },
        "auth_messages": {
          "validate": true,
          "decline_on_address_number_mismatch": false,
          "decline_on_postal_code_mismatch": false
        }
      },
      "notification_language": "fra",
      "strong_customer_authentication_limits": {
        "sca_contactless_cumulative_amount_limit": 150,
        "sca_contactless_transaction_limit": 30,
        "sca_contactless_transactions_count_limit": 5,
        "sca_contactless_transactions_currency": "EUR"
      },
      "quasi_cash_exempt_mids": "984226812886,000984226812886"
    },
    "selective_auth": {
      "sa_mode": 1,
      "enable_regex_search_chain": false,
      "dmd_location_sensitivity": 0
    },
    "card_life_cycle": {
      "activate_upon_issue": true,
      "expiration_offset": {
        "unit": "YEARS",
        "value": 10
      },
      "card_service_code": 101,
      "update_expiration_upon_activation": false
    },
    "clearing_and_settlement": {
      "overdraft_destination": "GPA"
    },
    "jit_funding": {
      "paymentcard_funding_source": {
        "enabled": true,
        "refunds_destination": "GPA"
      },
      "programgateway_funding_source": {
        "enabled": false,
        "funding_source_token": "",
        "refunds_destination": "GATEWAY",
        "always_fund": true
      },
      "program_funding_source": {
        "enabled": false,
        "funding_source_token": "",
        "refunds_destination": "PROGRAM_FUNDING_SOURCE"
      }
    },
    "digital_wallet_tokenization": {
      "provisioning_controls": {
        "manual_entry": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "wallet_provider_card_on_file": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "in_app_provisioning": {
          "enabled": false,
          "address_verification": {
            "validate": true
          }
        },
        "dwt_use_card_status_during_auth": false
      },
      "card_art_id": "myCardArt01"
    },
    "fulfillment": {
      "shipping": {
        "method": "OVERNIGHT",
        "return_address": {
          "first_name": "Saki",
          "middle_name": "R",
          "last_name": "Dogger",
          "address1": "123 Henry St",
          "address2": "Suite 101",
          "city": "Porterville",
          "state": "CA",
          "postal_code": "93257",
          "country": "USA",
          "phone": "8315551212"
        },
        "recipient_address": {
          "first_name": "Jane",
          "last_name": "Doe",
          "address1": "1234 Grove Street",
          "city": "Berkeley",
          "state": "CA",
          "postal_code": "94702",
          "country": "USA",
          "phone": "5105551212"
        }
      },
      "card_personalization": {
        "text": {
          "name_line_1": {
            "value": "Saki Dogger"
          },
          "name_line_2": {
            "value": "Aegis Fleet Services"
          }
        },
        "carrier": {
          "name": "my_carrier_logo.png",
          "message_line": "my message"
        },
        "images": {
          "card": {
            "name": "my_card_logo.png",
            "thermal_color": "Black"
          }
        },
        "signature": {
          "name": "my_signature.png"
        },
        "carrier_return_window": {
          "name": "my_return_address_image.png"
        }
      }
    },
    "payment_instrument": "PHYSICAL_MSR",
    "package_id": "0",
    "all_zero_card_security_code": false,
    "bin_prefix": "111111",
    "bin_issue_country": "USA",
    "bulk_ship": false,
    "pan_length": "16",
    "fulfillment_provider": "PERFECTPLASTIC",
    "allow_card_creation": true,
    "uppercase_name_lines": true,
    "enable_offline_pin": false
  },
  "start_date": "2022-03-26",
  "created_time": "2022-03-26T20:25:52Z",
  "last_modified_time": "2022-03-26T20:25:52Z"
}