Aghanim Segmentation API

The Segmentation API from Aghanim — 5 operation(s) for segmentation.

OpenAPI Specification

aghanim-segmentation-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Aghanim Server-to-Server Achievements Segmentation 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: Segmentation
paths:
  /v1/segment_groups/{segment_group_id}:
    get:
      tags:
      - Segmentation
      summary: Get Segment Group
      operationId: get_segment_group
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_group_id
        in: path
        required: true
        schema:
          title: Segment Group Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentGroupRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Segmentation
      summary: Update Segment Group
      operationId: update_segment_group
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_group_id
        in: path
        required: true
        schema:
          title: Segment Group Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Update
              $ref: '#/components/schemas/SegmentGroupUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Update Segment Group
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Segmentation
      summary: Delete Segment Group
      operationId: delete_segment_group
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_group_id
        in: path
        required: true
        schema:
          title: Segment Group Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/segment_groups/{segment_group_id}/graph:
    get:
      tags:
      - Segmentation
      summary: Get Segment Group Graph
      operationId: get_segment_group_graph
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_group_id
        in: path
        required: true
        schema:
          title: Segment Group Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Get Segment Group Graph
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/segment_groups:
    get:
      tags:
      - Segmentation
      summary: Get Segment Groups
      operationId: get_segment_groups
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SegmentGroupReadStat'
                type: array
                title: Response Get Segment Groups
      security:
      - HTTPBearer: []
    post:
      tags:
      - Segmentation
      summary: Create Segment Group
      operationId: create_segment_group
      requestBody:
        content:
          application/json:
            schema:
              title: Create
              $ref: '#/components/schemas/SegmentGroupCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentGroupRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /v1/segments/{segment_id}:
    get:
      tags:
      - Segmentation
      summary: Get Segment
      operationId: get_segment
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_id
        in: path
        required: true
        schema:
          title: Segment Id
          type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Segmentation
      summary: Update Segment
      operationId: update_segment
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_id
        in: path
        required: true
        schema:
          title: Segment Id
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                title: Response Update Segment
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Segmentation
      summary: Delete Segment
      operationId: delete_segment
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_id
        in: path
        required: true
        schema:
          title: Segment Id
          type: string
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/segments:
    get:
      tags:
      - Segmentation
      summary: Get Segments
      operationId: get_segments
      security:
      - HTTPBearer: []
      parameters:
      - name: segment_group_id
        in: query
        required: false
        schema:
          title: Segment Group 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:
                type: array
                items:
                  $ref: '#/components/schemas/SegmentRead'
                title: Response Get Segments
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Segmentation
      summary: Create Segment
      operationId: create_segment
      security:
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    CarouselBlockType:
      type: string
      enum:
      - offers
      title: CarouselBlockType
      description: An enumeration.
    DailyRewardsBlock:
      properties:
        block:
          type: string
          enum:
          - DailyRewardsBlock
          title: Block
          default: DailyRewardsBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        variant:
          default: expanded
          $ref: '#/components/schemas/DailyRewardsBlockVariant'
        non_compliance:
          type: boolean
          title: Non Compliance
          default: false
      type: object
      title: DailyRewardsBlock
    YoutubeBlock:
      properties:
        block:
          type: string
          enum:
          - YoutubeBlock
          title: Block
          default: YoutubeBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        video:
          $ref: '#/components/schemas/VideoBlockSettings'
      type: object
      required:
      - video
      title: YoutubeBlock
    SegmentGroupReadV2:
      properties:
        id:
          type: string
          maxLength: 32
          title: Id
        name:
          type: string
          title: Name
        type:
          $ref: '#/components/schemas/SegmentGroupType'
        enabled:
          type: boolean
          title: Enabled
        is_template:
          type: boolean
          title: Is Template
      type: object
      required:
      - id
      - name
      - type
      - enabled
      - is_template
      title: SegmentGroupRead
    LoyaltyProgramBlockVariant:
      type: string
      enum:
      - standard
      - expanded
      - compact
      title: LoyaltyProgramBlockVariant
      description: An enumeration.
    RollingOfferBlock:
      properties:
        block:
          type: string
          enum:
          - RollingOfferBlock
          title: Block
          default: RollingOfferBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        rolling_offer_id:
          type: string
          title: Rolling Offer Id
        max_items_count:
          type: integer
          title: Max Items Count
        scroll_disabled:
          type: boolean
          title: Scroll Disabled
        variant:
          default: slider
          $ref: '#/components/schemas/RollingOfferBlockVariant'
      type: object
      required:
      - rolling_offer_id
      title: RollingOfferBlock
    ProgressionProgramBlock:
      properties:
        block:
          type: string
          enum:
          - ProgressionProgramBlock
          title: Block
          default: ProgressionProgramBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        program_id:
          type: string
          title: Program Id
        variant:
          default: standard
          $ref: '#/components/schemas/LoyaltyProgramBlockVariant'
        slider_on_mobile:
          type: boolean
          title: Slider On Mobile
          nullable: true
      type: object
      required:
      - program_id
      title: ProgressionProgramBlock
    SplitNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - SplitNode
          title: Model Type
          default: SplitNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
        distribution:
          items:
            $ref: '#/components/schemas/SplitInfo'
          type: array
          title: Distribution
        random_value:
          type: number
          title: Random Value
        value_next_node_id:
          type: string
          title: Value Next Node Id
      type: object
      required:
      - id
      - x
      - y
      - distribution
      title: SplitNode
    HubPopupContentType:
      type: string
      enum:
      - custom
      - item
      - event_item
      - link_all_created_offers
      title: HubPopupContentType
      description: An enumeration.
    CreateCouponNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - CreateCouponNode
          title: Model Type
          default: CreateCouponNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
        duration:
          type: integer
          title: Duration
        type:
          $ref: '#/components/schemas/CouponType'
        item_id:
          type: string
          title: Item Id
        quantity:
          type: integer
          title: Quantity
        use_event_item:
          type: boolean
          title: Use Event Item
          default: false
        discount_percent:
          type: integer
          title: Discount Percent
        bonus_percent:
          type: integer
          title: Bonus Percent
        bonus_fixed:
          type: integer
          title: Bonus Fixed
        discount_amount_usd:
          type: integer
          title: Discount Amount USD
          description: The discount amount in USD for the coupon
        min_amount:
          type: integer
          title: Min Amount
        stackable_bonus_limit:
          type: integer
          title: Stackable Bonus Limit
        stackable_discount_limit:
          type: integer
          title: Stackable Discount Limit
        code_mask:
          type: string
          title: Code Mask
        player_bond:
          type: boolean
          title: Player Bond
        player_bond_type:
          $ref: '#/components/schemas/CouponPlayerBondType'
        applicable_item_ids:
          items:
            type: string
          type: array
          title: Applicable Item Ids
        payment_method_ids:
          items:
            type: string
          type: array
          title: Payment Method Ids
        max_redemptions:
          type: integer
          title: Max Redemptions
        is_stackable_with_bonus_coupons:
          type: boolean
          title: Is Stackable With Bonus Coupons
        stackable_bonus_limit_percent:
          type: integer
          title: Stackable Bonus Limit Percent
        is_stackable_with_discount_coupons:
          type: boolean
          title: Is Stackable With Discount Coupons
        stackable_discount_limit_percent:
          type: integer
          title: Stackable Discount Limit Percent
      type: object
      required:
      - id
      - x
      - y
      - type
      title: CreateCouponNode
    RemoveFromSegmentNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - RemoveFromSegmentNode
          title: Model Type
          default: RemoveFromSegmentNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
        segment_slug:
          type: string
          title: Segment Slug
      type: object
      required:
      - id
      - x
      - y
      title: RemoveFromSegmentNode
    StoreCardType:
      type: string
      enum:
      - default
      - featured
      title: StoreCardType
      description: An enumeration.
    RichContentBlock:
      properties:
        block:
          type: string
          enum:
          - RichContentBlock
          title: Block
          default: RichContentBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        html:
          type: string
          title: Html
      type: object
      required:
      - html
      title: RichContentBlock
    CouponPlayerBondType:
      type: string
      enum:
      - all_users
      - current_user
      - except_current_user
      title: CouponPlayerBondType
      description: An enumeration.
    LatestNewsBlockVariant:
      type: string
      enum:
      - standard
      - carousel
      title: LatestNewsBlockVariant
      description: An enumeration.
    SegmentUpdate:
      properties:
        name:
          title: Name
          type: string
        description:
          title: Description
          type: string
        color:
          title: Color
          type: string
        image_url:
          title: Image Url
          type: string
          maxLength: 65536
          minLength: 1
          format: uri
        segment_group_id:
          title: Segment Group Id
          type: string
        slug:
          title: Slug
          type: string
      type: object
      title: SegmentUpdate
    SortStoreType:
      type: string
      enum:
      - price
      - name
      - discount
      - position
      title: SortStoreType
      description: An enumeration.
    EmailActionNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - EmailActionNode
          title: Model Type
          default: EmailActionNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
        body:
          type: string
          title: Body
        item_id:
          type: string
          title: Item Id
        link_created_offer:
          type: boolean
          title: Link Created Offer
        store_item_id:
          type: string
          title: Store Item Id
        store_id:
          type: string
          title: Store Id
        content_type:
          $ref: '#/components/schemas/HubPopupContentType'
        button_text:
          type: string
          title: Button Text
        button_link:
          type: string
          title: Button Link
        items:
          items:
            $ref: '#/components/schemas/CommunicationItem'
          type: array
          title: Items
        caption:
          type: string
          title: Caption
      type: object
      required:
      - id
      - x
      - y
      title: EmailActionNode
    ItemAddData:
      properties:
        item_id:
          type: string
          title: Item Id
        quantity:
          type: integer
          title: Quantity
          nullable: true
      type: object
      required:
      - item_id
      title: ItemAddData
    SegmentGroupReadStat:
      properties:
        name:
          type: string
          title: Name
        type:
          $ref: '#/components/schemas/SegmentGroupType'
        enabled:
          type: boolean
          title: Enabled
        is_template:
          type: boolean
          title: Is Template
        id:
          type: string
          title: Id
        segment_count:
          type: integer
          title: Segment Count
      type: object
      required:
      - name
      - type
      - enabled
      - is_template
      - id
      - segment_count
      title: SegmentGroupReadStat
    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
    PlaceBlock:
      properties:
        block:
          type: string
          enum:
          - PlaceBlock
          title: Block
          default: PlaceBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        key:
          type: string
          title: Key
      type: object
      required:
      - key
      title: PlaceBlock
    SplitInfo:
      properties:
        title:
          type: string
          title: Title
          default: ''
        value:
          type: integer
          title: Value
        next_node_id:
          type: string
          title: Next Node Id
      type: object
      required:
      - value
      title: SplitInfo
    Token:
      properties:
        type:
          $ref: '#/components/schemas/TokenType'
        value:
          title: Value
      type: object
      required:
      - type
      title: Token
    MobilePopupActionNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - MobilePopupActionNode
          title: Model Type
          default: MobilePopupActionNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
        body:
          type: string
          title: Body
        item_id:
          type: string
          title: Item Id
        link_created_offer:
          type: boolean
          title: Link Created Offer
        store_item_id:
          type: string
          title: Store Item Id
        store_id:
          type: string
          title: Store Id
        content_type:
          $ref: '#/components/schemas/HubPopupContentType'
        button_text:
          type: string
          title: Button Text
        button_link:
          type: string
          title: Button Link
        items:
          items:
            $ref: '#/components/schemas/CommunicationItem'
          type: array
          title: Items
        url:
          type: string
          title: Url
        response:
          type: string
          title: Response
        status_code:
          type: integer
          title: Status Code
        image_url:
          type: string
          title: Image Url
      type: object
      required:
      - id
      - x
      - y
      title: MobilePopupActionNode
    VerifyPlayerNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - VerifyPlayerNode
          title: Model Type
          default: VerifyPlayerNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
      type: object
      required:
      - id
      - x
      - y
      title: VerifyPlayerNode
    MaxPurchaseLimitPeriodType:
      type: string
      enum:
      - global
      - personal
      title: MaxPurchaseLimitPeriodType
      description: An enumeration.
    MathExpression:
      properties:
        tokens:
          items:
            $ref: '#/components/schemas/Token'
          type: array
          title: Tokens
        name:
          type: string
          title: Name
      type: object
      required:
      - name
      title: MathExpression
    CommunicationItem:
      properties:
        item_id:
          type: string
          title: Item Id
        store_item_id:
          type: string
          title: Store Item Id
      type: object
      required:
      - item_id
      - store_item_id
      title: CommunicationItem
    PickOneOfferBlock:
      properties:
        block:
          type: string
          enum:
          - PickOneOfferBlock
          title: Block
          default: PickOneOfferBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
        pick_one_offer_id:
          type: string
          title: Pick One Offer Id
      type: object
      required:
      - pick_one_offer_id
      title: PickOneOfferBlock
    PWAPromptActionNode:
      properties:
        id:
          type: string
          title: Id
        next_node_id:
          type: string
          title: Next Node Id
        title:
          type: string
          title: Title
        x:
          type: integer
          title: X
        y:
          type: integer
          title: Y
        result:
          type: string
          title: Result
        model_type:
          type: string
          enum:
          - PWAPromptActionNode
          title: Model Type
          default: PWAPromptActionNode
        break_on_error:
          type: boolean
          title: Break On Error
        description:
          type: string
          title: Description
        body:
          type: string
          title: Body
        item_id:
          type: string
          title: Item Id
        link_created_offer:
          type: boolean
          title: Link Created Offer
        store_item_id:
          type: string
          title: Store Item Id
        store_id:
          type: string
          title: Store Id
        content_type:
          $ref: '#/components/schemas/HubPopupContentType'
        button_text:
          type: string
          title: Button Text
        button_link:
          type: string
          title: Button Link
        items:
          items:
            $ref: '#/components/schemas/CommunicationItem'
          type: array
          title: Items
      type: object
      required:
      - id
      - x
      - y
      title: PWAPromptActionNode
    SortOrder:
      type: string
      enum:
      - asc
      - desc
      title: SortOrder
      description: An enumeration.
    AchievementListBlock:
      properties:
        block:
          type: string
          enum:
          - AchievementListBlock
          title: Block
          default: AchievementListBlock
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        start_at:
          type: integer
          title: Start At
        end_at:
          type: integer
          title: End At
      type: object
      title: AchievementListBlock
    ItemBonusSettings

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