> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mention-me.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get customer rewards

> Returns all rewards a customer has been given.

Rewards that are fulfilled outside of Mention Me will not be returned.

**Scopes:** `customers:read`, `rewards:read`

**Rate limits:** 300 requests per 5 minutes. Shared across all 'rewards' endpoints.



## OpenAPI

````yaml /openapi/merchant_api.oas.json post /api/merchant/v2/customers/rewards
openapi: 3.0.0
info:
  title: Merchant API
  description: Interact directly with the Mention Me platform using our REST API.
  termsOfService: https://mention-me.com/help/tnc_f/site
  contact:
    name: Mention Me
    url: https://mention-me.com
    email: support@mention-me.com
  version: v2
servers:
  - url: https://mention-me.com
    description: Production
  - url: https://demo.mention-me.com
    description: Demo
security:
  - Bearer: []
tags:
  - name: Coupons
  - name: Customers
  - name: Referee
paths:
  /api/merchant/v2/customers/rewards:
    post:
      tags:
        - Customers
      summary: Get customer rewards
      description: >-
        Returns all rewards a customer has been given.


        Rewards that are fulfilled outside of Mention Me will not be returned.


        **Scopes:** `customers:read`, `rewards:read`


        **Rate limits:** 300 requests per 5 minutes. Shared across all 'rewards'
        endpoints.
      operationId: post_merchant_api_rewards_list
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerEmailIdentifierInput'
      responses:
        '200':
          description: The rewards issued to the customer matching the identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRewardsOutput'
        '401':
          description: Required scopes are missing.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorisedRFC7807Problem'
        '404':
          description: No customers matched the identifier.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/RFC7807Problem'
        '429':
          description: Rate limit exceeded.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsRFC7807Problem'
components:
  schemas:
    CustomerEmailIdentifierInput:
      description: A customer email address.
      required:
        - identifier
      properties:
        identifier:
          oneOf:
            - $ref: '#/components/schemas/CustomerEmailIdentifier'
      type: object
    CustomerRewardsOutput:
      description: An object representing the customer and the rewards they were given
      properties:
        data:
          $ref: '#/components/schemas/CustomerRewardsPayload'
      type: object
    UnauthorisedRFC7807Problem:
      properties:
        status:
          type: integer
          maximum: 599
          minimum: 200
          example: 401
        type:
          type: string
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
        title:
          type: string
          example: Unauthorized
        detail:
          type: string
          example: Missing at least one of the required scopes
      type: object
    RFC7807Problem:
      properties:
        status:
          type: integer
          maximum: 599
          minimum: 200
        type:
          type: string
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
        title:
          type: string
        detail:
          type: string
      type: object
    TooManyRequestsRFC7807Problem:
      properties:
        status:
          type: integer
          maximum: 599
          minimum: 200
          example: 401
        type:
          type: string
          example: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
        title:
          type: string
          example: Too Many Requests
        detail:
          type: string
          example: Rate limit exceeded for Client Id
      type: object
    CustomerEmailIdentifier:
      required:
        - type
      properties:
        type:
          description: The type of identifier.
          type: string
          enum:
            - email
        value:
          type: string
          default: ''
          maxLength: 320
          minLength: 1
          pattern: .+\@\S+\.\S+
      type: object
    CustomerRewardsPayload:
      properties:
        customer:
          $ref: '#/components/schemas/CustomerEssentialsPayload'
        rewards:
          type: array
          items:
            $ref: '#/components/schemas/RewardablePayload'
          maxItems: 100
          minItems: 0
      type: object
    CustomerEssentialsPayload:
      description: The profile of a customer
      properties:
        customerId:
          title: >-
            This will be the merchant's customer ID, which will be much more
            useful to them as consumers of the data
          description: The ID of the customer generated by your system.
          type: string
          maxLength: 255
          minLength: 1
          pattern: .*.*?.*
          example: CUST-1234
        email:
          type: string
          maxLength: 320
          minLength: 1
          pattern: .+\@\S+\.\S+
          example: email@mention-me.com
        firstname:
          type: string
          maxLength: 255
          minLength: 1
          pattern: \w
          example: Jane
        surname:
          type: string
          maxLength: 255
          minLength: 1
          pattern: \w
          example: Doe
        phoneNumbers:
          type: array
          items:
            type: string
          example:
            - '+447123456789'
            - '+447987654321'
        profileUrl:
          type: string
          example: https://mention-me.com/merchant/123/customers/43211234
      type: object
    RewardablePayload:
      description: A reward issued to a customer.
      properties:
        id:
          type: integer
        fulfilledBy:
          title: Returns how the reward was given to the customer.
          type: string
        amount:
          title: Return the amount if it's a float, otherwise null
          type: number
          format: float
          example: 100
        description:
          title: >-
            Sometimes the amount of a reward is not a number so we don't want to
            return it as a float. Instead, we share the shortName, which is
            usually built on the description in the amount field.
          type: string
        type:
          type: string
          enum:
            - amount
            - description
            - number
            - percent
        beforePurchase:
          title: Only exposed if true, otherwise default is after purchase
          type: boolean
        minimumFriendsRequired:
          type: integer
          nullable: true
        spendConstraint:
          description: The minimum spend required to receive the reward.
          type: number
          format: float
          example: 50
        callToActionUrl:
          description: >-
            The URL that the customer should be directed to after redeeming the
            reward. This is         usually a link to an online store, or other
            means of using the reward.
          type: string
          example: https://www.your-website.com/new-customer-welcome
        couponCode:
          description: >-
            If the issued reward is a coupon code, the code the customer should
            use to redeem the reward.
          type: string
          example: ABC-DEF-1234
        couponLink:
          description: >-
            If the issued reward is a coupon link, the link the customer should
            use to redeem the reward.
          type: string
          example: https://www.your-website.com/redeem?code=ABC-DEF-1234
        securityCode:
          description: An additional security code or PIN for using the reward.
          type: string
          example: '12345'
        expiryDate:
          description: The date the reward expires.
          type: string
          format: date-time
      type: object
  securitySchemes:
    Bearer:
      type: http
      description: RFC8725 Compliant JWT
      bearerFormat: JWT
      scheme: bearer

````