Skip to main content
POST
/
v2
/
loyalties
/
rewards
Create a reward
curl --request POST \
  --url https://api.voucherify.io/v2/loyalties/rewards \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-App-Id: <api-key>' \
  --header 'X-App-Token: <api-key>' \
  --data '
{
  "name": "<string>",
  "type": "MATERIAL",
  "status": "DRAFT",
  "material": {
    "type": "PRODUCT",
    "product": {
      "id": "<string>"
    },
    "sku": {
      "product_id": "<string>",
      "id": "<string>"
    }
  },
  "digital": {
    "type": "DISCOUNT_COUPONS",
    "discount_coupons": {
      "campaign_id": "<string>"
    },
    "gift_vouchers": {
      "campaign_id": "<string>",
      "balance": 1
    }
  },
  "metadata": {}
}
'
{
  "id": "<string>",
  "name": "<string>",
  "type": "MATERIAL",
  "status": "ACTIVE",
  "metadata": {},
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "object": "<string>",
  "material": {
    "type": "PRODUCT",
    "product": {
      "id": "<string>"
    },
    "sku": {
      "product_id": "<string>",
      "id": "<string>"
    }
  },
  "digital": {
    "type": "DISCOUNT_COUPONS",
    "discount_coupons": {
      "campaign_id": "<string>"
    },
    "gift_vouchers": {
      "campaign_id": "<string>",
      "balance": 1
    }
  }
}

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

Payload for creating a reward.

name
string
required

Reward display name.

Required string length: 1 - 200
type
enum<string>
required

Reward type. Determines which sub-configuration is required.

Available options:
MATERIAL,
DIGITAL
status
enum<string>

Initial status. Defaults to DRAFT when omitted.

Available options:
DRAFT,
ACTIVE
material
object

Required when type is MATERIAL. Must be null/absent when type is DIGITAL.

digital
object

Required when type is DIGITAL. Must be null/absent when type is MATERIAL.

metadata
object

Optional key-value metadata.

Response

Created reward.

Reward resource representation.

id
string
required

Unique reward identifier.

name
string
required

Reward display name.

type
enum<string>
required

Reward type.

Available options:
MATERIAL,
DIGITAL
status
enum<string>
required

Current lifecycle status.

Available options:
ACTIVE,
DRAFT,
INACTIVE,
DELETED
metadata
object
required

Key-value metadata.

created_at
string<date-time>
required

ISO 8601 creation timestamp.

updated_at
string<date-time> | null
required

ISO 8601 last-update timestamp. Null if never updated.

object
string
required
Allowed value: "reward"
material
object

Material configuration. Present only when type is MATERIAL.

digital
object

Digital configuration. Present only when type is DIGITAL.

Last modified on May 11, 2026