v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Programs

Create program

<Warning>

<Badge color="yellow">BETA endpoint</Badge>

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.

</Warning>

Creates a new loyalty program. The program can be created with status DRAFT (default) or ACTIVE. When created as ACTIVE, the program must be connected to at least one active card definition and at least one active earning rule (provided via card_definitions and earning_rules arrays), otherwise the request is rejected with 423 Locked (keys missing_active_card_definition / missing_active_earning_rule). Optionally assigns card definitions, earning rules, rewards and tier structures in the same request.

post/v2/loyalties/programs

Request body

namestring required

Program name.

start_datestring date-time

Program validity start date, in ISO 8601 date-time format.

end_datestring date-time

Program validity end date, in ISO 8601 date-time format.

status'ACTIVE' | 'DRAFT'

Initial program status. Only ACTIVE and DRAFT are allowed at creation. Defaults to DRAFT.

metadataobject

Arbitrary key-value metadata. Validated against the vl_program metadata schema definition of the project. Defaults to {}.

Example request

{
  "validity_hours": {
    "daily": [
      {
        "start_time": "09:00",
        "end_time": "17:00"
      }
    ]
  }
}

Response

Program created. Response includes the ids of resources assigned during creation.

idstring

Unique program identifier.

namestring

Program name.

status'DRAFT' | 'ACTIVE' | 'INACTIVE' | 'DELETED'

Program status.

start_datestring date-time

Program validity start date (ISO 8601), or null when not set.

end_datestring date-time

Program validity end date (ISO 8601), or null when not set.

metadataobject

Arbitrary key-value metadata. Defaults to {}.

created_atstring date-time

Creation timestamp (ISO 8601).

updated_atstring date-time

Last update timestamp (ISO 8601), or null when never updated.

objectstring

Object type marker.