---
title: "Changes to Create program"
method: POST
path: "/v2/loyalties/programs"
---

# Changes to Create program

`POST /v2/loyalties/programs`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 2 of 62 revisions.

- **2026-07-17** (v2) `4cbaee5a82d5` — 10 info
- **2026-07-06** (v2) `341403eb19e5` — 15 breaking, 5 warning, 8 info

## Changes

- **2026-07-17** (v2) `4cbaee5a82d5` — 10 info
  - added the optional property `resource_id` to the response with the `400` status
  - added the optional property `resource_id` to the response with the `404` status
  - added the optional property `resource_id` to the response with the `409` status
  - added the optional property `resource_id` to the response with the `423` status
  - added the optional property `resource_id` to the response with the `500` status
  - added the optional property `resource_type` to the response with the `400` status
  - added the optional property `resource_type` to the response with the `404` status
  - added the optional property `resource_type` to the response with the `409` status
  - added the optional property `resource_type` to the response with the `423` status
  - added the optional property `resource_type` to the response with the `500` status
- **2026-07-06** (v2) `341403eb19e5` — 15 breaking, 5 warning, 8 info
  - added the new required request property `rewards/oneOf[subschema #1]/items/stock/type`
  - added `subschema #1, subschema #2` to the `rewards/oneOf[subschema #1]/items/stock` request property `allOf` list
  - removed `#/components/schemas/Metadata` from the `metadata` request property `oneOf` list
  - the `rewards/oneOf[subschema #1]/items/stock` request property type changed from `integer` to `object`
  - the response's body type changed from `object` to no type for status `200`
  - the response property `code` became optional for the status `400`
  - the response property `code` became optional for the status `500`
  - the response property `key` became optional for the status `400`
  - the response property `key` became optional for the status `500`
  - the response property `message` became optional for the status `400`
  - the response property `message` became optional for the status `500`
  - response property `allOf[subschema #2]/card_definitions` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `allOf[subschema #2]/earning_rules` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `allOf[subschema #2]/rewards` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `allOf[subschema #2]/tier_structures` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - removed the request property `rewards/oneOf[subschema #1]/items/costs`
  - removed the optional property `resource_id` from the response with the `400` status
  - removed the optional property `resource_id` from the response with the `500` status
  - removed the optional property `resource_type` from the response with the `400` status
  - removed the optional property `resource_type` from the response with the `500` status
  - added the new optional request property `rewards/oneOf[subschema #1]/items/stock/limited`
  - added the new optional request property `validity_hours`
  - added `subschema #1` to the `metadata` request property `oneOf` list
  - added `#/components/schemas/Program` to the response body `allOf` list for the response status `200`
  - removed `#/components/schemas/ProgramResponse` from the response body `allOf` list for the response status `200`
  - added the non-success response with the status `404`
  - added the non-success response with the status `409`
  - added the non-success response with the status `423`

---

[Operation](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/docs/v2/loyalties/programs/post.md) · [API](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api.md) · [Page](https://skmtc.dev/voucherifyio/apis/voucherify-loyalty-v2-api/changes/v2/loyalties/programs/post)
