Aghanim Stores API

The Stores API from Aghanim — 11 operation(s) for stores.

Operations 19

GET /v1/stores/store/{store_item_id} Get Store By Store Item #
GET /v1/stores Get Stores #
POST /v1/stores Create Store #
DELETE /v1/stores Bulk Delete Stores #
GET /v1/stores/{store_id} Get Store #
PUT /v1/stores/{store_id} Update Store #
DELETE /v1/stores/{store_id} Delete Store #
GET /v1/store_items/user/{user_id} Get User Store Items #
GET /v1/store_items/campaign/{campaign_id} Get Campaign Store Items #
GET /v1/store_items/report Get Virtual SKU Stat #
GET /v1/store_items/{store_id} Get Store Items #
POST /v1/store_items/{store_id} Create Store Item #
PATCH /v1/store_items/{store_id} Bulk Update Store Items #
DELETE /v1/store_items/{store_id} Bulk Delete Store Items #
GET /v1/store_items Get All Store Items #
POST /v1/store_items/{store_id}/batch Batch Create Store Item #
PUT /v1/store_items/{store_id}/{store_item_id} Update Store Item #
DELETE /v1/store_items/{store_id}/{store_item_id} Delete Store Item #
DELETE /v1/store_items/virtual/{store_item_id} Delete Virtual Store Item #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aghanim-stores-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aghanim-stores-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aghanim Server-to-Server Achievements Stores 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: Stores
paths:
  /v1/stores/store/{store_item_id}:
    get:
      tags:
      - Stores
      summary: Get Store By Store Item
      operationId: get_store_by_store_item
      security:
      - HTTPBearer: []
      parameters:
      - name: store_item_id
        in: path
        required: true
        schema:
          title: Store Item Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/stores:
    get:
      tags:
      - Stores
      summary: Get Stores
      operationId: get_stores
      security:
      - HTTPBearer: []
      parameters:
      - name: search_string
        in: query
        required: false
        schema:
          title: Search String
          type: string
      - 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 Stores
                type: array
                items:
                  $ref: '#/components/schemas/StoreReadStat'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Stores
      summary: Create Store
      operationId: create_store
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Create
              $ref: '#/components/schemas/StoreCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Stores
      summary: Bulk Delete Stores
      description: Deletes multiple stores.
      operationId: bulk_delete_stores
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Bulk Delete
              type: array
              items:
                $ref: '#/components/schemas/StoreBulkDelete'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/stores/{store_id}:
    get:
      tags:
      - Stores
      summary: Get Store
      operationId: get_store
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Stores
      summary: Update Store
      operationId: update_store
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Update
              $ref: '#/components/schemas/StoreUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Stores
      summary: Delete Store
      operationId: delete_store
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/user/{user_id}:
    get:
      tags:
      - Stores
      summary: Get User Store Items
      operationId: get_user_store_items
      security:
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          title: User Id
          type: string
      - 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 User Store Items
                type: array
                items:
                  $ref: '#/components/schemas/UserStoreItem'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/campaign/{campaign_id}:
    get:
      tags:
      - Stores
      summary: Get Campaign Store Items
      operationId: get_campaign_store_items
      security:
      - HTTPBearer: []
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          title: Campaign Id
          type: string
      - name: only_purchased
        in: query
        required: false
        schema:
          title: Only Purchased
          default: false
          type: boolean
      - 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 Campaign Store Items
                type: array
                items:
                  $ref: '#/components/schemas/VirtualStoreItemUser'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/report:
    get:
      tags:
      - Stores
      summary: Get Virtual SKU Stat
      operationId: get_virtual_sku_stat
      security:
      - HTTPBearer: []
      parameters:
      - name: campaign_id
        in: query
        required: false
        schema:
          title: Campaign Id
          type: string
      - name: user_id
        in: query
        required: false
        schema:
          title: User Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualSKUStat'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/{store_id}:
    get:
      tags:
      - Stores
      summary: Get Store Items
      operationId: get_store_items
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Get Store Items
                type: array
                items:
                  $ref: '#/components/schemas/StoreItemRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Stores
      summary: Create Store Item
      operationId: create_store_item
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Create
              $ref: '#/components/schemas/StoreItemCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreItemRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Stores
      summary: Bulk Update Store Items
      description: Updates multiple store items.
      operationId: bulk_update_store_items
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Bulk Update
              type: array
              items:
                $ref: '#/components/schemas/StoreItemBulkUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Bulk Update Store Items
                type: array
                items:
                  $ref: '#/components/schemas/StoreItemRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Stores
      summary: Bulk Delete Store Items
      description: Deletes multiple store items.
      operationId: bulk_delete_store_items
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Bulk Delete
              type: array
              items:
                $ref: '#/components/schemas/StoreItemBulkDelete'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items:
    get:
      tags:
      - Stores
      summary: Get All Store Items
      operationId: get_all_store_items
      security:
      - HTTPBearer: []
      parameters:
      - name: ids
        in: query
        required: false
        schema:
          title: Ids
          description: Optional comma separated list of ids
          type: string
        description: Optional comma separated list of ids
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Get All Store Items
                type: array
                items:
                  $ref: '#/components/schemas/StoreItemRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/{store_id}/batch:
    post:
      tags:
      - Stores
      summary: Batch Create Store Item
      operationId: batch_create_store_item
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Items Create
              $ref: '#/components/schemas/ItemsCreate'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/{store_id}/{store_item_id}:
    put:
      tags:
      - Stores
      summary: Update Store Item
      operationId: update_store_item
      security:
      - HTTPBearer: []
      parameters:
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      - name: store_item_id
        in: path
        required: true
        schema:
          title: Store Item Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Update
              $ref: '#/components/schemas/StoreItemUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreItemRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Stores
      summary: Delete Store Item
      operationId: delete_store_item
      security:
      - HTTPBearer: []
      parameters:
      - name: store_item_id
        in: path
        required: true
        schema:
          title: Store Item Id
          type: string
      - name: store_id
        in: path
        required: true
        schema:
          title: Store Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/store_items/virtual/{store_item_id}:
    delete:
      tags:
      - Stores
      summary: Delete Virtual Store Item
      operationId: delete_virtual_store_item
      security:
      - HTTPBearer: []
      parameters:
      - name: store_item_id
        in: path
        required: true
        schema:
          title: Store Item Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    SubscriptionOffer:
      properties:
        key:
          type: string
          title: Key
          description: The unique key of the offer
        name:
          type: string
          title: Name
          description: The display name of the offer
        description:
          type: string
          title: Description
          description: The description of the offer
        discount_percent:
          type: integer
          title: Discount Percent
          description: The discount percentage for the offer
        eligibility_rules:
          items:
            $ref: '#/components/schemas/SubscriptionOfferEligibility'
          type: array
          description: The list of eligibility rules for the offer
        grace_extension:
          type: integer
          title: Grace Extension
          description: The grace period extension in days
        trial_extension:
          type: integer
          title: Trial Extension
          description: The trial period extension in days
        activation_limits:
          type: integer
          title: Activation Limits
          description: The maximum number of times this offer can be activated
      type: object
      required:
      - key
      title: SubscriptionOffer
    TrialSettings:
      properties:
        model_type:
          type: string
          enum:
          - TrialSettings
          title: Model Type
          default: TrialSettings
        trial_text_mode:
          $ref: '#/components/schemas/TrialTextMode'
      type: object
      title: TrialSettings
    SubscriptionOfferEligibility:
      type: string
      enum:
      - new_acquisition
      - returning
      title: SubscriptionOfferEligibility
      description: An enumeration.
    NestedItem:
      properties:
        id:
          type: string
          title: Id
        count:
          type: integer
          title: Count
        sku:
          type: string
          title: SKU
        is_featured:
          type: boolean
          title: Is Featured
        meta:
          type: object
          title: Meta
        image_url:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Image Url
        view_type:
          $ref: '#/components/schemas/NestedItemViewType'
      type: object
      title: NestedItem
    StoreUpdate:
      properties:
        name:
          type: string
          title: Name
          description: The name of the store, used for display purposes.
          nullable: true
        description:
          type: string
          title: Description
          description: The description of the store, such as its purpose, features, or additional details.
          nullable: true
        key:
          type: string
          title: Key
          description: The key of the store.
          nullable: true
        type:
          description: The type of the store (e.g., special, rotating, limited stock).
          nullable: true
          $ref: '#/components/schemas/StoreType'
        rotation_settings:
          title: Rotation Settings
          description: The configuration options for the rotating store type, such as how often the assortment is refreshed.
          nullable: true
          $ref: '#/components/schemas/RotationSettings'
        limited_stock_settings:
          title: Limited Stock Settings
          description: The configuration options for the limited stock store type, including purchase limits or stock availability rules.
          nullable: true
          $ref: '#/components/schemas/LimitedStockSettings'
        settings:
          title: Settings
          nullable: true
          $ref: '#/components/schemas/StoreSettings'
        start_at:
          type: integer
          title: Start At
          description: The start time of the store in Unix timestamp (seconds) when it becomes available to users.
          nullable: true
        end_at:
          type: integer
          title: End At
          description: The end time of the store in Unix timestamp (seconds) when it closes and is no longer accessible.
          nullable: true
      type: object
      title: StoreUpdate
    StoreItemBulkDelete:
      properties:
        id:
          type: string
          title: Id
      type: object
      required:
      - id
      title: StoreItemBulkDelete
    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
    VCPriceSource:
      type: string
      enum:
      - local_price
      - base_price
      title: VCPriceSource
      description: An enumeration.
    Token:
      properties:
        type:
          $ref: '#/components/schemas/TokenType'
        value:
          title: Value
      type: object
      required:
      - type
      title: Token
    StoreItemBulkUpdate:
      properties:
        discount_percent:
          type: integer
          title: Discount Percent
          nullable: true
        bonus_percent:
          type: integer
          title: Bonus Percent
          nullable: true
        bonus_fixed:
          type: integer
          title: Bonus Fixed
          description: The user will receive a fixed quantity of the item.
          nullable: true
        position:
          type: integer
          title: Position
          nullable: true
        name:
          type: string
          title: Name
          nullable: true
        description:
          type: string
          title: Description
          nullable: true
        image_url:
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
          title: Image Url
          nullable: true
        max_purchases:
          type: integer
          title: Max Purchases
          nullable: true
        global_max_purchases:
          type: integer
          title: Global Max Purchases
          nullable: true
        requirements_expression:
          title: Requirements Expression
          nullable: true
          $ref: '#/components/schemas/Expression'
        requirements_mismatch_behavior:
          nullable: true
          $ref: '#/components/schemas/RequirementsMismatchBehavior'
        custom_badge:
          type: string
          maxLength: 100
          title: Custom Badge
          description: The custom badge for the item
          nullable: true
        start_at:
          type: integer
          title: Start At
          nullable: true
        end_at:
          type: integer
          title: End At
          nullable: true
        min_amount:
          type: integer
          title: Min Amount
          nullable: true
        reward_points_percent:
          type: number
          title: Reward Points Percent
          nullable: true
        reward_points_fixed:
          type: integer
          title: Reward Points Fixed
          nullable: true
        loyalty_points_percent:
          type: integer
          title: Loyalty Points Percent
          nullable: true
        loyalty_points_fixed:
          type: integer
          title: Loyalty Points Fixed
          nullable: true
        reward_settings:
          title: Reward Settings
          nullable: true
          $ref: '#/components/schemas/ItemRewardSettings'
        payment_bound:
          title: Payment Bound
          nullable: true
          $ref: '#/components/schemas/StoreItemPaymentSettings'
        is_free_item:
          type: boolean
          title: Is Free Item
        rotation_weight:
          type: integer
          maximum: 1000.0
          minimum: 0.0
          title: Rotation Weight
          nullable: true
        max_reward_points_percent:
          type: integer
          title: Max Reward Points Percent
          nullable: true
        max_purchases_period_type:
          nullable: true
          $ref: '#/components/schemas/PeriodType'
        max_purchases_period_value:
          type: integer
          minimum: 0.0
          title: Max Purchases Period Value
          nullable: true
        max_purchases_limit_type:
          description: For 'global' limit all users will have the same timer based on max_purchases_period_value.For 'personal' limit each user will have their own timer based on max_purchases_period_value.
          nullable: true
          $ref: '#/components/schemas/MaxPurchaseLimitPeriodType'
        show_disabled_by_max_purchases:
          type: boolean
          title: Show Disabled By Max Purchases
          nullable: true
        card_type:
          nullable: true
          $ref: '#/components/schemas/StoreCardType'
        show_first_on_category_list:
          type: boolean
          title: Show First On Category List
          nullable: true
        bonus_item_id:
          type: string
          title: Bonus Item Id
          deprecated: true
          nullable: true
        bonus_item_quantity:
          type: integer
          title: Bonus Item Quantity
          description: The fixed quantity of the bonus item
          deprecated: true
          nullable: true
        bonus_item_percent:
          type: integer
          minimum: 0.0
          title: Bonus Item Percent
          description: The user will receive a quantity equivalent to the set percentage of the total USD (in cents) purchase.
          deprecated: true
          nullable: true
        bonus_items_settings:
          title: Bonus Items Settings
          description: The bonus settings for the item, including bonus items and their quantities.
          nullable: true
          $ref: '#/components/schemas/ItemBonusSettings'
        bonus_badge:
          type: string
          title: Bonus Badge
          description: Custom text for bonus badge
          nullable: true
        subscription_settings:
          title: Subscription Settings
          description: The subscription settings for the item
          nullable: true
          $ref: '#/components/schemas/StoreItemSubscriptionSettings'
        price:
          type: integer
          title: Price
          nullable: true
        price_point:
          type: integer
          maximum: 5000000.0
          exclusiveMinimum: 0.0
          title: Price Point
          nullable: true
        price_template_id:
          type: string
          title: Price Template Id
          nullable: true
        quantity:
          type: integer
          maximum: 1e+18
          minimum: 1.0
          title: Quantity
          nullable: true
        id:
          type: string
          title: Id
          description: The unique identifier of the item
      type: object
      required:
      - id
      title: StoreItemBulkUpdate
    StoreItemUpdate:
      properties:
        discount_percent:
          type: integer
          title: Discount Percent
          nullable: true
        bonus_percent:
          type: integer
          title: Bonus Percent
          nullable: true
        bonus_fixed:
          type: integer
          title: Bonus Fixed
          description: The user will receive a fixed quantity of the item.
          nullable: true
  

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