Aghanim Daily Rewards API

The Daily Rewards API from Aghanim — 3 operation(s) for daily rewards.

OpenAPI Specification

aghanim-daily-rewards-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Aghanim Server-to-Server Achievements Daily Rewards API
  description: "The Aghanim Server-to-Server API is designed for **backend server integrations only**. Use this API when you need to automate game hub updates from your server-side applications.\n\n\n## OpenAPI Specification\n\nYou can download the [OpenAPI](https://www.openapis.org/) specification for this API at the following link:\n[docs.aghanim.com/openapi.json](https://docs.aghanim.com/openapi.json).\n\n## Changelog\n\nSee the [S2S API Changelog](https://docs.aghanim.com/s2s-api/changelog/) for a history of changes to this API.\n\n## Authentication\n\nAghanim supports two methods of authentication: **Bearer token** and **Basic authentication**.\n\nTo authenticate, you will need your API key, which can be retrieved from\nthe Aghanim Dashboard → [**Game → Integration → API Keys**](https://dashboard.aghanim.com/go/integration/api-keys).\n\n**⚠️ Security Notice**: The S2S API key is **secret** and must be kept secure on your server. Never expose the S2S API key in client-side code, mobile apps, or any public-facing applications.\n\n### Bearer Token Authentication\n\nUse the Bearer method by including an `Authorization` header with the word `Bearer`\nfollowed by your API key. The `Authorization` header in your HTTP request should look like this: `Authorization: Bearer API_KEY`\n\n### Basic Authentication\n\nAlternatively, you can authenticate using Basic authentication. Your API key is used\nas the `username`, and the `password` should be left empty. Send an `Authorization`\nheader with the word `Basic` followed by a base64-encoded string\nin the format `API_KEY:` (note the colon at the end).\n\nThe `Authorization` header should look like this: `Authorization: Basic ZGVtbzpwQDU1dzByZA==`\n\n## Error Codes\n\nAghanim employs standard HTTP response codes to denote the success or failure of an API request.\nBelow is a table detailing error codes.\n\n| Code | Description |\n| ---- | ----------- |\n| 200  | OK          |\n| 400  | Bad request |\n| 401  | Not authenticated |\n| 403  | Not authorized |\n| 404  | Resource not found |\n| 409  | Conflict. Request conflicts with current state of resource |\n| 422  | Validation error |\n| 429  | Too many requests. Rate limit exceeded |\n| 503  | Server unavailable |\n\n### Generic error schema\n\n```json\n{\n  \"detail\": \"string\"\n}\n```\n\n### Validation error schema\n\n```json\n{\n  \"detail\": [\n    {\n      \"loc\": [\n        \"string\",\n        0\n      ],\n      \"msg\": \"string\",\n      \"type\": \"string\"\n    }\n  ]\n}\n```\n\n## Rate Limits\n\nThe Aghanim API has rate limiting in place to avoid overloading and to ensure it remains stable.\nThe allowable rate of requests is capped at 1,000 per minute for every game.\nGame developers who exceed this limit will receive a 429 error code.\n\nTo increase the rate limit, please contact us via [integration@aghanim.com](mailto:integration@aghanim.com).\n\n## Pagination\n\nIn the Aghanim API, pagination is managed through the use of the `limit` and `offset` query parameters.\nThese parameters allow to fine-tune your data retrieval requests by specifying:\n\n- `limit`: the number of records to be returned in a single request.\n- `offset`: indicates the number of records to skip from the start of the dataset.\n"
  contact:
    name: Aghanim
    email: integration@aghanim.com
  version: 2026.07.14
servers:
- url: https://api.aghanim.com/s2s
  description: Production
tags:
- name: Daily Rewards
paths:
  /v1/daily_rewards:
    get:
      tags:
      - Daily Rewards
      summary: Get Daily Rewards
      operationId: get_daily_rewards
      security:
      - HTTPBearer: []
      parameters:
      - name: q
        in: query
        required: false
        schema:
          title: Q
          type: string
      - name: type
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/DailyRewardType'
      - name: limit
        in: query
        required: false
        schema:
          title: Limit
          description: A limit on the number of objects to be returned
          default: 10
          type: integer
        description: A limit on the number of objects to be returned
      - name: offset
        in: query
        required: false
        schema:
          title: Offset
          description: The number of objects to skip
          type: integer
        description: The number of objects to skip
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Get Daily Rewards
                type: array
                items:
                  $ref: '#/components/schemas/DailyRewardRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Daily Rewards
      summary: Create Daily Reward
      operationId: create_daily_reward
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Create
              $ref: '#/components/schemas/DailyRewardCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyRewardRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/daily_rewards/{daily_reward_id}:
    get:
      tags:
      - Daily Rewards
      summary: Get Daily Reward
      operationId: get_daily_reward
      security:
      - HTTPBearer: []
      parameters:
      - name: daily_reward_id
        in: path
        required: true
        schema:
          title: Daily Reward Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyRewardRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Daily Rewards
      summary: Update Daily Reward
      operationId: update_daily_reward
      security:
      - HTTPBearer: []
      parameters:
      - name: daily_reward_id
        in: path
        required: true
        schema:
          title: Daily Reward Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Update
              $ref: '#/components/schemas/DailyRewardUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyRewardRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Daily Rewards
      summary: Delete Daily Reward
      operationId: delete_daily_reward
      security:
      - HTTPBearer: []
      parameters:
      - name: daily_reward_id
        in: path
        required: true
        schema:
          title: Daily Reward Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/daily_rewards/{daily_reward_id}/copy:
    post:
      tags:
      - Daily Rewards
      summary: Copy Daily Reward
      operationId: copy_daily_reward
      security:
      - HTTPBearer: []
      parameters:
      - name: daily_reward_id
        in: path
        required: true
        schema:
          title: Daily Reward Id
          type: string
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyRewardRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DayRewardRead:
      properties:
        day_number:
          type: integer
          exclusiveMinimum: 0.0
          title: Day Number
        items:
          items:
            $ref: '#/components/schemas/NestedItem'
          type: array
          maxItems: 10
          minItems: 1
          title: Items
        items_read:
          items:
            $ref: '#/components/schemas/RewardItem'
          type: array
          title: Items Read
      type: object
      required:
      - day_number
      - items
      - items_read
      title: DayRewardRead
    RewardsSettingsRead:
      properties:
        daily_rewards:
          items:
            $ref: '#/components/schemas/DayRewardRead'
          type: array
          title: Daily Rewards
        extra_reward_items:
          items:
            $ref: '#/components/schemas/NestedItem'
          type: array
          title: Extra Reward Items
        claim_mode:
          default: inline
          $ref: '#/components/schemas/DailyRewardClaimMode'
        extra_reward_items_read:
          items:
            $ref: '#/components/schemas/RewardItem'
          type: array
          title: Extra Reward Items Read
      type: object
      required:
      - daily_rewards
      title: RewardsSettingsRead
    VirtualCurrencySettings:
      properties:
        rate:
          type: number
          exclusiveMinimum: 0.0
          title: Rate
          default: 1.0
        enabled_for_checkout:
          type: boolean
          title: Enabled For Checkout
          default: false
        reward_active:
          type: boolean
          title: Reward Active
          default: false
        reward_percentage:
          type: number
          minimum: 0.0
          title: Reward Percentage
          default: 0.0
        excluded_sales_channels:
          items:
            $ref: '#/components/schemas/OrderSourceType'
          type: array
        price_source:
          default: local_price
          $ref: '#/components/schemas/VCPriceSource'
        allow_non_secure_auth:
          type: boolean
          title: Allow Non Secure Auth
          default: false
      type: object
      title: VirtualCurrencySettings
    RewardItem:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        duration:
          type: integer
          title: Duration
        quantity:
          type: integer
          title: Quantity
        is_stackable:
          type: boolean
          title: Is Stackable
        icon_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Icon Url
        image_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Image Url
        type:
          $ref: '#/components/schemas/ItemType'
        background_image_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Background Image Url
        properties:
          items:
            $ref: '#/components/schemas/ItemPropertyRelationRead'
          type: array
          title: Properties
        archived_at:
          type: integer
          title: Archived At
        nested_items_read:
          items:
            anyOf:
            - $ref: '#/components/schemas/PublicItemRead'
            - $ref: '#/components/schemas/PublicLootboxRead'
            - $ref: '#/components/schemas/PublicSubscriptionRead'
            - $ref: '#/components/schemas/PublicVirtualCurrencyRead'
          type: array
          title: Nested Items Read
        highlights:
          $ref: '#/components/schemas/Highlights'
      type: object
      required:
      - id
      - name
      - quantity
      - is_stackable
      - type
      - properties
      title: RewardItem
    TrialSettings:
      properties:
        model_type:
          type: string
          enum:
          - TrialSettings
          title: Model Type
          default: TrialSettings
        trial_text_mode:
          $ref: '#/components/schemas/TrialTextMode'
      type: object
      title: TrialSettings
    PeriodType:
      type: string
      enum:
      - year
      - month
      - week
      - day
      - hour
      - minute
      - second
      title: PeriodType
    ItemSource:
      type: string
      enum:
      - order
      - bonus
      - bundle
      - coupon
      - lootbox
      - free_item
      - liveops
      - daily_reward
      - loyalty_reward
      - progression_program
      - rolling_offer
      - pick_one_offer
      title: ItemSource
      description: An enumeration.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ItemRarityRead:
      properties:
        name:
          type: string
          maxLength: 255
          title: Name
          description: Name of the item rarity
        color_background_badge:
          type: string
          title: Color Background Badge
          description: Background color of the badge with this rarity
        id:
          type: string
          title: Id
      type: object
      required:
      - name
      - id
      title: ItemRarityRead
    PitySettings:
      properties:
        steps:
          items:
            $ref: '#/components/schemas/PityStep'
          type: array
          minItems: 1
          title: Steps
        repeat_last:
          type: boolean
          title: Repeat Last
          default: true
      type: object
      required:
      - steps
      title: PitySettings
    Currency:
      type: string
      enum:
      - 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
      title: Currency
    LootboxGroup:
      properties:
        id:
          type: string
          title: Id
        weight:
          type: integer
          maximum: 1000000.0
          minimum: 0.0
          title: Weight
        name:
          type: string
          title: Name
        nested_items:
          items:
            anyOf:
            - $ref: '#/components/schemas/LootboxGroup'
            - $ref: '#/components/schemas/LootboxNestedItem'
          type: array
          title: Nested Items
        model_type:
          type: string
          enum:
          - LootboxGroup
          title: Model Type
          default: LootboxGroup
      type: object
      required:
      - id
      - weight
      - name
      - nested_items
      title: LootboxGroup
    LootboxSettings:
      properties:
        groups:
          items:
            oneOf:
            - $ref: '#/components/schemas/LootboxGroup'
            - $ref: '#/components/schemas/LootboxNestedItem'
            discriminator:
              propertyName: model_type
              mapping:
                LootboxGroup: '#/components/schemas/LootboxGroup'
                LootboxNestedItem: '#/components/schemas/LootboxNestedItem'
          type: array
          title: Groups
        claim_video_url:
          type: string
          title: Claim Video Url
        claimed_video_url:
          type: string
          title: Claimed Video Url
        claim_video_url_mov:
          type: string
          title: Claim Video Url Mov
        claimed_video_url_mov:
          type: string
          title: Claimed Video Url Mov
        view_type:
          default: default
          $ref: '#/components/schemas/LootboxViewType'
        pity:
          $ref: '#/components/schemas/PitySettings'
      type: object
      required:
      - groups
      title: LootboxSettings
    Token:
      properties:
        type:
          $ref: '#/components/schemas/TokenType'
        value:
          title: Value
      type: object
      required:
      - type
      title: Token
    LootboxGroupRead:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        weight:
          type: integer
          title: Weight
        nested_items:
          anyOf:
          - items:
              $ref: '#/components/schemas/LootboxGroupRead'
            type: array
          - items:
              $ref: '#/components/schemas/LootboxNestedItemRead'
            type: array
          title: Nested Items
      type: object
      required:
      - id
      - name
      - weight
      - nested_items
      title: LootboxGroupRead
    ItemType:
      type: string
      enum:
      - item
      - currency
      - bundle
      - lootbox
      - subscription
      - virtual_currency
      title: ItemType
      description: An enumeration.
    PublicSubscriptionPlan:
      properties:
        key:
          type: string
          title: Key
        name:
          type: string
          title: Name
        billing_cycle:
          $ref: '#/components/schemas/SubscriptionBillingCycle'
        renewal_type:
          $ref: '#/components/schemas/SubscriptionRenewalType'
        type:
          $ref: '#/components/schemas/SubscriptionPlanType'
        price:
          type: integer
          title: Price
        price_point:
          type: integer
          title: Price Point
        price_after_discount:
          type: integer
          title: Price After Discount
        price_after_discount_usd:
          type: integer
          title: Price After Discount USD
        price_template_id:
          type: string
          title: Price Template Id
        currency:
          $ref: '#/components/schemas/Currency'
        grace_period:
          type: integer
          title: Grace Period
        grace_mode:
          $ref: '#/components/schemas/SubscriptionGraceMode'
        trial_period:
          type: integer
          title: Trial Period
        account_lock_duration:
          type: integer
          title: Account Lock Duration
        change_payment_mode:
          type: boolean
          title: Change Payment Mode
        is_downgrade_supported:
          type: boolean
          title: Is Downgrade Supported
        is_pause_allowed:
          type: boolean
          title: Is Pause Allowed
        is_reactivation_allowed:
          type: boolean
          title: Is Reactivation Allowed
        benefits:
          items:
            type: string
          type: array
          title: Benefits
        nested_items:
          items:
            $ref: '#/components/schemas/NestedItem'
          type: array
          title: Nested Items
        nested_items_read:
          items:
            $ref: '#/components/schemas/PublicItemRead'
          type: array
          title: Nested Items Read
        discount_percent:
          type: integer
          title: Discount Percent
      type: object
      required:
      - key
      - name
      - billing_cycle
      - renewal_type
      - type
      - currency
      - is_downgrade_supported
      - is_pause_allowed
      - is_reactivation_allowed
      title: PublicSubscriptionPlan
    CTAButtonTextSettings:
      properties:
        model_type:
          type: string
          enum:
          - CTAButtonTextSettings
          title: Model Type
          default: CTAButtonTextSettings
        text:
          $ref: '#/components/schemas/CTAButtonTextType'
      type: object
      required:
      - text
      title: CTAButtonTextSettings
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PublicLootboxRead:
      properties:
        name:
          type: string
          maxLength: 255
          title: Name
          description: The name of the item
        description:
          type: string
          maxLength: 512
          title: Description
          description: The description of the item
          nullable: true
        highlights:
          title: Highlights
          description: Localized benefit descriptions shown for the item
          nullable: true
          $ref: '#/components/schemas/Highlights'
        price:
          type: integer
          title: Price
          description: 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:
          type: integer
          maximum: 5000000.0
          exclusiveMinimum: 0.0
          title: Price Point
          description: The price point for local prices `DEPRECATED`
        price_template_id:
          type: string
          title: Price Template Id
          description: The ID of the price template
        reward_points_price:
          type: integer
          title: Reward Points Price
          description: The reward points price for local prices
        currency:
          description: The currency of the item
          $ref: '#/components/schemas/Currency'
        sku:
          type: string
          maxLength: 255
          title: SKU
          description: The SKU of the item
          unique: true
        image_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Image Url
          description: The URL of the image for the item
        image_url_apple:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Image Url Apple
          description: The Apple-specific URL of the image for the item
          deprecated: true
        icon_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Icon Url
          description: The URL of the icon for the item
        icon_url_apple:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Icon Url Apple
          description: The Apple-specific URL of the icon for the item
          deprecated: true
        image_url_featured:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Image Url Featured
          description: The URL of the image for the item in the featured card
        image_url_featured_apple:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Image Url Featured Apple
          description: The Apple-specific URL of the image for the item in the featured card
          deprecated: true
        background_image_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Background Image Url
          description: The URL of the background image for the item
        background_image_url_apple:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Background Image Url Apple
          description: The Apple-specific URL of the background image for the item
          deprecated: true
        background_image_color:
          type: string
          title: Background Image Color
          description: The color of the background image for the item
        featured_card_background_image_url:
          anyOf:
          - type: string
            maxLength: 65536
            minLength: 1
            format: uri
          - type: string
            enum:
            - ''
          title: Featured Card Background Image Url
          description: The URL of the featured card background image for the item
        featured_card_background_image_url_apple:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Featured Card Background Image Url Apple
          description: The Apple-specific URL of the featured card background image for the item
          deprecated: true
        type:
          description: The type of the item
          $ref: '#/components/schemas/ItemType'
        view_option:
          description: Controls the store appearance of the item
          default: default
          $ref: '#/components/schemas/ItemViewOption'
        quantity:
          type: integer
          maximum: 1e+18
          minimum: 1.0
          title: Quantity
          description: The quantity of the item
          default: 1
        is_stackable:
          type: boolean
          title: Is Stackable
          description: Whether the item is stackable
        is_currency:
          type: boolean
          title: Is Currency
          description: Whether the item is a currency.
        position:
          type: integer
          title: Position
          description: Position of the item in list
        categories:
          items:
            type: string
          type: array
          title: Categories
          description: The list of category IDs
        duration:
          type: integer
          title: Duration
          description: Item's in-game action in seconds
        enable_reward_points_redemption:
          type: boolean
          title: Enable Reward Points Redemption
          description: Allows using Reward Points on purchase
        lootbox_settings:
          title: Lootbox Settings
          description: The settings of the lootbox
          $ref: '#/components/schemas/LootboxSettings'
        id:
          type: string
          title: Id
          description: The unique identifier of the lootbox
        model_type:
          type: string
          enum:
          - PublicLootboxRead
          title: Model Type
          default: PublicLootboxRead
        groups:
          items:
            anyOf:
            - $ref: '#/components/schemas/LootboxGroupRead'
            - $ref: '#/components/schemas/LootboxNestedItemRead'
          type: array
          title: Groups
          description: Groups with nested elements that can be dropped
        attempts_count:
          type: integer
          title: Attempts Count
          description: The number of attempts to open this lootbox
          default: 0
      type: object
      required:
      - name
      - currency
      - sku
      - type
      - is_stackable
      - is_currency
      - lootbox_settings
      - id
      title: PublicLootboxRead
    DayReward:
      properties:
        day_number:
          type: integer
          exclusiveMinimum: 0.0
          title: Day Number
        items:
          items:
            $ref: '#/components/schemas/NestedItem'
          type: array
          maxItems: 10
          minItems: 1
          title: Items
      type: object
      required:
      - day_number
      - items
      title: DayReward
    Expression:
      properties:
        tokens:
          items:
            $ref: '#/components/schemas/Token'
          type: array
          title: Tokens
        variables:
          items:
            $ref: '#/components/schemas/MathExpression'
          type: array
          title: Variables
      type: object
      title: Expression
    DailyRewardClaimMode:
      type: string
      enum:
      - modal
      - inline
      title: DailyRewardClaimMode
      description: Controls the way the reward is claimed on hub.
    TrialTextMode:
      type: string
      enum:
      - start_free_trial
      - try_free_for_n_days
      title: TrialTextMode
      description: An enumeration.
    SubscriptionBillingCycle:
      properties:
        period_type:
          description: The type of billing period (year, month, week, day)
          $ref: '#/components/schemas/PeriodType'
        period_value:
          type: integer
          title: Period Value
          description: The number of periods in a billing cycle
      type: object
      required:
      - period_type
      - period_value
      title: SubscriptionBillingCycle
    LootboxNestedItemRead:
      properties:
        name:
          type: string
          title: Name
          description: The name of the item
        description:
          type: string
          title: Description
          description: The description of the item
        highlights:
          title: Highlights
          description: Localized benefit descriptions shown for the item
          nullable: true
          $ref: '#/components/schemas/Highlights'
        price:
          type: integer
          title: Price
          description: 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:
          type: integer
          maximum: 5000000.0
          exclusiveMinimum: 0.0
          title: Price Point
          description: The price point for local prices `DEPRECATED`
        price_template_id:
          type: string
          title: Price Template Id
          description: The ID of the price template
        reward_points_price:
          type: integer
          title: Reward Points Price
          description: The

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aghanim/refs/heads/main/openapi/aghanim-daily-rewards-api-openapi.yml