> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Issue Reward

> Issues a reward certificate based on the member's request or when the points in the member's account reach a configurable threshold. <br /> **Note** - A single reward is issued at a time. <br /> When the redemptionChoice is set to 'auto', the points are automatically converted to rewards. When the redemptionChoice is 'bank,' the points are converted based on the member's request.<br /> Response of this endpoint includes a redemptionCode, which is required to redeem the reward in the future.



## OpenAPI

````yaml member post /v1/redeem/reward/issue
openapi: 3.0.1
info:
  title: Loyalty (Member)
  description: >-
    fabric **Loyalty** formerly **Member** is a Loyalty Management System (LMS)
    that enables marketers to create multiple loyalty strategies under a loyalty
    program to cater to various businesses and customer segments. <br />
    **Member overview**: <br /> During onboarding, you are given the necessary
    **credentials** (client_id and client_secret) to obtain an access token,
    which is required to run every call. Membership hierarchy is organized into
    Programs, Clubs, and Tiers. <br /> **Program** is the first hierarchy level
    and is where rewards and benefits are configured for the organization. <br
    /> **Club** is the second hierarchy level and is where Rules for the program
    are configured. <br />Each Club must have at least one **Tier**, which is
    used to define membership and to configure criteria and thresholds
    (including free vs paid). Additional hierarchy levels can be added to
    support the needs of your business.  <br /> Members are always enrolled into
    a **Default Tier** within a club. When members make purchases, they earn
    Points based on the rules set at the club level and/or based on promotions.
    When points in a member account reach a predefined **Threshold Value**,
    points are converted to **Rewards**. This conversion may be manual or
    automatic depending on the program configuration. Members can **Redeem**
    their rewards within the reward **Expiry Period**. Account point balances
    are updated after each point-impacting activity.
  version: 1.0.0
  contact:
    email: support@fabric.inc
  license:
    name: fabric Inc
    url: https://fabric.inc
servers:
  - url: https://vanilla-dev02-loyalty.fabric.zone/api
    description: For developers to work outside of the production environment.
  - url: https://vanilla-stg-loyalty.fabric.zone/api
    description: Replica of the production environment for testing.
  - url: https://loyalty-sbx.fabric.zone/api
    description: >-
      An isolated testing environment (UAT) to run programs without affecting
      the application, system or platform on which they run.
  - url: https://loyalty.fabric.zone/api
    description: Production environment.
security:
  - bearerAuth: []
paths:
  /v1/redeem/reward/issue:
    post:
      tags:
        - Redeem
      summary: Issue Reward
      description: >-
        Issues a reward certificate based on the member's request or when the
        points in the member's account reach a configurable threshold. <br />
        **Note** - A single reward is issued at a time. <br /> When the
        redemptionChoice is set to 'auto', the points are automatically
        converted to rewards. When the redemptionChoice is 'bank,' the points
        are converted based on the member's request.<br /> Response of this
        endpoint includes a redemptionCode, which is required to redeem the
        reward in the future.
      operationId: redeem_reward_issue_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IssueVariableReward'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/issuance'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponseClass1'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponseClass2'
components:
  schemas:
    IssueVariableReward:
      required:
        - amountToRedeem
        - locationExternalReference
        - tierDiscountValue
        - profileId
      type: object
      description: Details needed to issue a variable reward
      properties:
        profileId:
          title: Profileid
          type: string
          description: >-
            Profile ID of the member. In an ecosystem, it acts as a primary ID
            to keep the various systems (apps, websites, etc.) in sync.
          example: 67460e74-02e3-11e8-b443-00163e990bdb
          format: uuid
        locationExternalReference:
          title: Locationexternalreference
          minLength: 1
          type: string
          description: >-
            External reference ID (or name) of the location where the points are
            being redeemed.
          example: Company_Club
        amountToRedeem:
          title: Amounttoredeem
          type: number
          format: float
          description: >-
            Dollar amount being redeemed. Maximum amount which can be redeemed
            (or the reward limit) is configurable. When a member has $100 in
            their loyalty account and the store has a reward limit of $50, they
            can use two rewards certificates to redeem the amount fully.
          example: 50
        issueAuditUser:
          title: Issueaudituser
          minLength: 1
          type: string
          description: Name of the representative who is issuing the reward.
          example: Joe
        tierDiscountValue:
          title: Tierdiscountvalue
          type: number
          format: float
          description: >-
            Tier-based discounts can be offered by attaching members to
            different tiers, such as silver, gold, platinum, etc. Discount
            percentage or discount amounts can be customized.
          example: 0
    issuance:
      type: object
      properties:
        status:
          title: Status
          description: Status of the call
          type: integer
          example: 201
          format: int32
        message:
          title: Message
          description: Message corresponding to the call
          example: Created
          type: string
          default: Exception message
        errors:
          title: Errors
          description: Error details, if applicable
          example: {}
        data:
          $ref: '#/components/schemas/points-issued'
          description: Details of the points issued as reward.
    GenericResponseClass1:
      type: object
      description: Bad request
      properties:
        message:
          title: Message
          minLength: 1
          type: string
          description: Message corresponding to the call.
          example: Error message string
        errors:
          title: Errors
          type: object
          properties: {}
          description: A dictionary of lists with different number of errors or exceptions.
          example:
            ExceptionString:
              - Invalid Field
        data:
          title: Data
          type: object
          properties: {}
          description: Returns data in the form of a list of dictionaries or null
          example: null
        status:
          title: Status
          type: integer
          description: Status code of the call
          example: 400
          format: int32
    GenericResponseClass2:
      type: object
      description: Unauthorized
      properties:
        detail:
          title: Detail
          type: string
          description: Message corresponding to the response
          example: Authentication Failed
    points-issued:
      type: object
      description: Details of points issued
      properties:
        rewardPointCost:
          description: >-
            Represents the ratio of dollar value of reward to the points
            consumed. For example, a value of 0.5 indicates that 1 dollar
            redeemed consumed 2 points.
          example: 0.5
          minLength: 1
          type: number
          format: float
        rewardValue:
          description: Number of points redeemed by the issuance of the reward
          example: 100
          type: number
          format: integer
        rewardName:
          description: Reward name
          example: Demo Reward
          type: string
        redemptionCode:
          description: Redemption code. It uniquely identifies each reward object.
          example: c48e8827-2a72-4a0f-a4d2-2347b11b4f34
          type: string
          format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````