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

# List an account's reward categories

> Returns the account program's standard earning categories and active
signup categories. The response is assembled from the same live product,
accrual, and offer configuration used by Imprint's application and
servicing experiences; it is not read from static rewards assets.

`earn_rate` is the configured exchange rate as a decimal string: reward
units earned per one transaction-currency unit, in the currency named by
`currency`. Its decimal places carry the precision the rate is
configured with.

**Required scope:** `ACCOUNT_READ`




## OpenAPI

````yaml /api-reference/openapi.yaml get /v2/customers/{customer_id}/accounts/{account_id}/rewards_categories
openapi: 3.1.0
info:
  title: Public Imprint API
  version: '2.0'
servers:
  - url: https://dev.sbx.imprint.co
    description: Imprint public api sandbox
security:
  - basicAuth: []
  - bearerAuth: []
paths:
  /v2/customers/{customer_id}/accounts/{account_id}/rewards_categories:
    get:
      tags:
        - Customers
      summary: List an account's reward categories
      description: |
        Returns the account program's standard earning categories and active
        signup categories. The response is assembled from the same live product,
        accrual, and offer configuration used by Imprint's application and
        servicing experiences; it is not read from static rewards assets.

        `earn_rate` is the configured exchange rate as a decimal string: reward
        units earned per one transaction-currency unit, in the currency named by
        `currency`. Its decimal places carry the precision the rate is
        configured with.

        **Required scope:** `ACCOUNT_READ`
      operationId: listRewardCategories
      parameters:
        - $ref: '#/components/parameters/customerIdParam'
          name: customer_id
          in: path
        - $ref: '#/components/parameters/accountIdParam'
          name: account_id
          in: path
        - $ref: '#/components/parameters/localeParam'
      responses:
        '200':
          description: Reward categories and earn rates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardCategoriesResponse'
        '403':
          description: API key is missing the required `ACCOUNT_READ` scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: |
            The customer was not found, or the account does not belong to them.
            `type` distinguishes the two cases.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerNotFoundError'
components:
  parameters:
    customerIdParam:
      name: customer_id
      in: path
      required: true
      description: The unique identifier for the Imprint customer
      schema:
        type: string
        example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
    accountIdParam:
      name: account_id
      in: path
      required: true
      description: The unique identifier for the account, as returned by list accounts
      schema:
        type: string
        example: 7C1F9A34-2D6B-4E58-8A03-B15E7D9C4620
    localeParam:
      name: locale
      in: query
      required: false
      description: |
        Locale for translated category copy. English (`en`) is used when omitted
        or unsupported; Spanish (`es`) and regional variants such as `es-MX` are
        also supported.
      schema:
        type: string
        default: en
      example: en
  schemas:
    RewardCategoriesResponse:
      type: object
      required:
        - currency
        - categories
        - special_categories
      properties:
        currency:
          type: string
          description: The reward currency configured for the account's program
          example: FanCash
        categories:
          type: array
          description: Standard transaction earning categories in display order
          items:
            $ref: '#/components/schemas/RewardCategory'
        special_categories:
          type: array
          description: Active non-transaction categories, such as a signup bonus
          items:
            $ref: '#/components/schemas/SpecialRewardCategory'
    ApiError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              description: The category of error being returned
              example: BAD_REQUEST_ERROR
            message:
              type: string
              description: A message describing the cause of the error
              example: 'unsupported reward_type: INVALID, must be STATEMENT or DELAYED'
    CustomerNotFoundError:
      type: object
      required:
        - type
        - message
      properties:
        type:
          type: string
          description: The category of error being returned
          example: CUSTOMER_NOT_FOUND_ERROR
        message:
          type: string
          description: A message describing the cause of the error
          example: 'Customer not found for provided ID: CSMR-v1-123'
        param:
          type: string
          description: The param causing the error
          example: customer_id
    RewardCategory:
      type: object
      required:
        - name
        - description
        - earn_rate
        - type
        - merchants
      properties:
        name:
          type: string
          example: On-Merchant
        description:
          type: string
          example: Purchases at Fanatics stores
        earn_rate:
          type: string
          description: |
            Reward units earned per one transaction-currency unit, as a decimal
            string in the currency named by the response's `currency` field. The
            number of decimal places is the precision the rate is configured
            with, so `"10.00"` and `"10"` are the same rate configured at
            different precisions.
          pattern: ^-?\d+(\.\d+)?$
          example: '10.00'
        type:
          $ref: '#/components/schemas/RewardCategoryType'
        merchants:
          type: array
          items:
            type: string
          example:
            - Fanatics
            - NFL Shop
            - NBA Store
    SpecialRewardCategory:
      type: object
      required:
        - name
        - description
        - type
      properties:
        name:
          type: string
          example: Signup Bonus
        description:
          type: string
          example: One-time bonus after first purchase
        type:
          type: string
          enum:
            - SIGNUP
    RewardCategoryType:
      type: string
      enum:
        - ON_MERCHANT
        - OFF_MERCHANT
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Basic HTTP authentication. Allowed headers-- Authorization: Basic
        <base64(api_key_id:api_key_secret)>
    bearerAuth:
      bearerFormat: auth-scheme
      description: >-
        Bearer HTTP authentication. Allowed headers-- Authorization: Bearer
        <api_key>
      scheme: bearer
      type: http

````