MCC Groups
A merchant category code (MCC) is a four-digit number assigned by a card network (Visa or Mastercard) to a business, based on the goods or services the business offers. On the Marqeta platform, an MCC group defines a set of MCCs. You can include an MCC group within a spend control to limit user spending at a set of merchants.
An MCC group also allows you to automatically increase authorization amounts and to control the expiration of authorizations for the specified MCCs. By default, these controls apply to all cards in your program. An MCC group authorization control can have exceptions defined at the card product level.
See Controlling Spending for a tutorial that walks you through the creation of a spend control, as well as links to more information about merchant category codes.
Create MCC group
Copy section link
Action: POST
Endpoint: /mccgroups
Use this endpoint to create an MCC group.
Request body
Copy section link
Fields | Description |
---|---|
active
boolean
|
Indicates if the group is active or inactive. Allowable Values:
Default value: |
config
object
|
Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. Allowable Values:
|
config.authorization_controls
object
|
Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they apply to every card in your program.
You can, however, exempt cards associated with any particular card product by setting that card product’s Allowable Values:
|
config.authorization_controls.hold_expiration_days
integer
|
Specifies the number of days after which an authorization associated with this group expires. Allowable Values: 1–100 Default value: |
config.authorization_controls.hold_increase
object
|
Controls automatic increases to the authorization amount for MCCs specified in this group. Allowable Values:
|
config.authorization_controls.hold_increase.type
string
|
Controls whether the Allowable Values:
Default value: |
config.authorization_controls.hold_increase.value
decimal
|
Specifies the amount of the automatic increase to the authorization amount. The Allowable Values: Format: 0.00 |
mccs
array of objects
|
The set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range such as "9876-9880". An MCC can belong to more than one group. Allowable Values: Existing merchant category codes |
name
string
|
Name of the MCC group. Allowable Values: 255 char max |
token
string
|
Unique identifier of the MCC group. If you do not include a token, the system will generate one automatically. This token is necessary for use 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 |
Response body
Copy section link
Fields | Description |
---|---|
active
boolean
|
Indicates if the group is active or inactive. Allowable Values:
Default value: |
config
object
|
Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. Allowable Values:
|
config.authorization_controls
object
|
Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they apply to every card in your program.
You can, however, exempt cards associated with any particular card product by setting that card product’s Allowable Values:
|
config.authorization_controls.hold_expiration_days
integer
|
Specifies the number of days after which an authorization associated with this group expires. Allowable Values: 1–100 Default value: |
config.authorization_controls.hold_increase
object
|
Controls automatic increases to the authorization amount for MCCs specified in this group. Allowable Values:
|
config.authorization_controls.hold_increase.type
string
|
Controls whether the Allowable Values:
Default value: |
config.authorization_controls.hold_increase.value
decimal
|
Specifies the amount of the automatic increase to the authorization amount. The Allowable Values: Format: 0.00 |
mccs
array of objects
|
The set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range such as "9876-9880". An MCC can belong to more than one group. Allowable Values: Existing merchant category codes |
name
string
|
Name of the MCC group. Allowable Values: 255 char max |
token
string
|
Unique identifier of the MCC group. If you do not include a token, the system will generate one automatically. This token is necessary for use 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 |
List MCC groups
Copy section link
Action: GET
Endpoint: /mccgroups
Use this endpoint to either list all MCC groups defined in your program or list all MCC groups that contain a specified code.
This endpoint supports field filtering and pagination.
URL query parameters
Copy section link
Fields | Description |
---|---|
mcc
string
|
Returns all MCC groups that contain the specified merchant category code. Allowable Values: Valid merchant category code |
count
integer
|
Number of resources to retrieve. Allowable Values: 1-10 |
start_index
integer
|
Sort order index of the first resource in the returned array. Allowable Values: Any integer Default value: |
sort_by
string
|
Field on which to sort.
Use any field in the resource model, or one of the system fields Allowable Values:
Default value: |
Response body
Copy section link
Fields | Description |
---|---|
count
integer
|
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
|
Array of MCC group objects. Objects are returned as appropriate to your query. Allowable Values: Valid array of one or more MCC group objects |
data[].active
boolean
|
Indicates if the group is active or inactive. Allowable Values:
Default value: |
data[].config
object
|
Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. Allowable Values:
|
data[].config.authorization_controls
object
|
Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they apply to every card in your program.
You can, however, exempt cards associated with any particular card product by setting that card product’s Allowable Values:
|
data[].config.authorization_controls.hold_expiration_days
integer
|
Specifies the number of days after which an authorization associated with this group expires. Allowable Values: 1–100 Default value: |
data[].config.authorization_controls.hold_increase
object
|
Controls automatic increases to the authorization amount for MCCs specified in this group. Allowable Values:
|
data[].config.authorization_controls.hold_increase.type
string
|
Controls whether the Allowable Values:
Default value: |
data[].config.authorization_controls.hold_increase.value
decimal
|
Specifies the amount of the automatic increase to the authorization amount. The Allowable Values: Format: 0.00 |
data[].mccs
array of objects
|
The set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range such as "9876-9880". An MCC can belong to more than one group. Allowable Values: Existing merchant category codes |
data[].name
string
|
Name of the MCC group. Allowable Values: 255 char max |
data[].token
string
|
Unique identifier of the MCC group. If you do not include a token, the system will generate one automatically. This token is necessary for use 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 |
end_index
integer
|
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
|
A value of This field is returned if there are resources in your returned array. Allowable Values:
|
start_index
integer
|
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 |
Update MCC group
Copy section link
Action: PUT
Endpoint: /mccgroups/{token}
Use this endpoint to update an MCC group.
Include the token
path parameter to identify the MCC group to update.
You must pass all the merchant category codes you want included in the group, including existing ones you want to retain.
URL path parameters
Copy section link
Fields | Description |
---|---|
token
string
|
Unique identifier of the MCC group.
Send a Allowable Values: Existing MCC group token |
Request body
Copy section link
Fields | Description |
---|---|
active
boolean
|
Indicates whether the MCC group is active or inactive. Allowable Values:
Default value: |
config
object
|
Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. Allowable Values:
|
config.authorization_controls
object
|
Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they apply to every card in your program.
You can, however, exempt cards associated with any particular card product by setting that card product’s Allowable Values:
|
config.authorization_controls.hold_expiration_days
integer
|
Specifies the number of days after which an authorization associated with this group expires. Allowable Values: 1–100 Default value: |
config.authorization_controls.hold_increase
object
|
Controls automatic increases to the authorization amount for MCCs specified in this group. Allowable Values:
|
config.authorization_controls.hold_increase.type
string
|
Controls whether the Allowable Values:
Default value: |
config.authorization_controls.hold_increase.value
decimal
|
Specifies the amount of the automatic increase to the authorization amount. The Allowable Values: Format: 0.00 |
mccs
array of strings
|
Set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range such as "9876-9880". An MCC can belong to more than one group. Updating the merchant category codes for the group completely replaces the group’s existing codes.
For example, if the current MCC group is Allowable Values: Valid merchant category codes |
name
string
|
Name of the MCC group. Allowable Values: 255 char max |
Response body
Copy section link
Fields | Description |
---|---|
active
boolean
|
Indicates whether the MCC group is active or inactive. Allowable Values:
Default value: |
config
object
|
Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. Allowable Values:
|
config.authorization_controls
object
|
Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they apply to every card in your program.
You can, however, exempt cards associated with any particular card product by setting that card product’s Allowable Values:
|
config.authorization_controls.hold_expiration_days
integer
|
Specifies the number of days after which an authorization associated with this group expires. Allowable Values: 1–100 Default value: |
config.authorization_controls.hold_increase
object
|
Controls automatic increases to the authorization amount for MCCs specified in this group. Allowable Values:
|
config.authorization_controls.hold_increase.type
string
|
Controls whether the Allowable Values:
Default value: |
config.authorization_controls.hold_increase.value
decimal
|
Specifies the amount of the automatic increase to the authorization amount. The Allowable Values: Format: 0.00 |
mccs
array of strings
|
Set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range such as "9876-9880". An MCC can belong to more than one group. Updating the merchant category codes for the group completely replaces the group’s existing codes.
For example, if the current MCC group is Allowable Values: Valid merchant category codes |
name
string
|
Name of the MCC group. Allowable Values: 255 char max |
Retrieve MCC group
Copy section link
Action: GET
Endpoint: /mccgroups/{token}
Use this endpoint to retrieve a specific MCC group.
URL path parameters
Copy section link
Fields | Description |
---|---|
token
string
|
Unique identifier of the MCC group. Allowable Values: |
Response body
Copy section link
Fields | Description |
---|---|
active
boolean
|
Indicates if the group is active or inactive. Allowable Values:
Default value: |
config
object
|
Allows for configuration options for this group, including control over the expiration of authorizations and automatic increases to the authorization amount. Allowable Values:
|
config.authorization_controls
object
|
Controls the expiration of authorizations and automatic increases to the authorization amount for MCCs specified in this group. By default, these authorization controls apply program-wide, meaning that they impact every card in your program.
You can, however, exempt cards associated with any particular card product by setting that card product’s Allowable Values:
|
config.authorization_controls.hold_expiration_days
integer
|
Specifies the number of days after which an authorization associated with this group expires. Allowable Values: 1–100 Default value: |
config.authorization_controls.hold_increase
object
|
Controls automatic increases to the authorization amount for MCCs specified in this group. Allowable Values:
|
config.authorization_controls.hold_increase.type
string
|
Controls whether the Allowable Values:
Default value: |
config.authorization_controls.hold_increase.value
decimal
|
Specifies the amount of the automatic increase to the authorization amount. The Allowable Values: Format: 0.00 |
mccs
array of objects
|
The set of merchant category codes that you want to include in this group. For each element, valid characters are 0-9, and the length must be 4 digits. You can also specify a range such as "9876-9880". An MCC can belong to more than one group. Allowable Values: Existing merchant category codes |
name
string
|
Name of the MCC group. Allowable Values: 255 char max |
token
string
|
Unique identifier of the MCC group. If you do not include a token, the system will generate one automatically. This token is necessary for use 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 |