---
title: "Examine rewards"
method: POST
path: "/v2/loyalties/examine/rewards"
tags: ["Examine"]
---

# Examine rewards

`POST /v2/loyalties/examine/rewards`

## Request

- Base URL: `https://api.voucherify.io`
- URL: `https://api.voucherify.io/v2/loyalties/examine/rewards`
- Auth: none required

<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](https://www.voucherify.io/contact-support) or your Technical Account Manager.

</Warning>

Estimates which rewards a customer can obtain across their loyalty program memberships,
including availability status, points cost and unavailability reasons.

## Request body

- ExamineRewardsRequest: Request body for examining rewards.
  - `customer_identification` ExamineCustomerIdentification, required: How the examined customer is identified. Depending on `type`, exactly one of `customer_id`, `customer_source_id` or `member_id` is required; the other two must not be present.
    - `type` 'customer_id' | 'customer_source_id' | 'member_id', required: Identification method.
    - `customer_id` unknown
    - `customer_source_id` unknown
    - `member_id` unknown
  - `customer` object: Customer metadata overrides used during examination.
    - `metadata` EarningRuleMetadata: Arbitrary key-value metadata; any JSON object is accepted.
  - `member` object: Member metadata overrides used during examination.
    - `metadata` EarningRuleMetadata: Arbitrary key-value metadata; any JSON object is accepted.

## Response `200`

Rewards examination result

- ExamineRewardsResponse: Rewards examination result.
  - `customer` ExamineCustomerReference: Customer reference in examine results.
    - `id` string: Customer ID (`cust_...`).
    - `source_id` string: Customer source ID.
    - `metadata` object: Customer metadata (empty object when unset).
    - `object` string: Object type marker. Always `customer`.
  - `rewards` ExamineRewardsRewardDetail[]: All rewards considered during examination (deduplicated).
    - `id` string: Reward ID (`lrew_...`).
    - `name` string: Reward name.
    - `type` 'MATERIAL' | 'DIGITAL': Reward type.
    - `metadata` object: Reward metadata (empty object when unset).
    - `object` string: Object type marker. Always `reward`.
  - `memberships` ExamineRewardsMembership[]: Reward opportunities per program membership.
    - `member` ExamineMemberReference: Member reference in examine results.
      - `id` string: Member ID (`lmbr_...`).
      - `customer_id` string: Customer ID the member belongs to.
      - `program_id` string: Program ID the member belongs to.
      - `metadata` object: Member metadata (empty object when unset).
      - `object` string: Object type marker. Always `member`.
    - `program` ExamineProgramReference: Program reference in examine results.
      - `id` string: Program ID (`lprg_...`).
      - `name` string: Program name.
      - `metadata` object: Program metadata (empty object when unset).
      - `object` string: Object type marker. Always `program`.
    - `cards` ExamineRewardsCardEstimation[]: Reward estimations per card.
      - `card` ExamineCardReference: Card reference in examine results.
        - `id` string: Card ID (`lcrd_...`).
        - `card_definition_id` string: Card definition ID (`lcdef_...`).
        - `card_type` 'INDIVIDUAL': Card type. Currently only `INDIVIDUAL` exists.
        - `code` unknown
        - `object` string: Object type marker. Always `card`.
      - `rewards` ExamineRewardsCardRewardEstimation[]: Reward availability estimations for this card.
        - `reward` ExamineRewardsRewardReference: Reward reference.
          - `id` string: Reward ID (`lrew_...`).
          - `object` string: Object type marker. Always `reward`.
        - `status` 'AVAILABLE' | 'UNAVAILABLE': Whether the reward can currently be obtained with this card.
        - `cost` ExamineRewardsRewardCost: Reward cost.
          - `points` number: Points cost of the reward for this card.
          - `object` string: Object type marker. Always `reward_cost`.
        - `unavailability_reasons` ExamineRewardsRewardUnavailabilityReason[]: Reasons the reward is unavailable. Absent when the reward is available.
          - `reason` 'insufficient_balance' | 'out_of_stock' | 'no_matching_cost' | 'no_card_for_cost' | 'no_target_card' | 'reward_inactive': Unavailability reason code.
          - `details` string: Additional details. Absent when not provided.
          - `object` string: Object type marker. Always `reward_unavailability_reason`.
        - `object` string: Object type marker. Always `reward_estimation`.
      - `object` string: Object type marker. Always `card_estimation`.
    - `object` string: Object type marker. Always `member_rewards_opportunity`.
  - `object` string: Object type marker. Always `rewards_examine_result`.

## Other responses

- `400`: Validation error - request body or query parameters failed validation, or the operation is not allowed in the current resource state.
- `404`: Resource not found.
- `409`: Conflict - e.g. duplicate resource or invalid state transition.
- `500`: Internal server error.

---

[API](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions.md) - [All operations](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions/llms.txt) - [OpenAPI document](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions/revisions/4982266e0494?raw)
