curl --request POST \
--url https://api.voucherify.io/v2/loyalties/card-definitions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>' \
--data '
{
"name": "<string>",
"status": "DRAFT",
"code_config": {
"length": 123,
"charset": "<string>",
"prefix": "<string>",
"postfix": "<string>",
"pattern": "<string>"
},
"points_expiration": {
"rolling_expiration": {
"period": {
"value": 2
},
"rounding": {
"value": 6
}
},
"calendar_expiration": {
"expiration_dates": [
{
"day": 16,
"month": 6
}
]
},
"sliding_expiration": {
"period": {
"value": 2
},
"earning_activity": true,
"spending_activity": true,
"custom_activity": true,
"custom_activity_types": [
"<string>"
]
}
},
"pending_points": {
"period_based": {
"period": {
"value": 2
}
},
"fixed_dates": {
"dates": [
{
"day": 16,
"month": 6
}
]
},
"event_based": {
"event_types": [
"<string>"
],
"cancel_period": {
"value": 2
}
}
},
"earning_limits": {
"global": {
"limits": [
{
"max": 2
}
]
},
"transactions": {
"limits": [
{
"max": 2,
"min_amount": 2
}
]
}
},
"spending_limits": {
"global": {
"limits": [
{
"max": 2
}
]
},
"transactions": {
"limits": [
{
"max": 2
}
]
}
},
"refunds": {
"spent_points": {
"methods": [
{}
]
},
"earned_points": {
"methods": [
{}
]
}
},
"balance_settings": {
"allow_negative": true
},
"metadata": {}
}
'{
"id": "<string>",
"name": "<string>",
"code_config": {
"pattern": "<string>",
"length": 123,
"charset": "<string>",
"prefix": "<string>",
"postfix": "<string>"
},
"points_expiration": {
"rolling_expiration": {
"period": {
"value": 2
},
"rounding": {
"value": 6
}
},
"calendar_expiration": {
"expiration_dates": [
{
"day": 16,
"month": 6
}
]
},
"sliding_expiration": {
"earning_activity": true,
"spending_activity": true,
"custom_activity": true,
"custom_activity_types": [
"<string>"
],
"period": {
"value": 2
}
}
},
"pending_points": {
"period_based": {
"period": {
"value": 2
}
},
"fixed_dates": {
"dates": [
{
"day": 16,
"month": 6
}
]
},
"event_based": {
"event_types": [
"<string>"
],
"cancel_period": {
"value": 2
}
}
},
"earning_limits": {
"global": {
"limits": [
{
"max": 2,
"period": {
"current_period": {}
},
"points": {
"max": 1073741824
}
}
]
},
"transactions": {
"limits": [
{
"max": 2,
"min_amount": 2
}
]
}
},
"spending_limits": {
"global": {
"limits": [
{
"max": 2,
"period": {
"current_period": {}
},
"points": {
"max": 1073741824
}
}
]
},
"transactions": {
"limits": [
{
"max": 2
}
]
}
},
"refunds": {
"spent_points": {
"methods": [
{}
]
},
"earned_points": {
"methods": [
{}
]
}
},
"balance_settings": {
"allow_negative": true
},
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"object": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}Create Card Definition
⚠️ BETA endpoint
This is a work-in-progress documentation of a BETA endpoint. The parameters, fields, request and response bodies, and other data may subject to change. If you want to share feedback or improvements, contact Voucherify support or your Technical Account Manager.
Creates a new card definition with the specified configuration.
Required fields: name, type. All other fields have sensible defaults.
The code_config is optional on input but required internally (defaults are generated).
Custom validators applied:
createCardDefinitionBalanceSettings:balance_settings.allow_negativecan only betruewhenpoints_expiration.typeisNO_EXPIRATION.createCardDefinitionRefunds:refunds.earned_points.methodswith typeREVOKE_BELOW_ZEROrequiresbalance_settings.allow_negative: true. Method typeREVOKE_FROM_PENDINGrequirespending_points.typeto be one ofPERIOD_BASED,FIXED_DATES, orEVENT_BASED.
curl --request POST \
--url https://api.voucherify.io/v2/loyalties/card-definitions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>' \
--data '
{
"name": "<string>",
"status": "DRAFT",
"code_config": {
"length": 123,
"charset": "<string>",
"prefix": "<string>",
"postfix": "<string>",
"pattern": "<string>"
},
"points_expiration": {
"rolling_expiration": {
"period": {
"value": 2
},
"rounding": {
"value": 6
}
},
"calendar_expiration": {
"expiration_dates": [
{
"day": 16,
"month": 6
}
]
},
"sliding_expiration": {
"period": {
"value": 2
},
"earning_activity": true,
"spending_activity": true,
"custom_activity": true,
"custom_activity_types": [
"<string>"
]
}
},
"pending_points": {
"period_based": {
"period": {
"value": 2
}
},
"fixed_dates": {
"dates": [
{
"day": 16,
"month": 6
}
]
},
"event_based": {
"event_types": [
"<string>"
],
"cancel_period": {
"value": 2
}
}
},
"earning_limits": {
"global": {
"limits": [
{
"max": 2
}
]
},
"transactions": {
"limits": [
{
"max": 2,
"min_amount": 2
}
]
}
},
"spending_limits": {
"global": {
"limits": [
{
"max": 2
}
]
},
"transactions": {
"limits": [
{
"max": 2
}
]
}
},
"refunds": {
"spent_points": {
"methods": [
{}
]
},
"earned_points": {
"methods": [
{}
]
}
},
"balance_settings": {
"allow_negative": true
},
"metadata": {}
}
'{
"id": "<string>",
"name": "<string>",
"code_config": {
"pattern": "<string>",
"length": 123,
"charset": "<string>",
"prefix": "<string>",
"postfix": "<string>"
},
"points_expiration": {
"rolling_expiration": {
"period": {
"value": 2
},
"rounding": {
"value": 6
}
},
"calendar_expiration": {
"expiration_dates": [
{
"day": 16,
"month": 6
}
]
},
"sliding_expiration": {
"earning_activity": true,
"spending_activity": true,
"custom_activity": true,
"custom_activity_types": [
"<string>"
],
"period": {
"value": 2
}
}
},
"pending_points": {
"period_based": {
"period": {
"value": 2
}
},
"fixed_dates": {
"dates": [
{
"day": 16,
"month": 6
}
]
},
"event_based": {
"event_types": [
"<string>"
],
"cancel_period": {
"value": 2
}
}
},
"earning_limits": {
"global": {
"limits": [
{
"max": 2,
"period": {
"current_period": {}
},
"points": {
"max": 1073741824
}
}
]
},
"transactions": {
"limits": [
{
"max": 2,
"min_amount": 2
}
]
}
},
"spending_limits": {
"global": {
"limits": [
{
"max": 2,
"period": {
"current_period": {}
},
"points": {
"max": 1073741824
}
}
]
},
"transactions": {
"limits": [
{
"max": 2
}
]
}
},
"refunds": {
"spent_points": {
"methods": [
{}
]
},
"earned_points": {
"methods": [
{}
]
}
},
"balance_settings": {
"allow_negative": true
},
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"object": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
1 - 200INDIVIDUAL Initial status. Defaults to DRAFT if not provided.
DRAFT, ACTIVE, null Code generation configuration. Defaults to 10-character alphanumeric pattern if not provided.
Show child attributes
Show child attributes
Points expiration policy. Defaults to NO_EXPIRATION.
Show child attributes
Show child attributes
Pending points policy. Defaults to IMMEDIATE.
Show child attributes
Show child attributes
Earning limits configuration. Defaults to no limits.
Show child attributes
Show child attributes
Spending limits configuration. Defaults to no limits.
Show child attributes
Show child attributes
Refund policies. Defaults to no refunds.
Show child attributes
Show child attributes
Balance settings. Defaults to allow_negative: false.
Show child attributes
Show child attributes
Response
Created card definition
Full card definition DTO returned by all CRUD endpoints.
INDIVIDUAL DRAFT, ACTIVE, INACTIVE, DELETED Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
"card_definition"Was this page helpful?

