Skip to main content
POST
/
v2
/
loyalties
/
programs
Create a loyalty program
curl --request POST \
  --url https://api.voucherify.io/v2/loyalties/programs \
  --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",
  "start_date": "2023-11-07T05:31:56Z",
  "end_date": "2023-11-07T05:31:56Z",
  "metadata": {},
  "card_definitions": [
    {
      "id": "<string>"
    }
  ],
  "earning_rules": [
    {
      "id": "<string>"
    }
  ],
  "rewards": [
    {
      "id": "<string>",
      "costs": [
        {
          "spending": [
            {
              "points": 1073741824,
              "card_definition_id": "<string>"
            }
          ]
        }
      ],
      "stock": 1073741823
    }
  ],
  "tier_structures": [
    {
      "id": "<string>"
    }
  ]
}
'
{
  "id": "<string>",
  "name": "<string>",
  "status": "DRAFT",
  "start_date": "2023-11-07T05:31:56Z",
  "end_date": "2023-11-07T05:31:56Z",
  "metadata": {},
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "object": "<string>",
  "card_definitions": [
    {
      "id": "<string>"
    }
  ],
  "earning_rules": [
    {
      "id": "<string>"
    }
  ],
  "rewards": [
    {
      "id": "<string>",
      "costs": [
        {
          "rules": "<unknown>",
          "spending": [
            {
              "points": 123,
              "card_definition_id": "<string>"
            }
          ]
        }
      ],
      "stock": 123
    }
  ],
  "tier_structures": [
    {
      "id": "<string>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.voucherify.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

X-App-Id
string
header
required
X-App-Token
string
header
required

Body

application/json
name
string
required

Program name

Required string length: 1 - 200
status
enum<string> | null

Initial status (defaults to DRAFT if not provided)

Available options:
DRAFT,
ACTIVE
start_date
string<date-time> | null

Program start date (ISO 8601)

end_date
string<date-time> | null

Program end date (ISO 8601)

metadata
object

Custom metadata key-value pairs

card_definitions
object[] | null

Card definitions to assign on creation

Required array length: 1 - 10 elements
earning_rules
object[] | null

Earning rules to assign on creation

Required array length: 1 - 10 elements
rewards
object[] | null

Rewards to assign on creation

Required array length: 1 - 10 elements
tier_structures
object[] | null

Tier structures to assign on creation

Required array length: 1 - 10 elements

Response

Program created successfully

Extended program DTO returned by toCreateDTO(params). Includes the program fields plus arrays of attached resource references.

id
string

Unique program identifier

Pattern: ^lprg_[a-f0-9]+$
name
string

Program name

status
enum<string>
Available options:
DRAFT,
ACTIVE,
INACTIVE,
DELETED
start_date
string<date-time> | null

Program start date

end_date
string<date-time> | null

Program end date

metadata
object

Custom key-value metadata.

created_at
string<date-time>

Creation timestamp (ISO 8601)

updated_at
string<date-time> | null

Last update timestamp (ISO 8601)

object
string
Allowed value: "program"
card_definitions
object[] | null

Card definitions attached during creation

earning_rules
object[] | null

Earning rules attached during creation

rewards
object[] | null

Rewards attached during creation

tier_structures
object[] | null

Tier structures attached during creation

Last modified on May 11, 2026