---
title: "Get User Coupons"
method: GET
path: "/v1/coupons/user/{user_id}"
tags: ["Coupons"]
---

# Get User Coupons

`GET /v1/coupons/user/{user_id}`

## Path parameters

- `user_id` string, required

## Query parameters

- `limit` integer — A limit on the number of objects to be returned
- `offset` integer — The number of objects to skip

## Response `200`

Successful Response

- UserCouponRead[]
  - `free_items` CouponFreeItems — API wrapper for the `free_items` JSONB column, mirroring the storage shape.
    - `items` CouponFreeItem[] — Items granted when the coupon is redeemed
      - `item_id` string, required — The item ID to grant when the coupon is redeemed
      - `quantity` integer, required — Quantity granted when the coupon is redeemed
  - `discount_percent` integer — The discount percent for the coupon
  - `bonus_percent` integer — The bonus percent for the coupon
  - `bonus_fixed` integer, nullable — The fixed bonus amount for the coupon
  - `discount_amount_usd` integer — The discount amount in USD for the coupon
  - `requirements_expression` Expression
    - `tokens` Token[]
      - `type` 'attribute' | 'custom_attribute' | 'event_attribute' | 'custom_event_attribute' | 'operator' | 'number' | 'date' | 'string' | 'boolean' | 'list' | 'variable' | 'virtual_currency', required
      - `value` unknown
    - `variables` MathExpression[]
      - `tokens` Token[]
        - `type` 'attribute' | 'custom_attribute' | 'event_attribute' | 'custom_event_attribute' | 'operator' | 'number' | 'date' | 'string' | 'boolean' | 'list' | 'variable' | 'virtual_currency', required
        - `value` unknown
      - `name` string, required
  - `expires_at` integer — The expiration date of the coupon
  - `applicable_item_ids` string[] — The applicable item IDs
  - `category_id` string — The coupon category ID
  - `min_amount` integer — Require a minimum order amount to apply the coupon
  - `max_redemptions` integer — Limit the number of times this code can be redeemed
  - `max_redemptions_per_user` integer — Limit the number of times a user can redeem the coupon
  - `is_stackable_with_bonus_coupons` boolean — Allow stacking with bonus coupons
  - `stackable_bonus_limit_percent` integer — Limit the bonus percent when stacking with bonus coupons
  - `is_stackable_with_discount_coupons` boolean — Allow stacking with discount coupons
  - `stackable_discount_limit_percent` integer — Limit the discount percent when stacking with discount coupons
  - `store_item_discount_limit_percent` integer — Limit the combined store item and coupon discount percent
  - `store_item_bonus_limit_percent` integer — Limit the combined store item and coupon bonus percent
  - `start_at` integer — The timestamp when the coupon becomes valid
  - `end_at` integer — The timestamp when the coupon ceases to be valid
  - `player_ids` string[] — The player IDs that can redeem the coupon
  - `exclude_player_ids` string[] — The player IDs that cannot redeem the coupon
  - `name` string, required — The name of the coupon
  - `code` string, required — The code of the coupon
  - `type` 'bonus' | 'discount' | 'free_item' | 'vc' | 'non_benefit' | 'discount_fixed' | 'discount_reward_point', required — An enumeration.
  - `id` string, required — The unique identifier of the coupon
  - `creator_program` CreatorProgramBase
    - `creator_id` string, required — The creator ID
    - `reward` integer, required — The reward for the coupon
    - `verbal_terms` string, required — The verbal terms for the creator program
    - `message` string, required — The message for the creator program
    - `inherits_from_tier` boolean — When true, revenue share is taken from the creator's current tier instead of `reward`.
  - `current_balance_usd` integer — The current balance in USD for fixed discount coupon type
  - `items` ItemRead[] — All items granted by the coupon, in the same order as `free_items.items`.
    - `name` string, required — The name of the item
    - `description` string, nullable — The description of the item
    - `highlights` Highlights
      - `title` string
      - `description` string
      - `items` HighlightItem[], required
        - `image_url` string
        - `name` string
        - `description` string
    - `price` integer — The price of the item in minor [currency units](https://docs.aghanim.com/currencies/). The system will automatically adjust this to the closest available price point. If you want to set a specific price point, use `price_template_id` instead.
    - `price_point` integer — The price point for local prices `DEPRECATED`
    - `price_template_id` string — The ID of the price template
    - `reward_points_price` integer — The reward points price for local prices
    - `currency` 'USD' | 'EUR' | 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XCG' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' | 'RP' | 'VC', required
    - `sku` string, required — The SKU of the item
    - `image_url` union — The URL of the image for the item
      - string, uri
      - ''
    - `image_url_apple` string, uri — The Apple-specific URL of the image for the item
    - `icon_url` union — The URL of the icon for the item
      - string, uri
      - ''
    - `icon_url_apple` string, uri — The Apple-specific URL of the icon for the item
    - `image_url_featured` union — The URL of the image for the item in the featured card
      - string, uri
      - ''
    - `image_url_featured_apple` string, uri — The Apple-specific URL of the image for the item in the featured card
    - `background_image_url` union — The URL of the background image for the item
      - string, uri
      - ''
    - `background_image_url_apple` string, uri — The Apple-specific URL of the background image for the item
    - `background_image_color` string — The color of the background image for the item
    - `featured_card_background_image_url` union — The URL of the featured card background image for the item
      - string, uri
      - ''
    - `featured_card_background_image_url_apple` string, uri — The Apple-specific URL of the featured card background image for the item
    - `type` 'item' | 'currency' | 'bundle' | 'lootbox' | 'subscription' | 'virtual_currency', required
    - `view_option` 'default' | 'skeleton'
    - `quantity` integer — The quantity of the item
    - `is_stackable` boolean, required — Whether the item is stackable
    - `is_currency` boolean, required — Whether the item is a currency.
    - `position` integer — Position of the item in list
    - `categories` string[] — The list of category IDs
    - `duration` integer — Item's in-game action in seconds
    - `enable_reward_points_redemption` boolean — Allows using Reward Points on purchase
    - `nested_items` NestedItem[] — The child items of the bundle
      - `id` string
      - `count` integer
      - `sku` string
      - `is_featured` boolean
      - `meta` object
      - `image_url` string, uri
      - `view_type` 'separated'
    - `id` string, required — The unique identifier of the item
    - `properties` ItemPropertyRelationRead[] — The item properties
      - `property_id` string, required
      - `data` ItemPropertyRelationData
        - `value` union
          - number
          - integer
          - string
      - `position` integer, required
      - `id` string, required
      - `item_id` string, required
      - `item_property` ItemPropertyRead, required
        - `name` string, required — The name of the property
        - `description` string — The description of the property
        - `icon_url` union — The URL of the icon for the property
          - string, uri
          - ''
        - `config` union, required — The config of the property
          - ItemPropertyConfigRange
            - `property_type` 'range'
            - `max` integer, required
            - `min` integer
          - ItemPropertyConfigNumber
            - `property_type` 'number'
          - ItemPropertyConfigString
            - `property_type` 'string'
        - `id` string, required — The unique identifier of the property
    - `source` 'order' | 'bonus' | 'bundle' | 'coupon' | 'lootbox' | 'free_item' | 'liveops' | 'daily_reward' | 'loyalty_reward' | 'progression_program' | 'rolling_offer' | 'pick_one_offer'
    - `rarity_id` string — The rarity id of the item
    - `item_rarity` ItemRarityRead
      - `name` string, required — Name of the item rarity
      - `color_background_badge` string — Background color of the badge with this rarity
      - `id` string, required
    - `discount_percent` integer — The discount percent for the item
    - `bonus_percent` integer — The bonus percent for the item
    - `is_custom` boolean
    - `created_at` number, required — The timestamp of when the item was created
    - `modified_at` number — The timestamp of when the item was modified
    - `archived_at` number — The timestamp of when the item was archived
    - `price_minor_unit` integer
    - `price_decimal` number
    - `fallback_item_id` string — The item that will be given as fallback if the main item can't be given to the player
    - `fallback_item_quantity` integer — The quantity of the fallback item
    - `meta` object
    - `model_type` 'ItemRead'
    - `nested_items_read` ItemRead[]
    - `fallback_item` ItemRead — recursive
    - `comment` string — Internal comment for this item
    - `is_system` boolean, nullable — If true, this item will be skipped when sending webhooks
  - `redeemed_at` integer
  - `order_item_id` string

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/aghanim/apis/aghanim-server-to-server-api.md) · [All operations](https://skmtc.net/aghanim/apis/aghanim-server-to-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aghanim/aghanim-server-to-server-api/versions/0c1b4ac1865b/schema)
