/
25 minute read
April 6, 2023

Reward Programs (Beta)

Use the /credit/rewardprograms/{token} endpoint to manage reward programs and track reward accruals on a credit account. The configurations for a reward program are defined in the reward policy on the account’s associated bundle.

To receive webhook notifications when reward entry events occur, see Credit reward entry events in Event Types.

List reward programs

Action: GET
Endpoint: /credit/rewardprograms

Retrieve an array of reward programs.

URL query parameters

Fields Description

account_token

string
Optional

The unique identifier of the credit account for which you want to retrieve reward programs.

Allowable Values:

36 char max

is_active

boolean
Optional

A value of true returns active resources; false returns inactive resources.

Allowable Values:

true, false

count

integer
Optional

Number of resources to retrieve.

Allowable Values:

1–100

start_index

integer
Optional

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

Allowable Values:

0 min

sort_by

string
Optional

Field on which to sort. Prefix the field name with a hyphen (-) to sort in descending order. Omit the hyphen to sort in ascending order.

NOTE: You must sort using system field names such as updatedTime, and not by the field names appearing in response bodies such as updated_time.

Allowable Values:

updatedTime, -updatedTime

Response body

Fields Description

count

integer
Returned

Number of resources returned.

Allowable Values:

1–100

start_index

integer
Returned

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

Allowable Values:

Any integer

end_index

integer
Returned

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

Allowable Values:

Any integer

is_more

boolean
Conditionally returned

A value of true indicates that more unreturned resources exist.

Allowable Values:

true, false

data

array of objects
Returned

An array of reward program objects.

Allowable Values:

One or more reward program objects

data[].token

string
Returned

Unique identifier of the reward program.

Allowable Values:

36 char max

data[].account_token

string
Returned

Unique identifier of the associated credit account.

Allowable Values:

36 char max

data[].bundle_token

string
Returned

Unique identifier of the associated bundle that contains the reward policy on which the reward program is based.

Allowable Values:

36 char max

data[].calculation_type

string
Returned

Type of calculation for the reward.

  • NET_BALANCE - The reward is calculated based on the net balance for a billing cycle, which is the total amount spent during a billing cycle, minus any refunds or disputes.

Allowable Values:

NET_BALANCE

data[].is_active

boolean
Returned

A value of true indicates that the reward program is active.

Allowable Values:

true, false

data[].note

string
Returned

A note that provides information on the reward program.

Allowable Values:

255 char max

data[].created_time

datetime
Returned

Date and time when the reward program was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

data[].updated_time

datetime
Returned

Date and time when the reward program was last updated on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Retrieve reward program

Action: GET
Endpoint: /credit/rewardprograms/{token}

Retrieve a specific reward program.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

Response body

Fields Description

token

string
Returned

Unique identifier of the reward program.

Allowable Values:

36 char max

account_token

string
Returned

Unique identifier of the associated credit account.

Allowable Values:

36 char max

bundle_token

string
Returned

Unique identifier of the associated bundle that contains the reward policy on which the reward program is based.

Allowable Values:

36 char max

calculation_type

string
Returned

Type of calculation for the reward.

  • NET_BALANCE - The reward is calculated based on the net balance for a billing cycle, which is the total amount spent during a billing cycle, minus any refunds or disputes.

Allowable Values:

NET_BALANCE

is_active

boolean
Returned

A value of true indicates that the reward program is active.

Allowable Values:

true, false

note

string
Returned

A note that provides information on the reward program.

Allowable Values:

255 char max

created_time

datetime
Returned

Date and time when the reward program was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

updated_time

datetime
Returned

Date and time when the reward program was last updated on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Activate or deactivate reward program

Action: PUT
Endpoint: /credit/rewardprograms/{token}

Activate or deactivate a specific reward program.

Caution
This endpoint is available for banks only. Do not use this endpoint if you are a brand contributor.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

Request body

Fields Description

is_active

boolean
Required

A value of true indicates that the reward program is active and rewards can be accrued for the associated account.

Allowable Values:

true, false

note

string
Required

A note explaining why the reward program is being activated or deactivated.

Allowable Values:

255 char max

Sample request body

JSON
Copied

Is this helpful?

Yes
No

Response body

Fields Description

token

string
Returned

Unique identifier of the reward program.

Allowable Values:

36 char max

account_token

string
Returned

Unique identifier of the associated credit account.

Allowable Values:

36 char max

bundle_token

string
Returned

Unique identifier of the associated bundle that contains the reward policy on which the reward program is based.

Allowable Values:

36 char max

calculation_type

string
Returned

Type of calculation for the reward.

  • NET_BALANCE - The reward is calculated based on the net balance for a billing cycle, which is the total amount spent during a billing cycle, minus any refunds or disputes.

Allowable Values:

NET_BALANCE

is_active

boolean
Returned

A value of true indicates that the reward program is active.

Allowable Values:

true, false

note

string
Returned

A note that provides information on the reward program.

Allowable Values:

255 char max

created_time

datetime
Returned

Date and time when the reward program was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

updated_time

datetime
Returned

Date and time when the reward program was last updated on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Retrieve reward program balances

Action: GET
Endpoint: /credit/rewardprograms/{token}/balances

Retrieve the balances for a specific reward program.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

Response body

Fields Description

reward_program_token

string
Returned

Unique identifier of reward program for which to return balances.

Allowable Values:

36 char max

net_balance

decimal
Returned

The net balance for a billing cycle, which is total amount spent during a billing cycle, minus any refunds or reversals. Used to determine reward accrual.

Allowable Values:

pending_reward_balance

decimal
Returned

The pending balance of the rewards accrued for the current billing cycle. Pending rewards cannot be redeemed.

Allowable Values:

total_reward_balance

decimal
Returned

The total balance of the rewards accrued to date minus the rewards redeemed to date.

Allowable Values:

percentage

integer
Returned

The reward percentage applied to the balance for the current billing cycle. Determined by the reward rules config.

Allowable Values:

billing_cycle_opening_date

datetime
Returned

Opening date of the billing cycle for which rewards were accrued, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

billing_cycle_closing_date

datetime
Returned

Closing date of the billing cycle for which rewards were accrued, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Create reward entry

Action: POST
Endpoint: /credit/rewardprograms/{token}/entries

Create a reward entry on a specific reward program.

Use this endpoint to manually create a reward entry if an existing reward is being disputed.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

Request body

Fields Description

value

decimal
Required

Value of the reward granted to the account.

Allowable Values:

Format: 0.00

note

string
Required

A note explaining why the reward entry is being created manually.

Allowable Values:

255 char max

created_time

datetime
Optional

Date and time when the reward entry was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample request body

JSON
Copied

Is this helpful?

Yes
No

Response body

Fields Description

token

string
Returned

Unique identifier of the reward entry.

Allowable Values:

36 char max

reward_program_token

string
Returned

Unique identifier of the reward program for which to return reward entries.

Allowable Values:

36 char max

reward_rules_config_token

string
Returned

Unique identifier of the reward rules config used to determine the value of the reward entry.

Allowable Values:

36 char max

status

string
Returned

Status of the reward entry.

Allowable Values:

PENDING, POSTED

transaction_amount

decimal
Returned

The transaction amount to which the reward rule was applied. Used to determine the value of the reward entry.

Allowable Values:

Format: 0.00

value

decimal
Conditionally returned

Value of the reward entry.

Allowable Values:

Format: 0.00

mcc

string
Conditionally returned

Merchant category code (MCC) of the related journal entry.

Allowable Values:

Existing MCC

mid

string
Conditionally returned

Merchant identifier (MID) of the related journal entry.

Allowable Values:

related_journal_entry_token

string
Returned

Unique identifier of the related journal entry to which the reward rule was applied to trigger the reward entry.

Allowable Values:

36 char max

Existing journal entry token

related_redemption_token

string
Conditionally returned

Unique identifier of the related redemption token that triggered the reward entry.

Allowable Values:

36 char max

note

string
Returned

A note providing information on the reward entry.

Allowable Values:

255 char max

created_time

datetime
Returned

Date and time when the reward entry was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

List reward entries

Action: GET
Endpoint: /credit/rewardprograms/{token}/entries

Retrieve an array of reward entries on a specific reward program.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

URL query parameters

Fields Description

start_date

datetime
Optional

The starting date (or date-time) of a date range from which to return resources, in UTC.

Allowable Values:

end_date

datetime
Optional

The ending date (or date-time) of a date range from which to return resources, in UTC.

Allowable Values:

count

integer
Optional

Number of resources to retrieve.

Allowable Values:

1–100

start_index

integer
Optional

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

Allowable Values:

0 min

sort_by

string
Optional

Field on which to sort. Prefix the field name with a hyphen (-) to sort in descending order. Omit the hyphen to sort in ascending order.

NOTE: You must sort using system field names such as createdTime, and not by the field names appearing in response bodies such as created_time.

Allowable Values:

createdTime, -createdTime

status

array of strings
Optional

Status of the reward entries in the returned array.

Allowable Values:

PENDING, POSTED

Response body

Fields Description

count

integer
Returned

Number of resources returned.

Allowable Values:

1–100

start_index

integer
Returned

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

Allowable Values:

Any integer

end_index

integer
Returned

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

Allowable Values:

Any integer

is_more

boolean
Returned

A value of true indicates that more unreturned resources exist.

Allowable Values:

true, false

data

array of objects
Returned

An array of reward entry objects.

Allowable Values:

One or more reward entry objects

data[].token

string
Returned

Unique identifier of the reward entry.

Allowable Values:

36 char max

data[].reward_program_token

string
Returned

Unique identifier of the reward program for which to return reward entries.

Allowable Values:

36 char max

data[].reward_rules_config_token

string
Returned

Unique identifier of the reward rules config used to determine the value of the reward entry.

Allowable Values:

36 char max

data[].status

string
Returned

Status of the reward entry.

Allowable Values:

PENDING, POSTED

data[].transaction_amount

decimal
Returned

The transaction amount to which the reward rule was applied. Used to determine the value of the reward entry.

Allowable Values:

Format: 0.00

data[].value

decimal
Conditionally returned

Value of the reward entry.

Allowable Values:

Format: 0.00

data[].mcc

string
Conditionally returned

Merchant category code (MCC) of the related journal entry.

Allowable Values:

Existing MCC

data[].mid

string
Conditionally returned

Merchant identifier (MID) of the related journal entry.

Allowable Values:

data[].related_journal_entry_token

string
Returned

Unique identifier of the related journal entry to which the reward rule was applied to trigger the reward entry.

Allowable Values:

36 char max

Existing journal entry token

data[].related_redemption_token

string
Conditionally returned

Unique identifier of the related redemption token that triggered the reward entry.

Allowable Values:

36 char max

data[].note

string
Returned

A note providing information on the reward entry.

Allowable Values:

255 char max

data[].created_time

datetime
Returned

Date and time when the reward entry was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Retrieve reward entries balance

Action: GET
Endpoint: /credit/rewardprograms/{token}/entries/balance

Retrieve the balance of reward entries, which is the accrued rewards amount, within a specified date range.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

URL query parameters

Fields Description

start_date

datetime
Required

The starting date (or date-time) of a date range from which to return resources, in UTC.

Allowable Values:

end_date

datetime
Required

The ending date (or date-time) of a date range from which to return resources, in UTC.

Allowable Values:

Response body

Fields Description

reward_program_token

string
Returned

Unique identifier of the reward program for which to retrieve the reward entries balance.

Allowable Values:

36 char max

total_reward_balance

decimal
Returned

The total balance of rewards accrued within a date range.

Allowable Values:

start_date

datetime
Returned

The starting date (or date-time) of a date range from which to return accrued rewards, in UTC. Reward entries created on or after this date count toward the total reward balance.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

end_date

datetime
Returned

The ending date (or date-time) of a date range from which to return accrued rewards, in UTC. Reward entries created on or before this date count toward the total reward balance.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

created_date

datetime
Conditionally returned

Date and time the reward entries balance was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Retrieve reward entry

Action: GET
Endpoint: /credit/rewardprograms/{token}/entries/{entry_token}

Retrieve a specific reward entry on a reward program.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

entry_token

string
Required

Unique identifier of the reward entry to retrieve.

Allowable Values:

Response body

Fields Description

token

string
Returned

Unique identifier of the reward entry.

Allowable Values:

36 char max

reward_program_token

string
Returned

Unique identifier of the reward program for which to return reward entries.

Allowable Values:

36 char max

reward_rules_config_token

string
Returned

Unique identifier of the reward rules config used to determine the value of the reward entry.

Allowable Values:

36 char max

status

string
Returned

Status of the reward entry.

Allowable Values:

PENDING, POSTED

transaction_amount

decimal
Returned

The transaction amount to which the reward rule was applied. Used to determine the value of the reward entry.

Allowable Values:

Format: 0.00

value

decimal
Conditionally returned

Value of the reward entry.

Allowable Values:

Format: 0.00

mcc

string
Conditionally returned

Merchant category code (MCC) of the related journal entry.

Allowable Values:

Existing MCC

mid

string
Conditionally returned

Merchant identifier (MID) of the related journal entry.

Allowable Values:

related_journal_entry_token

string
Returned

Unique identifier of the related journal entry to which the reward rule was applied to trigger the reward entry.

Allowable Values:

36 char max

Existing journal entry token

related_redemption_token

string
Conditionally returned

Unique identifier of the related redemption token that triggered the reward entry.

Allowable Values:

36 char max

note

string
Returned

A note providing information on the reward entry.

Allowable Values:

255 char max

created_time

datetime
Returned

Date and time when the reward entry was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

List rules configurations

Action: GET
Endpoint: /credit/rewardprograms/{token}/rulesconfigs

Retrieve an array of rules configs for a specific reward program.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

URL query parameters

Fields Description

is_active

boolean
Optional

A value of true returns active resources; false returns inactive resources.

Allowable Values:

true, false

count

integer
Optional

Number of resources to retrieve.

Allowable Values:

1–100

start_index

integer
Optional

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

Allowable Values:

0 min

sort_by

string
Optional

Field on which to sort. Prefix the field name with a hyphen (-) to sort in descending order. Omit the hyphen to sort in ascending order.

NOTE: You must sort using system field names such as updatedTime, and not by the field names appearing in response bodies such as updated_time.

Allowable Values:

updatedTime, -updatedTime

Response body

Fields Description

count

integer
Returned

Number of resources returned.

Allowable Values:

1–100

start_index

integer
Returned

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

Allowable Values:

Any integer

end_index

integer
Returned

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

Allowable Values:

Any integer

is_more

boolean
Returned

A value of true indicates that more unreturned resources exist.

Allowable Values:

true, false

data

array of objects
Returned

An array of rules config objects.

Allowable Values:

One or more rules config objects

data[].token

string
Returned

Unique identifier of the reward rules config.

Allowable Values:

36 char max

data[].reward_program_token

string
Returned

Unique identifier of the reward program on which the rules config is applied.

Allowable Values:

36 char max

data[].accrual_type

string
Returned

Type of reward accrued.

Allowable Values:

CASHBACK

data[].less_than

decimal
Conditionally returned

Maximum amount that the balance for a billing cycle can be to apply the specified reward percentage. For example, if the less_than value is 1500, the account holder earns x% of the account balance if they spend under $1500 during a billing cycle.

Allowable Values:

0 min

data[].greater_than

decimal
Conditionally returned

Minimum amount that the balance for a billing cycle can be to apply the specified reward percentage. For example, if the greater_than value is 500, the account holder earns x% of the account balance if they spend over $500 during a billing cycle.

Allowable Values:

0 min

data[].percentage

integer
Returned

The reward percentage applied when the balance for a billing cycle is within the range specified in the less_than and greater_than fields. For example, if the percentage is 1, the account holder earns 1% of the account balance if they spend between the less_than and greater_than amounts during a billing cycle.

Allowable Values:

data[].is_active

boolean
Returned

A value of true indicates that the reward rules config is active.

Allowable Values:

true, false

data[].created_time

datetime
Returned

Date and time when the reward rules config was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

data[].updated_time

datetime
Returned

Date and time when the reward rules config was last updated on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Retrieve last rules configuration applied

Action: GET
Endpoint: /credit/rewardprograms/{token}/rulesconfigs/applied

Retrieve the most recently applied rules config on a specific reward program.

URL path parameters

Fields Description

token

string
Required

Unique identifier of the reward program.

Allowable Values:

Existing reward program token

Response body

Fields Description

token

string
Returned

Unique identifier of the reward rules config.

Allowable Values:

36 char max

reward_program_token

string
Returned

Unique identifier of the reward program on which the rules config is applied.

Allowable Values:

36 char max

accrual_type

string
Returned

Type of reward accrued.

Allowable Values:

CASHBACK

less_than

decimal
Conditionally returned

Maximum amount that the balance for a billing cycle can be to apply the specified reward percentage. For example, if the less_than value is 1500, the account holder earns x% of the account balance if they spend under $1500 during a billing cycle.

Allowable Values:

0 min

greater_than

decimal
Conditionally returned

Minimum amount that the balance for a billing cycle can be to apply the specified reward percentage. For example, if the greater_than value is 500, the account holder earns x% of the account balance if they spend over $500 during a billing cycle.

Allowable Values:

0 min

percentage

integer
Returned

The reward percentage applied when the balance for a billing cycle is within the range specified in the less_than and greater_than fields. For example, if the percentage is 1, the account holder earns 1% of the account balance if they spend between the less_than and greater_than amounts during a billing cycle.

Allowable Values:

is_active

boolean
Returned

A value of true indicates that the reward rules config is active.

Allowable Values:

true, false

created_time

datetime
Returned

Date and time when the reward rules config was created on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

updated_time

datetime
Returned

Date and time when the reward rules config was last updated on the Marqeta platform, in UTC.

Allowable Values:

Format: yyyy-MM-ddThh:mm:ssZ

Sample response body

JSON
Copied

Is this helpful?

Yes
No

Subscribe to our developer newsletter