---
title: "Create Loyalty Campaign Reward Assignment"
method: POST
path: "/v1/loyalties/{campaignId}/rewards"
tags: ["Loyalties"]
---

# Create Loyalty Campaign Reward Assignment

`POST /v1/loyalties/{campaignId}/rewards`

Add rewards to a loyalty campaign.

## Request body

- LoyaltiesRewardsCreateAssignmentItemRequestBody[] — Request body schema for **POST** `v1/loyalties/{campaignId}/rewards`.
  - union
    - LoyaltiesRewardsCreateAssignmentItemDigitalOrMaterialRequestBody
      - `reward` string, required — The ID of the reward that will be assigned to the campaign.
      - `parameters` object, required — Defines the cost of the reward.
        - `loyalty` object, required — Defines the equivalent points value of the reward.
          - `points` integer — Number of points that will be subtracted from the loyalty card points balance if the reward is redeemed.
    - LoyaltiesRewardsCreateAssignmentItemCoinRequestBody
      - `reward` string, required — The ID of the reward that will be assigned to the campaign.
      - `validation_rules` string[]

## Response `200`

Returns a list of reward assignment objects.

- LoyaltiesRewardsCreateAssignmentResponseBody
  - `id` string, required — Unique reward assignment ID, assigned by Voucherify.
  - `reward_id` string, required — Associated reward ID.
  - `created_at` string, date-time, required — Timestamp representing the date and time when the reward assignment was created. The value is shown in the ISO 8601 format.
  - `updated_at` string, date-time, nullable, required — Timestamp representing the date and time when the reward assignment was updated. The value is shown in the ISO 8601 format.
  - `object` 'reward_assignment', required — The type of the object represented by the JSON. This object stores information about the reward assignment.
  - `related_object_id` string, required — Related object ID to which the reward was assigned.
  - `related_object_type` 'campaign', required — Related object type to which the reward was assigned.
  - `parameters` object — Defines the cost of the reward.
    - `loyalty` object, required — Defines the equivalent points value of the reward.
      - `points` integer — The number of points required to redeem the reward.
      - `auto_redeem` boolean, nullable — Determines if the reward is redeemed automatically when the customer reaches the sufficient number of points to redeem it. Value `true` means that the automatic reward redemption is active. Only one reward can be set to be redeemed automatically in a loyalty campaign, i.e. only one can have the value `true`.

## Other responses

- `409` — Returns an error if there's a reward assignment created for the given reward.

---

[API](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-api-async-actions/revisions/4982266e0494/schema)
