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

# Examine rewards

`POST /v2/loyalties/examine/rewards`

<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.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)
