{
  "openapi": "3.1.1",
  "info": {
    "title": "PayNow Management API",
    "description": "The Management API provides tools for store administration, accessible by a store API key. It enables operations such as updating product prices, creating promotional coupons, managing customer inventories, and other backend store management functions.This API must be called from a secure server and requires proper authentication.",
    "termsOfService": "https://paynow.gg/terms-of-use",
    "contact": {
      "name": "PayNow Services, Inc.",
      "url": "https://paynow.gg",
      "email": "support@paynow.gg"
    },
    "version": "v1"
  },
  "paths": {
    "/v1/stores/{storeId}/affiliate-links": {
      "get": {
        "tags": [
          "affiliate-links"
        ],
        "operationId": "AffiliateLinks_GetAffiliateLinks",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AffiliateLinkDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "affiliate-links"
        ],
        "operationId": "AffiliateLinks_CreateAffiliateLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAffiliateLinkDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAffiliateLinkDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAffiliateLinkDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AffiliateLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/affiliate-links/{affiliateLinkId}": {
      "get": {
        "tags": [
          "affiliate-links"
        ],
        "operationId": "AffiliateLinks_GetAffiliateLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "affiliateLinkId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AffiliateLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "affiliate-links"
        ],
        "operationId": "AffiliateLinks_UpdateAffiliateLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "affiliateLinkId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAffiliateLinkDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAffiliateLinkDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAffiliateLinkDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AffiliateLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "affiliate-links"
        ],
        "operationId": "AffiliateLinks_DeleteAffiliateLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "affiliateLinkId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/bans": {
      "get": {
        "tags": [
          "bans"
        ],
        "operationId": "Bans_GetBans",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "ban_type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/BanType"
            }
          },
          {
            "name": "ban_type_value",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reason",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BanDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "bans"
        ],
        "operationId": "Bans_CreateBan",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertBanRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertBanRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertBanRequestDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BanDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/bans/{banId}": {
      "get": {
        "tags": [
          "bans"
        ],
        "operationId": "Bans_GetBan",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "banId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BanDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "bans"
        ],
        "operationId": "Bans_UpdateBan",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "banId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertBanRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertBanRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertBanRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BanDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "bans"
        ],
        "operationId": "Bans_DeleteBan",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "banId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/bans/check": {
      "post": {
        "tags": [
          "bans"
        ],
        "operationId": "Bans_CheckForBanByIdentities",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckForBanIDByIdentitiesRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckForBanIDByIdentitiesRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CheckForBanIDByIdentitiesRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckForBanIDByIdentitiesResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/checkouts": {
      "post": {
        "tags": [
          "checkout"
        ],
        "summary": "Create a checkout session",
        "description": "Creates a checkout session from a secure server using an API Key.\nIf you have a Customer token, see the Storefront API Create Checkout endpoint.",
        "operationId": "StoreCheckouts_CreateCheckoutSession",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCheckoutSessionManagementDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCheckoutSessionManagementDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCheckoutSessionManagementDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateCheckoutSessionResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/coupons": {
      "post": {
        "tags": [
          "coupons"
        ],
        "operationId": "StoreCoupons_CreateCouponForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CouponDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "coupons"
        ],
        "summary": "Fetches all coupons for a store id",
        "operationId": "StoreCoupons_GetCouponsForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter by status",
            "schema": {
              "$ref": "#/components/schemas/CouponFilterStatusDto"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter by creation type of coupons.",
            "schema": {
              "$ref": "#/components/schemas/CouponFilterTypeDto"
            }
          },
          {
            "name": "usable_by_customer_id",
            "in": "query",
            "description": "Filter by ID of the customer this coupon is assigned to.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CouponDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/coupons/{couponId}": {
      "get": {
        "tags": [
          "coupons"
        ],
        "summary": "Retrieves a coupon by ID",
        "operationId": "StoreCoupons_GetCouponByIdForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "couponId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CouponDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "coupons"
        ],
        "summary": "Performs a Delta Update of a Coupon",
        "operationId": "StoreCoupons_UpdateCouponForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "couponId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCouponDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCouponDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCouponDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CouponDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "coupons"
        ],
        "summary": "Deletes a coupon",
        "operationId": "StoreCoupons_DeleteCouponForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "couponId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/custom-variables": {
      "post": {
        "tags": [
          "custom-variables"
        ],
        "summary": "Create custom variable",
        "description": "Creates a new custom variable for the specified store.\nCustom variables allow customers to provide additional input when purchasing products.",
        "operationId": "CustomVariables_CreateCustomVariableForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create the custom variable in.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "description": "The custom variable data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomVariableRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomVariableRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomVariableRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomVariableDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "custom-variables"
        ],
        "summary": "Get custom variables",
        "description": "Retrieves all custom variables for the specified store.",
        "operationId": "CustomVariables_GetCustomVariablesForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve custom variables for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomVariableDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/custom-variables/{customVariableId}": {
      "get": {
        "tags": [
          "custom-variables"
        ],
        "summary": "Get custom variable",
        "description": "Retrieves a specific custom variable by ID from the specified store.",
        "operationId": "CustomVariables_GetCustomVariableByIdForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the custom variable belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customVariableId",
            "in": "path",
            "description": "The ID of the custom variable to retrieve.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomVariableDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "custom-variables"
        ],
        "summary": "Update custom variable",
        "description": "Performs a partial update of a custom variable using field mask.\nOnly the fields specified in the request will be updated.",
        "operationId": "CustomVariables_UpdateCustomVariableForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the custom variable belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customVariableId",
            "in": "path",
            "description": "The ID of the custom variable to update.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "description": "The custom variable data to update with field mask.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomVariableRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomVariableRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomVariableRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomVariableDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "custom-variables"
        ],
        "summary": "Delete custom variable",
        "description": "Deletes a custom variable from the specified store.\nThis will also delete all associated options and cannot be undone.",
        "operationId": "CustomVariables_DeleteCustomVariableForStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the custom variable belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customVariableId",
            "in": "path",
            "description": "The ID of the custom variable to delete.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/portal-sessions": {
      "post": {
        "tags": [
          "customer_portal_sessions"
        ],
        "summary": "Create a customer portal session",
        "description": "Creates a customer portal session from a secure server using an API Key.\nThe returned session contains the token and URL to hand to the customer.",
        "operationId": "CustomersPortalSessions_CreateCustomerPortalSession",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create the portal session for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "The ID of the customer to create the portal session for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "description": "The portal session data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerPortalSessionRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerPortalSessionRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomerPortalSessionRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerPortalSessionDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers": {
      "get": {
        "tags": [
          "customers"
        ],
        "summary": "Get customers",
        "description": "Retrieves all customers for the specified store.",
        "operationId": "Customers_GetCustomers",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve customers for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/FlakeId"
              }
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "customers"
        ],
        "summary": "Create customer",
        "description": "Creates a new customer based on the fields passed.",
        "operationId": "Customers_CreateCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create the customer for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomerRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomerRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomerRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}": {
      "get": {
        "tags": [
          "customers"
        ],
        "summary": "Get customer by ID",
        "description": "Retrieves a customer by the ID for the specified store.",
        "operationId": "Customers_GetCustomerById",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve the customer for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "The ID of the customer.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "customers"
        ],
        "summary": "Update customer",
        "description": "Updates an existing customer based on the fields passed.",
        "operationId": "Customers_UpdateCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to update the customer for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomerRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomerRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertCustomerRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/tokens": {
      "post": {
        "tags": [
          "customers"
        ],
        "summary": "Create customer token",
        "description": "Generates a customer token that can be used by the Storefront (Headless) API.",
        "operationId": "Customers_CreateCustomerToken",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to generate the customer token for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "The ID of the customer to generate the customer token for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerTokenResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "customers"
        ],
        "summary": "Invalidate customer tokens",
        "description": "Invalidates all generated customer tokens.",
        "operationId": "Customers_InvalidateCustomerTokens",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to invalidate the customer tokens for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "The ID of the customer to invalidate the customer tokens for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/lookup": {
      "get": {
        "tags": [
          "customers"
        ],
        "summary": "Lookup customer",
        "description": "Looks up a customer by an external platform ID.",
        "operationId": "Customers_LookupCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve the customer for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Looks up customer by PayNow Customer ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "steam_id",
            "in": "query",
            "description": "Looks up customer by Steam ID 64.",
            "schema": {
              "$ref": "#/components/schemas/SteamId"
            }
          },
          {
            "name": "minecraft_uuid",
            "in": "query",
            "description": "Looks up customer by a Minecraft UUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "xbox_xuid",
            "in": "query",
            "description": "Looks up customer by an Xbox XUID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minecraft_java_name",
            "in": "query",
            "description": "Looks up customer by Minecraft Java name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "minecraft_bedrock_name",
            "in": "query",
            "description": "Looks up customer by Minecraft Bedrock name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Looks up customer by a PayNow Customer Name.\nName has to be explicitly set in the Customer entity - profile names won't be matched.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/bulk": {
      "post": {
        "tags": [
          "customers"
        ],
        "summary": "Bulk create customers",
        "description": "Creates up to 200 customers at once.",
        "operationId": "Customers_BulkCreateCustomers",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create the customers for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UpsertCustomerRequestDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UpsertCustomerRequestDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UpsertCustomerRequestDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/dashboard/search": {
      "get": {
        "tags": [
          "dashboard"
        ],
        "operationId": "Dashboard_SearchDashboard",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search_hints",
            "in": "query",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "search_result_type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/DashboardSearchResultTypeDto"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDashboardResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/dashboard/search-hints": {
      "get": {
        "tags": [
          "dashboard"
        ],
        "operationId": "Dashboard_GetDashboardSearchHints",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DashboardSearchHintDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/data-migrations": {
      "get": {
        "tags": [
          "data-migrations"
        ],
        "operationId": "DataMigrations_GetDataMigrations",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DataMigrationTaskDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/data-migrations/tebex": {
      "post": {
        "tags": [
          "data-migrations"
        ],
        "operationId": "DataMigrations_StartDataMigrationFromTebex",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartDataMigrationFromTebexRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartDataMigrationFromTebexRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartDataMigrationFromTebexRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DataMigrationTaskDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders/{orderId}/delivery/items": {
      "get": {
        "tags": [
          "delivery"
        ],
        "summary": "Get delivery items associated with an order",
        "description": "Retrieves all delivery items associated with a specific order.",
        "operationId": "OrdersDelivery_GetOrderDeliveryItems",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "The ID of the order to retrieve delivery items from.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders/{orderId}/command-delivery": {
      "get": {
        "tags": [
          "delivery"
        ],
        "summary": "Get delivery items associated with an order",
        "description": "**Deprecated:** \n\nRetrieves all delivery items associated with a specific order.",
        "operationId": "LegacyOrdersCommandDeliveryControllerWithDash_GetOrderDeliveryItems",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "The ID of the order to retrieve delivery items from.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/delivery/items": {
      "get": {
        "tags": [
          "delivery"
        ],
        "summary": "Get all delivery items",
        "description": "Retrieves all delivery items associated with this store (paginated)",
        "operationId": "Delivery_GetStoreDeliveryItems",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "delivery"
        ],
        "summary": "Assign delivery items in bulk",
        "description": "Allows you to assign multiple delivery items for multiple customers in bulk",
        "operationId": "Delivery_AssignDeliveryItemsBulk",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryItemAssignmentBulkDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryItemAssignmentBulkDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryItemAssignmentBulkDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/delivery/commands/unqueue": {
      "post": {
        "tags": [
          "delivery"
        ],
        "summary": "Unqueue commands by Attempt IDs",
        "operationId": "Delivery_UnqueueDeliveryCommandAttemptByAttemptIDs",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnqueueCommandsRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UnqueueCommandsRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UnqueueCommandsRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnqueueCommandsResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/command-delivery": {
      "post": {
        "tags": [
          "delivery"
        ],
        "description": "**Deprecated:** ",
        "operationId": "LegacyCommandDelivery_AssignDeliveryItemsBulk",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryItemAssignmentBulkDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryItemAssignmentBulkDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryItemAssignmentBulkDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/command-delivery/unqueue": {
      "post": {
        "tags": [
          "delivery"
        ],
        "description": "**Deprecated:** ",
        "operationId": "LegacyCommandDelivery_UnqueueDeliveryCommandAttemptByAttemptIDs",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnqueueCommandsRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UnqueueCommandsRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UnqueueCommandsRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnqueueCommandsResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/delivery/items": {
      "get": {
        "tags": [
          "delivery"
        ],
        "summary": "Get delivery items associated with a customer",
        "description": "Retrieves delivery items associated with a customer",
        "operationId": "CustomersDelivery_GetCustomerDeliveryItems",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "delivery"
        ],
        "summary": "Assign a delivery item to a customer",
        "description": "Allows you to assign a delivery item to a customer",
        "operationId": "CustomersDelivery_AssignDeliveryItem",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryItemAssignmentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryItemAssignmentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryItemAssignmentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/delivery/items/{deliveryItemId}": {
      "delete": {
        "tags": [
          "delivery"
        ],
        "summary": "Revoke a delivery item from a customer",
        "description": "Allows you to revoke a delivery item associated with a customer",
        "operationId": "CustomersDelivery_RevokeDeliveryItem",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "deliveryItemId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/delivery/commands": {
      "get": {
        "tags": [
          "delivery"
        ],
        "summary": "Get command attempts associated with a customer",
        "description": "Retrieves command attempts associated with a customer",
        "operationId": "CustomersDelivery_GetCommandAttemptsForCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CommandAttemptDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/command-delivery": {
      "get": {
        "tags": [
          "delivery"
        ],
        "description": "**Deprecated:** ",
        "operationId": "LegacyCustomersDeliveryControllerWithDash_GetDeliveryItems",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      },
      "post": {
        "tags": [
          "delivery"
        ],
        "description": "**Deprecated:** ",
        "operationId": "LegacyCustomersDeliveryControllerWithDash_AssignDeliveryItem",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryItemAssignmentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryItemAssignmentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryItemAssignmentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/command-delivery/{deliveryItemId}": {
      "delete": {
        "tags": [
          "delivery"
        ],
        "description": "**Deprecated:** ",
        "operationId": "LegacyCustomersDeliveryControllerWithDash_RevokeDeliveryItem",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "deliveryItemId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/gameservers/{gameServerId}/delivery/items": {
      "get": {
        "tags": [
          "delivery"
        ],
        "summary": "Returns delivery items in which an associated command attempt is for the gameserver",
        "operationId": "GameServersDelivery_GetGameServerDeliveryItems",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "activeOnly",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryItemDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/gameservers/{gameServerId}/delivery/commands/resend": {
      "post": {
        "tags": [
          "delivery"
        ],
        "summary": "Resend commands for a given Gameserver",
        "operationId": "GameServersDelivery_ResendDeliveryCommandsForGameServer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendCommandsForGameServerRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendCommandsForGameServerRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResendCommandsForGameServerRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResendCommandsForGameServerResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/product_versions/{productVersionId}/discord_actions": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "ProductsDiscord_GetActions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordActionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "discord"
        ],
        "operationId": "ProductsDiscord_CreateAction",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productVersionId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetDiscordActionDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetDiscordActionDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SetDiscordActionDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscordActionDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders/{orderId}/discord": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "OrdersDiscord_GetLinkedDiscordAccounts",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/DiscordProfileDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders/{orderId}/discord/queued": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "OrdersDiscord_GetDiscordActionExecutionHistory",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QueuedDiscordActionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/inventory/{inventoryItemId}/discord/queued": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordInventoryItem_GetQueuedDiscordActionForDeliveryItem",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "inventoryItemId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QueuedDiscordActionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/inventory/{inventoryItemId}/discord/link": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordInventoryItem_GetUserToDeliveryItemLinks",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "inventoryItemId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscordProfileDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordInventoryItem_SetUserToDeliveryItemLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "inventoryItemId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "discordUserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordInventoryItem_DeleteUserToDeliveryItemLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "inventoryItemId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/discord/links": {
      "post": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordServers_CreateDiscordServerLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscordServerLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordServers_GetDiscordServerLinks",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordServerLinkDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/discord/links/{token}": {
      "delete": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordServers_DeleteDiscordServerLinks",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordServerLinkDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/discord/{discordServerId}/roles": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordServers_GetDiscordServerRoles",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "discordServerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordServerRoleDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/discord/{discordServerId}/discord/text_channels": {
      "get": {
        "tags": [
          "discord"
        ],
        "operationId": "DiscordServers_GetDiscordServerTextChannels",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "discordServerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DiscordServerChannelDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/downloadable-files": {
      "get": {
        "tags": [
          "downloadable-files"
        ],
        "operationId": "ProductsDownloadableFile_GetDownloadableFiles",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductDownloadableFileDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "downloadable-files"
        ],
        "operationId": "ProductsDownloadableFile_StartDownloadableFileUpload",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartDownloadableFileUploadRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StartDownloadableFileUploadRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StartDownloadableFileUploadRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/downloadable-files/{downloadableFileId}/finish": {
      "post": {
        "tags": [
          "downloadable-files"
        ],
        "operationId": "ProductsDownloadableFile_FinishDownloadableFileUpload",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "downloadableFileId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/downloadable-files/{downloadableFileId}/download-url": {
      "get": {
        "tags": [
          "downloadable-files"
        ],
        "operationId": "ProductsDownloadableFile_CreateDownloadUrl",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "downloadableFileId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDownloadableFileDownloadUrlResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/downloadable-files/{downloadableFileId}": {
      "delete": {
        "tags": [
          "downloadable-files"
        ],
        "operationId": "ProductsDownloadableFile_DeleteDownloadableFile",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "downloadableFileId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/gameservers/{gameServerId}/console": {
      "get": {
        "tags": [
          "game-servers"
        ],
        "summary": "Get the associated console for a game server.",
        "operationId": "GameServersConsole_GetGameServerConsole",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameServerConsoleDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "game-servers"
        ],
        "summary": "Create a console for a game server.",
        "operationId": "GameServersConsole_CreateGameServerConsole",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGameServerConsoleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGameServerConsoleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGameServerConsoleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameServerConsoleDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "game-servers"
        ],
        "summary": "Update a console for a game server.",
        "operationId": "GameServersConsole_UpdateGameServerConsole",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameServerConsoleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameServerConsoleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameServerConsoleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameServerConsoleDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "game-servers"
        ],
        "summary": "Delete an associated game server console.",
        "operationId": "GameServersConsole_DeleteGameServerConsole",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/gameservers/{gameServerId}/console/messages": {
      "get": {
        "tags": [
          "game-servers"
        ],
        "summary": "Get console messages for a game server.",
        "operationId": "GameServersConsole_GetGameServerConsoleMessages",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GameServerConsoleMessageDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/gameservers": {
      "get": {
        "tags": [
          "game-servers"
        ],
        "summary": "Get Game Servers for a store",
        "operationId": "GameServers_GetGameServers",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GameServerDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "game-servers"
        ],
        "summary": "Create a new Game Server for a store",
        "operationId": "GameServers_CreateGameServer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGameServerDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGameServerDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGameServerDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameServerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/gameservers/{gameServerId}": {
      "get": {
        "tags": [
          "game-servers"
        ],
        "summary": "Get a Game Server by ID for a store",
        "operationId": "GameServers_GetGameServer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GameServerDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "game-servers"
        ],
        "summary": "Update a Game Server By ID for a store",
        "operationId": "GameServers_UpdateGameServer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameServerDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameServerDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGameServerDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameServerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "game-servers"
        ],
        "summary": "Delete a Game Server by ID for a store",
        "operationId": "GameServers_DeleteGameServer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/gameservers/{gameServerId}/reset-token": {
      "post": {
        "tags": [
          "game-servers"
        ],
        "summary": "Reset the API Key Token for a Game Server for a store",
        "operationId": "GameServers_ResetGameServerToken",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "gameServerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameServerDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/giftcards": {
      "get": {
        "tags": [
          "giftcards"
        ],
        "summary": "Get Gift Cards for a store",
        "operationId": "GiftCards_GetGiftCards",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "A gift card code to filter by.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_canceled",
            "in": "query",
            "description": "Should canceled gift cards be included in the response?",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GiftCardDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "giftcards"
        ],
        "summary": "Create a Gift Card for a store",
        "operationId": "GiftCards_CreateGiftCard",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGiftCardDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGiftCardDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGiftCardDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/giftcards/{giftCardId}": {
      "get": {
        "tags": [
          "giftcards"
        ],
        "summary": "Get a Gift Card By ID for a store",
        "operationId": "GiftCards_GetGiftCard",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "giftCardId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "giftcards"
        ],
        "summary": "Delete a Gift Card By ID for a store",
        "operationId": "GiftCards_DeleteGiftCard",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "giftCardId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "giftcards"
        ],
        "summary": "Update a Gift Card By ID for a store",
        "operationId": "GiftCards_UpdateGiftCard",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "giftCardId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGiftCardDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGiftCardDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateGiftCardDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GiftCardDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/global-commands": {
      "get": {
        "tags": [
          "global-commands"
        ],
        "summary": "Get global commands",
        "description": "Retrieves all global commands for the specified store.",
        "operationId": "GlobalCommands_GetGlobalCommands",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve this data for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlobalCommandDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "global-commands"
        ],
        "summary": "Create global command",
        "description": "Creates a global command for a store.",
        "operationId": "GlobalCommands_CreateGlobalCommand",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create this data for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertGlobalCommandDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertGlobalCommandDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertGlobalCommandDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlobalCommandDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/global-commands/{globalCommandId}": {
      "patch": {
        "tags": [
          "global-commands"
        ],
        "summary": "Update global command",
        "description": "Updates a global command for a store.",
        "operationId": "GlobalCommands_UpdateGlobalCommand",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to update this data for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "globalCommandId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertGlobalCommandDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertGlobalCommandDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertGlobalCommandDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlobalCommandDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "global-commands"
        ],
        "summary": "Delete global command",
        "description": "Deletes a global command for a store.",
        "operationId": "GlobalCommands_DeleteGlobalCommand",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to delete this data for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "globalCommandId",
            "in": "path",
            "description": "The ID of the command to delete.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/invoices": {
      "get": {
        "tags": [
          "invoices"
        ],
        "summary": "Get invoices",
        "description": "Retrieves all invoices for the specified store.",
        "operationId": "StoreInvoices_ListInvoices",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve invoices for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/InvoiceTypeDto"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "order_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "billing_email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/invoices/{invoiceId}/download": {
      "get": {
        "tags": [
          "invoices"
        ],
        "summary": "Download invoice",
        "description": "Retrieves a temporary download URL for the invoice PDF.",
        "operationId": "StoreInvoices_DownloadInvoice",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the invoice belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "invoiceId",
            "in": "path",
            "description": "The ID of the invoice to download.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceDownloadUrlResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/templates": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailTemplates",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmailTemplateDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_CreateEmailTemplate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailTemplateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailTemplateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailTemplateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplateDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/templates/{templateId}": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailTemplate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplateDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_UpdateEmailTemplate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailTemplateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailTemplateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailTemplateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailTemplateDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_DeleteEmailTemplate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/templates/{templateId}/activate": {
      "post": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_ActivateEmailTemplate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/templates/{templateId}/deactivate": {
      "post": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_DeactivateEmailTemplate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/templates/deactivate": {
      "post": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_DeactivateEmailTemplateByType",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateEmailTemplateRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateEmailTemplateRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeactivateEmailTemplateRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/template-definitions": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailTemplateDefinitions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmailTemplateDefinitionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/branding": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailBranding",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailBrandingDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_UpdateEmailBranding",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailBrandingDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailBrandingDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailBrandingDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailBrandingDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/branding/image-upload-url": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailBrandingImageUploadUrl",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "dark_mode",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetEmailBrandingImageUploadUrlResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/branding/image-upload-finish": {
      "post": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_FinishEmailBrandingImageUpload",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinishEmailBrandingImageUploadRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FinishEmailBrandingImageUploadRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FinishEmailBrandingImageUploadRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/deliveries": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailDeliveries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "store_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "email_delivery_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "receiver_email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subject",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email_template_type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EmailTemplateTypeDto"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EmailDeliveryStatusDto"
              }
            }
          },
          {
            "name": "message_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmailDeliveryDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/email/deliveries/{emailDeliveryId}": {
      "get": {
        "tags": [
          "marketing"
        ],
        "operationId": "Email_GetEmailDelivery",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "emailDeliveryId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailDeliveryDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/abandoned-checkouts/configuration": {
      "get": {
        "tags": [
          "marketing"
        ],
        "summary": "Gets the abandoned checkout behaviour for a store",
        "operationId": "StoreAbandonedCheckouts_GetStoreAbandonedCheckoutConfigurationOptions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "marketing"
        ],
        "summary": "Sets the abandoned checkout behaviour for a store",
        "operationId": "StoreAbandonedCheckouts_SetStoreAbandonedCheckoutConfigurationOptions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationDto"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/marketing/purchase-follow-ups/configuration": {
      "get": {
        "tags": [
          "marketing"
        ],
        "summary": "Gets the purchase follow up behaviour for a store",
        "operationId": "StorePurchaseFollowUps_GetStorePurchaseFollowUpConfigurationOptions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "marketing"
        ],
        "summary": "Sets the purchase follow up behaviour for a store",
        "operationId": "StorePurchaseFollowUps_SetStorePurchaseFollowUpConfigurationOptions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationDto"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/navlinks": {
      "get": {
        "tags": [
          "navlinks"
        ],
        "summary": "Get all NavLinks for a store",
        "operationId": "NavLinks_GetNavLinks",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NavLinkDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "navlinks"
        ],
        "summary": "Create a new NavLink for a store",
        "operationId": "NavLinks_CreateNavLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNavLinkDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNavLinkDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateNavLinkDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NavLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/navlinks/{navLinkId}": {
      "get": {
        "tags": [
          "navlinks"
        ],
        "summary": "Get a NavLink by ID for a store",
        "operationId": "NavLinks_GetNavLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "navLinkId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NavLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "navlinks"
        ],
        "summary": "Delete a NavLink for a store",
        "operationId": "NavLinks_DeleteNavLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "navLinkId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "navlinks"
        ],
        "summary": "Update a NavLink By ID for a store",
        "operationId": "NavLinks_UpdateNavLink",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "navLinkId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNavLinkDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNavLinkDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNavLinkDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NavLinkDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/navlinks/sort-orders": {
      "patch": {
        "tags": [
          "navlinks"
        ],
        "summary": "Update the sort orders of NavLinks for a Store",
        "operationId": "NavLinks_UpdateNavLinkOrder",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UpdateNavLinkOrderChangeDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UpdateNavLinkOrderChangeDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UpdateNavLinkOrderChangeDto"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders": {
      "get": {
        "tags": [
          "orders"
        ],
        "summary": "Get orders",
        "description": "Retrieves all orders for the specified store.",
        "operationId": "Orders_GetOrders",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve orders for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "List of order statuses to filter by",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderStatus"
              }
            }
          },
          {
            "name": "order_id",
            "in": "query",
            "description": "Order ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "description": "Customer ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "billing_email",
            "in": "query",
            "description": "Billing Email",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_ip",
            "in": "query",
            "description": "Customer IP",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "description": "Subscription ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "checkout_id",
            "in": "query",
            "description": "Checkout ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "is_subscription",
            "in": "query",
            "description": "Flag indicating if the order is a subscription",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "affiliate_id",
            "in": "query",
            "description": "Affiliate ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "coupon_id",
            "in": "query",
            "description": "Coupon ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "giftcard_id",
            "in": "query",
            "description": "Gift card ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "description": "Product ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "sale_id",
            "in": "query",
            "description": "Sale ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders/{orderId}": {
      "get": {
        "tags": [
          "orders"
        ],
        "summary": "Get order by ID",
        "description": "Retrieves an order by the ID for the specified store.",
        "operationId": "Orders_GetOrderById",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve the order for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "The ID of the order.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/orders/{orderId}/refund": {
      "post": {
        "tags": [
          "orders"
        ],
        "summary": "Refund order by ID",
        "description": "Creates a refund for an order by the ID for the specified store.",
        "operationId": "Orders_RefundOrder",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to refund the order for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "The ID of the order.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRefundRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRefundRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRefundRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefundDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/payment-method-types": {
      "get": {
        "tags": [
          "payment-method-types"
        ],
        "summary": "Get store payment method types",
        "description": "Retrieves all payment method types associated with a store",
        "operationId": "StorePaymentMethodTypes_GetStorePaymentMethodTypes",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentMethodTypeDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/payment-method-types/{paymentMethodTypeId}/toggle": {
      "patch": {
        "tags": [
          "payment-method-types"
        ],
        "summary": "Toggle a store payment method type",
        "description": "Enables or disabled a payment method type for a store",
        "operationId": "StorePaymentMethodTypes_ToggleStorePaymentMethodType",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "paymentMethodTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleStorePaymentMethodTypeRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleStorePaymentMethodTypeRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleStorePaymentMethodTypeRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/payment-method-types/{paymentMethodTypeId}/request-approval": {
      "post": {
        "tags": [
          "payment-method-types"
        ],
        "summary": "Request approval for a store payment method type",
        "description": "Requests approval to use a payment method type that requires manual review",
        "operationId": "StorePaymentMethodTypes_RequestStorePaymentMethodTypeApproval",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "paymentMethodTypeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/payment-settings": {
      "get": {
        "tags": [
          "payment-settings"
        ],
        "summary": "Get store payment settings",
        "description": "Retrieves payment settings for a store.",
        "operationId": "PaymentsSettings_GetStorePaymentSettings",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorePaymentSettingsDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "payment-settings"
        ],
        "summary": "Updates store payment settings",
        "description": "Updates payment settings for a store.",
        "operationId": "PaymentsSettings_UpdateStorePaymentSettings",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStorePaymentSettingsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStorePaymentSettingsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStorePaymentSettingsDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/payments": {
      "get": {
        "tags": [
          "payments"
        ],
        "summary": "Get payments",
        "description": "Retrieves all payments for the specified store using the filter specified.",
        "operationId": "Payments_GetPayments",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter by payment statuses",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatusDto"
              }
            }
          },
          {
            "name": "order_id",
            "in": "query",
            "description": "Filter by order ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "description": "Filter by customer ID",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/payments/{paymentId}": {
      "get": {
        "tags": [
          "payments"
        ],
        "summary": "Get payment by ID",
        "description": "Retrieves a payment by an ID.",
        "operationId": "Payments_GetPaymentById",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/dependent-migrations": {
      "get": {
        "tags": [
          "product-dependent-migrations"
        ],
        "operationId": "ProductsDependentMigrations_GetProductDependentMigrations",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductDependentMigrationDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "product-dependent-migrations"
        ],
        "operationId": "ProductsDependentMigrations_CreateProductDependentMigration",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductDependentMigrationRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductDependentMigrationRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductDependentMigrationRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDependentMigrationDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/dependent-migrations/estimate": {
      "get": {
        "tags": [
          "product-dependent-migrations"
        ],
        "operationId": "ProductsDependentMigrations_GetProductDependentMigrationEstimate",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductDependentMigrationEstimateVersionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/product-dependent-migrations/{productDependentMigrationId}": {
      "get": {
        "tags": [
          "product-dependent-migrations"
        ],
        "operationId": "ProductsDependentMigrations_GetProductDependentMigrationById",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productDependentMigrationId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDependentMigrationDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products": {
      "get": {
        "tags": [
          "products"
        ],
        "summary": "Get products",
        "description": "Retrieves all products for the specified store.\nDO NOT USE THIS ROUTE FOR DISPLAYING PRODUCTS ON YOUR STOREFRONT, use the storefront API instead!",
        "operationId": "Products_GetProducts",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve products for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/FlakeId"
              }
            }
          },
          {
            "name": "slug",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "products"
        ],
        "summary": "Create product",
        "description": "Creates a new product in the specified store.\nCreating dynamic products while creating a checkout session via this endpoint without prior approval is prohibited and will result in store deactivation per our User Agreement.",
        "operationId": "Products_CreateProduct",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create the product in.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertProductRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertProductRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertProductRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}": {
      "get": {
        "tags": [
          "products"
        ],
        "summary": "Get product",
        "description": "Retrieves a specific product by ID from the specified store.\nDO NOT USE THIS ROUTE FOR DISPLAYING PRODUCTS ON YOUR STOREFRONT, use the storefront API instead.",
        "operationId": "Products_GetProduct",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the product belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "The ID of the product to retrieve.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "products"
        ],
        "summary": "Update product",
        "description": "Updates an existing product in the specified store.",
        "operationId": "Products_UpdateProduct",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the product belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "The ID of the product to update.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertProductRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertProductRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertProductRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "products"
        ],
        "summary": "Delete product",
        "description": "Deletes a product from the specified store.",
        "operationId": "Products_DeleteProduct",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store the product belongs to.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "The ID of the product to delete.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/sort-order": {
      "post": {
        "tags": [
          "products"
        ],
        "summary": "Update product sort order",
        "description": "Updates the sort order of products in the specified store.",
        "operationId": "Products_UpdateProductSortOrder",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to update product sort order in.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductSortOrderRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductSortOrderRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductSortOrderRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/pricing/regions": {
      "get": {
        "tags": [
          "regional-pricing"
        ],
        "operationId": "ProductsPricing_GetProductPricingRegions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductPricingRegionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/{productId}/pricing/regions/{regionId}": {
      "patch": {
        "tags": [
          "regional-pricing"
        ],
        "operationId": "ProductsPricing_SetProductPricingRegionOverride",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "regionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductPricingRegionOverrideDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductPricingRegionOverrideDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProductPricingRegionOverrideDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/pricing/regions": {
      "get": {
        "tags": [
          "regional-pricing"
        ],
        "operationId": "ProductsPricing_GetStorePricingRegions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductPricingRegionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/pricing/regions/{regionId}": {
      "patch": {
        "tags": [
          "regional-pricing"
        ],
        "operationId": "ProductsPricing_SetStorePricingRegionOverride",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "regionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorePricingRegionOverrideDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StorePricingRegionOverrideDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StorePricingRegionOverrideDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/products/pricing/region-groups": {
      "get": {
        "tags": [
          "regional-pricing"
        ],
        "operationId": "ProductsPricing_GetStorePricingRegionGroups",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductPricingRegionGroupDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/sales": {
      "get": {
        "tags": [
          "sales"
        ],
        "summary": "Get sales associated with a store.",
        "operationId": "Sales_GetSales",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SaleDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "sales"
        ],
        "summary": "Create a sale by ID for a store",
        "operationId": "Sales_CreateSale",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSaleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSaleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSaleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaleDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/sales/{saleId}": {
      "get": {
        "tags": [
          "sales"
        ],
        "summary": "Get a sale by ID for a store",
        "operationId": "Sales_GetSale",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaleDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "sales"
        ],
        "summary": "Delete a sale by ID for a store",
        "operationId": "Sales_DeleteSaleById",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "sales"
        ],
        "summary": "Update a sale by ID for a store",
        "operationId": "Sales_UpdateSale",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "saleId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSaleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSaleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSaleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaleDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/stats": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "CustomerStats_GetCustomerStats",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerStatsDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/dashboard": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetDashboardStats",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dpt",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardStatsDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/range-orders": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetOrderTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "dpt",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DayOrderStatsDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/range-products": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetProductStatsForTimePeriod",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IntervalProductStatsDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/range-gameservers": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetGameServerStatsForTimePeriod",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IntervalGameServerStatsDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/range-tags": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetTagStatsForTimePeriod",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IntervalTagStatsDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/countries/distribution": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetOrderCountryDistribution",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderCountryDistributionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/payment_methods/distribution": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetPaymentMethodDistribution",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentMethodDistributionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/payment-acceptance": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetPaymentAcceptanceDistribution",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentAcceptanceDistributionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/times_of_day": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetPaymentPopularTimesOfDay",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentPopularTimesOfDayDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/customers": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetSortedCustomersStats",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "sort_field",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "before",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerStatsDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/customers/range": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetSortedCustomersStatsTimeRange",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "sort_field",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "before",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_dir",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerSpendTimeRangeDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/gross_volume": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetPaymentGrossVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/net_volume": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetPaymentNetVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/product_order_volume": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetProductOrderVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/gameserver_order_volume": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetGameServerOrderVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/tag_order_volume": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetTagOrderVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/marketing_volume/coupon": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetMarketingCouponVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/marketing_volume/giftcard": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetMarketingGiftcardVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/new_customer/coupon": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetNewCustomerByCouponTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/new_customer/giftcard": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetNewCustomerByGiftcardTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/affiliate_links/volume": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetAffiliateLinkOrderVolumeTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/subscriptions": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetSubscriptionStatsTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/trials": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetTrialsStatsTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/subscriptions_product": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetSubscriptionProductStatsTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/abandoned_checkouts": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetAbandonedCheckoutTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/purchase_followups": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetPurchaseFollowUpTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/stats/detailed/timeseries/upsells": {
      "get": {
        "tags": [
          "stats"
        ],
        "description": "**Deprecated:** Use the v2 stats routes.",
        "operationId": "Stats_GetUpsellsTimeSeries",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeSeriesChartDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "deprecated": true,
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/timeseries": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetTimeSeriesChart",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "revenue_basis",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/RevenueBasisDto_V2"
            }
          },
          {
            "name": "metric_type",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TimeSeriesChartMetricTypeDto_V2"
            }
          },
          {
            "name": "dimension_type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/StatsDimensionTypeDto_V2"
            }
          },
          {
            "name": "unit",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/TimeSeriesUnitDto_V2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeSeriesChartDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/distribution": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetDistribution",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "distribution_type",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/StatsDistributionTypeDto_V2"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_start",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "comparison_end",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDistributionResponseDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/dimension": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetDimensionStats",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "dimension_type",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/StatsDimensionTypeDto_V2"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "revenue_basis",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/RevenueBasisDto_V2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDimensionStatsResponseDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/orders/summary": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetOrdersSummary",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "revenue_basis",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/RevenueBasisDto_V2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersSummaryDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/orders/summary/range": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetOrdersSummaryForRange",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "revenue_basis",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/RevenueBasisDto_V2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersSummaryForRangeDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/subscriptions/summary": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetSubscriptionsSummary",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "revenue_basis",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/RevenueBasisDto_V2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionsSummaryDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/subscriptions/summary/range": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetSubscriptionsSummaryForRange",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "revenue_basis",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/RevenueBasisDto_V2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionsSummaryForRangeDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/trials/summary": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetTrialsSummary",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrialsSummaryDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/trials/summary/range": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetTrialsSummaryForRange",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrialsSummaryForRangeDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/popular-times-of-day": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetPopularTimesOfDay",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PopularTimeOfDayDto_V2"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/chargeback-rate": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetPaymentMethodTypesChargebackRates",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentMethodChargebackRateDto_V2"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/customers": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetCustomersStats",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "sort_field",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CustomerSortFieldDto_V2"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerStatsDto_V2"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/customers/range": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetCustomersStatsForRange",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "sort_field",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CustomerSortFieldDto_V2"
            }
          },
          {
            "name": "start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "tz",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerStatsDto_V2"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v2/stores/{storeId}/stats/customers/{customerId}": {
      "get": {
        "tags": [
          "stats"
        ],
        "operationId": "StatsControllerV_GetCustomerStats",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerStatsDto_V2"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores": {
      "post": {
        "tags": [
          "store"
        ],
        "summary": "Create a store",
        "description": "Creates a new store for the authenticated user.",
        "operationId": "Store_CreateStore",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoreDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoreDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoreDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      },
      "get": {
        "tags": [
          "store"
        ],
        "summary": "Get stores",
        "description": "Retrieves all stores accessible to the authenticated user or API key.",
        "operationId": "Store_GetStores",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}": {
      "patch": {
        "tags": [
          "store"
        ],
        "summary": "Update a store",
        "description": "Partially updates a store's configuration using the provided fields.",
        "operationId": "Store_UpdateStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "store"
        ],
        "summary": "Get a store",
        "description": "Retrieves a single store by its ID.",
        "operationId": "Store_GetStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "store"
        ],
        "summary": "Delete a store",
        "description": "Deletes a store by its ID",
        "operationId": "Store_DeleteStore",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/members": {
      "get": {
        "tags": [
          "store"
        ],
        "summary": "List store members",
        "description": "Retrieves all members who have access to the specified store.",
        "operationId": "Store_GetStoreMembers",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StoreMemberDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/members/{memberId}/permissions": {
      "get": {
        "tags": [
          "store"
        ],
        "summary": "Get store member permissions",
        "description": "Retrieves the resolved permissions map for a specific member of a store.",
        "operationId": "Store_GetStoreMemberPermissions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/members/{memberId}": {
      "delete": {
        "tags": [
          "store"
        ],
        "summary": "Remove a store member",
        "description": "Removes the specified member from the store, revoking their access.",
        "operationId": "Store_KickStoreMember",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "store"
        ],
        "summary": "Update a store member",
        "description": "Updates the role assigned to a specific member of the store.",
        "operationId": "Store_UpdateStoreMember",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreMemberDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreMemberDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreMemberDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/subscriptions": {
      "get": {
        "tags": [
          "subscriptions"
        ],
        "summary": "Get subscriptions",
        "description": "Retrieves all subscriptions for the specified store.",
        "operationId": "Subscriptions_GetSubscriptions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve subscriptions for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "billing_email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payment_method_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "checkout_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "trial_id",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SubscriptionStatusDto"
              }
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/subscriptions/{subscriptionId}": {
      "get": {
        "tags": [
          "subscriptions"
        ],
        "summary": "Get subscription by ID",
        "description": "Retrieves a subscription for the specified store by the supplied ID.",
        "operationId": "Subscriptions_GetSubscriptionById",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve the subscription for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The ID of the subscription.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/subscriptions/{subscriptionId}/cancel": {
      "post": {
        "tags": [
          "subscriptions"
        ],
        "summary": "Cancel subscription by ID",
        "description": "Cancels a subscription for the specified store by the supplied ID.",
        "operationId": "Subscriptions_CancelSubscription",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to cancel the subscription for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The ID of the subscription.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "description": "Cancellation details",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSubscriptionRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSubscriptionRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSubscriptionRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/subscriptions/{subscriptionId}/stop-pending-cancellation": {
      "post": {
        "tags": [
          "subscriptions"
        ],
        "summary": "Stop pending subscription cancellation",
        "description": "Stops a pending subscription cancellation for the specified store by the supplied ID.",
        "operationId": "Subscriptions_StopPendingSubscriptionCancellation",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to uncancel the subscription for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "The ID of the subscription.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/subscriptions/{subscriptionId}/change": {
      "post": {
        "tags": [
          "subscriptions"
        ],
        "summary": "Update items on a subscription",
        "description": "Updates the subscription lines, including the pricing, on an active subscription. The subscription must not be within 1 hour of its\nnext renewal, and only one change can be pending at a time.\n            \n**Access**\n            \nThis endpoint requires the Subscription Updates API feature flag to be enabled on your store. Contact\nPayNow to request access.\n            \n**Proration behavior**\n            \nControlled by the `proration_behavior` field on the request:\n            \n- `immediate` - the change is applied as soon as possible.\n  Proration is calculated for the remaining period. If the prorated amount is ≥ $0.50 (or equivalent in other currencies), an order is\n  initiated against the subscription's payment method; the change is applied once the payment succeeds.\n  If the prorated amount is below $0.50, no order is created and the change is\n  applied instantly.\n  Only one proration order is allowed per billing cycle - a second immediate change in the same\n  period will be rejected if a proration was already charged.\n  When a payment is triggered, the response will include a `pending_payment` object. The payment result\n  is synchronous - check `pending_payment.declined` to determine whether the charge succeeded. If\n  declined, `pending_payment.decline_code` contains the reason.\n            \n- `next_billing_period` - no payment is created. The change is queued and will be applied automatically\n  at the start of the next renewal cycle. Ideal for downgrades.\n            \n- `none` - the change is applied instantly with no proration calculated or charged.\n            \n**Reverting a pending change**\n            \nIf a `next_billing_period` change is pending and the new request specifies the same product versions\nthat are already on the subscription (i.e. reverting back to the current state), the pending change\nis canceled rather than rejected. The canceled change record is returned in the response.",
        "operationId": "Subscriptions_UpdateSubscription",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubscriptionRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubscriptionRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubscriptionRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSubscriptionResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/subscriptions/{subscriptionId}/change/preview": {
      "post": {
        "tags": [
          "subscriptions"
        ],
        "summary": "Preview a subscription change",
        "description": "Simulates a subscription change and returns the pricing breakdown without creating any records or\ninitiating a payment. Accepts the same request body as `POST change` — see that endpoint for\nfull parameter documentation. Does not return the `pending_payment` field.",
        "operationId": "Subscriptions_PreviewSubscriptionChange",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubscriptionRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubscriptionRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSubscriptionRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSubscriptionResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tags": {
      "get": {
        "tags": [
          "tags"
        ],
        "summary": "Get all tags for a store",
        "operationId": "Tags_GetTags",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "tags"
        ],
        "summary": "Create a new tag",
        "operationId": "Tags_CreateTag",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTagRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTagRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTagRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tags/{tagId}": {
      "get": {
        "tags": [
          "tags"
        ],
        "summary": "Get a tag by an ID",
        "operationId": "Tags_GetTag",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "tags"
        ],
        "summary": "Update a tag by ID",
        "operationId": "Tags_UpdateTag",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTagRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTagRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertTagRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "tags"
        ],
        "summary": "Delete a tag by ID",
        "operationId": "Tags_DeleteTag",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tags/{tagId}/image-upload-url": {
      "get": {
        "tags": [
          "tags"
        ],
        "summary": "Get upload URL for tag image",
        "description": "Gets a pre-signed upload URL for uploading an image to a tag",
        "operationId": "Tags_GetTagImageUploadUrl",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTagImageUploadUrlResponseDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tags/{tagId}/image-upload-finish": {
      "post": {
        "tags": [
          "tags"
        ],
        "summary": "Finish tag image upload",
        "description": "Finishes an image upload for a tag",
        "operationId": "Tags_FinishTagImageUpload",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinishTagImageUploadUrlRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FinishTagImageUploadUrlRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FinishTagImageUploadUrlRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tags/{tagId}/image": {
      "delete": {
        "tags": [
          "tags"
        ],
        "summary": "Delete tag image",
        "description": "Deletes an image for a tag",
        "operationId": "Tags_DeleteTagImage",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tier-groups": {
      "get": {
        "tags": [
          "tier-groups"
        ],
        "summary": "List all tier groups for a store",
        "operationId": "TierGroups_ListTierGroups",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TierGroupDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "tier-groups"
        ],
        "summary": "Create a new tier group",
        "operationId": "TierGroups_CreateTierGroup",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTierGroupRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTierGroupRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTierGroupRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TierGroupDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/tier-groups/{tierGroupId}": {
      "get": {
        "tags": [
          "tier-groups"
        ],
        "summary": "Get a tier group by ID",
        "operationId": "TierGroups_GetTierGroup",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tierGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TierGroupDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "tier-groups"
        ],
        "summary": "Update a tier group by ID",
        "operationId": "TierGroups_UpdateTierGroup",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tierGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTierGroupRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTierGroupRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTierGroupRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TierGroupDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "tier-groups"
        ],
        "summary": "Delete a tier group by ID",
        "operationId": "TierGroups_DeleteTierGroup",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "tierGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/trials": {
      "get": {
        "tags": [
          "trials"
        ],
        "summary": "Get trials for a store",
        "operationId": "Trials_GetTrials",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filters trials by their status. Multiple statuses can be specified.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TrialStatusDto"
              }
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "description": "Filters trials by the customer identifier.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "subscription_id",
            "in": "query",
            "description": "Filters trials by the associated subscription identifier.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "checkout_id",
            "in": "query",
            "description": "Filters trials by the checkout session identifier that initiated them.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "trial_id",
            "in": "query",
            "description": "Filters to a specific trial by its identifier.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrialDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/trials/{trialId}": {
      "get": {
        "tags": [
          "trials"
        ],
        "summary": "Get a trial by ID for a store",
        "operationId": "Trials_GetTrial",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "trialId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrialDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/trials/eligibility/overrides": {
      "get": {
        "tags": [
          "trials"
        ],
        "summary": "Get trial eligibility overrides for a specific customer",
        "description": "Retrieves all trial eligibility overrides for the specified customer.",
        "operationId": "CustomersTrialEligibility_GetEligibilityOverridesForCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to retrieve trial eligibility overrides for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "The ID of the customer to retrieve trial eligibility overrides for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrialEligibilityOverrideDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "trials"
        ],
        "summary": "Create trial eligibility override for a customer",
        "description": "Creates a new trial eligibility override for the specified customer.",
        "operationId": "CustomersTrialEligibility_CreateEligibilityOverrideForCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to create the trial eligibility override for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "The ID of the customer to create the trial eligibility override for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "description": "The trial eligibility override data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTrialEligibilityOverrideDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTrialEligibilityOverrideDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTrialEligibilityOverrideDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrialEligibilityOverrideDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/customers/{customerId}/trials/eligibility/overrides/{trialEligibilityOverrideId}": {
      "delete": {
        "tags": [
          "trials"
        ],
        "summary": "Delete trial eligibility override for a customer",
        "description": "Deletes an existing trial eligibility override.",
        "operationId": "CustomersTrialEligibility_DeleteEligibilityOverrideForCustomer",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "description": "The ID of the store to delete the trial eligibility override for.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "trialEligibilityOverrideId",
            "in": "path",
            "description": "The ID of the trial eligibility override to delete.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/trust/requirements": {
      "get": {
        "tags": [
          "trust"
        ],
        "operationId": "TrustStoreRequirement_GetStoreTrustRequirements",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of items to return in a single request.",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "after",
            "in": "query",
            "description": "Returns items after the specified ID.\nUsed for forward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "before",
            "in": "query",
            "description": "Returns items before the specified ID.\nUsed for backward pagination through results.",
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "example": "null"
          },
          {
            "name": "asc",
            "in": "query",
            "description": "Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrustStoreRequirementDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ],
        "x-gitbook-ignore": true
      }
    },
    "/v1/stores/{storeId}/upsell-settings": {
      "get": {
        "tags": [
          "upsell-settings"
        ],
        "summary": "Get store upselling settings",
        "description": "Retrieves upselling settings for the store.",
        "operationId": "UpsellSettings_GetStoreUpsellSettings",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpsellSettingsDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "patch": {
        "tags": [
          "upsell-settings"
        ],
        "summary": "Updates store upselling settings",
        "description": "Updates upselling settings for a store.",
        "operationId": "UpsellSettings_UpdateStoreUpsellSettings",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreUpsellSettingsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreUpsellSettingsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateStoreUpsellSettingsDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/webhooks": {
      "get": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_GetSubscriptions",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WebhookSubscriptionDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_CreateSubscription",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWebhookDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptionDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/webhooks/variables": {
      "get": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_GetVariables",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WebhookVariablesDto"
                  }
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/webhooks/{webhookId}": {
      "patch": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_UpdateSubscription",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "webhookId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookSubscriptionDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_DeleteSubscription",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "webhookId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/webhooks/resend": {
      "post": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_Resend",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendWebhookDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendWebhookDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResendWebhookDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    },
    "/v1/stores/{storeId}/webhooks/{webhookId}/history": {
      "get": {
        "tags": [
          "webhooks"
        ],
        "operationId": "Webhooks_GetHistory",
        "parameters": [
          {
            "name": "storeId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "webhookId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookHistoryDto"
                }
              }
            }
          },
          "default": {
            "description": "Error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayNowError"
                }
              }
            }
          }
        },
        "security": [
          {
            "APIKey": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AbandonedCheckoutStoreConfigurationCommandDto": {
        "required": [
          "command",
          "id",
          "online_only",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "command": {
            "type": "string",
            "description": "The command to execute."
          },
          "online_only": {
            "type": "boolean",
            "description": "Indicates if the command should be executed if the player is online."
          }
        },
        "additionalProperties": false,
        "description": "Represents a command associated with the store-level abandoned checkout configuration."
      },
      "AbandonedCheckoutStoreConfigurationDto": {
        "required": [
          "commands",
          "coupon_configuration",
          "enabled",
          "invalid",
          "minimum_order_value",
          "store_id",
          "trigger_after",
          "updated_at",
          "updated_by"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "enabled": {
            "type": "boolean",
            "description": "A value indicating whether the abandoned checkout feature is enabled for the store."
          },
          "invalid": {
            "type": "boolean",
            "description": "A value indicating whether the abandoned checkout configuration for the store is invalid."
          },
          "trigger_after": {
            "$ref": "#/components/schemas/Period"
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "The minimum order value required to trigger an abandoned checkout email.",
            "format": "int64"
          },
          "maximum_order_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum order value beyond which an abandoned checkout email will not be sent.",
            "format": "int64"
          },
          "max_coupons_per_customer_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_per_customer_period": {
            "$ref": "#/components/schemas/Period"
          },
          "max_coupons_global_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_global_period": {
            "$ref": "#/components/schemas/Period"
          },
          "coupon_configuration": {
            "$ref": "#/components/schemas/MarketingCouponConfigurationDto"
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationCommandDto"
            },
            "description": "The commands you want to execute when the email is sent."
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time when the configuration was last updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the store-level configuration for abandoned checkout settings."
      },
      "AbandonedCheckoutStoreConfigurationUpdateCommandDto": {
        "required": [
          "command",
          "online_only"
        ],
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "description": "The command to execute."
          },
          "online_only": {
            "type": "boolean",
            "description": "Indicates if the command should be executed if the player is online."
          }
        },
        "additionalProperties": false,
        "description": "Represents a command associated with the store-level abandoned checkout configuration."
      },
      "AbandonedCheckoutStoreConfigurationUpdateDto": {
        "required": [
          "commands",
          "coupon_configuration",
          "enabled",
          "minimum_order_value",
          "trigger_after"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "A value indicating whether the abandoned checkout feature is enabled for the store."
          },
          "trigger_after": {
            "$ref": "#/components/schemas/Period"
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "The minimum order value required to trigger an abandoned checkout email.",
            "format": "int64"
          },
          "maximum_order_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum order value beyond which an abandoned checkout email will not be sent.",
            "format": "int64"
          },
          "max_coupons_per_customer_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_per_customer_period": {
            "$ref": "#/components/schemas/Period"
          },
          "max_coupons_global_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_global_period": {
            "$ref": "#/components/schemas/Period"
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AbandonedCheckoutStoreConfigurationUpdateCommandDto"
            }
          },
          "coupon_configuration": {
            "$ref": "#/components/schemas/MarketingCouponConfigurationDto"
          }
        },
        "additionalProperties": false,
        "description": "Used for updating the store-level configuration for abandoned checkout settings."
      },
      "ActorDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PayNowActorType"
          },
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "AddressDto": {
        "type": "object",
        "properties": {
          "country": {
            "type": [
              "null",
              "string"
            ],
            "description": "The country of the address"
          },
          "state": {
            "type": [
              "null",
              "string"
            ],
            "description": "The state or province of the address"
          },
          "city": {
            "type": [
              "null",
              "string"
            ],
            "description": "The city of the address"
          },
          "postal_code": {
            "type": [
              "null",
              "string"
            ],
            "description": "The postal code or zip code of the address"
          },
          "line_1": {
            "type": [
              "null",
              "string"
            ],
            "description": "The first line of the street address"
          },
          "line_2": {
            "type": [
              "null",
              "string"
            ],
            "description": "The second line of the street address, if any (apartment, suite, etc.)"
          }
        },
        "additionalProperties": false,
        "description": "Represents a physical or billing address"
      },
      "AffiliateLinkCommissionAmountStepDto": {
        "required": [
          "billing_cycle_sequence",
          "commission_amount"
        ],
        "type": "object",
        "properties": {
          "billing_cycle_sequence": {
            "type": "integer",
            "description": "The billing cycle number this commission step applies to. Starts at 1 for the initial purchase.",
            "format": "int32"
          },
          "commission_amount": {
            "type": "integer",
            "description": "The commission percentage for this cycle, in tenths of a percent (e.g., 125 = 12.5%).",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Represents the commission for a specific subscription renewal billing cycle.\nA step applies to its exact cycle - see the affiliate link's 'last_commission_amount_step_repeats' for what happens past the last step."
      },
      "AffiliateLinkCommissionTypeDto": {
        "enum": [
          "none",
          "fixed",
          "percentage"
        ],
        "type": "string",
        "description": "Specifies the type of commission an affiliate earns from referred purchases.",
        "x-enumDescriptions": {
          "none": "No commission is earned.",
          "fixed": "A fixed amount commission (e.g., $5 per purchase). Not yet supported by the affiliate service.",
          "percentage": "A percentage-based commission (e.g., 10% of the purchase)."
        }
      },
      "AffiliateLinkDiscountTypeDto": {
        "enum": [
          "none",
          "fixed",
          "percentage"
        ],
        "type": "string",
        "description": "Specifies the type of discount offered to customers referred through an affiliate link.",
        "x-enumDescriptions": {
          "none": "No discount is offered.",
          "fixed": "A fixed amount discount (e.g., $5 off).",
          "percentage": "A percentage-based discount (e.g., 10% off)."
        }
      },
      "AffiliateLinkDto": {
        "required": [
          "apply_for_subscriptions",
          "code",
          "commission_amount",
          "commission_amount_steps",
          "commission_type",
          "created_at",
          "created_by",
          "discount_amount",
          "discount_type",
          "enabled",
          "id",
          "last_commission_amount_step_repeats",
          "referer_type",
          "store_id",
          "tracking_length_days",
          "wallet_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "wallet_id": {
            "type": "string",
            "description": "The identifier of the wallet that receives the affiliate commission payouts."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the affiliate link is enabled."
          },
          "code": {
            "type": "string",
            "description": "The unique code associated with the affiliate link."
          },
          "referer_type": {
            "$ref": "#/components/schemas/AffiliateLinkRefererTypeDto"
          },
          "tracking_length_days": {
            "type": "integer",
            "description": "The number of days a customer's referral is tracked after following the affiliate link.",
            "format": "int32"
          },
          "apply_for_subscriptions": {
            "type": "boolean",
            "description": "Whether the affiliate earns commission on subscription renewals.\nMust be enabled for 'commission_amount_steps' past the first cycle to apply - when disabled, only the initial purchase earns commission."
          },
          "discount_type": {
            "$ref": "#/components/schemas/AffiliateLinkDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "description": "The discount amount, in the smallest currency unit (e.g., cents) for fixed discounts, or tenths of a percent (e.g., 125 = 12.5%) for percentage discounts.",
            "format": "int64"
          },
          "commission_type": {
            "$ref": "#/components/schemas/AffiliateLinkCommissionTypeDto"
          },
          "commission_amount": {
            "type": "integer",
            "description": "The commission amount, in tenths of a percent (e.g., 125 = 12.5%) for percentage commissions.",
            "format": "int64"
          },
          "commission_amount_steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffiliateLinkCommissionAmountStepDto"
            },
            "description": "Per-cycle commission overrides. Requires 'apply_for_subscriptions' to be enabled for billing cycles past 1.\nWhen empty, the base commission amount applies to every renewal. When steps are defined, each renewal cycle pays its matching steps amount.\nCycles without a matching step earn no commission, except cycles past the last step when 'last_commission_amount_step_repeats' is true."
          },
          "last_commission_amount_step_repeats": {
            "type": "boolean",
            "description": "Whether the last commission amount steps rate continues to apply to all billing cycles past the last step.\nWhen false, cycles past the last step earn no commission."
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the affiliate link was created.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the affiliate link was last updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a detailed view of an affiliate link, including configuration and audit information."
      },
      "AffiliateLinkRefererTypeDto": {
        "enum": [
          "invalid",
          "first_referer",
          "last_referer"
        ],
        "type": "string",
        "description": "Specifies which affiliate link is credited when a customer follows multiple links before purchasing.",
        "x-enumDescriptions": {
          "invalid": "No referer type specified. This value is typically used as a default or uninitialized state.",
          "first_referer": "The first affiliate link the customer followed is credited.",
          "last_referer": "The most recent affiliate link the customer followed is credited."
        }
      },
      "AffiliateLinkResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "affiliate_link": {
            "$ref": "#/components/schemas/AffiliateLinkDto"
          }
        },
        "additionalProperties": false
      },
      "AlipayDetailsDto": {
        "type": "object",
        "properties": {
          "buyer_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Alipay buyer identifier",
            "example": "buyer_abc123"
          },
          "fingerprint": {
            "type": [
              "null",
              "string"
            ],
            "description": "A unique fingerprint for this Alipay account",
            "example": "fingerprint_xyz789"
          }
        },
        "additionalProperties": false,
        "description": "Alipay payment method details"
      },
      "BanDto": {
        "required": [
          "created_at",
          "created_by",
          "enabled",
          "id",
          "identities",
          "reason",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "reason": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BanIdentityDto"
            }
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BanIdentityDto": {
        "required": [
          "ban_type",
          "ban_type_value"
        ],
        "type": "object",
        "properties": {
          "ban_type": {
            "$ref": "#/components/schemas/BanType"
          },
          "ban_type_value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BanResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "ban": {
            "$ref": "#/components/schemas/BanDto"
          }
        },
        "additionalProperties": false
      },
      "BanType": {
        "enum": [
          "unknown",
          "steam",
          "ip",
          "customer",
          "customer_name",
          "email"
        ],
        "type": "string"
      },
      "BancontactDetailsDto": {
        "type": "object",
        "properties": {
          "bank": {
            "type": [
              "null",
              "string"
            ],
            "description": "The bank identifier",
            "example": "bnp_paribas"
          },
          "bank_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The bank name",
            "example": "BNP Paribas"
          },
          "bic": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Bank Identifier Code",
            "example": "GEBABEBB"
          },
          "iban_last4": {
            "type": [
              "null",
              "string"
            ],
            "description": "The last 4 digits of the IBAN",
            "example": 3456
          },
          "payer_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payer name",
            "example": "Jean Dupont"
          }
        },
        "additionalProperties": false,
        "description": "Bancontact payment method details"
      },
      "CancelSubscriptionRequestDto": {
        "type": "object",
        "properties": {
          "cancel_at_period_end": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Should the subscription be cancelled immediately (false) or on the next billing period (true)?"
          }
        },
        "additionalProperties": false
      },
      "CardDetailsDto": {
        "required": [
          "brand",
          "country",
          "exp_month",
          "exp_year",
          "fingerprint",
          "funding",
          "last4"
        ],
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "description": "The card brand",
            "example": "visa"
          },
          "country": {
            "type": "string",
            "description": "The country code where the card was issued",
            "example": "US"
          },
          "exp_month": {
            "type": "integer",
            "description": "The card expiration month",
            "format": "int32",
            "example": 12
          },
          "exp_year": {
            "type": "integer",
            "description": "The card expiration year",
            "format": "int32",
            "example": 2028
          },
          "fingerprint": {
            "type": "string",
            "description": "A unique fingerprint for this card",
            "example": "abc123def456"
          },
          "funding": {
            "type": "string",
            "description": "The card funding type",
            "example": "credit"
          },
          "last4": {
            "type": "string",
            "description": "The last 4 digits of the card number",
            "example": "4242"
          },
          "bin": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Bank Identification Number (first 6/8 digits of card).\nOnly available internally.",
            "example": 424242
          },
          "issuer": {
            "type": [
              "null",
              "string"
            ],
            "description": "The card issuer/bank name.\nOnly available internally.",
            "example": "Chase Bank"
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "The card description.\nOnly available internally.",
            "example": "Visa Signature"
          },
          "brand_product": {
            "type": [
              "null",
              "string"
            ],
            "description": "The card product code.\nOnly available internally.",
            "example": "F"
          },
          "wallet": {
            "$ref": "#/components/schemas/CardWalletDto"
          }
        },
        "additionalProperties": false,
        "description": "Card payment method details"
      },
      "CardWalletDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of digital wallet",
            "example": "apple_pay"
          }
        },
        "additionalProperties": false,
        "description": "Digital wallet details for a card"
      },
      "CashAppDetailsDto": {
        "required": [
          "buyer_id",
          "cashtag"
        ],
        "type": "object",
        "properties": {
          "buyer_id": {
            "type": "string",
            "description": "The Cash App buyer identifier",
            "example": "buyer_abc123"
          },
          "cashtag": {
            "type": "string",
            "description": "The Cash App cashtag",
            "example": "$johndoe"
          }
        },
        "additionalProperties": false,
        "description": "Cash App payment method details"
      },
      "ChargebackCoverageTypeDto": {
        "enum": [
          "unspecified",
          "none",
          "fraudulent",
          "all"
        ],
        "type": "string",
        "description": "Defines the type of chargeback coverage provided.",
        "x-enumDescriptions": {
          "unspecified": "Chargeback coverage type is not specified.",
          "none": "No chargeback coverage provided.",
          "fraudulent": "Coverage for fraudulent/unauthorized chargebacks only.",
          "all": "Coverage for all chargebacks including disputes."
        }
      },
      "CheckForBanIDByIdentitiesRequestDto": {
        "required": [
          "identities"
        ],
        "type": "object",
        "properties": {
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BanIdentityDto"
            }
          }
        },
        "additionalProperties": false
      },
      "CheckForBanIDByIdentitiesResponseDto": {
        "required": [
          "is_banned"
        ],
        "type": "object",
        "properties": {
          "is_banned": {
            "type": "boolean"
          },
          "ban_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "CheckoutCustomerDetailsDto": {
        "type": "object",
        "properties": {
          "billing_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The name the checkout is billed to."
          },
          "billing_email": {
            "type": [
              "null",
              "string"
            ],
            "description": "The email address the checkout is billed to."
          },
          "billing_address": {
            "$ref": "#/components/schemas/AddressDto"
          },
          "billing_tax_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The tax identifier of the customer, such as a VAT number."
          }
        },
        "additionalProperties": false,
        "description": "The billing details of the customer the checkout belongs to."
      },
      "CheckoutPaymentInfoDto": {
        "required": [
          "declined",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Status string from the payment provider."
          },
          "declined": {
            "type": "boolean",
            "description": "Indicates whether the payment was declined."
          },
          "decline_message": {
            "type": [
              "null",
              "string"
            ],
            "description": "The customer readable decline reason, if the payment was declined."
          },
          "checkout_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "Checkout URL to redirect to for on-session payments."
          }
        },
        "additionalProperties": false,
        "description": "Payment outcome information returned after a subscription change triggers an immediate charge."
      },
      "CommandAttemptDto": {
        "required": [
          "command",
          "gameserver_id",
          "id",
          "online_only",
          "queued_at",
          "rerun",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "inventory_item_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "steam_id": {
            "$ref": "#/components/schemas/SteamId"
          },
          "minecraft_uuid": {
            "type": [
              "null",
              "string"
            ]
          },
          "customer_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "command_stage": {
            "type": [
              "null",
              "string"
            ]
          },
          "command": {
            "type": "string"
          },
          "online_only": {
            "type": "boolean"
          },
          "rerun": {
            "type": "boolean"
          },
          "queued_at": {
            "type": "string",
            "format": "date-time"
          },
          "executed_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "executed_by_ip": {
            "type": [
              "null",
              "string"
            ]
          },
          "unqueued_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CouponDiscountTypeDto": {
        "enum": [
          "unspecified",
          "percent",
          "amount"
        ],
        "type": "string",
        "description": "Specifies the type of discount applied by a coupon.",
        "x-enumDescriptions": {
          "unspecified": "No discount type specified. This value is typically used as a default or uninitialized state.",
          "percent": "A percentage-based discount (e.g., 10% off).",
          "amount": "A fixed amount discount (e.g., $5 off)."
        }
      },
      "CouponDto": {
        "required": [
          "code",
          "created_at",
          "discount_amount",
          "discount_apply_before_sales",
          "discount_apply_individually",
          "discount_type",
          "duration",
          "enabled",
          "id",
          "minimum_order_value",
          "redeem_limit_customer_amount",
          "redeem_limit_customer_enabled",
          "redeem_limit_store_amount",
          "redeem_limit_store_enabled",
          "store_id",
          "usable_on_one_time_purchase",
          "usable_on_subscription",
          "version_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the coupon is enabled."
          },
          "code": {
            "type": "string",
            "description": "The unique code associated with the coupon."
          },
          "note": {
            "type": [
              "null",
              "string"
            ],
            "description": "A note or internal description of the coupon."
          },
          "duration": {
            "$ref": "#/components/schemas/CouponDurationDto"
          },
          "duration_in_months": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of months the coupon is valid for, used if the duration is repeating.",
            "format": "int32",
            "deprecated": true
          },
          "duration_in_intervals": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of subscription renewals the coupon is valid for, used if the duration is repeating.",
            "format": "int32"
          },
          "discount_type": {
            "$ref": "#/components/schemas/CouponDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "description": "The discount amount in the smallest currency unit (e.g., cents).",
            "format": "int64"
          },
          "discount_apply_individually": {
            "type": "boolean",
            "description": "Indicates whether the discount should be applied individually to required tags or products."
          },
          "discount_apply_before_sales": {
            "type": "boolean",
            "description": "Indicates whether the discount is applied before existing sales."
          },
          "apply_to_products": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "A list of product IDs the coupon applies to."
          },
          "apply_to_tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "A list of tag IDs the coupon applies to."
          },
          "usable_by_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "The minimum order value required to use the coupon.",
            "format": "int64"
          },
          "redeem_limit_store_enabled": {
            "type": "boolean",
            "description": "Indicates whether a global redemption limit is enabled."
          },
          "redeem_limit_store_amount": {
            "type": "integer",
            "description": "The maximum number of times the coupon can be redeemed across the store.",
            "format": "int64"
          },
          "redeem_limit_customer_enabled": {
            "type": "boolean",
            "description": "Indicates whether a per-customer redemption limit is enabled."
          },
          "redeem_limit_customer_amount": {
            "type": "integer",
            "description": "The maximum number of times the coupon can be redeemed per customer.",
            "format": "int64"
          },
          "usable_on_one_time_purchase": {
            "type": "boolean",
            "description": "Indicates whether the coupon can be used for one-time purchases."
          },
          "usable_on_subscription": {
            "type": "boolean",
            "description": "Indicates whether the coupon can be used for subscriptions."
          },
          "usable_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the coupon becomes valid.",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the coupon expires.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the coupon was created.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the coupon was last updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a detailed view of a coupon, including configuration and audit information."
      },
      "CouponDurationDto": {
        "enum": [
          "once",
          "forever",
          "repeating"
        ],
        "type": "string",
        "description": "Defines the duration for which a coupon remains valid.",
        "x-enumDescriptions": {
          "once": "The coupon can be used only once.",
          "forever": "The coupon remains valid indefinitely (no expiration).",
          "repeating": "The coupon is valid for a repeating period, typically specified in months."
        }
      },
      "CouponFilterStatusDto": {
        "enum": [
          "all",
          "active",
          "inactive"
        ],
        "type": "string",
        "description": "Will filter by coupon status.",
        "x-enumDescriptions": {
          "all": "List all coupons.",
          "active": "Coupon's that are active.",
          "inactive": "Coupon's that are inactive."
        }
      },
      "CouponFilterTypeDto": {
        "enum": [
          "all",
          "manual",
          "generated"
        ],
        "type": "string",
        "description": "Will filter by coupon creation type.",
        "x-enumDescriptions": {
          "all": "List all coupons.",
          "manual": "Coupon's that were created by a user.",
          "generated": "Coupon's that were created by the system (basket recover, etc.)."
        }
      },
      "CouponResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "coupon": {
            "$ref": "#/components/schemas/CouponDto"
          }
        },
        "additionalProperties": false
      },
      "CreateAffiliateLinkDto": {
        "required": [
          "wallet_id",
          "enabled",
          "code",
          "referer_type",
          "tracking_length_days",
          "apply_for_subscriptions",
          "discount_type",
          "discount_amount",
          "commission_type",
          "commission_amount",
          "commission_amount_steps",
          "last_commission_amount_step_repeats"
        ],
        "type": "object",
        "properties": {
          "wallet_id": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "referer_type": {
            "$ref": "#/components/schemas/AffiliateLinkRefererTypeDto"
          },
          "tracking_length_days": {
            "type": "integer",
            "format": "int32"
          },
          "apply_for_subscriptions": {
            "type": "boolean"
          },
          "discount_type": {
            "$ref": "#/components/schemas/AffiliateLinkDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "commission_type": {
            "$ref": "#/components/schemas/AffiliateLinkCommissionTypeDto"
          },
          "commission_amount": {
            "type": "integer",
            "format": "int64"
          },
          "commission_amount_steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffiliateLinkCommissionAmountStepDto"
            }
          },
          "last_commission_amount_step_repeats": {
            "type": "boolean"
          }
        }
      },
      "CreateCheckoutSessionLineDto": {
        "required": [
          "product_id",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Determines whether this line should create a subscription"
          },
          "trial": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the product should be trialed"
          },
          "gift_to": {
            "$ref": "#/components/schemas/CustomerPlatformAccountDto"
          },
          "gift_to_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "quantity": {
            "type": "integer",
            "description": "The quantity of this product to purchase",
            "format": "int32"
          },
          "selected_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "custom_variables": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Key-value pair mapping custom variable identifiers to their selected values.\nRequired only when the product includes custom variables."
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item in a checkout session request"
      },
      "CreateCheckoutSessionLineManagementDto": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "subscription": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Determines whether this line should create a subscription"
          },
          "trial": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the product should be trialed"
          },
          "gift_to": {
            "$ref": "#/components/schemas/CustomerPlatformAccountDto"
          },
          "gift_to_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "quantity": {
            "type": "integer",
            "description": "The quantity of this product to purchase",
            "format": "int32"
          },
          "selected_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "custom_variables": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Key-value pair mapping custom variable identifiers to their selected values.\nRequired only when the product includes custom variables."
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "inline_product": {
            "$ref": "#/components/schemas/InlineProductCreateDto"
          },
          "payout_splits": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CreateCheckoutSessionLineManagementPayoutSplitDto"
            },
            "description": "Optional payout splits for line items (requires approval)"
          },
          "metadata": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Optional metadata to associate with the checkout session line.\nDo not store any sensitive information here."
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item in a checkout session request.\nOpposed to CreateCheckoutSessionLineDto, this is used while creating a checkout session using the Management API,\nand allows for creating inline products and payout splits (subject to special approval)"
      },
      "CreateCheckoutSessionLineManagementPayoutSplitDto": {
        "required": [
          "payout_id"
        ],
        "type": "object",
        "properties": {
          "payout_id": {
            "type": "string",
            "description": "The ID of the user's payout balance."
          },
          "percentage": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)\nNOTE: The last payout split needs to have a null percentage set (so the remaining amount gets properly allocated)",
            "format": "int64",
            "example": 5000
          },
          "platform_fee": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The platform fee percentage applied to this split (in basis points)\nOnly applicable to platforms.",
            "format": "int64",
            "example": 500
          }
        },
        "additionalProperties": false
      },
      "CreateCheckoutSessionManagementDto": {
        "required": [
          "customer_id",
          "lines"
        ],
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateCheckoutSessionLineManagementDto"
            },
            "description": "The line items to include in the checkout"
          },
          "coupon_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "promo_codes": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            },
            "description": "Optional array of promo codes (coupons, gift cards, affiliates) to apply.\nAn invalid promo code will cause an error."
          },
          "affiliate_code": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional affiliate code to track referrals.\nAn invalid affiliate code will NOT cause an error."
          },
          "return_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional URL to redirect to after successful checkout"
          },
          "cancel_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional URL to redirect to if checkout is canceled"
          },
          "auto_redirect": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Whether to automatically redirect the customer (return_url must be set)"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "metadata": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Optional metadata to associate with the checkout session.\nDo not store any sensitive information here."
          },
          "customer_details": {
            "$ref": "#/components/schemas/CheckoutCustomerDetailsDto"
          }
        },
        "additionalProperties": false,
        "description": "Request to create a new checkout session from your back-end server using the management API.\n`customer_id` needs to be specified explicitly here instead of using a Customer token."
      },
      "CreateCheckoutSessionResponseDto": {
        "required": [
          "id",
          "token",
          "url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "token": {
            "type": "string",
            "description": "The token for the checkout session"
          },
          "url": {
            "type": "string",
            "description": "The URL to redirect the customer to complete checkout"
          }
        },
        "additionalProperties": false,
        "description": "Response after creating a checkout session"
      },
      "CreateCouponDto": {
        "required": [
          "enabled",
          "code",
          "duration",
          "discount_type",
          "discount_amount",
          "discount_apply_individually",
          "discount_apply_before_sales",
          "minimum_order_value",
          "redeem_limit_store_enabled",
          "redeem_limit_store_amount",
          "redeem_limit_customer_enabled",
          "redeem_limit_customer_amount",
          "usable_on_one_time_purchase",
          "usable_on_subscription"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "duration": {
            "$ref": "#/components/schemas/CouponDurationDto"
          },
          "duration_in_months": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "duration_in_intervals": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "discount_type": {
            "$ref": "#/components/schemas/CouponDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "discount_apply_individually": {
            "type": "boolean"
          },
          "discount_apply_before_sales": {
            "type": "boolean"
          },
          "apply_to_products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "apply_to_tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "usable_by_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "minimum_order_value": {
            "type": "integer",
            "format": "int64"
          },
          "redeem_limit_store_enabled": {
            "type": "boolean"
          },
          "redeem_limit_store_amount": {
            "type": "integer",
            "format": "int64"
          },
          "redeem_limit_customer_enabled": {
            "type": "boolean"
          },
          "redeem_limit_customer_amount": {
            "type": "integer",
            "format": "int64"
          },
          "usable_on_one_time_purchase": {
            "type": "boolean"
          },
          "usable_on_subscription": {
            "type": "boolean"
          },
          "usable_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateCustomerPortalSessionRequestDto": {
        "required": [
          "flow"
        ],
        "type": "object",
        "properties": {
          "flow": {
            "$ref": "#/components/schemas/CustomerPortalSessionFlowDto"
          },
          "expires_in_seconds": {
            "type": [
              "null",
              "integer"
            ],
            "description": "How long the portal session stays valid, in seconds. When unset, a default expiry is used.",
            "format": "int64"
          },
          "return_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL to redirect the customer back to after completing the portal flow"
          }
        },
        "additionalProperties": false,
        "description": "Request to create a new customer portal session from your back-end server using the management API"
      },
      "CreateDownloadableFileDownloadUrlResponseDto": {
        "required": [
          "download_signed_url"
        ],
        "type": "object",
        "properties": {
          "download_signed_url": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateEmailBrandingDto": {
        "required": [
          "color"
        ],
        "type": "object",
        "properties": {
          "color": {
            "type": "string"
          },
          "header_image_light_url": {
            "type": "string"
          },
          "header_image_dark_url": {
            "type": "string"
          }
        }
      },
      "CreateEmailTemplateDto": {
        "required": [
          "email_template_type",
          "name",
          "content"
        ],
        "type": "object",
        "properties": {
          "email_template_type": {
            "$ref": "#/components/schemas/EmailTemplateTypeDto"
          },
          "name": {
            "type": "string"
          },
          "content": {
            "type": "string"
          }
        }
      },
      "CreateGameServerConsoleDto": {
        "required": [
          "type",
          "enabled",
          "host",
          "port",
          "secure"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GameServerConsoleTypeDto"
          },
          "enabled": {
            "type": "boolean"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "password": {
            "type": "string"
          },
          "secure": {
            "type": "boolean"
          }
        }
      },
      "CreateGameServerDto": {
        "required": [
          "name",
          "enabled"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "CreateGiftCardDto": {
        "required": [
          "enabled",
          "code",
          "balance",
          "usable_at"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "balance": {
            "type": "integer",
            "format": "int64"
          },
          "usable_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateNavLinkDto": {
        "required": [
          "tag_id"
        ],
        "type": "object",
        "properties": {
          "tag_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "parent_node_id": {
            "type": "string"
          },
          "order": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "CreateProductDependentMigrationRequestDto": {
        "required": [
          "send_all_commands_to_new_servers",
          "send_new_commands_to_all_servers",
          "target_types"
        ],
        "type": "object",
        "properties": {
          "send_new_commands_to_all_servers": {
            "type": "boolean"
          },
          "send_all_commands_to_new_servers": {
            "type": "boolean"
          },
          "target_types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductDependentMigrationTargetTypeDto"
            }
          }
        },
        "additionalProperties": false
      },
      "CreateRefundRequestDto": {
        "type": "object",
        "properties": {
          "order_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "refund_from_connected_user_balance": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Determines if the refund should be taken from the connected user's balance.\nOnly relevant for connected platforms."
          }
        },
        "additionalProperties": false
      },
      "CreateSaleDto": {
        "required": [
          "enabled",
          "name",
          "discount_type",
          "discount_amount",
          "duration",
          "duration_in_intervals",
          "apply_to_product_ids",
          "apply_to_tag_ids",
          "minimum_order_value",
          "begins_at"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "discount_type": {
            "$ref": "#/components/schemas/SaleDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int32"
          },
          "duration": {
            "$ref": "#/components/schemas/SaleDurationDto"
          },
          "duration_in_intervals": {
            "type": "integer",
            "format": "int32"
          },
          "apply_to_product_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "apply_to_tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "minimum_order_value": {
            "type": "integer",
            "format": "int32"
          },
          "begins_at": {
            "type": "string",
            "format": "date-time"
          },
          "ends_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "CreateStoreDto": {
        "required": [
          "slug",
          "name",
          "platform",
          "game",
          "currency",
          "description"
        ],
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "game": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "website_url": {
            "type": "string"
          },
          "contact_email": {
            "type": "string"
          },
          "support_email": {
            "type": "string"
          },
          "support_url": {
            "type": "string"
          },
          "integration_type": {
            "type": "string"
          },
          "minecraft_bedrock_username_prefix": {
            "type": "string"
          }
        }
      },
      "CreateStorePaymentSettingsDto": {
        "required": [
          "show_all_payment_methods_for_subscriptions",
          "store_tax_inclusive_pricing",
          "block_prepaid_cards",
          "promo_code_stacking_behavior",
          "adaptive_currency_enabled",
          "show_adaptive_currency_on_storefront"
        ],
        "type": "object",
        "properties": {
          "show_all_payment_methods_for_subscriptions": {
            "type": "boolean"
          },
          "store_tax_inclusive_pricing": {
            "type": "boolean"
          },
          "block_prepaid_cards": {
            "$ref": "#/components/schemas/PrepaidCardsBlockingTypeDto"
          },
          "promo_code_stacking_behavior": {
            "$ref": "#/components/schemas/StorePromoCodeStackingBehaviorDto"
          },
          "adaptive_currency_enabled": {
            "type": "boolean"
          },
          "show_adaptive_currency_on_storefront": {
            "type": "boolean"
          }
        }
      },
      "CreateStoreUpsellSettingsDto": {
        "required": [
          "enabled",
          "automatic_recommendations_enabled",
          "automatic_recommendations_discount_type",
          "automatic_recommendations_discount_amount",
          "recommendation_overrides_enabled",
          "recommendation_overrides",
          "checkout_style"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "automatic_recommendations_enabled": {
            "type": "boolean"
          },
          "automatic_recommendations_discount_type": {
            "$ref": "#/components/schemas/UpsellDiscountTypeDto"
          },
          "automatic_recommendations_discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "recommendation_overrides_enabled": {
            "type": "boolean"
          },
          "recommendation_overrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreUpsellRecommendationDto"
            }
          },
          "checkout_style": {
            "$ref": "#/components/schemas/StoreUpsellCheckoutStyleDto"
          }
        }
      },
      "CreateTierGroupRequestDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the tier group."
          }
        },
        "additionalProperties": false
      },
      "CreateTrialEligibilityOverrideDto": {
        "required": [
          "product_id",
          "expires_at"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "note": {
            "type": "string"
          }
        }
      },
      "CreateWebhookDto": {
        "required": [
          "subscribed_to",
          "type",
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "subscribed_to": {
            "$ref": "#/components/schemas/WebhookEventType"
          },
          "type": {
            "$ref": "#/components/schemas/WebhookType"
          },
          "discord_description_template": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_title": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_color": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_format": {
            "$ref": "#/components/schemas/WebhookDiscordFormatDto"
          }
        },
        "additionalProperties": false
      },
      "CryptoDetailsDto": {
        "required": [
          "confirmations",
          "crypto_amount",
          "crypto_currency",
          "total_paid",
          "transaction_hashes"
        ],
        "type": "object",
        "properties": {
          "crypto_currency": {
            "type": "string",
            "description": "The cryptocurrency used",
            "example": "BTC"
          },
          "crypto_amount": {
            "type": "string",
            "description": "The amount in cryptocurrency",
            "example": "0.00150000"
          },
          "total_paid": {
            "type": "string",
            "description": "The total amount paid in cryptocurrency",
            "example": "0.00150000"
          },
          "confirmations": {
            "type": "integer",
            "description": "The number of blockchain confirmations",
            "format": "int32",
            "example": 6
          },
          "transaction_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of blockchain transactions involving this payment"
          }
        },
        "additionalProperties": false,
        "description": "Cryptocurrency payment method details"
      },
      "CustomVariableDto": {
        "required": [
          "created_at",
          "created_by",
          "description",
          "id",
          "identifier",
          "name",
          "options",
          "store_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "identifier": {
            "type": "string",
            "description": "Unique identifier string used to reference this custom variable programmatically.\nMust contain only letters, numbers, underscores, and hyphens."
          },
          "name": {
            "type": "string",
            "description": "Display name for the custom variable shown to customers."
          },
          "description": {
            "type": "string",
            "description": "Description explaining what this custom variable is for. Can be shown to customers."
          },
          "type": {
            "$ref": "#/components/schemas/CustomVariableType"
          },
          "value_regex": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional regex pattern to validate text/number input values.\nOnly applies to text and number types.\nUses RE2 syntax - does not support negative lookarounds, backreferences, or other advanced regex features."
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomVariableOptionDto"
            },
            "description": "Available options for dropdown type custom variables.\nEmpty for text and number types."
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "description": "When this custom variable was created.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this custom variable was last updated.\nNull if never updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CustomVariableLineItemDto": {
        "required": [
          "description",
          "id",
          "identifier",
          "name",
          "price",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "identifier": {
            "type": "string",
            "description": "The identifier used to reference this custom variable (e.g., \"color\", \"size\")."
          },
          "name": {
            "type": "string",
            "description": "The display name of the custom variable shown to users."
          },
          "description": {
            "type": "string",
            "description": "A detailed description of what this custom variable represents."
          },
          "price": {
            "type": "integer",
            "description": "The price associated with this custom variable in the smallest currency unit (e.g., cents).",
            "format": "int64"
          },
          "value": {
            "type": "string",
            "description": "The selected value for this custom variable."
          }
        },
        "additionalProperties": false
      },
      "CustomVariableOptionDto": {
        "required": [
          "custom_variable_id",
          "id",
          "is_default",
          "name",
          "price",
          "price_type",
          "sort_order",
          "store_id",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "custom_variable_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "Display name shown to customers for this option."
          },
          "value": {
            "type": "string",
            "description": "Internal value used for product command variable replacement, without brackets."
          },
          "price": {
            "type": "integer",
            "description": "Price modification when this option is selected.\nInterpretation depends on PriceType (fixed amount or percentage).",
            "format": "int64"
          },
          "price_type": {
            "$ref": "#/components/schemas/CustomVariableOptionPriceType"
          },
          "is_default": {
            "type": "boolean",
            "description": "Whether this option is selected by default when the custom variable is presented.\nOnly one option per custom variable should be marked as default."
          },
          "sort_order": {
            "type": "integer",
            "description": "Sort order for displaying options to customers.\nLower numbers appear first.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CustomVariableOptionPriceType": {
        "enum": [
          "fixed",
          "percentage"
        ],
        "type": "string",
        "description": "Defines how option pricing should be applied to the base product price.",
        "x-enumDescriptions": {
          "fixed": "Fixed amount added to or subtracted from the base price.\n            Price value represents the exact amount in the smallest currency unit.",
          "percentage": "Percentage modification of the base price.\n            Price value represents the percentage (e.g., 150 = 1.5% increase)."
        }
      },
      "CustomVariableOptionRequestDto": {
        "required": [
          "is_default",
          "name",
          "price",
          "price_type",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "Display name shown to customers for this option."
          },
          "value": {
            "type": "string",
            "description": "The value the command variable will be replaced with."
          },
          "price": {
            "type": "integer",
            "description": "Price modification when this option is selected.\nInterpretation depends on PriceType (fixed amount or percentage).\nIf fixed, the value is in cents, if a percentage, in permille.",
            "format": "int64"
          },
          "price_type": {
            "$ref": "#/components/schemas/CustomVariableOptionPriceType"
          },
          "is_default": {
            "type": "boolean",
            "description": "Whether this option is selected by default.\nOnly one option per custom variable should be marked as default."
          }
        },
        "additionalProperties": false,
        "description": "Request model for defining custom variable options.\nUsed within UpsertCustomVariableRequestDto for dropdown-type variables."
      },
      "CustomVariableType": {
        "enum": [
          "dropdown",
          "text",
          "number"
        ],
        "type": "string",
        "description": "Defines the type of input method for a custom variable.",
        "x-enumDescriptions": {
          "dropdown": "Dropdown selection with predefined options.\n            Customers choose from a list of available options.\n            Allows for additional pricing based on the selected entry.",
          "text": "Free-form text input.\n            Customers can enter any text value (subject to validation).",
          "number": "Numeric input.\n            Customers can enter numeric values (subject to validation)."
        }
      },
      "CustomerDto": {
        "required": [
          "created_at",
          "id",
          "metadata",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "profile": {
            "$ref": "#/components/schemas/CustomerGenericProfileDto"
          },
          "steam_id": {
            "$ref": "#/components/schemas/SteamId"
          },
          "steam": {
            "$ref": "#/components/schemas/CustomerSteamProfileDto"
          },
          "minecraft_uuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The customer's Minecraft UUID, if they have linked their Minecraft account.\nNot set for offline Minecraft stores. If the platform type is Minecraft - Geyser,\nand the profile is a bedrock account, this will be a UUID generated from the Xbox XUID.",
            "example": "f84c6a79-0a4e-45e0-879b-cd49ebd4c4e2"
          },
          "minecraft": {
            "$ref": "#/components/schemas/CustomerMinecraftProfileDto"
          },
          "xbox_xuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The customer's Xbox XUID, if available."
          },
          "minecraft_platform": {
            "$ref": "#/components/schemas/CustomerMinecraftPlatform"
          },
          "name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The display name for the customer.",
            "example": "m0uka"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the customer was created in the system.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the customer was last updated, if applicable.",
            "format": "date-time"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional custom data associated with the customer."
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer in the PayNow system with their associated profiles and metadata."
      },
      "CustomerGenericProfileDto": {
        "required": [
          "id",
          "name",
          "platform"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The platform-specific identifier for the profile."
          },
          "platform": {
            "type": "string",
            "description": "The name of the platform this profile belongs to.",
            "example": "steam"
          },
          "name": {
            "type": "string",
            "description": "The display name of the user on this platform."
          },
          "avatar_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL to the user's avatar image on this platform."
          }
        },
        "additionalProperties": false,
        "description": "Represents a generic platform profile for a customer."
      },
      "CustomerMinecraftPlatform": {
        "enum": [
          "unknown",
          "java",
          "bedrock"
        ],
        "type": "string"
      },
      "CustomerMinecraftProfileDto": {
        "required": [
          "avatar_url",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The UUID of the Minecraft player.\nIf the platform is Minecraft Offline, this will be the name itself.\nIf the platform is Minecraft Geyser, and this is a Bedrock account, this ID will be an Xbox XUID.",
            "example": "f84c6a79-0a4e-45e0-879b-cd49ebd4c4e2"
          },
          "name": {
            "type": "string",
            "description": "The username of the Minecraft player.",
            "example": "notch"
          },
          "avatar_url": {
            "type": "string",
            "description": "The URL to the player's Minecraft skin rendered as an avatar."
          }
        },
        "additionalProperties": false,
        "description": "Represents a Minecraft profile for a customer."
      },
      "CustomerPlatformAccountDto": {
        "required": [
          "id",
          "platform"
        ],
        "type": "object",
        "properties": {
          "platform": {
            "$ref": "#/components/schemas/CustomerProfilePlatform"
          },
          "id": {
            "type": "string",
            "description": "The account ID on the platform",
            "example": "76561198152492642"
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer platform association, used for gifting"
      },
      "CustomerPortalSessionDto": {
        "required": [
          "created_at",
          "customer_id",
          "expires_at",
          "id",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "flow": {
            "$ref": "#/components/schemas/CustomerPortalSessionFlowDto"
          },
          "token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The token used to access the portal session"
          },
          "url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL to redirect the customer to for this portal session"
          },
          "return_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL to redirect the customer back to after completing the portal flow"
          },
          "created_at": {
            "type": "string",
            "description": "Date and time when the portal session was created",
            "format": "date-time"
          },
          "expires_at": {
            "type": "string",
            "description": "Date and time when the portal session expires",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer portal session"
      },
      "CustomerPortalSessionFlowDto": {
        "type": "object",
        "properties": {
          "subscription_cancel": {
            "$ref": "#/components/schemas/SubscriptionCancelFlowDto"
          },
          "subscription_payment_method_update": {
            "$ref": "#/components/schemas/SubscriptionPaymentMethodUpdateFlowDto"
          }
        },
        "additionalProperties": false,
        "description": "The flow a customer portal session is scoped to. At most one of the flows is set."
      },
      "CustomerProfilePlatform": {
        "enum": [
          "invalid",
          "steam",
          "minecraft",
          "paynow_name",
          "paynow",
          "minecraft_java_name",
          "minecraft_bedrock_name",
          "xbox_xuid",
          "minecraft_uuid"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "steam": "Steam profile platform - the ID param must be a Steam ID 64.",
          "minecraft": "Minecraft profile platform - the ID param must be a Minecraft nick.\n            If your store platform is Geyser, this automatically sets the Minecraft platform based on the prefix configured in store settings.",
          "paynow_name": "PayNow name profile platform - the ID param must be a PayNow username.",
          "paynow": "PayNow name profile platform - the ID param must be a PayNow username.",
          "minecraft_java_name": "Minecraft Java Profile Platform - the ID param must be a Java minecraft nick.",
          "minecraft_bedrock_name": "Minecraft Bedrock Profile Platform - the ID param must be a Bedrock minecraft nick.",
          "xbox_xuid": "Minecraft Xbox XUID Profile Platform - the ID param must be an xbox xuid",
          "minecraft_uuid": "Minecraft profile platform - the ID param must be a Minecraft UUID."
        }
      },
      "CustomerResult": {
        "required": [
          "customer",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerDto"
          }
        },
        "additionalProperties": false
      },
      "CustomerSortFieldDto_V2": {
        "enum": [
          "unspecified",
          "total_spend_gross",
          "total_spend_net",
          "average_spend_gross",
          "average_spend_net",
          "total_active_subscriptions",
          "total_monthly_recurring_revenue",
          "total_payments",
          "total_chargebacks",
          "total_refunds"
        ],
        "type": "string"
      },
      "CustomerSpendTimeRangeDto": {
        "required": [
          "average_spend_amount_gross",
          "average_spend_amount_net",
          "customer_id",
          "from",
          "to",
          "total_payments",
          "total_spend_amount_gross",
          "total_spend_amount_net"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "from": {
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "format": "date-time"
          },
          "total_spend_amount_gross": {
            "type": "integer",
            "format": "int64"
          },
          "total_spend_amount_net": {
            "type": "integer",
            "format": "int64"
          },
          "average_spend_amount_gross": {
            "type": "integer",
            "format": "int64"
          },
          "average_spend_amount_net": {
            "type": "integer",
            "format": "int64"
          },
          "total_payments": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CustomerStatsDto": {
        "required": [
          "average_spend_amount_gross",
          "average_spend_amount_net",
          "customer_id",
          "total_active_subscriptions",
          "total_chargebacks",
          "total_monthly_recurring_revenue",
          "total_payments",
          "total_refunds",
          "total_spend_amount_gross",
          "total_spend_amount_net"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total_spend_amount_gross": {
            "type": "integer",
            "format": "int64"
          },
          "total_spend_amount_net": {
            "type": "integer",
            "format": "int64"
          },
          "average_spend_amount_gross": {
            "type": "integer",
            "format": "int64"
          },
          "average_spend_amount_net": {
            "type": "integer",
            "format": "int64"
          },
          "total_active_subscriptions": {
            "type": "integer",
            "format": "int32"
          },
          "total_monthly_recurring_revenue": {
            "type": "integer",
            "format": "int64"
          },
          "total_payments": {
            "type": "integer",
            "format": "int32"
          },
          "total_chargebacks": {
            "type": "integer",
            "format": "int32"
          },
          "total_refunds": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CustomerStatsDto_V2": {
        "required": [
          "average_spend_gross",
          "average_spend_net",
          "customer_id",
          "total_active_subscriptions",
          "total_chargebacks",
          "total_monthly_recurring_revenue",
          "total_payments",
          "total_refunds",
          "total_spend_gross",
          "total_spend_net"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total_spend_gross": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "total_spend_net": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "average_spend_gross": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "average_spend_net": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "total_active_subscriptions": {
            "type": "integer",
            "format": "int32"
          },
          "total_monthly_recurring_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "total_payments": {
            "type": "integer",
            "format": "int32"
          },
          "total_chargebacks": {
            "type": "integer",
            "format": "int32"
          },
          "total_refunds": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CustomerSteamProfileDto": {
        "required": [
          "avatar_url",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/SteamId"
          },
          "name": {
            "type": "string",
            "description": "The display name of the user on Steam."
          },
          "avatar_url": {
            "type": "string",
            "description": "The URL to the user's Steam avatar image."
          }
        },
        "additionalProperties": false,
        "description": "Represents a Steam profile for a customer."
      },
      "CustomerTokenResponseDto": {
        "required": [
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "The generated Customer token."
          }
        },
        "additionalProperties": false
      },
      "DashboardSearchHintDto": {
        "required": [
          "description",
          "example",
          "prefix"
        ],
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string"
          },
          "example": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DashboardSearchResultTypeDto": {
        "enum": [
          "unknown",
          "orders",
          "trials",
          "subscriptions",
          "customers",
          "coupons",
          "gameservers",
          "products",
          "sales",
          "api_keys",
          "bans",
          "affiliate_links",
          "tags",
          "giftcards",
          "stores",
          "users",
          "tickets"
        ],
        "type": "string"
      },
      "DashboardStatsDto": {
        "required": [
          "average_spend_amount",
          "average_spend_amount_prev",
          "lifetime_sales",
          "lifetime_sales_count",
          "month_sales",
          "month_sales_prev",
          "sales_today",
          "sales_yesterday",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "sales_today": {
            "type": "integer",
            "format": "int64"
          },
          "sales_yesterday": {
            "type": "integer",
            "format": "int64"
          },
          "month_sales": {
            "type": "integer",
            "format": "int64"
          },
          "month_sales_prev": {
            "type": "integer",
            "format": "int64"
          },
          "average_spend_amount": {
            "type": "number",
            "format": "double"
          },
          "average_spend_amount_prev": {
            "type": "number",
            "format": "double"
          },
          "lifetime_sales": {
            "type": "integer",
            "format": "int64"
          },
          "lifetime_sales_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "DataMigrationTaskDto": {
        "required": [
          "id",
          "platform",
          "started_at",
          "started_by",
          "store_id",
          "token",
          "total_entities_migrated"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "platform": {
            "type": "string",
            "description": "Platform from which data is being migrated (e.g., \"tebex\")."
          },
          "token": {
            "type": "string",
            "description": "Masked authentication token used for accessing the source platform API."
          },
          "error": {
            "type": [
              "null",
              "string"
            ],
            "description": "Error message if the migration encountered any errors, otherwise null."
          },
          "started_at": {
            "type": "string",
            "description": "Timestamp when the migration was initiated.",
            "format": "date-time"
          },
          "failed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp when the migration failed, or null if it didn't fail.",
            "format": "date-time"
          },
          "completed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp when the migration was successfully completed, or null if not completed.",
            "format": "date-time"
          },
          "total_entities_to_migrate": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Total number of entities that need to be migrated, or null if unknown.",
            "format": "int64"
          },
          "total_entities_migrated": {
            "type": "integer",
            "description": "Number of entities that have been successfully migrated.",
            "format": "int32"
          },
          "started_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "DayOfWeekDto": {
        "enum": [
          "unspecified",
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday",
          "sunday"
        ],
        "type": "string"
      },
      "DayOrderStatsDto": {
        "required": [
          "day",
          "total",
          "total_orders"
        ],
        "type": "object",
        "properties": {
          "day": {
            "type": "string",
            "format": "date-time"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "total_orders": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "DeactivateEmailTemplateRequestDto": {
        "required": [
          "email_template_type"
        ],
        "type": "object",
        "properties": {
          "email_template_type": {
            "$ref": "#/components/schemas/EmailTemplateTypeDto"
          }
        },
        "additionalProperties": false
      },
      "DeliveryItemAssignmentBulkDto": {
        "required": [
          "customer_id"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "execute_on_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "quantity": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Quantity of products to assign.",
            "format": "int32"
          },
          "override_expires_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Override expiry date for the delivery item.",
            "format": "date-time"
          },
          "skip_commands": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Skip command execution when assigning the item."
          },
          "custom_variables": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Custom variables for the assignment."
          }
        },
        "additionalProperties": false
      },
      "DeliveryItemAssignmentDto": {
        "type": "object",
        "properties": {
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "execute_on_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "quantity": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Quantity of products to assign.",
            "format": "int32"
          },
          "override_expires_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Override expiry date for the delivery item.",
            "format": "date-time"
          },
          "skip_commands": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Skip command execution when assigning the item."
          },
          "custom_variables": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Custom variables for the assignment."
          }
        },
        "additionalProperties": false
      },
      "DeliveryItemDto": {
        "required": [
          "added_at",
          "command_attempts",
          "custom_variables",
          "customer",
          "customer_id",
          "expirable",
          "gift",
          "id",
          "product",
          "skip_commands",
          "state",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "order_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "checkout_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "trial_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "execute_on_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "quantity_index": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The index of the item when multiple quantities were assigned",
            "format": "int32"
          },
          "product": {
            "$ref": "#/components/schemas/DeliveryItemProductDto"
          },
          "state": {
            "$ref": "#/components/schemas/DeliveryItemStateDto"
          },
          "added_at": {
            "type": "string",
            "description": "The date and time when the item was added",
            "format": "date-time"
          },
          "added_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "active_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the item became active",
            "format": "date-time"
          },
          "expirable": {
            "type": "boolean",
            "description": "Indicates whether the delivery item can expire"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the item expires naturally",
            "format": "date-time"
          },
          "override_expires_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The override expiry date for the delivery item",
            "format": "date-time"
          },
          "removed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the item was removed",
            "format": "date-time"
          },
          "revoked_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the item was revoked",
            "format": "date-time"
          },
          "revoke_reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "The reason for revoking the delivery item"
          },
          "revoked_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "command_attempts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommandAttemptDto"
            },
            "description": "The command execution attempts for this delivery item"
          },
          "skip_commands": {
            "type": "boolean",
            "description": "Indicates whether command execution should be skipped for this item"
          },
          "custom_variables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Custom variables associated with the delivery item"
          },
          "gift": {
            "type": "boolean",
            "description": "Indicates whether the item was given as a gift"
          }
        },
        "additionalProperties": false,
        "description": "Represents a delivery item assigned to a customer"
      },
      "DeliveryItemProductDto": {
        "required": [
          "id",
          "name",
          "slug",
          "version_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "The name of the product",
            "example": "Premium Membership"
          },
          "slug": {
            "type": "string",
            "description": "The URL-friendly slug of the product",
            "example": "premium-membership"
          },
          "version_id": {
            "type": "string",
            "description": "The version identifier of the product",
            "example": "v2.1.0"
          }
        },
        "additionalProperties": false,
        "description": "Represents the product information for a delivery item"
      },
      "DeliveryItemStateDto": {
        "enum": [
          "usable",
          "active",
          "used",
          "revoked",
          "renewed"
        ],
        "type": "string"
      },
      "DimensionStatsEntryDto_V2": {
        "required": [
          "dimension_id",
          "line_count",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "dimension_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "line_count": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "integer",
            "format": "int64"
          },
          "earnings": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          }
        },
        "additionalProperties": false
      },
      "DiscordActionDto": {
        "required": [
          "action_type",
          "discord_server_id",
          "execution_stage",
          "id",
          "product_id",
          "product_version_id",
          "revocation_stages",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "discord_server_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "execution_stage": {
            "$ref": "#/components/schemas/DiscordActionExecutionStage"
          },
          "revocation_stages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscordActionRevocationStage"
            }
          },
          "action_type": {
            "$ref": "#/components/schemas/DiscordActionType"
          },
          "channel_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "role_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "DiscordActionExecutionStage": {
        "enum": [
          "on_purchase",
          "on_expire",
          "on_refund",
          "on_chargeback"
        ],
        "type": "string"
      },
      "DiscordActionRevocationStage": {
        "enum": [
          "on_expire",
          "on_refund",
          "on_chargeback"
        ],
        "type": "string"
      },
      "DiscordActionType": {
        "enum": [
          "persist_role",
          "send_message",
          "ban_user",
          "kick_user",
          "generate_invite_link"
        ],
        "type": "string"
      },
      "DiscordProfileDto": {
        "required": [
          "avatar_hash",
          "discord_id",
          "username"
        ],
        "type": "object",
        "properties": {
          "discord_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "username": {
            "type": "string"
          },
          "avatar_hash": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DiscordServerChannelDto": {
        "required": [
          "category",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "category": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DiscordServerLinkDto": {
        "required": [
          "created_at",
          "store_id",
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "server_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "server_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "server_icon_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "linked_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DiscordServerRoleDto": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DistributionEntryDto_V2": {
        "required": [
          "current",
          "key"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "current": {
            "$ref": "#/components/schemas/DistributionTotalsDto_V2"
          },
          "comparison": {
            "$ref": "#/components/schemas/DistributionTotalsDto_V2"
          }
        },
        "additionalProperties": false
      },
      "DistributionTotalsDto_V2": {
        "required": [
          "order_count"
        ],
        "type": "object",
        "properties": {
          "order_count": {
            "type": "integer",
            "format": "int64"
          },
          "gross_volume": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          }
        },
        "additionalProperties": false
      },
      "EmailBrandingDto": {
        "required": [
          "color",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "color": {
            "type": "string"
          },
          "header_image_light_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "header_image_dark_url": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "EmailDeliveryDto": {
        "required": [
          "created_at",
          "email_template_type",
          "id",
          "receiver_email",
          "status",
          "subject"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "receiver_email": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "email_template_type": {
            "$ref": "#/components/schemas/EmailTemplateTypeDto"
          },
          "status": {
            "$ref": "#/components/schemas/EmailDeliveryStatusDto"
          },
          "message_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "error_message": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "sent_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "opened_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "EmailDeliveryStatusDto": {
        "enum": [
          "unspecified",
          "pending",
          "sent",
          "delivered",
          "deferred",
          "bounced",
          "dropped",
          "failed"
        ],
        "type": "string"
      },
      "EmailTemplateComponentDto": {
        "required": [
          "content",
          "tag"
        ],
        "type": "object",
        "properties": {
          "tag": {
            "type": "string"
          },
          "content": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EmailTemplateDefinitionDto": {
        "required": [
          "components",
          "default_content",
          "display_name",
          "email_template_type",
          "example_variables"
        ],
        "type": "object",
        "properties": {
          "email_template_type": {
            "$ref": "#/components/schemas/EmailTemplateTypeDto"
          },
          "display_name": {
            "type": "string"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailTemplateComponentDto"
            }
          },
          "example_variables": {
            "type": "null"
          },
          "default_content": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EmailTemplateDto": {
        "required": [
          "content",
          "created_at",
          "created_by",
          "email_template_state",
          "email_template_state_note",
          "email_template_type",
          "id",
          "name",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "email_template_type": {
            "$ref": "#/components/schemas/EmailTemplateTypeDto"
          },
          "name": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "email_template_state": {
            "$ref": "#/components/schemas/EmailTemplateStateDto"
          },
          "email_template_state_note": {
            "type": "string"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "EmailTemplateStateDto": {
        "enum": [
          "unspecified",
          "inactive",
          "activating",
          "active"
        ],
        "type": "string"
      },
      "EmailTemplateTypeDto": {
        "enum": [
          "unspecified",
          "layout",
          "password_reset",
          "email_verification",
          "email_change",
          "email_changed_notification",
          "forgot_password",
          "logged_in_new_location",
          "welcome_login",
          "order_completed",
          "refund_initiated",
          "subscription_canceled",
          "subscription_renewal_failed",
          "subscription_price_changed",
          "subscription_change_verification_code",
          "subscription_renewal_upcoming",
          "subscription_manage_login",
          "subscription_manage_no_history",
          "payout_created",
          "payout_completed",
          "store_invite",
          "store_lock_changed",
          "abandoned_checkout_recovery_attempt",
          "purchase_follow_up_attempt",
          "downloadable_file_granted",
          "discord_invite_link",
          "gift_card_created",
          "trial_ending_soon",
          "invoice_generated",
          "payment_method_type_approval",
          "store_trust_event",
          "data_subject_request_export_completed"
        ],
        "type": "string"
      },
      "ExecutedWebhookDto": {
        "required": [
          "id",
          "started_at",
          "status_code"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "started_at": {
            "type": "string",
            "format": "date-time"
          },
          "finished_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "status_code": {
            "type": "integer",
            "format": "int32"
          },
          "response": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "FinishEmailBrandingImageUploadRequestDto": {
        "required": [
          "dark_mode",
          "image_id"
        ],
        "type": "object",
        "properties": {
          "image_id": {
            "type": "string"
          },
          "dark_mode": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "FinishTagImageUploadUrlRequestDto": {
        "required": [
          "image_id"
        ],
        "type": "object",
        "properties": {
          "image_id": {
            "type": "string",
            "description": "The ID of the uploaded image returned by the server."
          }
        },
        "additionalProperties": false
      },
      "FlakeId": {
        "type": "string",
        "additionalProperties": false,
        "format": "flake-id",
        "example": "411486491630370816"
      },
      "GameServerConsoleConnectionStatusDto": {
        "enum": [
          "unknown",
          "disconnected",
          "connecting",
          "connected",
          "backoff"
        ],
        "type": "string"
      },
      "GameServerConsoleDto": {
        "required": [
          "assigned_runner_id",
          "connection_status",
          "created_at",
          "created_by",
          "enabled",
          "game_server_id",
          "host",
          "port",
          "secure",
          "store_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "game_server_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "type": {
            "$ref": "#/components/schemas/GameServerConsoleTypeDto"
          },
          "enabled": {
            "type": "boolean"
          },
          "assigned_runner_id": {
            "type": "string"
          },
          "connection_status": {
            "$ref": "#/components/schemas/GameServerConsoleConnectionStatusDto"
          },
          "last_heartbeat_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "password": {
            "type": [
              "null",
              "string"
            ]
          },
          "secure": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "GameServerConsoleMessageDto": {
        "required": [
          "message",
          "time",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/GameServerConsoleMessageTypeDto"
          },
          "message": {
            "type": "string"
          },
          "time": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GameServerConsoleMessageTypeDto": {
        "enum": [
          "unknown",
          "output",
          "command",
          "response",
          "system"
        ],
        "type": "string"
      },
      "GameServerConsoleTypeDto": {
        "enum": [
          "unknown",
          "rust"
        ],
        "type": "string"
      },
      "GameServerDto": {
        "required": [
          "created_at",
          "created_by",
          "enabled",
          "id",
          "linked_to",
          "name",
          "store_id",
          "updated_by"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "The display name of the game server."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the game server is currently enabled."
          },
          "token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The authentication token used by the game server to access the PayNow API."
          },
          "token_reset_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the authentication token was last reset, if applicable.",
            "format": "date-time"
          },
          "linked_to": {
            "$ref": "#/components/schemas/GameServerLinkDto"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the game server was created in the system.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the game server was last updated, if applicable.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false,
        "description": "Represents a game server in the PayNow system with authentication tokens and linking information."
      },
      "GameServerLinkDto": {
        "required": [
          "hostname",
          "ip",
          "platform",
          "saved_at",
          "version"
        ],
        "type": "object",
        "properties": {
          "ip": {
            "type": "string"
          },
          "hostname": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "saved_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_fetched_commands_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "last_fetched_commands_from_ip": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "GameserverResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gameserver": {
            "$ref": "#/components/schemas/GameServerDto"
          }
        },
        "additionalProperties": false
      },
      "GetDimensionStatsResponseDto_V2": {
        "required": [
          "dimension_type",
          "entries",
          "revenue_basis"
        ],
        "type": "object",
        "properties": {
          "dimension_type": {
            "$ref": "#/components/schemas/StatsDimensionTypeDto_V2"
          },
          "revenue_basis": {
            "$ref": "#/components/schemas/RevenueBasisDto_V2"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DimensionStatsEntryDto_V2"
            }
          }
        },
        "additionalProperties": false
      },
      "GetDistributionResponseDto_V2": {
        "required": [
          "distribution_type",
          "entries"
        ],
        "type": "object",
        "properties": {
          "distribution_type": {
            "$ref": "#/components/schemas/StatsDistributionTypeDto_V2"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DistributionEntryDto_V2"
            }
          }
        },
        "additionalProperties": false
      },
      "GetEmailBrandingImageUploadUrlResponseDto": {
        "required": [
          "image_id",
          "upload_url"
        ],
        "type": "object",
        "properties": {
          "upload_url": {
            "type": "string"
          },
          "image_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "GetTagImageUploadUrlResponseDto": {
        "required": [
          "id",
          "upload_url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the direct image upload URL."
          },
          "upload_url": {
            "type": "string",
            "description": "The URL to upload the image to."
          }
        },
        "additionalProperties": false
      },
      "GiftCardDto": {
        "required": [
          "balance",
          "code",
          "enabled",
          "id",
          "starting_balance",
          "store_id",
          "usable_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the gift card is currently enabled and can be used."
          },
          "code": {
            "type": "string",
            "description": "The unique code that customers use to redeem the gift card.",
            "example": "GIFT-2024-ABCD1234"
          },
          "note": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional note or description associated with the gift card."
          },
          "balance": {
            "type": "integer",
            "description": "The current balance remaining on the gift card in cents.",
            "format": "int64",
            "example": 2500
          },
          "starting_balance": {
            "type": "integer",
            "description": "The original balance when the gift card was first created in cents.",
            "format": "int64",
            "example": 5000
          },
          "usable_at": {
            "type": "string",
            "description": "The date and time when the gift card becomes usable.",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the gift card expires, if applicable.",
            "format": "date-time"
          },
          "created_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the gift card was created.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the gift card was last updated, if applicable.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "canceled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the gift card was canceled, if applicable.",
            "format": "date-time"
          },
          "canceled_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false,
        "description": "Represents a gift card in the PayNow system."
      },
      "GiftcardResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "giftcard": {
            "$ref": "#/components/schemas/GiftCardDto"
          }
        },
        "additionalProperties": false
      },
      "GlobalCommandDto": {
        "required": [
          "content",
          "created_at",
          "created_by",
          "execution_rule",
          "id",
          "online_only",
          "override_execute_on_gameserver_ids",
          "stage",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "stage": {
            "$ref": "#/components/schemas/ProductCommandStage"
          },
          "content": {
            "type": "string",
            "description": "The actual command content to be executed."
          },
          "online_only": {
            "type": "boolean",
            "description": "Indicates whether the command should only be executed when the player is online."
          },
          "override_execute_on_gameserver_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "List of specific game server IDs where this command should be executed, overriding default behavior."
          },
          "execution_rule": {
            "$ref": "#/components/schemas/ProductCommandExecutionRuleDto"
          },
          "created_at": {
            "type": "string",
            "description": "Timestamp when the command was created.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional timestamp indicating when the command was last updated.\nNull if the command has never been updated.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false,
        "description": "Represents a global command in the system.\nGlobal commands are instructions that can be executed across a store's environment."
      },
      "IdealDetailsDto": {
        "required": [
          "bank",
          "bic"
        ],
        "type": "object",
        "properties": {
          "bank": {
            "type": "string",
            "description": "The bank identifier",
            "example": "abn_amro"
          },
          "bic": {
            "type": "string",
            "description": "The Bank Identifier Code",
            "example": "ABNANL2A"
          },
          "iban_last4": {
            "type": [
              "null",
              "string"
            ],
            "description": "The last 4 digits of the IBAN",
            "example": 1234
          },
          "payer_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payer name",
            "example": "John Doe"
          }
        },
        "additionalProperties": false,
        "description": "iDEAL payment method details"
      },
      "InlineProductCreateDto": {
        "type": "object",
        "properties": {
          "slug": {
            "type": [
              "null",
              "string"
            ],
            "description": "The unique URL-safe identifier (slug) for the product."
          },
          "name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The display name of the product."
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "The detailed description of the product."
          },
          "label": {
            "type": [
              "null",
              "string"
            ],
            "description": "The display label for the product."
          },
          "price": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The price of the product in the lowest denominator (e.g. cents).",
            "format": "int64"
          },
          "single_game_server_only": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the customer is prompted to select a game server before purchasing."
          },
          "allow_one_time_purchase": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether one-time purchases are allowed."
          },
          "allow_subscription": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether subscription purchases are allowed."
          },
          "subscription_interval_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The subscription interval value.",
            "format": "int32"
          },
          "subscription_interval_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "trial": {
            "$ref": "#/components/schemas/UpsertProductTrialConfigurationDto"
          },
          "upselling": {
            "$ref": "#/components/schemas/UpsertProductUpsellConfigurationDto"
          },
          "remove_after_enabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether automatic removal is enabled."
          },
          "remove_after_time_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The time value for automatic removal.",
            "format": "int32"
          },
          "remove_after_time_scale": {
            "$ref": "#/components/schemas/ProductRemoveAfterIntervalScale"
          },
          "store_stock_limit": {
            "$ref": "#/components/schemas/ProductStockLimitDto"
          },
          "customer_stock_limit": {
            "$ref": "#/components/schemas/ProductStockLimitDto"
          },
          "stock_limit_do_not_include_removed": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether removed items should be excluded from stock limits."
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The tag IDs associated with the product."
          },
          "gameservers": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The gameserver IDs associated with the product."
          },
          "commands": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductCommandDto"
            },
            "description": "The commands to be executed at different stages."
          },
          "deliverable_actions": {
            "$ref": "#/components/schemas/ProductDeliverableActionsDto"
          },
          "metadata": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional metadata for the product."
          },
          "payout_splits": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductPayoutSplitDto"
            },
            "description": "The payout splits for revenue distribution.\nRequires special approval."
          },
          "tax_code": {
            "$ref": "#/components/schemas/ProductTaxCode"
          },
          "allow_concurrent_active_items": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether concurrent active items are allowed."
          },
          "is_hidden": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the product is hidden."
          },
          "is_gifting_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether gifting is disabled."
          },
          "enabled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the product becomes enabled.\nSet to `null` to keep enabled.",
            "format": "date-time"
          },
          "enabled_until": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time until which the product remains enabled.\nSet to `null` to keep enabled.",
            "format": "date-time"
          },
          "required_product_ids": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The IDs of products required for purchasing this product."
          },
          "required_product_all": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether all required products are needed."
          },
          "custom_variable_ids": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The IDs of associated custom variables."
          },
          "is_gift_cards_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying gift cards should be disabled on the product."
          },
          "is_coupons_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying coupons should be disabled on the product."
          },
          "is_affiliate_links_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying affiliate links should be disabled on the product."
          },
          "tier_group_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false,
        "description": "Optional inline product definition for dynamic products.\nRequires special approval, use `product_id` instead."
      },
      "IntervalGameServerStatsDto": {
        "required": [
          "gameserver_id",
          "store_id",
          "sum_quantity",
          "total_earnings",
          "total_lines"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total_lines": {
            "type": "integer",
            "format": "int64"
          },
          "sum_quantity": {
            "type": "integer",
            "format": "int64"
          },
          "total_earnings": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "IntervalProductStatsDto": {
        "required": [
          "product_id",
          "store_id",
          "sum_quantity",
          "total_earnings",
          "total_lines"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total_lines": {
            "type": "integer",
            "format": "int64"
          },
          "sum_quantity": {
            "type": "integer",
            "format": "int64"
          },
          "total_earnings": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "IntervalTagStatsDto": {
        "required": [
          "store_id",
          "sum_quantity",
          "tag_id",
          "total_earnings",
          "total_lines"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "tag_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total_lines": {
            "type": "integer",
            "format": "int64"
          },
          "sum_quantity": {
            "type": "integer",
            "format": "int64"
          },
          "total_earnings": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "InvoiceDownloadUrlResponseDto": {
        "required": [
          "download_url"
        ],
        "type": "object",
        "properties": {
          "download_url": {
            "type": "string",
            "description": "Temporary URL the invoice document can be downloaded from"
          }
        },
        "additionalProperties": false
      },
      "InvoiceDto": {
        "required": [
          "created_at",
          "currency",
          "customer_id",
          "discount_amount",
          "giftcard_usage_amount",
          "id",
          "issued_at",
          "number",
          "order_id",
          "reference",
          "status",
          "store_id",
          "subtotal_amount",
          "tax_amount",
          "total_amount",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "number": {
            "type": "integer",
            "description": "Sequential number of the invoice within its store",
            "format": "int64"
          },
          "reference": {
            "type": "string",
            "description": "Human readable reference of the invoice"
          },
          "type": {
            "$ref": "#/components/schemas/InvoiceTypeDto"
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatusDto"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "refund_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "parent_invoice_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "currency": {
            "type": "string",
            "description": "Three-letter currency code of the invoice"
          },
          "discount_amount": {
            "type": "integer",
            "description": "Total discount in smallest currency unit (e.g., cents)",
            "format": "int64"
          },
          "subtotal_amount": {
            "type": "integer",
            "description": "Total before tax in smallest currency unit",
            "format": "int64"
          },
          "tax_amount": {
            "type": "integer",
            "description": "Total tax in smallest currency unit",
            "format": "int64"
          },
          "giftcard_usage_amount": {
            "type": "integer",
            "description": "Amount paid using gift cards in smallest currency unit",
            "format": "int64"
          },
          "total_amount": {
            "type": "integer",
            "description": "Total of the invoice in smallest currency unit",
            "format": "int64"
          },
          "file_key": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional storage key of the generated invoice document"
          },
          "file_size": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Optional size of the generated invoice document in bytes",
            "format": "int64"
          },
          "created_at": {
            "type": "string",
            "description": "Date and time when the invoice was created",
            "format": "date-time"
          },
          "issued_at": {
            "type": "string",
            "description": "Date and time when the invoice was issued",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "InvoiceStatusDto": {
        "enum": [
          "invalid",
          "pending",
          "generated",
          "failed"
        ],
        "type": "string"
      },
      "InvoiceTypeDto": {
        "enum": [
          "invalid",
          "invoice",
          "credit_note"
        ],
        "type": "string"
      },
      "KlarnaDetailsDto": {
        "type": "object",
        "properties": {
          "country": {
            "type": [
              "null",
              "string"
            ],
            "description": "The country code",
            "example": "SE"
          },
          "method_category": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Klarna payment method category",
            "example": "pay_later"
          }
        },
        "additionalProperties": false,
        "description": "Klarna payment method details"
      },
      "LastPaymentErrorDto": {
        "required": [
          "decline_code",
          "message"
        ],
        "type": "object",
        "properties": {
          "decline_code": {
            "$ref": "#/components/schemas/PaymentDeclineCode"
          },
          "message": {
            "type": "string",
            "description": "Human-readable decline reason message."
          }
        },
        "additionalProperties": false,
        "description": "The last payment decline object."
      },
      "LinkDetailsDto": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email associated with the Link account",
            "example": "john.doe@example.com"
          }
        },
        "additionalProperties": false,
        "description": "Link payment method details"
      },
      "MarketingCouponConfigurationDto": {
        "required": [
          "customer_redeem_limit",
          "customer_redeem_limit_enabled",
          "discount_amount",
          "discount_apply_before_sales",
          "discount_only_required_tags_or_products",
          "discount_type",
          "duration",
          "minimum_order_value",
          "required_product_ids",
          "required_tag_ids",
          "usable_on_one_time_purchases",
          "usable_on_subscriptions"
        ],
        "type": "object",
        "properties": {
          "duration": {
            "$ref": "#/components/schemas/CouponDurationDto"
          },
          "duration_in_intervals": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Gets or sets the duration of the coupon in intervals, applicable only for repeating coupons.",
            "format": "int32"
          },
          "discount_type": {
            "$ref": "#/components/schemas/CouponDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "description": "Gets or sets the discount amount.",
            "format": "int64"
          },
          "discount_only_required_tags_or_products": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the discount only applies to specific tags or products."
          },
          "discount_apply_before_sales": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the discount is applied before any existing sales or discounts."
          },
          "required_tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "Gets or sets the list of tag IDs required for the discount to apply."
          },
          "required_product_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "Gets or sets the list of product IDs required for the discount to apply."
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "Gets or sets the minimum order value required for the discount to be applied.",
            "format": "int64"
          },
          "customer_redeem_limit_enabled": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether a customer-specific redeem limit is enabled."
          },
          "customer_redeem_limit": {
            "type": "integer",
            "description": "Gets or sets the maximum number of times a single customer can redeem the coupon.",
            "format": "int64"
          },
          "usable_on_one_time_purchases": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the coupon can be used on one-time purchases."
          },
          "usable_on_subscriptions": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the coupon can be used on subscription purchases."
          },
          "expires_after": {
            "$ref": "#/components/schemas/Period"
          }
        },
        "additionalProperties": false,
        "description": "Represents the configuration settings for a coupon applied to marketing features."
      },
      "MoneyDto_V2": {
        "required": [
          "amount_minor_units",
          "iso_currency"
        ],
        "type": "object",
        "properties": {
          "iso_currency": {
            "type": "string",
            "description": "The ISO 4217 currency code, e.g. \"USD\", \"GBP\"."
          },
          "amount_minor_units": {
            "type": "integer",
            "description": "The amount in the smallest unit of the currency, e.g. cents for USD.\nFor example, 1000 = $10.00 USD.",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "NavLinkDto": {
        "required": [
          "name",
          "node_id",
          "tag_id",
          "tag_slug"
        ],
        "type": "object",
        "properties": {
          "node_id": {
            "type": "string"
          },
          "tag_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "parent_node_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "tag_slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "order": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OrderCountryDistributionDataDto": {
        "required": [
          "gross_volume",
          "total_orders"
        ],
        "type": "object",
        "properties": {
          "total_orders": {
            "type": "integer",
            "format": "int64"
          },
          "gross_volume": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "OrderCountryDistributionDto": {
        "required": [
          "country_code",
          "current"
        ],
        "type": "object",
        "properties": {
          "country_code": {
            "type": "string"
          },
          "current": {
            "$ref": "#/components/schemas/OrderCountryDistributionDataDto"
          },
          "comparison": {
            "$ref": "#/components/schemas/OrderCountryDistributionDataDto"
          }
        },
        "additionalProperties": false
      },
      "OrderCouponUsageDto": {
        "required": [
          "coupon_id",
          "coupon_version_id",
          "usage_amount"
        ],
        "type": "object",
        "properties": {
          "coupon_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "coupon_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "usage_amount": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "OrderDto": {
        "required": [
          "applied_coupons",
          "applied_giftcards",
          "billing_country",
          "billing_cycle_sequence",
          "billing_email",
          "billing_name",
          "currency",
          "customer",
          "customer_id",
          "customer_ip",
          "discount_amount",
          "discount_amount_str",
          "giftcard_usage_amount",
          "giftcard_usage_amount_str",
          "id",
          "is_subscription",
          "lines",
          "presentment_currency",
          "presentment_discount_amount",
          "presentment_discount_amount_str",
          "presentment_giftcard_usage_amount",
          "presentment_giftcard_usage_amount_str",
          "presentment_subtotal_amount",
          "presentment_subtotal_amount_str",
          "presentment_tax_amount",
          "presentment_tax_amount_str",
          "presentment_total_amount",
          "presentment_total_amount_str",
          "pretty_id",
          "status",
          "store_id",
          "subtotal_amount",
          "subtotal_amount_str",
          "tax_amount",
          "tax_amount_str",
          "tax_jurisdictions",
          "total_amount",
          "total_amount_str",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "pretty_id": {
            "type": "string",
            "description": "The PayNow order ID identifier starting with pn-.",
            "example": "pn-355eevennsow"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "type": {
            "$ref": "#/components/schemas/OrderType"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "checkout_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_token": {
            "type": [
              "null",
              "string"
            ],
            "description": "The checkout token for this order",
            "example": "c4qqilpphugeqf2gndnkk5ad8fdq"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "is_subscription": {
            "type": "boolean",
            "description": "Signifies if the order is a subscription order",
            "readOnly": true
          },
          "coupon_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "applied_coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderCouponUsageDto"
            },
            "description": "Applied coupons to this order"
          },
          "giftcard_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "applied_giftcards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderGiftCardUsageDto"
            },
            "description": "Applied gift cards to this order"
          },
          "affiliate_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "billing_name": {
            "type": "string",
            "description": "The billing name for this order",
            "example": "John Doe"
          },
          "billing_email": {
            "type": "string",
            "description": "The billing email for this order",
            "example": "john.doe@example.com"
          },
          "billing_country": {
            "type": "string",
            "description": "The billing country for this order",
            "example": "US"
          },
          "billing_tax_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The tax identification number used for this order (for B2B transactions)"
          },
          "billing_cycle_sequence": {
            "type": "integer",
            "description": "The billing cycle sequence (current renewal count) if this is a subscription order",
            "format": "int32"
          },
          "customer_ip": {
            "type": "string",
            "description": "The IP address (IPv4 or IPv6) of the customer at time of order",
            "example": "192.168.1.1"
          },
          "currency": {
            "type": "string",
            "description": "The currency code used for this order",
            "example": "usd"
          },
          "discount_amount": {
            "type": "integer",
            "description": "The total discount amount applied to this order in smallest currency unit",
            "format": "int32",
            "example": 500
          },
          "discount_amount_str": {
            "type": "string",
            "description": "The discount amount formatted as a string",
            "example": "$5.00"
          },
          "subtotal_amount": {
            "type": "integer",
            "description": "The subtotal amount for this order in smallest currency unit",
            "format": "int32",
            "example": 9995
          },
          "subtotal_amount_str": {
            "type": "string",
            "description": "The subtotal amount formatted as a string",
            "example": "$99.95"
          },
          "tax_amount": {
            "type": "integer",
            "description": "The tax amount for this order in smallest currency unit",
            "format": "int32",
            "example": 999
          },
          "tax_amount_str": {
            "type": "string",
            "description": "The tax amount formatted as a string",
            "example": "$9.99"
          },
          "total_amount": {
            "type": "integer",
            "description": "The total amount for this order in smallest currency unit",
            "format": "int32",
            "example": 10494
          },
          "total_amount_str": {
            "type": "string",
            "description": "The total amount formatted as a string",
            "example": "$104.94"
          },
          "giftcard_usage_amount": {
            "type": "integer",
            "description": "The amount of gift card value used for this order in smallest currency unit",
            "format": "int32",
            "example": 0
          },
          "giftcard_usage_amount_str": {
            "type": "string",
            "description": "The gift card usage amount formatted as a string",
            "example": "$0.00"
          },
          "presentment_currency": {
            "type": "string",
            "description": "The presentment currency code used for this order (currency shown to customer)",
            "example": "eur"
          },
          "presentment_subtotal_amount": {
            "type": "integer",
            "description": "The presentment subtotal amount in smallest currency unit",
            "format": "int32",
            "example": 9995
          },
          "presentment_subtotal_amount_str": {
            "type": "string",
            "description": "The presentment subtotal amount formatted as a string",
            "readOnly": true,
            "example": "€99.95"
          },
          "presentment_discount_amount": {
            "type": "integer",
            "description": "The presentment discount amount in smallest currency unit",
            "format": "int32",
            "example": 500
          },
          "presentment_discount_amount_str": {
            "type": "string",
            "description": "The presentment discount amount formatted as a string",
            "readOnly": true,
            "example": "€5.00"
          },
          "presentment_giftcard_usage_amount": {
            "type": "integer",
            "description": "The presentment gift card usage amount in smallest currency unit",
            "format": "int32",
            "example": 0
          },
          "presentment_giftcard_usage_amount_str": {
            "type": "string",
            "description": "The presentment gift card usage amount formatted as a string",
            "readOnly": true,
            "example": "€0.00"
          },
          "presentment_tax_amount": {
            "type": "integer",
            "description": "The presentment tax amount in smallest currency unit",
            "format": "int32",
            "example": 999
          },
          "presentment_tax_amount_str": {
            "type": "string",
            "description": "The presentment tax amount formatted as a string",
            "readOnly": true,
            "example": "€9.99"
          },
          "presentment_total_amount": {
            "type": "integer",
            "description": "The presentment total amount in smallest currency unit",
            "format": "int32",
            "example": 10494
          },
          "presentment_total_amount_str": {
            "type": "string",
            "description": "The presentment total amount formatted as a string",
            "readOnly": true,
            "example": "€104.94"
          },
          "created_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this order was created",
            "format": "date-time",
            "example": "2025-04-01T15:30:45Z"
          },
          "completed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this order was completed, if applicable",
            "format": "date-time",
            "example": "2025-04-01T15:35:22Z"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineDto"
            },
            "description": "The line items in this order"
          },
          "tax_jurisdictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesTaxJurisdictionDto"
            },
            "description": "A list of all tax jurisdictions that were involved in the taxation of this order."
          },
          "last_payment_error": {
            "$ref": "#/components/schemas/LastPaymentErrorDto"
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer order"
      },
      "OrderGiftCardUsageDto": {
        "required": [
          "giftcard_id",
          "usage_amount"
        ],
        "type": "object",
        "properties": {
          "giftcard_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "usage_amount": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "OrderLineDto": {
        "required": [
          "discount_amount",
          "discount_amount_str",
          "gift",
          "giftcard_usage_amount",
          "giftcard_usage_amount_str",
          "id",
          "presentment_discount_amount",
          "presentment_discount_amount_str",
          "presentment_giftcard_usage_amount",
          "presentment_giftcard_usage_amount_str",
          "presentment_subtotal_amount",
          "presentment_subtotal_amount_str",
          "presentment_tax_amount",
          "presentment_tax_amount_str",
          "presentment_total_amount",
          "presentment_total_amount_str",
          "price",
          "price_str",
          "product_id",
          "product_name",
          "product_version_id",
          "quantity",
          "subtotal_amount",
          "subtotal_amount_str",
          "tax_amount",
          "tax_amount_str",
          "tax_inclusive",
          "total_amount",
          "total_amount_str"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_name": {
            "type": "string",
            "description": "The name of the product in this order line",
            "example": "Premium Game Pass"
          },
          "product_image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL of the product image",
            "example": "https://cdn.example.com/images/premium-game-pass.jpg"
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Customer-presentable description of the order line."
          },
          "created_giftcard_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Gift Card ID of that product in this order line"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_change_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "trial_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_interval_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The interval value for subscription products",
            "format": "int32",
            "example": 1
          },
          "subscription_interval_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "gift": {
            "type": "boolean",
            "description": "Indicates whether this order line is a gift",
            "example": false
          },
          "gift_to_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gift_to_customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "sale_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "sale_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "price": {
            "type": "integer",
            "description": "The unit price of the product in the smallest currency unit (e.g., cents)",
            "format": "int32",
            "example": 1999
          },
          "price_str": {
            "type": "string",
            "description": "The unit price of the product formatted as a string",
            "example": "$19.99"
          },
          "quantity": {
            "type": "integer",
            "description": "The quantity of the product in this order line",
            "format": "int32",
            "example": 1
          },
          "discount_amount": {
            "type": "integer",
            "description": "The discount amount (from sales, coupons, and affiliate links) applied to this order line",
            "format": "int32",
            "example": 0
          },
          "discount_amount_str": {
            "type": "string",
            "description": "The discount amount formatted as a string",
            "example": "$0.00"
          },
          "giftcard_usage_amount": {
            "type": "integer",
            "description": "The amount of gift card used for this order line",
            "format": "int32",
            "example": 0
          },
          "giftcard_usage_amount_str": {
            "type": "string",
            "description": "The gift card usage amount formatted as a string",
            "example": "$0.00"
          },
          "subtotal_amount": {
            "type": "integer",
            "description": "The subtotal amount for this order line",
            "format": "int32",
            "example": 1999
          },
          "subtotal_amount_str": {
            "type": "string",
            "description": "The subtotal amount formatted as a string",
            "example": "$19.99"
          },
          "tax_amount": {
            "type": "integer",
            "description": "The tax amount for this order line",
            "format": "int32",
            "example": 200
          },
          "tax_amount_str": {
            "type": "string",
            "description": "The tax amount formatted as a string",
            "example": "$2.00"
          },
          "total_amount": {
            "type": "integer",
            "description": "The total amount for this order line",
            "format": "int32",
            "example": 2199
          },
          "total_amount_str": {
            "type": "string",
            "description": "The total amount formatted as a string",
            "example": "$21.99"
          },
          "presentment_subtotal_amount": {
            "type": "integer",
            "description": "The presentment subtotal amount for this order line",
            "format": "int32",
            "example": 1999
          },
          "presentment_subtotal_amount_str": {
            "type": "string",
            "description": "The presentment subtotal amount formatted as a string",
            "readOnly": true,
            "example": "€19.99"
          },
          "presentment_discount_amount": {
            "type": "integer",
            "description": "The presentment discount amount for this order line",
            "format": "int32",
            "example": 0
          },
          "presentment_discount_amount_str": {
            "type": "string",
            "description": "The presentment discount amount formatted as a string",
            "readOnly": true,
            "example": "€0.00"
          },
          "presentment_tax_amount": {
            "type": "integer",
            "description": "The presentment tax amount for this order line",
            "format": "int32",
            "example": 200
          },
          "presentment_tax_amount_str": {
            "type": "string",
            "description": "The presentment tax amount formatted as a string",
            "readOnly": true,
            "example": "€2.00"
          },
          "presentment_giftcard_usage_amount": {
            "type": "integer",
            "description": "The presentment gift card usage amount for this order line",
            "format": "int32",
            "example": 0
          },
          "presentment_giftcard_usage_amount_str": {
            "type": "string",
            "description": "The presentment gift card usage amount formatted as a string",
            "readOnly": true,
            "example": "€0.00"
          },
          "presentment_total_amount": {
            "type": "integer",
            "description": "The presentment total amount for this order line",
            "format": "int32",
            "example": 2199
          },
          "presentment_total_amount_str": {
            "type": "string",
            "description": "The presentment total amount formatted as a string",
            "readOnly": true,
            "example": "€21.99"
          },
          "selected_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "tax_inclusive": {
            "type": "boolean",
            "description": "Indicates whether tax is included in the base price, or added on top",
            "example": false
          },
          "payout_splits": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OrderLinePayoutSplitDto"
            },
            "description": "The payout splits for this order line"
          },
          "pricing_region_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The regional pricing region ID for this order line, null if no regional pricing set",
            "example": "eu"
          },
          "custom_variables": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "$ref": "#/components/schemas/CustomVariableLineItemDto"
            },
            "description": "Key-value pair of selected custom variables for this order."
          }
        },
        "additionalProperties": false,
        "description": "Represents an order line item in a customer's order"
      },
      "OrderLinePayoutSplitDto": {
        "required": [
          "platform_fee",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "percentage": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The percentage in basis points.",
            "format": "int64"
          },
          "platform_fee": {
            "type": "integer",
            "description": "The platform fee percentage in basis points.\nOnly used by platforms.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order line-level payout split."
      },
      "OrderResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order": {
            "$ref": "#/components/schemas/OrderDto"
          }
        },
        "additionalProperties": false
      },
      "OrderStatus": {
        "enum": [
          "created",
          "completed",
          "canceled",
          "refunded",
          "chargeback"
        ],
        "type": "string"
      },
      "OrderType": {
        "enum": [
          "one_time",
          "subscription_initial",
          "subscription_renewal",
          "subscription_proration",
          "mixed"
        ],
        "type": "string",
        "description": "Defines the type of items contained in an order",
        "x-enumDescriptions": {
          "one_time": "Order contains only one-time purchase items",
          "subscription_initial": "Order is the initial charge for a subscription",
          "subscription_renewal": "Order is a recurring renewal charge for a subscription",
          "subscription_proration": "Order is a proration charge for a subscription",
          "mixed": "Order contains both one-time purchase and subscription items"
        }
      },
      "OrdersSummaryDto_V2": {
        "required": [
          "lifetime_order_count",
          "month_to_date_order_count",
          "previous_month_order_count",
          "revenue_basis",
          "today_order_count",
          "yesterday_order_count"
        ],
        "type": "object",
        "properties": {
          "revenue_basis": {
            "$ref": "#/components/schemas/RevenueBasisDto_V2"
          },
          "today_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "today_order_count": {
            "type": "integer",
            "format": "int64"
          },
          "yesterday_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "yesterday_order_count": {
            "type": "integer",
            "format": "int64"
          },
          "month_to_date_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "month_to_date_order_count": {
            "type": "integer",
            "format": "int64"
          },
          "previous_month_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "previous_month_order_count": {
            "type": "integer",
            "format": "int64"
          },
          "lifetime_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "lifetime_order_count": {
            "type": "integer",
            "format": "int64"
          },
          "lifetime_average_order_value": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          }
        },
        "additionalProperties": false
      },
      "OrdersSummaryForRangeDto_V2": {
        "required": [
          "order_count",
          "revenue_basis"
        ],
        "type": "object",
        "properties": {
          "revenue_basis": {
            "$ref": "#/components/schemas/RevenueBasisDto_V2"
          },
          "revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "average_order_value": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "order_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "P24DetailsDto": {
        "required": [
          "bank"
        ],
        "type": "object",
        "properties": {
          "bank": {
            "type": "string",
            "description": "The bank identifier",
            "example": "ing"
          },
          "payer_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payer name",
            "example": "Jan Kowalski"
          }
        },
        "additionalProperties": false,
        "description": "Przelewy24 payment method details"
      },
      "PayByBankDetailsDto": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The bank name",
            "example": "Chase Bank"
          },
          "bic": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Bank Identifier Code",
            "example": "CHASUS33"
          },
          "country": {
            "type": [
              "null",
              "string"
            ],
            "description": "The country code",
            "example": "US"
          },
          "payer_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payer name",
            "example": "John Smith"
          }
        },
        "additionalProperties": false,
        "description": "Pay by Bank payment method details"
      },
      "PayNowActorType": {
        "enum": [
          "anonymous",
          "user",
          "api_key",
          "customer",
          "game_server",
          "internal",
          "admin",
          "platform",
          "global_customer"
        ],
        "type": "string"
      },
      "PayNowError": {
        "required": [
          "code",
          "message",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "The HTTP status code.",
            "format": "int32",
            "example": 400
          },
          "code": {
            "type": "string",
            "description": "The PayNow parseable error code.",
            "example": "bad-request"
          },
          "message": {
            "type": "string",
            "description": "The human-readable error message.",
            "example": "Bad Request Example"
          },
          "trace_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "A distributed trace ID used for debugging.",
            "example": "234a5bcd543ef3fa53ce929d0e0e4736"
          },
          "errors": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "description": "An array of multiple errors. Only used by some API services."
          }
        },
        "additionalProperties": false,
        "description": "Represents a PayNow error"
      },
      "PayPalDetailsDto": {
        "required": [
          "country",
          "payer_email",
          "payer_id",
          "payer_name",
          "vault"
        ],
        "type": "object",
        "properties": {
          "payer_id": {
            "type": "string",
            "description": "The PayPal payer identifier",
            "example": "PAYERID123"
          },
          "payer_email": {
            "type": "string",
            "description": "The PayPal account email",
            "example": "john.doe@example.com"
          },
          "payer_name": {
            "type": "string",
            "description": "The PayPal account holder name",
            "example": "John Doe"
          },
          "country": {
            "type": "string",
            "description": "The country code of the PayPal account",
            "example": "US"
          },
          "vault": {
            "type": "boolean",
            "description": "Indicates if this PayPal account is vaulted",
            "example": true
          },
          "pending_vault_approval": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if vault approval is pending",
            "example": false
          },
          "standalone_setup": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if this is a standalone setup",
            "example": false
          }
        },
        "additionalProperties": false,
        "description": "PayPal payment method details"
      },
      "PaymentAcceptanceDistributionDataDto": {
        "required": [
          "gross_volume",
          "total_orders"
        ],
        "type": "object",
        "properties": {
          "total_orders": {
            "type": "integer",
            "format": "int64"
          },
          "gross_volume": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PaymentAcceptanceDistributionDto": {
        "required": [
          "current",
          "payment_status"
        ],
        "type": "object",
        "properties": {
          "payment_status": {
            "type": "string"
          },
          "current": {
            "$ref": "#/components/schemas/PaymentAcceptanceDistributionDataDto"
          },
          "comparison": {
            "$ref": "#/components/schemas/PaymentAcceptanceDistributionDataDto"
          }
        },
        "additionalProperties": false
      },
      "PaymentChargebackStatusDto": {
        "enum": [
          "none",
          "pending",
          "won",
          "lost"
        ],
        "type": "string",
        "description": "Represents chargeback status of a payment",
        "x-enumDescriptions": {
          "none": "No chargeback",
          "pending": "Chargeback is pending",
          "won": "Chargeback dispute was won",
          "lost": "Chargeback dispute was lost"
        }
      },
      "PaymentDeclineCode": {
        "enum": [
          "unknown",
          "generic_decline",
          "call_issuer",
          "authentication_required",
          "currency_not_supported",
          "duplicate_transaction",
          "expired_card",
          "fraudulent",
          "incorrect_number",
          "incorrect_cvc",
          "incorrect_pin",
          "incorrect_zip",
          "insufficient_funds",
          "invalid_account",
          "invalid_amount",
          "invalid_expiry_month",
          "invalid_expiry_year",
          "issuer_not_available",
          "lost_card",
          "merchant_blacklist",
          "new_account_information_available",
          "no_action_taken",
          "pickup_card",
          "pin_try_exceeded",
          "restricted_card",
          "stolen_card",
          "testmode_decline",
          "try_again_later",
          "security_violation",
          "card_velocity_exceeded",
          "do_not_honor",
          "processing_error",
          "card_not_supported",
          "transaction_not_allowed",
          "authorization_revoked",
          "store_blocked"
        ],
        "type": "string",
        "description": "A payment decline reason code.",
        "x-enumDescriptions": {
          "unknown": "An unknown error occurred during payment processing.",
          "generic_decline": "The payment was declined for an unspecified reason.",
          "call_issuer": "The payment provider requires the customer to contact them.",
          "authentication_required": "Additional authentication is needed to complete the transaction.",
          "currency_not_supported": "The chosen currency is not supported by this payment method.",
          "duplicate_transaction": "An identical transaction was recently processed.",
          "expired_card": "The payment method has passed its expiration date.",
          "fraudulent": "The payment was flagged as potentially fraudulent.",
          "incorrect_number": "The provided payment number is invalid.",
          "incorrect_cvc": "The security code for the payment method is incorrect.",
          "incorrect_pin": "The entered PIN is not valid.",
          "incorrect_zip": "The provided billing postal code is incorrect.",
          "insufficient_funds": "The payment method lacks sufficient funds for the transaction.",
          "invalid_account": "The payment method or associated account is not valid.",
          "invalid_amount": "The transaction amount is not allowed or is invalid.",
          "invalid_expiry_month": "The expiration month for the payment method is invalid.",
          "invalid_expiry_year": "The expiration year for the payment method is invalid.",
          "issuer_not_available": "The payment provider's systems are currently unavailable.",
          "lost_card": "The payment method has been reported as lost.",
          "merchant_blacklist": "The transaction was blocked by PayNow's security measures.",
          "new_account_information_available": "Updated information is available for the payment method.",
          "no_action_taken": "The payment provider took no action on this transaction.",
          "pickup_card": "The payment method has been flagged and cannot be used.",
          "pin_try_exceeded": "Too many incorrect PIN attempts have been made.",
          "restricted_card": "The payment method has restrictions preventing its use.",
          "stolen_card": "The payment method has been reported as stolen.",
          "testmode_decline": "A test payment method was used in a live environment.",
          "try_again_later": "A temporary issue prevented the transaction from completing.",
          "security_violation": "A security issue occurred during the transaction.",
          "card_velocity_exceeded": "The payment method has exceeded its usage limits.",
          "do_not_honor": "The payment provider has chosen not to process this transaction.",
          "processing_error": "An error occurred while processing the payment.",
          "card_not_supported": "This payment method doesn't support this type of transaction.",
          "transaction_not_allowed": "This specific transaction is not permitted for this payment method.",
          "authorization_revoked": "The payment authorization has been revoked.",
          "store_blocked": "The payment was blocked by one of your store's configured rules."
        }
      },
      "PaymentDto": {
        "required": [
          "amount",
          "chargeback_status",
          "created_at",
          "currency",
          "customer",
          "customer_id",
          "gateway",
          "gateway_entity_identifier",
          "gateway_fee_amount",
          "gateway_id",
          "id",
          "method",
          "order_id",
          "platform_fee_amount",
          "platform_fee_rate",
          "presentment_amount",
          "presentment_currency",
          "status",
          "store_id",
          "store_net_amount",
          "tax_amount"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "refunds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/RefundDto"
            },
            "description": "The list of refunds associated with this payment"
          },
          "gateway": {
            "type": "string",
            "description": "The payment gateway provider",
            "example": "stripe"
          },
          "gateway_entity_identifier": {
            "type": "string",
            "description": "The gateway entity identifier"
          },
          "gateway_id": {
            "type": "string",
            "description": "The gateway payment identifier"
          },
          "method": {
            "$ref": "#/components/schemas/PaymentMethodDto"
          },
          "method_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentStatusDto"
          },
          "currency": {
            "type": "string",
            "description": "The currency code used for this payment in the store's currency",
            "example": "usd"
          },
          "amount": {
            "type": "integer",
            "description": "The total payment amount in smallest currency unit",
            "format": "int32",
            "example": 10000
          },
          "gateway_fee_amount": {
            "type": "integer",
            "description": "The gateway fee amount in smallest currency unit",
            "format": "int32",
            "example": 320
          },
          "tax_amount": {
            "type": "integer",
            "description": "The tax amount in smallest currency unit",
            "format": "int32",
            "example": 850
          },
          "platform_fee_amount": {
            "type": "integer",
            "description": "The platform fee amount in smallest currency unit",
            "format": "int32",
            "example": 500
          },
          "store_net_amount": {
            "type": "integer",
            "description": "The net amount going to the store in smallest currency unit",
            "format": "int32",
            "example": 8330
          },
          "presentment_currency": {
            "type": "string",
            "description": "The currency code used for presentment to the customer",
            "example": "eur"
          },
          "presentment_amount": {
            "type": "integer",
            "description": "The amount presented to the customer in smallest currency unit",
            "format": "int32",
            "example": 9500
          },
          "fx_rate": {
            "type": [
              "null",
              "number"
            ],
            "description": "The foreign exchange rate used for currency conversion",
            "format": "double",
            "example": 1.085
          },
          "platform_fee_rate": {
            "type": "integer",
            "description": "The platform fee rate applied to this payment (in basis points)",
            "format": "int32",
            "example": 500
          },
          "chargeback_status": {
            "$ref": "#/components/schemas/PaymentChargebackStatusDto"
          },
          "chargeback_status_updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the chargeback status was last updated",
            "format": "date-time"
          },
          "payout_split_rules": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PaymentPayoutSplitRuleDto"
            },
            "description": "The payout split rules for multi-party payments"
          },
          "payout_split_results": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PaymentPayoutSplitResultDto"
            },
            "description": "The payout split results for multi-party payments"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when this payment was created",
            "format": "date-time",
            "example": "2025-04-01T15:30:45Z"
          },
          "pending_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this payment entered pending status",
            "format": "date-time",
            "example": "2025-04-01T15:30:46Z"
          },
          "completed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this payment was completed",
            "format": "date-time",
            "example": "2025-04-01T15:31:12Z"
          },
          "canceled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this payment was canceled",
            "format": "date-time"
          },
          "failed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this payment failed",
            "format": "date-time"
          },
          "refunded_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this payment was last refunded",
            "format": "date-time"
          },
          "chargeback_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when a chargeback was initiated on this payment",
            "format": "date-time"
          },
          "last_payment_error": {
            "$ref": "#/components/schemas/LastPaymentErrorDto"
          }
        },
        "additionalProperties": false,
        "description": "Represents a payment transaction"
      },
      "PaymentGatewayDto": {
        "enum": [
          "invalid",
          "stripe",
          "paypal",
          "forumpay",
          "steamskins",
          "nuvei",
          "pagseguro",
          "tazapay",
          "paysafe",
          "checkoutcom"
        ],
        "type": "string"
      },
      "PaymentMethodChargebackRateDto_V2": {
        "required": [
          "chargeback_rate",
          "method_type"
        ],
        "type": "object",
        "properties": {
          "method_type": {
            "type": "string"
          },
          "chargeback_rate": {
            "type": "number",
            "format": "float"
          }
        },
        "additionalProperties": false
      },
      "PaymentMethodDetailsDto": {
        "type": "object",
        "properties": {
          "card": {
            "$ref": "#/components/schemas/CardDetailsDto"
          },
          "cashapp": {
            "$ref": "#/components/schemas/CashAppDetailsDto"
          },
          "paypal": {
            "$ref": "#/components/schemas/PayPalDetailsDto"
          },
          "link": {
            "$ref": "#/components/schemas/LinkDetailsDto"
          },
          "crypto": {
            "$ref": "#/components/schemas/CryptoDetailsDto"
          },
          "steamskins": {
            "$ref": "#/components/schemas/SteamSkinsDetailsDto"
          },
          "ideal": {
            "$ref": "#/components/schemas/IdealDetailsDto"
          },
          "p24": {
            "$ref": "#/components/schemas/P24DetailsDto"
          },
          "bancontact": {
            "$ref": "#/components/schemas/BancontactDetailsDto"
          },
          "klarna": {
            "$ref": "#/components/schemas/KlarnaDetailsDto"
          },
          "alipay": {
            "$ref": "#/components/schemas/AlipayDetailsDto"
          },
          "pay_by_bank": {
            "$ref": "#/components/schemas/PayByBankDetailsDto"
          },
          "pix": {
            "$ref": "#/components/schemas/PixDetailsDto"
          },
          "paysafecard": {
            "$ref": "#/components/schemas/PaysafeCardDetailsDto"
          }
        },
        "additionalProperties": false,
        "description": "Contains detailed information about a payment method.\nDISCLAIMER: These fields are not guaranteed to be backwards compatible and may change or be removed without notice."
      },
      "PaymentMethodDistributionDataDto": {
        "required": [
          "gross_volume"
        ],
        "type": "object",
        "properties": {
          "gross_volume": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PaymentMethodDistributionDto": {
        "required": [
          "current",
          "method_type"
        ],
        "type": "object",
        "properties": {
          "method_type": {
            "type": "string"
          },
          "current": {
            "$ref": "#/components/schemas/PaymentMethodDistributionDataDto"
          },
          "comparison": {
            "$ref": "#/components/schemas/PaymentMethodDistributionDataDto"
          }
        },
        "additionalProperties": false
      },
      "PaymentMethodDto": {
        "required": [
          "created_at",
          "customer_id",
          "gateway",
          "gateway_customer_id",
          "gateway_entity_identifier",
          "gateway_id",
          "gateway_type",
          "id",
          "method_details",
          "method_type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gateway": {
            "type": "string",
            "description": "The payment gateway provider"
          },
          "gateway_id": {
            "type": "string",
            "description": "The gateway's identifier for this payment method"
          },
          "gateway_customer_id": {
            "type": "string",
            "description": "The gateway's customer identifier"
          },
          "gateway_type": {
            "type": "string",
            "description": "The gateway-specific type identifier",
            "example": "card"
          },
          "method_type": {
            "type": "string",
            "description": "The payment method type",
            "example": "card"
          },
          "method_details": {
            "$ref": "#/components/schemas/PaymentMethodDetailsDto"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when this payment method was created",
            "format": "date-time",
            "example": "2025-03-15T10:20:30Z"
          },
          "gateway_entity_identifier": {
            "type": "string",
            "description": "The gateway entity identifier"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this payment method was last updated",
            "format": "date-time",
            "example": "2025-03-20T14:30:00Z"
          }
        },
        "additionalProperties": false,
        "description": "Represents a stored payment method"
      },
      "PaymentMethodTypeApprovalStatusDto": {
        "enum": [
          "invalid",
          "pending",
          "approved",
          "rejected",
          "submitted"
        ],
        "type": "string"
      },
      "PaymentMethodTypeCountryCurrencyMappingDto": {
        "required": [
          "country",
          "currencies"
        ],
        "type": "object",
        "properties": {
          "country": {
            "type": "string"
          },
          "currencies": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "PaymentMethodTypeDto": {
        "required": [
          "approval_required",
          "b2b_supported",
          "b2c_supported",
          "category",
          "confirmation",
          "country_currency_mapping",
          "enabled",
          "fee_overrides",
          "gateways",
          "id",
          "kyc_required",
          "name",
          "refunds_supported",
          "revenue_usage",
          "subscriptions_supported",
          "supported_countries",
          "supported_currencies",
          "supported_settlement_currencies"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string"
          },
          "logo_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "checkout_logo_url_light": {
            "type": [
              "null",
              "string"
            ]
          },
          "checkout_logo_url_dark": {
            "type": [
              "null",
              "string"
            ]
          },
          "category": {
            "type": "string"
          },
          "confirmation": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "refunds_supported": {
            "type": "boolean"
          },
          "subscriptions_supported": {
            "type": "boolean"
          },
          "kyc_required": {
            "type": "boolean"
          },
          "supported_currencies": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supported_settlement_currencies": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supported_countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "gateways": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentGatewayDto"
            }
          },
          "fee_overrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethodTypeFeeOverrideDto"
            }
          },
          "country_currency_mapping": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMethodTypeCountryCurrencyMappingDto"
            }
          },
          "revenue_usage": {
            "type": "integer",
            "format": "int64"
          },
          "monthly_revenue_limit": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "default_monthly_revenue_limit": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "settlement_time": {
            "type": [
              "null",
              "string"
            ]
          },
          "min_transaction_amount": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "max_transaction_amount": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "b2c_supported": {
            "type": "boolean"
          },
          "b2b_supported": {
            "type": "boolean"
          },
          "approval_required": {
            "type": "boolean"
          },
          "approval_status": {
            "$ref": "#/components/schemas/PaymentMethodTypeApprovalStatusDto"
          },
          "approval_decline_reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "approval_requested_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "approval_decided_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PaymentMethodTypeFeeOverrideDto": {
        "required": [
          "begins_at",
          "card_brands",
          "card_funding_types",
          "card_networks",
          "card_product_categories",
          "card_regulated_statuses",
          "countries",
          "fee_cents",
          "fee_percentage"
        ],
        "type": "object",
        "properties": {
          "fee_percentage": {
            "type": "integer",
            "format": "int32"
          },
          "fee_cents": {
            "type": "integer",
            "format": "int32"
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "card_brands": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "card_networks": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "card_funding_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "card_regulated_statuses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "card_product_categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fee_schedule_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "begins_at": {
            "type": "string",
            "format": "date-time"
          },
          "ends_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PaymentPayoutSplitResultDto": {
        "required": [
          "connected_platform_fee_amount",
          "gateway_fee_amount",
          "gross_amount",
          "line_id",
          "net_amount",
          "platform_fee_amount",
          "tax_amount",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gross_amount": {
            "type": "integer",
            "description": "The gross amount before fees in smallest currency unit",
            "format": "int32",
            "example": 10000
          },
          "tax_amount": {
            "type": "integer",
            "description": "The tax amount in smallest currency unit",
            "format": "int32",
            "example": 850
          },
          "gateway_fee_amount": {
            "type": "integer",
            "description": "The gateway fee amount in smallest currency unit",
            "format": "int32",
            "example": 320
          },
          "platform_fee_amount": {
            "type": "integer",
            "description": "The platform fee amount in smallest currency unit",
            "format": "int32",
            "example": 500
          },
          "connected_platform_fee_amount": {
            "type": "integer",
            "description": "The connected platform fee amount in smallest currency unit",
            "format": "int32",
            "example": 100
          },
          "net_amount": {
            "type": "integer",
            "description": "The net amount after all fees in smallest currency unit",
            "format": "int32",
            "example": 8230
          },
          "line_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false,
        "description": "Represents payout split results for multi-party payments"
      },
      "PaymentPayoutSplitRuleDto": {
        "required": [
          "line_amount_tax",
          "line_amount_total",
          "line_id",
          "splits"
        ],
        "type": "object",
        "properties": {
          "line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "line_amount_total": {
            "type": "integer",
            "description": "The total amount of the line item in smallest currency unit",
            "format": "int32",
            "example": 10000
          },
          "line_amount_tax": {
            "type": "integer",
            "description": "The tax amount of the line item in smallest currency unit",
            "format": "int32",
            "example": 850
          },
          "splits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentPayoutSplitRuleSplitDto"
            },
            "description": "The list of splits defining how the payout should be divided"
          }
        },
        "additionalProperties": false,
        "description": "Represents payout split rules for a payment line"
      },
      "PaymentPayoutSplitRuleSplitDto": {
        "required": [
          "platform_fee_percentage",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "percentage": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)",
            "format": "int32",
            "example": 5000
          },
          "platform_fee_percentage": {
            "type": "integer",
            "description": "The platform fee percentage applied to this split (in basis points)",
            "format": "int32",
            "example": 500
          }
        },
        "additionalProperties": false,
        "description": "Represents a single split configuration within a payout split rule"
      },
      "PaymentPopularTimesOfDayDto": {
        "required": [
          "hour",
          "total",
          "weekday"
        ],
        "type": "object",
        "properties": {
          "weekday": {
            "type": "string"
          },
          "hour": {
            "type": "string"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PaymentStatusDto": {
        "enum": [
          "unknown",
          "created",
          "pending",
          "completed",
          "canceled",
          "failed",
          "refunded",
          "chargeback",
          "refund_failed",
          "refund_processing"
        ],
        "type": "string",
        "description": "Represents payment status",
        "x-enumDescriptions": {
          "unknown": "Unknown status",
          "created": "Payment has been created but not yet processed",
          "pending": "Payment is pending processing",
          "completed": "Payment has been completed successfully",
          "canceled": "Payment has been canceled",
          "failed": "Payment has failed",
          "refunded": "Payment has been fully refunded",
          "chargeback": "Payment has been charged back",
          "refund_failed": "Refund processing failed",
          "refund_processing": "Refund is currently processing"
        }
      },
      "PaysafeCardDetailsDto": {
        "type": "object",
        "properties": {
          "first_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "last_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "psc_id": {
            "type": [
              "null",
              "string"
            ]
          },
          "association_id": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Paysafecard payment method details"
      },
      "Period": {
        "type": "string",
        "additionalProperties": false,
        "description": "ISO 8601 duration format",
        "format": "period",
        "example": "P1Y2M3DT4H5M6S"
      },
      "PixDetailsDto": {
        "type": "object",
        "properties": {
          "bank_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The bank name",
            "example": "Banco do Brasil"
          },
          "bank_account_number": {
            "type": [
              "null",
              "string"
            ],
            "description": "The bank account number",
            "example": "12345-6"
          },
          "payer_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payer name",
            "example": "João Silva"
          }
        },
        "additionalProperties": false,
        "description": "Pix payment method details"
      },
      "PlatformCapability": {
        "enum": [
          "invalid",
          "connected_users"
        ],
        "type": "string"
      },
      "PlatformStoreTypeAssociationDetailsDto": {
        "required": [
          "disable_billing_plans",
          "display_disclaimers",
          "full_external_management",
          "platform_id",
          "store_platform"
        ],
        "type": "object",
        "properties": {
          "platform_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "associated_platform": {
            "$ref": "#/components/schemas/PublicPlatformDto"
          },
          "store_platform": {
            "type": "string",
            "description": "The store platform identifier string (e.g. \"rust\", \"minecraft\")."
          },
          "paynow_platform_fee_percentage_override": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Overrides the default PayNow platform fee percentage for this association.\nExpressed in basis points (e.g. 250 = 2.50%).",
            "format": "int64"
          },
          "connected_platform_fee_percentage": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The fee percentage charged by the connected platform.\nExpressed in basis points (e.g. 250 = 2.50%).",
            "format": "int64"
          },
          "connected_platform_wallet_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "disable_billing_plans": {
            "type": "boolean",
            "description": "When true, billing plans are disabled for this platform/store type combination."
          },
          "display_disclaimers": {
            "type": "boolean",
            "description": "When true, legal or compliance disclaimers should be displayed to the end user."
          },
          "full_external_management": {
            "type": "boolean",
            "description": "Whether the management hides some PayNow UI"
          }
        },
        "additionalProperties": false
      },
      "PlatformType": {
        "enum": [
          "invalid",
          "marketplace",
          "store_platform",
          "other"
        ],
        "type": "string"
      },
      "PopularTimeOfDayDto_V2": {
        "required": [
          "day_of_week",
          "hour",
          "payment_count"
        ],
        "type": "object",
        "properties": {
          "day_of_week": {
            "$ref": "#/components/schemas/DayOfWeekDto"
          },
          "hour": {
            "type": "integer",
            "format": "int32"
          },
          "payment_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "PrepaidCardsBlockingTypeDto": {
        "enum": [
          "unspecified",
          "none",
          "trials",
          "all_recurring"
        ],
        "type": "string",
        "description": "Defines when prepaid cards should be blocked from use.",
        "x-enumDescriptions": {
          "unspecified": "Blocking type not specified.",
          "none": "Allow prepaid cards for all payment types.",
          "trials": "Block prepaid cards for trial subscriptions only.",
          "all_recurring": "Block prepaid cards for all recurring payments (trials and subscriptions)."
        }
      },
      "ProductCommandDto": {
        "required": [
          "content",
          "online_only",
          "stage"
        ],
        "type": "object",
        "properties": {
          "stage": {
            "$ref": "#/components/schemas/ProductCommandStage"
          },
          "content": {
            "type": "string",
            "description": "Content of the command."
          },
          "online_only": {
            "type": "boolean",
            "description": "Value indicating whether the command should only execute when the player is online."
          },
          "override_execute_on_gameserver_ids": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"
          }
        },
        "additionalProperties": false
      },
      "ProductCommandExecutionRuleDto": {
        "enum": [
          "invalid",
          "once_per_item",
          "once_per_order"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "once_per_item": "Executes commands regularly, once per item (number of products * quantity times)",
          "once_per_order": "Executes command only once per entire order"
        }
      },
      "ProductCommandStage": {
        "enum": [
          "invalid",
          "on_purchase",
          "on_expire",
          "on_refund",
          "on_renew",
          "on_chargeback",
          "on_trial_start",
          "on_trial_expire"
        ],
        "type": "string",
        "description": "Defines the stages at which product commands can be executed.",
        "x-enumDescriptions": {
          "invalid": "Represents an invalid or unspecified command stage.",
          "on_purchase": "Commands that should be executed when a product is purchased.",
          "on_expire": "Commands that should be executed when a product expires.",
          "on_refund": "Commands that should be executed when a product is refunded.",
          "on_renew": "Commands that should be executed when a subscription is renewed.",
          "on_chargeback": "Commands that should be executed when an order is charged back.",
          "on_trial_start": "Commands that should be executed when a trial is started.",
          "on_trial_expire": "Commands that should be executed when a trial expires."
        }
      },
      "ProductDeliverableActionsDto": {
        "required": [
          "grant_giftcard"
        ],
        "type": "object",
        "properties": {
          "grant_giftcard": {
            "type": "boolean",
            "description": "Value indicating whether to grant a giftcard with the product with the subtotal amount."
          }
        },
        "additionalProperties": false
      },
      "ProductDependentMigrationDto": {
        "required": [
          "created_at",
          "created_by",
          "id",
          "migration_targets",
          "product_id",
          "send_all_commands_to_new_servers",
          "send_new_commands_to_all_servers",
          "status",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "migration_targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductDependentMigrationTargetDto"
            }
          },
          "status": {
            "$ref": "#/components/schemas/ProductDependentMigrationStatusDto"
          },
          "send_new_commands_to_all_servers": {
            "type": "boolean"
          },
          "send_all_commands_to_new_servers": {
            "type": "boolean"
          },
          "completed_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ProductDependentMigrationEstimateTargetCountDto": {
        "required": [
          "total_entities",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ProductDependentMigrationTargetTypeDto"
          },
          "total_entities": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProductDependentMigrationEstimateVersionDto": {
        "required": [
          "product_version_created_at",
          "product_version_id",
          "target_counts"
        ],
        "type": "object",
        "properties": {
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_created_at": {
            "type": "string",
            "format": "date-time"
          },
          "target_counts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductDependentMigrationEstimateTargetCountDto"
            }
          }
        },
        "additionalProperties": false
      },
      "ProductDependentMigrationStatusDto": {
        "enum": [
          "invalid",
          "created",
          "completed"
        ],
        "type": "string"
      },
      "ProductDependentMigrationTargetDto": {
        "required": [
          "type",
          "versions"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ProductDependentMigrationTargetTypeDto"
          },
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductDependentMigrationTargetVersionDto"
            }
          }
        },
        "additionalProperties": false
      },
      "ProductDependentMigrationTargetTypeDto": {
        "enum": [
          "invalid",
          "active_subscriptions",
          "active_unused_delivery_items",
          "non_expirable_delivery_items"
        ],
        "type": "string"
      },
      "ProductDependentMigrationTargetVersionDto": {
        "required": [
          "migrated",
          "new_product_version_id",
          "old_product_version_created_at",
          "old_product_version_id",
          "total_entities_migrated"
        ],
        "type": "object",
        "properties": {
          "old_product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "old_product_version_created_at": {
            "type": "string",
            "format": "date-time"
          },
          "new_product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total_entities_migrated": {
            "type": "integer",
            "format": "int32"
          },
          "migrated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ProductDownloadableFileDto": {
        "required": [
          "created_at",
          "created_by",
          "id",
          "is_uploaded",
          "product_id",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "is_uploaded": {
            "type": "boolean"
          },
          "file_name": {
            "type": [
              "null",
              "string"
            ]
          },
          "file_content_type": {
            "type": [
              "null",
              "string"
            ]
          },
          "file_size": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "file_hash": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "ProductDto": {
        "required": [
          "allow_one_time_purchase",
          "allow_subscription",
          "commands",
          "custom_variable_ids",
          "customer_stock_limit",
          "description",
          "gameservers",
          "id",
          "name",
          "payout_splits",
          "price",
          "remove_after_enabled",
          "remove_after_time_scale",
          "remove_after_time_value",
          "required_product_ids",
          "single_game_server_only",
          "slug",
          "sort_order",
          "stock_available",
          "store_id",
          "store_stock_limit",
          "subscription_interval_scale",
          "subscription_interval_value",
          "tags",
          "trial",
          "upselling",
          "version_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL to the product image."
          },
          "slug": {
            "type": "string",
            "description": "The unique slug for the product."
          },
          "name": {
            "type": "string",
            "description": "The display name of the product."
          },
          "description": {
            "type": "string",
            "description": "The detailed description of the product."
          },
          "label": {
            "type": [
              "null",
              "string"
            ],
            "description": "The display label for the product."
          },
          "sort_order": {
            "type": "integer",
            "description": "The sort order for displaying the product.",
            "format": "int32"
          },
          "price": {
            "type": "integer",
            "description": "The price of the product, in the lowest denominator (e.g. cents).",
            "format": "int64"
          },
          "single_game_server_only": {
            "type": "boolean",
            "description": "Indicates whether the product is limited to a single game server."
          },
          "allow_one_time_purchase": {
            "type": "boolean",
            "description": "Indicates whether one-time purchases are allowed."
          },
          "allow_subscription": {
            "type": "boolean",
            "description": "Indicates whether subscription purchases are allowed."
          },
          "subscription_interval_value": {
            "type": "integer",
            "description": "The subscription interval value.",
            "format": "int32"
          },
          "subscription_interval_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "trial": {
            "$ref": "#/components/schemas/ProductTrialConfigurationDto"
          },
          "upselling": {
            "$ref": "#/components/schemas/ProductUpsellConfigurationDto"
          },
          "remove_after_enabled": {
            "type": "boolean",
            "description": "Indicates whether automatic removal is enabled."
          },
          "remove_after_time_value": {
            "type": "integer",
            "description": "The time value for automatic removal.",
            "format": "int32"
          },
          "remove_after_time_scale": {
            "$ref": "#/components/schemas/ProductRemoveAfterIntervalScale"
          },
          "stock_available": {
            "$ref": "#/components/schemas/ProductStockAvailableDto"
          },
          "store_stock_limit": {
            "$ref": "#/components/schemas/ProductStockLimitDto"
          },
          "customer_stock_limit": {
            "$ref": "#/components/schemas/ProductStockLimitDto"
          },
          "stock_limit_do_not_include_removed": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether removed items should be excluded from stock limits."
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductTagDto"
            },
            "description": "The tags associated with the product."
          },
          "gameservers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductGameServerDto"
            },
            "description": "The game servers associated with the product."
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductCommandDto"
            },
            "description": "The commands to be executed at different stages."
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the product was created.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the product was last updated.",
            "format": "date-time"
          },
          "deliverable_actions": {
            "$ref": "#/components/schemas/ProductDeliverableActionsDto"
          },
          "metadata": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional metadata for the product."
          },
          "payout_splits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductPayoutSplitDto"
            },
            "description": "The payout splits for revenue distribution."
          },
          "tax_code": {
            "$ref": "#/components/schemas/ProductTaxCode"
          },
          "allow_concurrent_active_items": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether concurrent active items are allowed."
          },
          "is_hidden": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the product is hidden."
          },
          "is_gifting_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether gifting is disabled."
          },
          "enabled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the product becomes enabled.",
            "format": "date-time"
          },
          "enabled_until": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time until which the product remains enabled.",
            "format": "date-time"
          },
          "required_product_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The IDs of products required for purchasing this product."
          },
          "required_product_all": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether all required products are needed."
          },
          "custom_variable_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The IDs of associated custom variables."
          },
          "is_gift_cards_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying gift cards should be disabled on the product."
          },
          "is_coupons_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying coupons should be disabled on the product."
          },
          "is_affiliate_links_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying affiliate links should be disabled on the product."
          },
          "tier_group_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "ProductGameServerDto": {
        "required": [
          "enabled",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "The name of the game server.",
            "example": "US 2x TRIO"
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether this game server is enabled."
          }
        },
        "additionalProperties": false
      },
      "ProductPayoutSplitDto": {
        "required": [
          "platform_fee",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "percentage": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.",
            "format": "int64"
          },
          "platform_fee": {
            "type": "integer",
            "description": "The platform fee percentage your platform receives, in basis points (500 = 5%).",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ProductPricingRegionDto": {
        "required": [
          "blended_vat_rate",
          "country_codes",
          "enabled",
          "group_id",
          "id",
          "local_currency",
          "local_currency_fx_rate",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "group_id": {
            "type": "string"
          },
          "local_currency": {
            "type": "string"
          },
          "local_currency_fx_rate": {
            "type": "number",
            "format": "double"
          },
          "blended_vat_rate": {
            "type": "number",
            "format": "double"
          },
          "name": {
            "type": "string"
          },
          "country_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "price": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "default_price_multiplier": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "currency": {
            "type": [
              "null",
              "string"
            ]
          },
          "tax_inclusive": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "ProductPricingRegionGroupDto": {
        "required": [
          "description",
          "id",
          "name",
          "recommended_base_price_multiplier"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "recommended_base_price_multiplier": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "ProductPricingRegionOverrideDto": {
        "type": "object",
        "properties": {
          "price": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "enabled": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "currency": {
            "type": [
              "null",
              "string"
            ]
          },
          "tax_inclusive": {
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "additionalProperties": false
      },
      "ProductRemoveAfterIntervalScale": {
        "enum": [
          "invalid",
          "day",
          "week",
          "month"
        ],
        "type": "string"
      },
      "ProductResult": {
        "required": [
          "id",
          "total"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "product": {
            "$ref": "#/components/schemas/ProductDto"
          }
        },
        "additionalProperties": false
      },
      "ProductStockAvailableDto": {
        "required": [
          "customer_available",
          "store_available"
        ],
        "type": "object",
        "properties": {
          "store_available": {
            "type": "integer",
            "description": "Indicates how many stock is left store-wide.",
            "format": "int32"
          },
          "customer_available": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProductStockLimitDto": {
        "required": [
          "enabled",
          "include_trials",
          "time_scale"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether stock limit is enabled."
          },
          "quantity": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The quantity limit.",
            "format": "int32"
          },
          "time_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The time value for stock limit period.",
            "format": "int32"
          },
          "time_scale": {
            "$ref": "#/components/schemas/ProductStockTimeScale"
          },
          "include_trials": {
            "type": "boolean",
            "description": "Indicates if trials should be included in the active stock limit calculation."
          }
        },
        "additionalProperties": false
      },
      "ProductStockTimeScale": {
        "enum": [
          "invalid",
          "day",
          "week",
          "month",
          "year"
        ],
        "type": "string"
      },
      "ProductSubscriptionIntervalScale": {
        "enum": [
          "invalid",
          "day",
          "week",
          "month",
          "year"
        ],
        "type": "string"
      },
      "ProductTagDto": {
        "required": [
          "id",
          "name",
          "slug"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "slug": {
            "type": "string",
            "description": "The unique slug for the tag.",
            "example": "packages"
          },
          "name": {
            "type": "string",
            "description": "The display name of the tag.",
            "example": "Packages"
          }
        },
        "additionalProperties": false
      },
      "ProductTaxCode": {
        "enum": [
          "unknown",
          "digital_goods_subscription",
          "digital_goods_permanent",
          "saas",
          "downloaded_software",
          "digital_goods_subscription_gaming",
          "digital_goods_permanent_gaming",
          "iaas",
          "paas",
          "saas_security",
          "saas_storage"
        ],
        "type": "string",
        "description": "Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code.",
        "x-enumDescriptions": {
          "unknown": "Unknown tax code.",
          "digital_goods_subscription": "You provide customers access to photographs, audiovisual works, audio works, and books, delivered electronically to a customer for non-permanent access, with right of use conditioned on continued payment to the seller.",
          "digital_goods_permanent": "You provide customers access to photographs, audiovisual works, audio works, and books, delivered electronically to a customer.",
          "saas": "SaaS: Pre-written software, delivered electronically.\n            You provide customers access to a hosted software application, described as computer programs designed to permit the user to perform a group of coordinated functions, tasks, or activities.\n            You are typically responsible for all aspects of making the software service available.",
          "downloaded_software": "Pre-written, non-custom computer software that is delivered electronically for download onto customers' devices/servers. No tangible personal property (e.g. CD-ROM, etc.) is delivered or used in conjunction with the download.",
          "digital_goods_subscription_gaming": "Cloud based or downloaded access to digital gaming services (used by default for game servers).",
          "digital_goods_permanent_gaming": "Permanent digital goods for gaming (not recommended).",
          "iaas": "Infrastructure as a Service: Providing users remote access to data center equipment and computing power.",
          "paas": "Platform as a Service: A cloud computing service bundle that includes both the infrastructure (servers, storage, and networking)\n            and the middleware (development tools, business intelligence services, database management systems) that provides the customer\n            a complete development and deployment environment in the cloud.",
          "saas_security": "Cloud-based SaaS, designed to secure customer data.\n            Pre-written software, delivered electronically, designed specifically to provide protection of computer systems, software,\n            or data against unauthorized access or intrusion.\n            This includes separately charged maintenance and updates delivered electronically, whether included in the cost of the software\n            or charged as a separate line item.",
          "saas_storage": "Cloud-based SaaS, designed to backup customer data.\n            Pre-written software, delivered electronically, designed purely as storage for a customer's data.\n            You provide customers access to a software product solely to facilitate the storage of digital products, digital codes,\n            computer software or master copies of software.\n            This includes separately charged maintenance and updates delivered electronically, whether included in the cost of the software\n            or charged as a separate line item."
        }
      },
      "ProductTrialConfigurationDto": {
        "required": [
          "allow_repeat_trials",
          "enabled",
          "new_customer_order_lookback_scale",
          "new_customer_order_lookback_value",
          "new_customers_only",
          "period_scale",
          "period_value",
          "repeat_trial_cooldown_scale",
          "repeat_trial_cooldown_value",
          "revoke_immediately_when_canceled"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Indicates if trials should be enabled for the product."
          },
          "period_value": {
            "type": "integer",
            "description": "The trial period value.",
            "format": "int32"
          },
          "period_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "revoke_immediately_when_canceled": {
            "type": "boolean",
            "description": "Indicates if the trial should be revoked immediately when canceled or at the end of the trial."
          },
          "new_customers_only": {
            "type": "boolean",
            "description": "Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."
          },
          "new_customer_order_lookback_value": {
            "type": "integer",
            "description": "The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.",
            "format": "int32"
          },
          "new_customer_order_lookback_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "allow_repeat_trials": {
            "type": "boolean",
            "description": "Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."
          },
          "repeat_trial_cooldown_value": {
            "type": "integer",
            "description": "The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trial is enabled.",
            "format": "int32"
          },
          "repeat_trial_cooldown_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          }
        },
        "additionalProperties": false,
        "description": "Represents the configuration for trials of a product"
      },
      "ProductUpsellConfigurationDto": {
        "required": [
          "enabled",
          "recommendations"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Indicates if upselling should be enabled for the product.\nIf disabled, the product will never be recommended regardless of the global config."
          },
          "recommendations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductUpsellRecommendationDto"
            },
            "description": "Upselling recommendation for the product."
          }
        },
        "additionalProperties": false
      },
      "ProductUpsellRecommendationDto": {
        "required": [
          "discount_amount",
          "discount_type",
          "prefer_as_subscription",
          "recommended_product_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "recommended_product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "type": {
            "$ref": "#/components/schemas/UpsellTypeDto"
          },
          "discount_type": {
            "$ref": "#/components/schemas/UpsellDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "minimum_base_product_quantity": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "minimum_recommended_product_quantity": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "quantity_to_add": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "prefer_as_subscription": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ProrationBehaviorDto": {
        "enum": [
          "invalid",
          "immediate",
          "next_billing_period",
          "none"
        ],
        "type": "string",
        "description": "Describes how proration is handled when a subscription change is applied.",
        "x-enumDescriptions": {
          "immediate": "Subscription will be updated instantly, and a proration charge will be applied.",
          "next_billing_period": "Subscription will be updated at the end of the billing period, no proration will be applied.",
          "none": "No proration is applied, subscription is updated instantly."
        }
      },
      "PublicPlatformDto": {
        "required": [
          "accent_color",
          "business_name",
          "capabilities",
          "country_code",
          "created_at",
          "description",
          "id",
          "logo_url",
          "name",
          "slug",
          "type",
          "website_url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "slug": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/PlatformType"
          },
          "country_code": {
            "type": "string"
          },
          "business_name": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "website_url": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          },
          "accent_color": {
            "type": "string"
          },
          "capabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlatformCapability"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "disabled_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PurchaseFollowUpStoreConfigurationCommandDto": {
        "required": [
          "command",
          "id",
          "online_only",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "command": {
            "type": "string",
            "description": "The command to execute."
          },
          "online_only": {
            "type": "boolean",
            "description": "Indicates if the command should be executed if the player is online."
          }
        },
        "additionalProperties": false,
        "description": "Represents a command associated with the store-level purchase follow uo configuration."
      },
      "PurchaseFollowUpStoreConfigurationDto": {
        "required": [
          "commands",
          "coupon_configuration",
          "enabled",
          "invalid",
          "minimum_order_value",
          "store_id",
          "trigger_after",
          "updated_at",
          "updated_by"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "enabled": {
            "type": "boolean",
            "description": "A value indicating whether the abandoned checkout feature is enabled for the store."
          },
          "invalid": {
            "type": "boolean",
            "description": "A value indicating whether the abandoned checkout configuration for the store is invalid."
          },
          "trigger_after": {
            "$ref": "#/components/schemas/Period"
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "The minimum order value required to trigger an abandoned checkout email.",
            "format": "int64"
          },
          "maximum_order_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum order value beyond which an abandoned checkout email will not be sent.",
            "format": "int64"
          },
          "max_coupons_per_customer_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_per_customer_period": {
            "$ref": "#/components/schemas/Period"
          },
          "max_coupons_global_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_global_period": {
            "$ref": "#/components/schemas/Period"
          },
          "coupon_configuration": {
            "$ref": "#/components/schemas/MarketingCouponConfigurationDto"
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationCommandDto"
            },
            "description": "The commands you want to execute when the email is sent."
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": "string",
            "description": "The date and time when the configuration was last updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the store-level configuration for abandoned checkout settings."
      },
      "PurchaseFollowUpStoreConfigurationUpdateCommandDto": {
        "required": [
          "command",
          "online_only"
        ],
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "description": "The command to execute."
          },
          "online_only": {
            "type": "boolean",
            "description": "Indicates if the command should be executed if the player is online."
          }
        },
        "additionalProperties": false,
        "description": "Represents a command associated with the store-level purchase follow uo configuration."
      },
      "PurchaseFollowUpStoreConfigurationUpdateDto": {
        "required": [
          "commands",
          "coupon_configuration",
          "enabled",
          "minimum_order_value",
          "trigger_after"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "A value indicating whether the abandoned checkout feature is enabled for the store."
          },
          "trigger_after": {
            "$ref": "#/components/schemas/Period"
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "The minimum order value required to trigger an abandoned checkout email.",
            "format": "int64"
          },
          "maximum_order_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum order value beyond which an abandoned checkout email will not be sent.",
            "format": "int64"
          },
          "max_coupons_per_customer_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_per_customer_period": {
            "$ref": "#/components/schemas/Period"
          },
          "max_coupons_global_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.",
            "format": "int32"
          },
          "max_coupons_global_period": {
            "$ref": "#/components/schemas/Period"
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseFollowUpStoreConfigurationUpdateCommandDto"
            }
          },
          "coupon_configuration": {
            "$ref": "#/components/schemas/MarketingCouponConfigurationDto"
          }
        },
        "additionalProperties": false,
        "description": "Used for updating the store-level configuration for abandoned checkout settings."
      },
      "QueuedDiscordActionDto": {
        "required": [
          "action_type",
          "delivery_item_id",
          "discord_server_id",
          "enqueued_at",
          "execution_stage",
          "executions",
          "id",
          "product_id",
          "product_version_id",
          "revocation_stages",
          "status",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "execution_stage": {
            "$ref": "#/components/schemas/DiscordActionExecutionStage"
          },
          "status": {
            "$ref": "#/components/schemas/QueuedDiscordActionStatus"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "delivery_item_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "discord_server_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "action_type": {
            "$ref": "#/components/schemas/DiscordActionType"
          },
          "discord_user_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "channel_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "role_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          },
          "revocation_stages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscordActionRevocationStage"
            }
          },
          "enqueued_at": {
            "type": "string",
            "format": "date-time"
          },
          "finalised_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "executions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueuedDiscordActionExecutionDto"
            }
          }
        },
        "additionalProperties": false
      },
      "QueuedDiscordActionExecutionDto": {
        "required": [
          "executed_at",
          "execution_status",
          "id",
          "queue_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "queue_id": {
            "type": "integer",
            "format": "int64"
          },
          "executed_at": {
            "type": "string",
            "format": "date-time"
          },
          "execution_status": {
            "$ref": "#/components/schemas/QueuedDiscordActionExecutionStatus"
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          },
          "trace_id": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "QueuedDiscordActionExecutionStatus": {
        "enum": [
          "success",
          "failure"
        ],
        "type": "string"
      },
      "QueuedDiscordActionStatus": {
        "enum": [
          "active",
          "complete",
          "errored",
          "canceled"
        ],
        "type": "string"
      },
      "QueuedWebhookDto": {
        "required": [
          "created_at",
          "event",
          "executions",
          "id",
          "payload",
          "state",
          "webhook_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "webhook_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "$ref": "#/components/schemas/WebhookState"
          },
          "next_retry": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "event": {
            "$ref": "#/components/schemas/WebhookEventType"
          },
          "payload": { },
          "executions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExecutedWebhookDto"
            }
          }
        },
        "additionalProperties": false
      },
      "RefundDto": {
        "required": [
          "amount",
          "amount_str",
          "created_at",
          "currency",
          "customer_id",
          "gateway_fee_amount",
          "gateway_fee_amount_str",
          "id",
          "payment_id",
          "platform_fee_amount",
          "platform_fee_amount_str",
          "refund_from_connected_user_balance",
          "status",
          "store_id",
          "store_net_amount",
          "store_net_amount_str",
          "store_refund_amount",
          "store_refund_amount_str",
          "tax_amount",
          "tax_amount_str"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "payment_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "status": {
            "$ref": "#/components/schemas/RefundStatus"
          },
          "failure_reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reason for failure if the refund has failed"
          },
          "currency": {
            "type": "string",
            "description": "Three-letter currency code of the refund"
          },
          "amount": {
            "type": "integer",
            "description": "Amount of the refund in smallest currency unit (e.g., cents)",
            "format": "int64"
          },
          "amount_str": {
            "type": "string",
            "description": "String representation of the refund amount, formatted for display"
          },
          "gateway_fee_amount": {
            "type": "integer",
            "description": "Amount of payment processor fees in smallest currency unit",
            "format": "int64"
          },
          "gateway_fee_amount_str": {
            "type": "string",
            "description": "String representation of gateway fee amount, formatted for display"
          },
          "tax_amount": {
            "type": "integer",
            "description": "Amount of tax being refunded in smallest currency unit",
            "format": "int64"
          },
          "tax_amount_str": {
            "type": "string",
            "description": "String representation of tax amount, formatted for display"
          },
          "platform_fee_amount": {
            "type": "integer",
            "description": "Amount of platform fees in smallest currency unit",
            "format": "int64"
          },
          "platform_fee_amount_str": {
            "type": "string",
            "description": "String representation of platform fee amount, formatted for display"
          },
          "store_net_amount": {
            "type": "integer",
            "description": "Net amount for the store after fees in smallest currency unit",
            "format": "int64"
          },
          "store_net_amount_str": {
            "type": "string",
            "description": "String representation of store net amount, formatted for display"
          },
          "store_refund_amount": {
            "type": "integer",
            "description": "Amount of the refund to be paid by the store in smallest currency unit",
            "format": "int64"
          },
          "store_refund_amount_str": {
            "type": "string",
            "description": "String representation of store refund amount, formatted for display"
          },
          "presentment_currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional currency code used for presentment to the customer if different from the base currency"
          },
          "presentment_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Optional amount in presentment currency in smallest currency unit",
            "format": "int64"
          },
          "fx_rate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Exchange rate used while refunding. Only present for payments made in non-settlement currency."
          },
          "refund_from_connected_user_balance": {
            "type": "boolean",
            "description": "Indicates whether the refund should be taken from the connected user's balance.\nOnly relevant for platforms."
          },
          "created_at": {
            "type": "string",
            "description": "Date and time when the refund was created",
            "format": "date-time"
          },
          "approved_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional date and time when the refund was approved",
            "format": "date-time"
          },
          "pending_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional date and time when the refund entered pending status",
            "format": "date-time"
          },
          "completed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional date and time when the refund was completed",
            "format": "date-time"
          },
          "canceled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional date and time when the refund was canceled",
            "format": "date-time"
          },
          "failed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional date and time when the refund failed",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RefundStatus": {
        "enum": [
          "created",
          "approved",
          "processing",
          "completed",
          "canceled",
          "failed"
        ],
        "type": "string",
        "description": "Represents the current status of a refund in the system",
        "x-enumDescriptions": {
          "created": "Refund has been created but not yet processed",
          "approved": "Refund has been approved but not yet processed\n            (reserved for customer requested refunds)",
          "processing": "Refund is currently being processed by the payment system",
          "completed": "Refund has been successfully completed",
          "canceled": "Refund has been canceled before completion",
          "failed": "Refund processing has failed"
        }
      },
      "ResendCommandsForGameServerRequestDto": {
        "type": "object",
        "properties": {
          "starts_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "ends_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "inventory_item_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "ResendCommandsForGameServerResponseDto": {
        "required": [
          "enqueued_commands_count"
        ],
        "type": "object",
        "properties": {
          "enqueued_commands_count": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ResendWebhookDto": {
        "required": [
          "webhook_id"
        ],
        "type": "object",
        "properties": {
          "webhook_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "RevenueBasisDto_V2": {
        "enum": [
          "unspecified",
          "gross",
          "gross_excluding_taxes",
          "net"
        ],
        "type": "string"
      },
      "SaleDiscountTypeDto": {
        "enum": [
          "percent",
          "amount"
        ],
        "type": "string"
      },
      "SaleDto": {
        "required": [
          "apply_to_product_ids",
          "apply_to_tag_ids",
          "begins_at",
          "created_at",
          "created_by",
          "discount_amount",
          "discount_type",
          "duration",
          "duration_in_intervals",
          "enabled",
          "id",
          "minimum_order_value",
          "name",
          "store_id",
          "version_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the sale is enabled."
          },
          "name": {
            "type": "string",
            "description": "The name of the sale."
          },
          "discount_type": {
            "$ref": "#/components/schemas/SaleDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "description": "The discount value. For percent discounts, this represents the percentage \nmultiplied by 10 (e.g., 250 = 25%). For amount discounts, this represents \nthe value in the smallest currency unit (e.g., cents).",
            "format": "int32"
          },
          "duration": {
            "$ref": "#/components/schemas/SaleDurationDto"
          },
          "duration_in_intervals": {
            "type": "integer",
            "description": "The number of subscription intervals the coupon is valid for, used if the duration is repeating.",
            "format": "int32"
          },
          "apply_to_product_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "A list of product IDs the sale applies to."
          },
          "apply_to_tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "A list of tag IDs the sale applies to."
          },
          "minimum_order_value": {
            "type": "integer",
            "description": "The minimum order value required to apply the sale, in the smallest currency unit (e.g., cents).",
            "format": "int32"
          },
          "begins_at": {
            "type": "string",
            "description": "The date and time when the sale begins.",
            "format": "date-time"
          },
          "ends_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the sale ends.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the sale was created.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the sale was last updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a detailed view of a Sale, including configuration and audit information."
      },
      "SaleDurationDto": {
        "enum": [
          "unspecified",
          "once",
          "forever",
          "repeating"
        ],
        "type": "string"
      },
      "SaleResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "sale": {
            "$ref": "#/components/schemas/SaleDto"
          }
        },
        "additionalProperties": false
      },
      "SalesTaxJurisdictionDto": {
        "required": [
          "name",
          "taxes"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the tax jurisdiction.",
            "example": "EU OSS"
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesTaxJurisdictionTaxDto"
            },
            "description": "List of taxes applied within this jurisdiction."
          },
          "not_taxed_reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Explanation for why taxes are not applied, if applicable.\nThis property is null when taxes are applied."
          }
        },
        "additionalProperties": false,
        "description": "Object representing a sales tax jurisdiction and its associated taxes."
      },
      "SalesTaxJurisdictionTaxDto": {
        "required": [
          "tax_amount",
          "tax_name",
          "tax_rate",
          "taxable_amount"
        ],
        "type": "object",
        "properties": {
          "tax_name": {
            "type": "string",
            "description": "The name of the tax."
          },
          "taxable_amount": {
            "type": "string",
            "description": "The amount subject to taxation, formatted as a string."
          },
          "tax_amount": {
            "type": "string",
            "description": "The calculated tax amount, formatted as a string."
          },
          "tax_rate": {
            "type": "string",
            "description": "The rate at which the tax is applied, formatted as a string."
          }
        },
        "additionalProperties": false,
        "description": "Object representing a specific tax within a sales tax jurisdiction."
      },
      "SearchDashboardResponseDto": {
        "required": [
          "affiliate_links",
          "bans",
          "coupons",
          "customers",
          "facets",
          "gameservers",
          "giftcards",
          "orders",
          "products",
          "sales",
          "stores",
          "subscriptions",
          "tags",
          "trials"
        ],
        "type": "object",
        "properties": {
          "stores": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreResult"
            }
          },
          "customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerResult"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderResult"
            }
          },
          "gameservers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GameserverResult"
            }
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductResult"
            }
          },
          "coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CouponResult"
            }
          },
          "sales": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SaleResult"
            }
          },
          "giftcards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GiftcardResult"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagsResult"
            }
          },
          "affiliate_links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffiliateLinkResult"
            }
          },
          "trials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrialResult"
            }
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionResult"
            }
          },
          "bans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BanResult"
            }
          },
          "facets": {
            "type": "object",
            "properties": {
              "unknown": {
                "type": "integer",
                "format": "int64"
              },
              "orders": {
                "type": "integer",
                "format": "int64"
              },
              "trials": {
                "type": "integer",
                "format": "int64"
              },
              "subscriptions": {
                "type": "integer",
                "format": "int64"
              },
              "customers": {
                "type": "integer",
                "format": "int64"
              },
              "coupons": {
                "type": "integer",
                "format": "int64"
              },
              "gameservers": {
                "type": "integer",
                "format": "int64"
              },
              "products": {
                "type": "integer",
                "format": "int64"
              },
              "sales": {
                "type": "integer",
                "format": "int64"
              },
              "api_keys": {
                "type": "integer",
                "format": "int64"
              },
              "bans": {
                "type": "integer",
                "format": "int64"
              },
              "affiliate_links": {
                "type": "integer",
                "format": "int64"
              },
              "tags": {
                "type": "integer",
                "format": "int64"
              },
              "giftcards": {
                "type": "integer",
                "format": "int64"
              },
              "stores": {
                "type": "integer",
                "format": "int64"
              },
              "users": {
                "type": "integer",
                "format": "int64"
              },
              "tickets": {
                "type": "integer",
                "format": "int64"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "SetDiscordActionDto": {
        "required": [
          "action_type",
          "discord_server_id",
          "execution_stage"
        ],
        "type": "object",
        "properties": {
          "discord_server_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "action_type": {
            "$ref": "#/components/schemas/DiscordActionType"
          },
          "execution_stage": {
            "$ref": "#/components/schemas/DiscordActionExecutionStage"
          },
          "revocation_stages": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/DiscordActionRevocationStage"
            }
          },
          "channel_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "role_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "message": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "StartDataMigrationFromTebexRequestDto": {
        "required": [
          "headless_token",
          "plugin_token"
        ],
        "type": "object",
        "properties": {
          "headless_token": {
            "type": "string",
            "description": "The public-facing Headless API token."
          },
          "plugin_token": {
            "type": "string",
            "description": "An API token associated to a Tebex game server."
          }
        },
        "additionalProperties": false
      },
      "StartDownloadableFileUploadRequestDto": {
        "required": [
          "file_content_type",
          "file_name"
        ],
        "type": "object",
        "properties": {
          "file_name": {
            "type": "string"
          },
          "file_content_type": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "StatsDimensionTypeDto_V2": {
        "enum": [
          "unspecified",
          "product",
          "gameserver",
          "tag",
          "affiliate_link",
          "coupon",
          "giftcard",
          "payout_id"
        ],
        "type": "string"
      },
      "StatsDistributionTypeDto_V2": {
        "enum": [
          "unspecified",
          "order_country",
          "payment_method",
          "payment_acceptance"
        ],
        "type": "string"
      },
      "SteamId": {
        "type": "string",
        "additionalProperties": false,
        "description": "A 64-bit Steam account identifier. Accepts string or numeric format.",
        "format": "steam-id",
        "example": "76561197960287930"
      },
      "SteamSkinsDetailsDto": {
        "required": [
          "items"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SteamSkinsInventoryItemDetailsDto"
            },
            "description": "The list of Steam inventory items used for payment"
          }
        },
        "additionalProperties": false,
        "description": "Steam Skins payment method details"
      },
      "SteamSkinsInventoryItemDetailsDto": {
        "required": [
          "app_id",
          "id",
          "name",
          "price"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the Steam item"
          },
          "app_id": {
            "type": "integer",
            "description": "The Steam app ID",
            "format": "int32",
            "example": 730
          },
          "name": {
            "type": "string",
            "description": "The name of the item",
            "example": "AK-47 | Redline"
          },
          "price": {
            "type": "integer",
            "description": "The price of the item in the smallest currency unit",
            "format": "int32",
            "example": 2500
          }
        },
        "additionalProperties": false
      },
      "StoreDto": {
        "required": [
          "currency",
          "description",
          "game",
          "id",
          "live_mode",
          "name",
          "owner_id",
          "platform",
          "slug"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "owner_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "slug": {
            "type": "string",
            "description": "The URL-safe slug used to identify the store (e.g. \"my-rust-server\")."
          },
          "name": {
            "type": "string",
            "description": "The display name of the store."
          },
          "platform": {
            "type": "string",
            "description": "The platform this store is associated with (e.g. \"rust\", \"minecraft\")."
          },
          "game": {
            "type": "string",
            "description": "Alias for 'platform'. Returns the platform identifier as a game name.",
            "readOnly": true
          },
          "currency": {
            "type": "string",
            "description": "The ISO 4217 currency code used by this store for pricing (e.g. \"usd\", \"eur\")"
          },
          "description": {
            "type": "string",
            "description": "A human-readable description of the store shown to customers and PayNow."
          },
          "website_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The store's public website URL."
          },
          "contact_email": {
            "type": [
              "null",
              "string"
            ],
            "description": "General contact email address for the store."
          },
          "support_email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dedicated support email address for customer inquiries."
          },
          "support_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL to the store's support portal or help page."
          },
          "integration_type": {
            "type": [
              "null",
              "string"
            ],
            "description": "The integration type used by the store."
          },
          "live_mode": {
            "type": "boolean",
            "description": "When set to true, the store is processing real transactions in live mode."
          },
          "logo_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL of the store's full-size logo image."
          },
          "logo_square_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL of the store's square/icon logo image."
          },
          "minecraft_bedrock_username_prefix": {
            "type": [
              "null",
              "string"
            ],
            "description": "Username prefix used to identify Minecraft Bedrock players (e.g. \".\")."
          },
          "created_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The UTC timestamp when the store was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The UTC timestamp when the store was last updated.",
            "format": "date-time"
          },
          "onboarding_completed_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The UTC timestamp when the store completed onboarding.",
            "format": "date-time"
          },
          "platform_store_type_association": {
            "$ref": "#/components/schemas/PlatformStoreTypeAssociationDetailsDto"
          }
        },
        "additionalProperties": false,
        "description": "Represents a PayNow store and its associated configuration."
      },
      "StoreMemberDto": {
        "required": [
          "id",
          "user",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "user_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "user": {
            "$ref": "#/components/schemas/StoreMemberUserDto"
          },
          "added_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The UTC timestamp when the member was added to the store.",
            "format": "date-time"
          },
          "added_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "role_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member of a PayNow store."
      },
      "StoreMemberUserDto": {
        "required": [
          "id",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PayNowActorType"
          },
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "email": {
            "type": [
              "null",
              "string"
            ],
            "description": "The email address associated with the user.\nOnly visible if you are the store owner."
          },
          "first_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The first name of the actor.\nHidden if the user has a set nickname, and you are not the store owner."
          },
          "last_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The last name of the actor.\nHidden if the user has a set nickname, and you are not the store owner."
          },
          "nickname": {
            "type": [
              "null",
              "string"
            ],
            "description": "The nickname of the user."
          }
        },
        "additionalProperties": false,
        "description": "Represents identity and profile information for a store member."
      },
      "StorePaymentSettingsDto": {
        "required": [
          "adaptive_currency_enabled",
          "block_prepaid_cards",
          "chargeback_coverage",
          "force_3d_secure",
          "max_checkout_amount",
          "promo_code_stacking_behavior",
          "show_adaptive_currency_on_storefront",
          "show_all_payment_methods_for_subscriptions",
          "store_tax_inclusive_pricing"
        ],
        "type": "object",
        "properties": {
          "show_all_payment_methods_for_subscriptions": {
            "type": "boolean",
            "description": "Whether to show all available payment methods for subscription purchases."
          },
          "store_tax_inclusive_pricing": {
            "type": "boolean",
            "description": "Whether store pricing is tax-inclusive."
          },
          "block_prepaid_cards": {
            "$ref": "#/components/schemas/PrepaidCardsBlockingTypeDto"
          },
          "promo_code_stacking_behavior": {
            "$ref": "#/components/schemas/StorePromoCodeStackingBehaviorDto"
          },
          "adaptive_currency_enabled": {
            "type": "boolean",
            "description": "Whether the 'Adaptive Currency' feature is enabled."
          },
          "show_adaptive_currency_on_storefront": {
            "type": "boolean",
            "description": "Whether the displayed currency on the storefront should be the Adaptive Currency by default."
          },
          "max_checkout_amount": {
            "type": "integer",
            "description": "Maximum checkout amount allowed in cents.",
            "format": "int64"
          },
          "force_3d_secure": {
            "type": "boolean",
            "description": "Whether to force 3D Secure authentication for all transactions."
          },
          "chargeback_coverage": {
            "$ref": "#/components/schemas/ChargebackCoverageTypeDto"
          },
          "chargeback_coverage_max_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Maximum per-transaction chargeback coverage amount in cents.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Store payment configuration settings."
      },
      "StorePricingRegionOverrideDto": {
        "type": "object",
        "properties": {
          "default_price_multiplier": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "enabled": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "currency": {
            "type": [
              "null",
              "string"
            ]
          },
          "tax_inclusive": {
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "additionalProperties": false
      },
      "StorePromoCodeStackingBehaviorDto": {
        "enum": [
          "invalid",
          "disabled",
          "enabled",
          "gift_cards_only"
        ],
        "type": "string",
        "description": "Defines the behavior of promo code stacking.",
        "x-enumDescriptions": {
          "invalid": "Invalid state.",
          "disabled": "Promo code stacking is disabled.",
          "enabled": "Promo code stacking is enabled.",
          "gift_cards_only": "Promo code stacking is enabled only for gift cards."
        }
      },
      "StoreRequirementActionParty": {
        "enum": [
          "invalid",
          "store",
          "paynow",
          "payment_processor",
          "payout_provider",
          "kyc_provider",
          "external"
        ],
        "type": "string",
        "description": "Determines the party that needs to perform or requests a verification",
        "x-enumDescriptions": {
          "store": "The associated store",
          "paynow": "We as a platform, RequestedByDetail is the admin actor ID in that case (or null if internal)",
          "payment_processor": "Payment processor, e.g. Stripe",
          "payout_provider": "Payout provider, e.g. Trolley, PayPal",
          "kyc_provider": "KYC provider, e.g. Stripe, Onefootprint",
          "external": "External party, not fitting in any other category, e.g. government, regulators"
        }
      },
      "StoreRequirementCategory": {
        "enum": [
          "invalid",
          "business",
          "kyc",
          "compliance",
          "risk",
          "technical",
          "financial",
          "legal",
          "other"
        ],
        "type": "string",
        "description": "Represents categories of requirements that must be fulfilled for store setup and compliance in the PayNow platform.",
        "x-enumDescriptions": {
          "invalid": "Invalid or unspecified category. Default value that should not be used in production.",
          "business": "Business information and operational requirements.\n            Includes company details, business model, store policies, refund procedures,\n            and operational guidelines for running a store on PayNow.",
          "kyc": "Know Your Customer (KYC) identity verification requirements.\n            Includes government-issued ID verification, proof of address, and identity confirmation\n            as per PayNow's KYC Policy and conducted via any third party KYC partners",
          "compliance": "Regulatory compliance requirements including AML checks and content policies.\n            Covers sanctions screening, FATF checks, prohibited customer/product screening,\n            and content compliance as defined in PayNow's policies.",
          "risk": "Risk management and fraud prevention requirements.\n            Includes transaction monitoring, unusual activity detection, and ongoing\n            risk assessment procedures to protect against fraudulent activities.",
          "technical": "Technical integration and setup requirements.\n            Covers API configuration, webhook setup, platform integration, and any technical\n            prerequisites for store operation.",
          "financial": "Financial setup and verification requirements.\n            Includes payment processing configuration, banking information, Tipalti/Trolley payout setup,\n            tax documentation (W-9, W-8, etc.), and payment method verification.",
          "legal": "Legal agreement and policy acceptance requirements.\n            Covers acceptance of User Agreement, Terms of Service, Privacy Policy,\n            and any other legal documents required by PayNow for store operation.",
          "other": "Other miscellaneous requirements that don't fit into the above categories.\n            Used for special cases or additional requirements specific to certain store types\n            or jurisdictions."
        }
      },
      "StoreRequirementStatus": {
        "enum": [
          "invalid",
          "pending",
          "under_review",
          "requires_revision",
          "approved",
          "expired",
          "waived",
          "rejected_final"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "pending": "Requirement created, awaiting action",
          "under_review": "Submitted, under review, or awaiting external verification",
          "requires_revision": "Rejected, needs store to resubmit with corrections",
          "approved": "Requirement successfully fulfilled",
          "expired": "Requirement expired and needs renewal",
          "waived": "Requirement waived by PayNow (manual override)",
          "rejected_final": "Requirement fully rejected - usually terminal state for the entire store"
        }
      },
      "StoreRestrictionFlagDto": {
        "enum": [
          "none",
          "payments_disabled",
          "payouts_disabled"
        ],
        "type": "string"
      },
      "StoreResult": {
        "required": [
          "id",
          "store"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store": {
            "$ref": "#/components/schemas/StoreDto"
          }
        },
        "additionalProperties": false
      },
      "StoreTrustDto": {
        "required": [
          "created_at",
          "events",
          "pending_requirements",
          "restrictions",
          "status",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "status": {
            "$ref": "#/components/schemas/StoreTrustStatusDto"
          },
          "status_reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "restrictions": {
            "$ref": "#/components/schemas/StoreRestrictionFlagDto"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "onboarding_steps": {
            "$ref": "#/components/schemas/StoreTrustOnboardingStepsDto"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreTrustEventDto"
            }
          },
          "pending_requirements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrustStoreRequirementDto"
            }
          }
        },
        "additionalProperties": false
      },
      "StoreTrustEventDto": {
        "required": [
          "actor",
          "created_at",
          "id",
          "store_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "type": {
            "$ref": "#/components/schemas/StoreTrustEventTypeDto"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "store_requirement_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_review_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "actor": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "StoreTrustEventTypeDto": {
        "enum": [
          "invalid",
          "onboarded",
          "escalated_to_review",
          "action_required",
          "restricted",
          "offboarded",
          "reactivated",
          "requirement_added",
          "requirement_submitted",
          "requirement_verified",
          "requirement_rejected",
          "requirement_deadline_missed",
          "requirement_waived",
          "requirement_requires_revision",
          "restriction_added",
          "restriction_lifted",
          "review_scheduled",
          "review_completed"
        ],
        "type": "string"
      },
      "StoreTrustOnboardingStepsDto": {
        "required": [
          "downloadable_files_added",
          "gameserver_linked",
          "kyc_completed",
          "payout_onboarding_completed",
          "products_created",
          "store_id",
          "store_owner_id",
          "webhooks_active"
        ],
        "type": "object",
        "properties": {
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_owner_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "payout_onboarding_completed": {
            "type": "boolean"
          },
          "kyc_completed": {
            "type": "boolean"
          },
          "products_created": {
            "type": "boolean"
          },
          "gameserver_linked": {
            "type": "boolean"
          },
          "webhooks_active": {
            "type": "boolean"
          },
          "downloadable_files_added": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "StoreTrustStatusDto": {
        "enum": [
          "invalid",
          "pending_review",
          "requires_action",
          "under_review",
          "active",
          "restricted",
          "offboarded"
        ],
        "type": "string"
      },
      "StoreUpsellCheckoutStyleDto": {
        "enum": [
          "unknown",
          "inline",
          "inline_and_prepayment_dialog",
          "dedicated_step"
        ],
        "type": "string"
      },
      "StoreUpsellRecommendationDto": {
        "required": [
          "discount_amount",
          "discount_type",
          "prefer_as_subscription",
          "recommended_product_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "recommended_product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "type": {
            "$ref": "#/components/schemas/UpsellTypeDto"
          },
          "discount_type": {
            "$ref": "#/components/schemas/UpsellDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "minimum_base_product_quantity": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "quantity_to_add": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "prefer_as_subscription": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "StoreUpsellSettingsDto": {
        "required": [
          "automatic_recommendations_discount_amount",
          "automatic_recommendations_discount_type",
          "automatic_recommendations_enabled",
          "checkout_style",
          "enabled",
          "recommendation_overrides",
          "recommendation_overrides_enabled",
          "updated_at",
          "updated_by"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "automatic_recommendations_enabled": {
            "type": "boolean"
          },
          "automatic_recommendations_discount_type": {
            "$ref": "#/components/schemas/UpsellDiscountTypeDto"
          },
          "automatic_recommendations_discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "recommendation_overrides_enabled": {
            "type": "boolean"
          },
          "recommendation_overrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreUpsellRecommendationDto"
            }
          },
          "checkout_style": {
            "$ref": "#/components/schemas/StoreUpsellCheckoutStyleDto"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "StorefrontStoreDto": {
        "required": [
          "creator_currency",
          "currency",
          "game",
          "id",
          "live_mode",
          "name",
          "platform",
          "slug"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "slug": {
            "type": "string",
            "description": "The URL-friendly identifier for the store, used in store URLs.",
            "example": "m0ukas-awesome-store"
          },
          "name": {
            "type": "string",
            "description": "The display name of the store shown to customers.",
            "example": "m0uka's awesome store"
          },
          "platform": {
            "type": "string",
            "description": "The platform or the game of the store.",
            "example": "rust"
          },
          "game": {
            "type": "string",
            "description": "The game of the store. Equivalent to the `platform` for backwards compatibility.",
            "readOnly": true
          },
          "currency": {
            "type": "string",
            "description": "The three-letter ISO currency code used for pricing in this store.\nIf using the Adaptive Currency feature, this will be updated to reflect customer's local currency\n(based on passed in IP / country headers).",
            "example": "eur"
          },
          "creator_currency": {
            "type": "string",
            "description": "The three-letter ISO currency code signifying the main currency of the store.",
            "example": "usd"
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "A detailed description of the store. Only present for some platform types."
          },
          "website_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL of the store's main website, if not using Hosted Webstores."
          },
          "support_email": {
            "type": [
              "null",
              "string"
            ],
            "description": "The email address customers can use to contact store support.",
            "example": "support@example.com"
          },
          "support_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL of the store's support page."
          },
          "integration_type": {
            "type": [
              "null",
              "string"
            ],
            "description": "The type of integration this store uses with external systems."
          },
          "live_mode": {
            "type": "boolean",
            "description": "Indicates whether the store is in live mode (true) or test mode (false)."
          },
          "logo_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL to the store's main logo image."
          },
          "logo_square_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL to the store's square logo image."
          },
          "created_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the store was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the store was last updated.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a store entity within the storefront system."
      },
      "SubscriptionBillingAmountDto": {
        "required": [
          "currency",
          "discount",
          "subtotal",
          "tax",
          "total"
        ],
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code, in lowercase."
          },
          "subtotal": {
            "type": "integer",
            "description": "Base amount before discounts or tax, in smallest currency units.",
            "format": "int64"
          },
          "discount": {
            "type": "integer",
            "description": "Total discount applied, in smallest currency units.",
            "format": "int64"
          },
          "tax": {
            "type": "integer",
            "description": "Tax amount, in smallest currency units.",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "description": "Amount due after discounts and tax, in smallest currency units.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Represents a billing amount breakdown for a subscription."
      },
      "SubscriptionCancelFlowDto": {
        "required": [
          "subscription_id"
        ],
        "type": "object",
        "properties": {
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false,
        "description": "Portal flow for cancelling a specific subscription"
      },
      "SubscriptionChangeAmountDto": {
        "required": [
          "currency",
          "discount",
          "subtotal",
          "tax",
          "total"
        ],
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code, in lowercase."
          },
          "subtotal": {
            "type": "integer",
            "description": "Base amount before discounts or tax, in smallest currency units.",
            "format": "int64"
          },
          "discount": {
            "type": "integer",
            "description": "Total discount applied, in smallest currency units.",
            "format": "int64"
          },
          "tax": {
            "type": "integer",
            "description": "Tax amount, in smallest currency units.",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "description": "Amount due after discounts and tax, in smallest currency units.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Pricing breakdown for a subscription change, in the smallest units of the given currency (e.g. cents)."
      },
      "SubscriptionChangeDto": {
        "required": [
          "created_at",
          "id",
          "lines",
          "next_billing_amount",
          "next_billing_presentment_amount",
          "off_session",
          "prorated_amount",
          "proration_behavior",
          "status",
          "subscription_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "prorated_order_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "status": {
            "$ref": "#/components/schemas/SubscriptionChangeStatusDto"
          },
          "proration_behavior": {
            "$ref": "#/components/schemas/ProrationBehaviorDto"
          },
          "off_session": {
            "type": "boolean",
            "description": "Whether this change was initiated without active customer interaction."
          },
          "prorated_amount": {
            "$ref": "#/components/schemas/SubscriptionChangeProratedAmountDto"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "applied_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionChangeLineDto"
            }
          },
          "next_billing_amount": {
            "$ref": "#/components/schemas/SubscriptionChangeAmountDto"
          },
          "next_billing_presentment_amount": {
            "$ref": "#/components/schemas/SubscriptionChangeAmountDto"
          }
        },
        "additionalProperties": false,
        "description": "A pending or applied change to a subscription."
      },
      "SubscriptionChangeLineAmountDto": {
        "required": [
          "currency",
          "discount",
          "subtotal",
          "tax",
          "total"
        ],
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code in lowercase."
          },
          "subtotal": {
            "type": "integer",
            "description": "Base amount before discounts or tax, in smallest currency units.",
            "format": "int64"
          },
          "discount": {
            "type": "integer",
            "description": "Total discount applied, in smallest currency units.",
            "format": "int64"
          },
          "tax": {
            "type": "integer",
            "description": "Tax amount, in smallest currency units.",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "description": "Amount due after discounts and tax, in smallest currency units.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Pricing breakdown for a single subscription change line, in the smallest units of the given currency (e.g. cents)."
      },
      "SubscriptionChangeLineDto": {
        "required": [
          "amount",
          "id",
          "is_deleted",
          "presentment_amount",
          "price",
          "product",
          "prorated_amount",
          "prorated_presentment_amount",
          "remaining_minutes",
          "tax_inclusive",
          "total_minutes"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "is_deleted": {
            "type": "boolean",
            "description": "Whether this line is being removed by the change."
          },
          "tax_inclusive": {
            "type": "boolean",
            "description": "Whether tax is included in the base price."
          },
          "price": {
            "type": "integer",
            "description": "Base price in smallest settlement currency units.",
            "format": "int64"
          },
          "product": {
            "$ref": "#/components/schemas/SubscriptionChangeLineProductDto"
          },
          "amount": {
            "$ref": "#/components/schemas/SubscriptionChangeLineAmountDto"
          },
          "presentment_amount": {
            "$ref": "#/components/schemas/SubscriptionChangeLineAmountDto"
          },
          "prorated_amount": {
            "type": "integer",
            "description": "Prorated charge for this line in smallest settlement currency units.",
            "format": "int64"
          },
          "prorated_presentment_amount": {
            "type": "integer",
            "description": "Prorated charge for this line in smallest presentment currency units.",
            "format": "int64"
          },
          "remaining_minutes": {
            "type": "integer",
            "description": "Minutes remaining in the billing period at the time of change - used to calculate proration.",
            "format": "int64"
          },
          "total_minutes": {
            "type": "integer",
            "description": "Total minutes in the billing period - used to calculate proration.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "A single line item within a subscription change."
      },
      "SubscriptionChangeLineProductDto": {
        "required": [
          "custom_variables",
          "id",
          "name",
          "version_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "Display name of the product."
          },
          "image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL of the product image, if set."
          },
          "selected_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "pricing_region_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The pricing region used to determine the price, if applicable."
          },
          "custom_variables": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/CustomVariableLineItemDto"
            },
            "description": "Custom variables set on this line item, keyed by variable identifier."
          }
        },
        "additionalProperties": false,
        "description": "The product associated with a subscription change line."
      },
      "SubscriptionChangeProratedAmountDto": {
        "required": [
          "currency",
          "presentment_currency",
          "presentment_prorated_amount",
          "prorated_amount"
        ],
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO 4217 settlement currency code, in lowercase."
          },
          "prorated_amount": {
            "type": "integer",
            "description": "Total prorated charge in smallest settlement currency units, including tax.",
            "format": "int64"
          },
          "presentment_currency": {
            "type": "string",
            "description": "ISO 4217 presentment currency code, in lowercase."
          },
          "presentment_prorated_amount": {
            "type": "integer",
            "description": "Total prorated charge in smallest presentment currency units, including tax.",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "The total prorated charge for a subscription change, expressed in both settlement and presentment currencies."
      },
      "SubscriptionChangeStatusDto": {
        "enum": [
          "invalid",
          "pending_payment",
          "pending_renewal",
          "applied",
          "canceled",
          "pending_verification"
        ],
        "type": "string",
        "description": "Represents the status of a subscription change.",
        "x-enumDescriptions": {
          "pending_payment": "The change is pending payment before it can be applied.",
          "pending_renewal": "The change will be applied at the next renewal.",
          "applied": "The change has been applied to the subscription.",
          "canceled": "The change was canceled and will not be applied.",
          "pending_verification": "The change requires a verification code sent to the customer's e-mail."
        }
      },
      "SubscriptionDto": {
        "required": [
          "cancel_at_period_end",
          "coupon_ids",
          "created_at",
          "currency",
          "customer",
          "discount_amount",
          "discount_amount_str",
          "gift",
          "id",
          "initial_discount_amount",
          "initial_discount_amount_str",
          "initial_giftcard_usage_amount",
          "initial_giftcard_usage_amount_str",
          "initial_subtotal_amount",
          "initial_subtotal_amount_str",
          "initial_tax_amount",
          "initial_tax_amount_str",
          "initial_total_amount",
          "initial_total_amount_str",
          "interval_scale",
          "interval_value",
          "lines",
          "next_billing_amount",
          "next_billing_presentment_amount",
          "past_due",
          "pretty_id",
          "price",
          "status",
          "store_id",
          "subtotal_amount",
          "subtotal_amount_str",
          "tax_amount",
          "tax_amount_str",
          "tax_inclusive",
          "tax_jurisdictions",
          "total_amount",
          "total_amount_str"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "pretty_id": {
            "type": "string",
            "description": "Human-readable identifier for the subscription."
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "payment_method_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "payment_method": {
            "$ref": "#/components/schemas/PaymentMethodDto"
          },
          "pending_change": {
            "$ref": "#/components/schemas/SubscriptionChangeDto"
          },
          "next_billing_amount": {
            "$ref": "#/components/schemas/SubscriptionBillingAmountDto"
          },
          "next_billing_presentment_amount": {
            "$ref": "#/components/schemas/SubscriptionBillingAmountDto"
          },
          "status": {
            "$ref": "#/components/schemas/SubscriptionStatusDto"
          },
          "coupon_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "coupon_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "Identifiers of coupons applied to this subscription."
          },
          "coupon_repeating_ends_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date when a repeating coupon ends for this subscription.",
            "format": "date-time",
            "deprecated": true
          },
          "affiliate_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "billing_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name used for billing purposes."
          },
          "billing_email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email used for billing purposes."
          },
          "billing_country": {
            "type": [
              "null",
              "string"
            ],
            "description": "Country code used for billing purposes."
          },
          "billing_tax_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The tax identification number used for this order (for B2B transactions)"
          },
          "tax_jurisdictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesTaxJurisdictionDto"
            },
            "description": "List of tax jurisdictions applicable to this subscription."
          },
          "customer_ip": {
            "type": [
              "null",
              "string"
            ],
            "description": "IP address of the customer at the time of subscription."
          },
          "gift": {
            "type": "boolean",
            "description": "Indicates whether this subscription is a gift.",
            "readOnly": true,
            "deprecated": true
          },
          "gift_to_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "gift_to_customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the product associated with this subscription.",
            "readOnly": true,
            "deprecated": true
          },
          "product_image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL for the product image.",
            "readOnly": true,
            "deprecated": true
          },
          "interval_value": {
            "type": "integer",
            "description": "Numeric value of the billing interval.",
            "format": "int32"
          },
          "interval_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "currency": {
            "type": "string",
            "description": "Currency code used for billing this subscription."
          },
          "tax_inclusive": {
            "type": "boolean",
            "description": "Indicates whether tax is included in the base price itself.",
            "readOnly": true,
            "deprecated": true
          },
          "price": {
            "type": "integer",
            "description": "Base price of the subscription in smallest currency units (e.g., cents).",
            "format": "int64",
            "readOnly": true,
            "deprecated": true
          },
          "price_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the price.",
            "readOnly": true,
            "deprecated": true
          },
          "discount_amount": {
            "type": "integer",
            "description": "Amount of discount applied in smallest currency units.",
            "format": "int64"
          },
          "discount_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the discount amount.",
            "readOnly": true
          },
          "subtotal_amount": {
            "type": "integer",
            "description": "Subtotal amount in smallest currency units.",
            "format": "int64"
          },
          "subtotal_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the subtotal amount.",
            "readOnly": true
          },
          "tax_amount": {
            "type": "integer",
            "description": "Tax amount in smallest currency units.",
            "format": "int64"
          },
          "tax_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the tax amount.",
            "readOnly": true
          },
          "total_amount": {
            "type": "integer",
            "description": "Total amount in smallest currency units.",
            "format": "int64"
          },
          "total_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the total amount.",
            "readOnly": true
          },
          "initial_discount_amount": {
            "type": "integer",
            "description": "Initial discount amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_discount_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial discount amount.",
            "readOnly": true
          },
          "initial_subtotal_amount": {
            "type": "integer",
            "description": "Initial subtotal amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_subtotal_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial subtotal amount.",
            "readOnly": true
          },
          "initial_giftcard_usage_amount": {
            "type": "integer",
            "description": "Initial gift card usage amount in smallest currency units.",
            "format": "int64"
          },
          "initial_giftcard_usage_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial gift card usage amount.",
            "readOnly": true
          },
          "initial_tax_amount": {
            "type": "integer",
            "description": "Initial tax amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_tax_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial tax amount.",
            "readOnly": true
          },
          "initial_total_amount": {
            "type": "integer",
            "description": "Initial total amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_total_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial total amount.",
            "readOnly": true
          },
          "presentment_currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "Presentment currency code (currency shown to customer)."
          },
          "presentment_subtotal_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment subtotal amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_subtotal_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment subtotal amount.",
            "readOnly": true
          },
          "presentment_discount_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment discount amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_discount_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment discount amount.",
            "readOnly": true
          },
          "presentment_tax_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment tax amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_tax_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment tax amount.",
            "readOnly": true
          },
          "presentment_total_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment total amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_total_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment total amount.",
            "readOnly": true
          },
          "initial_presentment_discount_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment discount amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_discount_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment discount amount.",
            "readOnly": true
          },
          "initial_presentment_subtotal_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment subtotal amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_subtotal_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment subtotal amount.",
            "readOnly": true
          },
          "initial_presentment_giftcard_usage_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment gift card usage amount in smallest currency units.",
            "format": "int64"
          },
          "initial_presentment_giftcard_usage_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment gift card usage amount.",
            "readOnly": true
          },
          "initial_presentment_tax_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment tax amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_tax_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment tax amount.",
            "readOnly": true
          },
          "initial_presentment_total_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment total amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_total_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment total amount.",
            "readOnly": true
          },
          "fx_rate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The foreign exchange rate applied (if presentment currency differs from settlement currency)."
          },
          "pricing_region_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "Identifier for the pricing region associated with this subscription.",
            "readOnly": true,
            "deprecated": true
          },
          "current_period_start": {
            "type": [
              "null",
              "string"
            ],
            "description": "Start date of the current billing period.",
            "format": "date-time"
          },
          "current_period_end": {
            "type": [
              "null",
              "string"
            ],
            "description": "End date of the current billing period.",
            "format": "date-time"
          },
          "billing_cycle_sequence": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Sequence number of the current billing cycle.",
            "format": "int32"
          },
          "next_attempt_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date and time when the next payment attempt will occur.",
            "format": "date-time"
          },
          "attempt_count": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of payment attempts made for the current billing cycle.",
            "format": "int32"
          },
          "created_at": {
            "type": "string",
            "description": "Date and time when the subscription was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date and time when the subscription was last updated.",
            "format": "date-time"
          },
          "active_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date and time when the subscription became active.",
            "format": "date-time"
          },
          "canceled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date and time when the subscription was canceled.",
            "format": "date-time"
          },
          "cancel_reason": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reason provided for cancellation."
          },
          "cancellation_requested_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date and time when a subscription cancellation (cancel_at_period_end) was requested.",
            "format": "date-time"
          },
          "cancel_at_period_end": {
            "type": "boolean",
            "description": "Whether the subscription will be canceled at the end of the billing period.",
            "readOnly": true
          },
          "past_due": {
            "type": "boolean",
            "description": "Whether the subscription is past due, and is in a dunning (retrying) state."
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionLineDto"
            },
            "description": "Line items associated with this subscription."
          }
        },
        "additionalProperties": false,
        "description": "Data transfer object representing a store subscription."
      },
      "SubscriptionLineDto": {
        "required": [
          "currency",
          "discount_amount",
          "discount_amount_str",
          "id",
          "initial_discount_amount",
          "initial_discount_amount_str",
          "initial_giftcard_usage_amount",
          "initial_giftcard_usage_amount_str",
          "initial_subtotal_amount",
          "initial_subtotal_amount_str",
          "initial_tax_amount",
          "initial_tax_amount_str",
          "initial_total_amount",
          "initial_total_amount_str",
          "price",
          "product_id",
          "product_name",
          "product_version_id",
          "store_id",
          "subscription_id",
          "subtotal_amount",
          "subtotal_amount_str",
          "tax_amount",
          "tax_amount_str",
          "tax_inclusive",
          "total_amount",
          "total_amount_str"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "initial_order_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "pricing_region_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "Identifier for the pricing region associated with this subscription line."
          },
          "gift_to_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "selected_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "sale_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "sale_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "trial_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_name": {
            "type": "string",
            "description": "Name of the product associated with this subscription line."
          },
          "product_image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "URL for the product image."
          },
          "tax_inclusive": {
            "type": "boolean",
            "description": "Indicates whether tax is included in the base price itself."
          },
          "currency": {
            "type": "string",
            "description": "Currency code for this subscription line."
          },
          "price": {
            "type": "integer",
            "description": "Base price of the subscription line in smallest currency units (e.g., cents).",
            "format": "int64"
          },
          "discount_amount": {
            "type": "integer",
            "description": "Amount of discount applied in smallest currency units.",
            "format": "int64"
          },
          "discount_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the discount amount.",
            "readOnly": true
          },
          "subtotal_amount": {
            "type": "integer",
            "description": "Subtotal amount in smallest currency units.",
            "format": "int64"
          },
          "subtotal_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the subtotal amount.",
            "readOnly": true
          },
          "tax_amount": {
            "type": "integer",
            "description": "Tax amount in smallest currency units.",
            "format": "int64"
          },
          "tax_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the tax amount.",
            "readOnly": true
          },
          "total_amount": {
            "type": "integer",
            "description": "Total amount in smallest currency units.",
            "format": "int64"
          },
          "total_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the total amount.",
            "readOnly": true
          },
          "initial_discount_amount": {
            "type": "integer",
            "description": "Initial discount amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_discount_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial discount amount.",
            "readOnly": true
          },
          "initial_subtotal_amount": {
            "type": "integer",
            "description": "Initial subtotal amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_subtotal_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial subtotal amount.",
            "readOnly": true
          },
          "initial_giftcard_usage_amount": {
            "type": "integer",
            "description": "Initial gift card usage amount in smallest currency units.",
            "format": "int64"
          },
          "initial_giftcard_usage_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial gift card usage amount.",
            "readOnly": true
          },
          "initial_tax_amount": {
            "type": "integer",
            "description": "Initial tax amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_tax_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial tax amount.",
            "readOnly": true
          },
          "initial_total_amount": {
            "type": "integer",
            "description": "Initial total amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_total_amount_str": {
            "type": "string",
            "description": "Formatted string representation of the initial total amount.",
            "readOnly": true
          },
          "presentment_currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "Presentment currency code (currency shown to customer)."
          },
          "presentment_subtotal_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment subtotal amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_subtotal_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment subtotal amount.",
            "readOnly": true
          },
          "presentment_discount_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment discount amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_discount_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment discount amount.",
            "readOnly": true
          },
          "presentment_tax_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment tax amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_tax_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment tax amount.",
            "readOnly": true
          },
          "presentment_total_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Presentment total amount in smallest currency units.",
            "format": "int64"
          },
          "presentment_total_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the presentment total amount.",
            "readOnly": true
          },
          "initial_presentment_discount_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment discount amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_discount_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment discount amount.",
            "readOnly": true
          },
          "initial_presentment_subtotal_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment subtotal amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_subtotal_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment subtotal amount.",
            "readOnly": true
          },
          "initial_presentment_giftcard_usage_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment gift card usage amount in smallest currency units.",
            "format": "int64"
          },
          "initial_presentment_giftcard_usage_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment gift card usage amount.",
            "readOnly": true
          },
          "initial_presentment_tax_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment tax amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_tax_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment tax amount.",
            "readOnly": true
          },
          "initial_presentment_total_amount": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Initial presentment total amount in smallest currency units for the first billing cycle.",
            "format": "int64"
          },
          "initial_presentment_total_amount_str": {
            "type": [
              "null",
              "string"
            ],
            "description": "Formatted string representation of the initial presentment total amount.",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item within a subscription."
      },
      "SubscriptionPaymentMethodUpdateFlowDto": {
        "required": [
          "subscription_id"
        ],
        "type": "object",
        "properties": {
          "subscription_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false,
        "description": "Portal flow for updating the payment method of a specific subscription"
      },
      "SubscriptionResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "subscription": {
            "$ref": "#/components/schemas/SubscriptionDto"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionStatusDto": {
        "enum": [
          "invalid",
          "created",
          "active",
          "canceled"
        ],
        "type": "string",
        "description": "Represents the current state of a subscription.",
        "x-enumDescriptions": {
          "created": "The subscription has been created but is not yet active.",
          "active": "The subscription is currently active and will renew.",
          "canceled": "The subscription has been canceled and will no longer renew."
        }
      },
      "SubscriptionsSummaryDto_V2": {
        "required": [
          "active_subscription_count",
          "revenue_basis"
        ],
        "type": "object",
        "properties": {
          "revenue_basis": {
            "$ref": "#/components/schemas/RevenueBasisDto_V2"
          },
          "monthly_recurring_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "average_subscription_value": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "active_subscription_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SubscriptionsSummaryForRangeDto_V2": {
        "required": [
          "churned_subscription_count",
          "new_subscription_count",
          "revenue_basis"
        ],
        "type": "object",
        "properties": {
          "revenue_basis": {
            "$ref": "#/components/schemas/RevenueBasisDto_V2"
          },
          "new_subscription_count": {
            "type": "integer",
            "format": "int64"
          },
          "churned_revenue": {
            "$ref": "#/components/schemas/MoneyDto_V2"
          },
          "churned_subscription_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "TagDto": {
        "required": [
          "created_at",
          "created_by",
          "enabled",
          "id",
          "name",
          "slug",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "created_at": {
            "type": "string",
            "description": "When the tag was created",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "name": {
            "type": "string",
            "description": "The unique name for the tag."
          },
          "slug": {
            "type": "string",
            "description": "The unique slug for the tag."
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "The description of the tag."
          },
          "image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Image URL associated with the tag."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether this tag is enabled."
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the tag was last updated.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "TagsResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "tag": {
            "$ref": "#/components/schemas/TagDto"
          }
        },
        "additionalProperties": false
      },
      "TierGroupDto": {
        "required": [
          "created_at",
          "created_by",
          "id",
          "name",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "name": {
            "type": "string",
            "description": "The name of the tier group."
          },
          "created_at": {
            "type": "string",
            "description": "When the tier group was created.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When was the tier group last updated.",
            "format": "date-time"
          },
          "updated_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesChartDto": {
        "required": [
          "chart",
          "primary_value",
          "primary_value_comparison",
          "series",
          "unit"
        ],
        "type": "object",
        "properties": {
          "chart": {
            "type": "string"
          },
          "currency": {
            "type": [
              "null",
              "string"
            ]
          },
          "primary_value": {
            "type": "number",
            "format": "double"
          },
          "primary_value_comparison": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "$ref": "#/components/schemas/TimeSeriesUnitDto"
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesChartSeriesDto"
            }
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesChartDto_V2": {
        "required": [
          "metric_type",
          "primary_value",
          "primary_value_comparison",
          "series",
          "unit"
        ],
        "type": "object",
        "properties": {
          "metric_type": {
            "$ref": "#/components/schemas/TimeSeriesChartMetricTypeDto_V2"
          },
          "dimension_type": {
            "$ref": "#/components/schemas/StatsDimensionTypeDto_V2"
          },
          "dimension_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "revenue_basis": {
            "$ref": "#/components/schemas/RevenueBasisDto_V2"
          },
          "currency": {
            "type": [
              "null",
              "string"
            ]
          },
          "primary_value": {
            "type": "number",
            "format": "double"
          },
          "primary_value_comparison": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "$ref": "#/components/schemas/TimeSeriesUnitDto_V2"
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesChartSeriesDto_V2"
            }
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesChartMetricTypeDto_V2": {
        "enum": [
          "unspecified",
          "payment_volume",
          "payment_count",
          "order_volume",
          "order_count",
          "new_customer_count",
          "subscription_count",
          "trial_count",
          "abandoned_checkout_count",
          "purchase_followup_count",
          "upsell_count",
          "player_count",
          "mrr",
          "tax_volume",
          "gateway_fee_volume",
          "platform_fee_volume",
          "refund_volume"
        ],
        "type": "string"
      },
      "TimeSeriesChartSeriesDto": {
        "required": [
          "data",
          "label"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesChartSeriesEntryDto"
            }
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesChartSeriesDto_V2": {
        "required": [
          "entries",
          "label"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeSeriesChartSeriesEntryDto_V2"
            }
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesChartSeriesEntryDto": {
        "required": [
          "interval_end",
          "interval_start",
          "value"
        ],
        "type": "object",
        "properties": {
          "interval_start": {
            "type": "string",
            "format": "date-time"
          },
          "interval_end": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesChartSeriesEntryDto_V2": {
        "required": [
          "interval_end",
          "interval_start",
          "value"
        ],
        "type": "object",
        "properties": {
          "interval_start": {
            "type": "string",
            "format": "date-time"
          },
          "interval_end": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TimeSeriesUnitDto": {
        "enum": [
          "hour",
          "day",
          "week",
          "month",
          "quarter",
          "year"
        ],
        "type": "string"
      },
      "TimeSeriesUnitDto_V2": {
        "enum": [
          "hour",
          "day",
          "week",
          "month",
          "quarter",
          "year"
        ],
        "type": "string"
      },
      "ToggleStorePaymentMethodTypeRequestDto": {
        "required": [
          "enabled"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TrialDto": {
        "required": [
          "created_at",
          "customer",
          "customer_id",
          "id",
          "period_scale",
          "period_value",
          "pretty_id",
          "product_id",
          "product_name",
          "product_version_id",
          "status",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "pretty_id": {
            "type": "string",
            "description": "The human-readable formatted version of the trial identifier.",
            "readOnly": true
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "checkout_line_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer": {
            "$ref": "#/components/schemas/CustomerDto"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_name": {
            "type": "string",
            "description": "The name of the product being trialed."
          },
          "product_image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL of the product image, if available."
          },
          "period_value": {
            "type": "integer",
            "description": "The duration value of the trial period.",
            "format": "int32"
          },
          "period_scale": {
            "type": "string",
            "description": "The timescale unit for the trial period (e.g., \"days\", \"weeks\", \"months\")."
          },
          "starts_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the trial period starts, if applicable.",
            "format": "date-time"
          },
          "ends_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the trial period ends, if applicable.",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/TrialStatusDto"
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the trial was created.",
            "format": "date-time"
          },
          "canceled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the trial was canceled, if applicable.",
            "format": "date-time"
          },
          "canceled_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "TrialEligibilityOverrideDto": {
        "required": [
          "created_at",
          "created_by",
          "customer_id",
          "expires_at",
          "id",
          "pretty_id",
          "product_id",
          "product_name",
          "store_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "pretty_id": {
            "type": "string",
            "description": "The human-readable formatted version of the override identifier.",
            "readOnly": true
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_name": {
            "type": "string",
            "description": "The name of the product associated with this override."
          },
          "product_image_url": {
            "type": [
              "null",
              "string"
            ],
            "description": "The URL of the product image, if available."
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when this override was created.",
            "format": "date-time"
          },
          "created_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "expires_at": {
            "type": "string",
            "description": "The date and time when this override expires and is no longer valid.",
            "format": "date-time"
          },
          "used_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this override was used to start a trial, if applicable.",
            "format": "date-time"
          },
          "used_on_trial_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "note": {
            "type": [
              "null",
              "string"
            ],
            "description": "An optional note or comment about this override."
          },
          "deleted_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when this override was deleted, if applicable.",
            "format": "date-time"
          },
          "deleted_by": {
            "$ref": "#/components/schemas/ActorDto"
          }
        },
        "additionalProperties": false
      },
      "TrialResult": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "trial": {
            "$ref": "#/components/schemas/TrialDto"
          }
        },
        "additionalProperties": false
      },
      "TrialStatusDto": {
        "enum": [
          "created",
          "active",
          "canceled",
          "completed"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "created": "The trial has been created but is not yet active.",
          "active": "The trial is currently active.",
          "canceled": "The trial has been canceled.",
          "completed": "The trial has been completed."
        }
      },
      "TrialsSummaryDto_V2": {
        "required": [
          "active_trial_count"
        ],
        "type": "object",
        "properties": {
          "active_trial_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "TrialsSummaryForRangeDto_V2": {
        "required": [
          "canceled_trial_count",
          "converted_trial_count",
          "started_trial_count"
        ],
        "type": "object",
        "properties": {
          "started_trial_count": {
            "type": "integer",
            "format": "int64"
          },
          "canceled_trial_count": {
            "type": "integer",
            "format": "int64"
          },
          "converted_trial_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "TrustStoreRequirementDto": {
        "required": [
          "category",
          "code",
          "created_at",
          "id",
          "metadata",
          "name",
          "requested_by",
          "restricts_capabilities",
          "status",
          "store_id",
          "submissions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "template_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template ID if this requirement was created from a template. Null for ad-hoc requirements."
          },
          "originating_flag_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "category": {
            "$ref": "#/components/schemas/StoreRequirementCategory"
          },
          "code": {
            "type": "string",
            "description": "Unique code identifying the type of requirement. Copied from template or custom for ad-hoc requirements."
          },
          "name": {
            "type": "string",
            "description": "Human-readable name of the requirement. Copied from template or custom for ad-hoc requirements."
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Detailed description explaining what the store needs to provide. Copied from template or custom for ad-hoc requirements."
          },
          "schema": {
            "type": "null",
            "description": "JSON schema defining the form fields, validation rules, and document requirements"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional metadata for this requirement (stored as JSON)"
          },
          "status": {
            "$ref": "#/components/schemas/StoreRequirementStatus"
          },
          "requested_by": {
            "$ref": "#/components/schemas/StoreRequirementActionParty"
          },
          "requested_by_detail": {
            "type": [
              "null",
              "string"
            ],
            "description": "Specifies the specific requester entity (e.g., \"stripe\", \"trolley\", or admin user ID)\nFree-form string for internal records"
          },
          "created_at": {
            "type": "string",
            "description": "When this requirement was created",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this requirement was last updated",
            "format": "date-time"
          },
          "deadline_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this requirement must be completed by (optional)",
            "format": "date-time"
          },
          "submitted_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the store submitted their response to this requirement",
            "format": "date-time"
          },
          "verified_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this requirement was verified and approved",
            "format": "date-time"
          },
          "rejected_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "When this requirement was rejected for not meeting standards",
            "format": "date-time"
          },
          "restricts_capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Store capabilities that are restricted until this requirement is satisfied"
          },
          "submissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrustStoreRequirementSubmissionDto"
            },
            "description": "Associated submissions for this requriement."
          }
        },
        "additionalProperties": false
      },
      "TrustStoreRequirementSubmissionDto": {
        "required": [
          "id",
          "store_id",
          "store_requirement_field_id",
          "store_requirement_id",
          "submitted_at",
          "submitted_by"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_requirement_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "store_requirement_field_id": {
            "type": "string",
            "description": "The identifier of the specific field within the store requirement."
          },
          "text_value": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text value submitted for this field, if applicable."
          },
          "file_id": {
            "type": [
              "null",
              "string"
            ],
            "description": "The identifier of the uploaded file, if a file was submitted."
          },
          "file_name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The original name of the uploaded file."
          },
          "file_content_type": {
            "type": [
              "null",
              "string"
            ],
            "description": "The MIME content type of the uploaded file."
          },
          "file_size_bytes": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The size of the uploaded file in bytes.",
            "format": "int64"
          },
          "submitted_at": {
            "type": "string",
            "description": "The timestamp when this submission was made.",
            "format": "date-time"
          },
          "submitted_by": {
            "$ref": "#/components/schemas/ActorDto"
          },
          "submitted_by_ip_address": {
            "type": [
              "null",
              "string"
            ],
            "description": "The IP address from which the submission was made."
          },
          "submitted_by_user_agent": {
            "type": [
              "null",
              "string"
            ],
            "description": "The user agent string of the client that made the submission."
          }
        },
        "additionalProperties": false
      },
      "UnqueueCommandsRequestDto": {
        "required": [
          "attempt_ids"
        ],
        "type": "object",
        "properties": {
          "attempt_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          }
        },
        "additionalProperties": false
      },
      "UnqueueCommandsResponseDto": {
        "required": [
          "unqueued_count"
        ],
        "type": "object",
        "properties": {
          "unqueued_count": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "UpdateAffiliateLinkDto": {
        "type": "object",
        "properties": {
          "wallet_id": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "referer_type": {
            "$ref": "#/components/schemas/AffiliateLinkRefererTypeDto"
          },
          "tracking_length_days": {
            "type": "integer",
            "format": "int32"
          },
          "apply_for_subscriptions": {
            "type": "boolean"
          },
          "discount_type": {
            "$ref": "#/components/schemas/AffiliateLinkDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "commission_type": {
            "$ref": "#/components/schemas/AffiliateLinkCommissionTypeDto"
          },
          "commission_amount": {
            "type": "integer",
            "format": "int64"
          },
          "commission_amount_steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AffiliateLinkCommissionAmountStepDto"
            }
          },
          "last_commission_amount_step_repeats": {
            "type": "boolean"
          }
        }
      },
      "UpdateCouponDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "duration": {
            "$ref": "#/components/schemas/CouponDurationDto"
          },
          "duration_in_months": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "duration_in_intervals": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "discount_type": {
            "$ref": "#/components/schemas/CouponDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "discount_apply_individually": {
            "type": "boolean"
          },
          "discount_apply_before_sales": {
            "type": "boolean"
          },
          "apply_to_products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "apply_to_tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "usable_by_customer_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "minimum_order_value": {
            "type": "integer",
            "format": "int64"
          },
          "redeem_limit_store_enabled": {
            "type": "boolean"
          },
          "redeem_limit_store_amount": {
            "type": "integer",
            "format": "int64"
          },
          "redeem_limit_customer_enabled": {
            "type": "boolean"
          },
          "redeem_limit_customer_amount": {
            "type": "integer",
            "format": "int64"
          },
          "usable_on_one_time_purchase": {
            "type": "boolean"
          },
          "usable_on_subscription": {
            "type": "boolean"
          },
          "usable_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "UpdateEmailBrandingDto": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string"
          },
          "header_image_light_url": {
            "type": "string"
          },
          "header_image_dark_url": {
            "type": "string"
          }
        }
      },
      "UpdateEmailTemplateDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "content": {
            "type": "string"
          }
        }
      },
      "UpdateGameServerConsoleDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "password": {
            "type": "string"
          },
          "secure": {
            "type": "boolean"
          }
        }
      },
      "UpdateGameServerDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "UpdateGiftCardDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "balance": {
            "type": "integer",
            "format": "int64"
          },
          "usable_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "UpdateNavLinkDto": {
        "type": "object",
        "properties": {
          "tag_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "parent_node_id": {
            "type": "string"
          },
          "order": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        }
      },
      "UpdateNavLinkOrderChangeDto": {
        "required": [
          "node_id",
          "order"
        ],
        "type": "object",
        "properties": {
          "node_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateProductSortOrderRequestDto": {
        "required": [
          "product_ids"
        ],
        "type": "object",
        "properties": {
          "product_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "An array of product IDs in the order that they should be sorted."
          }
        },
        "additionalProperties": false
      },
      "UpdateSaleDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "discount_type": {
            "$ref": "#/components/schemas/SaleDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int32"
          },
          "duration": {
            "$ref": "#/components/schemas/SaleDurationDto"
          },
          "duration_in_intervals": {
            "type": "integer",
            "format": "int32"
          },
          "apply_to_product_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "apply_to_tag_ids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            }
          },
          "minimum_order_value": {
            "type": "integer",
            "format": "int32"
          },
          "begins_at": {
            "type": "string",
            "format": "date-time"
          },
          "ends_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "UpdateStoreDto": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "game": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "website_url": {
            "type": "string"
          },
          "contact_email": {
            "type": "string"
          },
          "support_email": {
            "type": "string"
          },
          "support_url": {
            "type": "string"
          },
          "integration_type": {
            "type": "string"
          },
          "live_mode": {
            "type": "boolean"
          },
          "minecraft_bedrock_username_prefix": {
            "type": "string"
          }
        }
      },
      "UpdateStoreMemberDto": {
        "required": [
          "role_id"
        ],
        "type": "object",
        "properties": {
          "role_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "UpdateStorePaymentSettingsDto": {
        "type": "object",
        "properties": {
          "show_all_payment_methods_for_subscriptions": {
            "type": "boolean"
          },
          "store_tax_inclusive_pricing": {
            "type": "boolean"
          },
          "block_prepaid_cards": {
            "$ref": "#/components/schemas/PrepaidCardsBlockingTypeDto"
          },
          "promo_code_stacking_behavior": {
            "$ref": "#/components/schemas/StorePromoCodeStackingBehaviorDto"
          },
          "adaptive_currency_enabled": {
            "type": "boolean"
          },
          "show_adaptive_currency_on_storefront": {
            "type": "boolean"
          }
        }
      },
      "UpdateStoreUpsellSettingsDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "automatic_recommendations_enabled": {
            "type": "boolean"
          },
          "automatic_recommendations_discount_type": {
            "$ref": "#/components/schemas/UpsellDiscountTypeDto"
          },
          "automatic_recommendations_discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "recommendation_overrides_enabled": {
            "type": "boolean"
          },
          "recommendation_overrides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoreUpsellRecommendationDto"
            }
          },
          "checkout_style": {
            "$ref": "#/components/schemas/StoreUpsellCheckoutStyleDto"
          }
        }
      },
      "UpdateSubscriptionLineRequestDto": {
        "required": [
          "custom_variables"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "product_version_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "custom_variables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Custom variable values keyed by variable name."
          },
          "selected_gameserver_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "UpdateSubscriptionRequestDto": {
        "required": [
          "lines",
          "proration_behavior"
        ],
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateSubscriptionLineRequestDto"
            },
            "description": "The line items describing the desired state of the subscription after the change."
          },
          "proration_behavior": {
            "$ref": "#/components/schemas/ProrationBehaviorDto"
          }
        },
        "additionalProperties": false
      },
      "UpdateSubscriptionResponseDto": {
        "required": [
          "subscription_change"
        ],
        "type": "object",
        "properties": {
          "subscription_change": {
            "$ref": "#/components/schemas/SubscriptionChangeDto"
          },
          "pending_payment": {
            "$ref": "#/components/schemas/CheckoutPaymentInfoDto"
          }
        },
        "additionalProperties": false,
        "description": "Response returned after a subscription change is initiated."
      },
      "UpdateTierGroupRequestDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the tier group."
          }
        },
        "additionalProperties": false
      },
      "UpdateTrialEligibilityOverrideDto": {
        "type": "object",
        "properties": {
          "product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "note": {
            "type": "string"
          }
        }
      },
      "UpdateWebhookDto": {
        "required": [
          "reset_secret",
          "subscribed_to",
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "reset_secret": {
            "type": "boolean"
          },
          "subscribed_to": {
            "$ref": "#/components/schemas/WebhookEventType"
          },
          "discord_description_template": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_title": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_color": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_format": {
            "$ref": "#/components/schemas/WebhookDiscordFormatDto"
          }
        },
        "additionalProperties": false
      },
      "UpsellDiscountTypeDto": {
        "enum": [
          "unknown",
          "none",
          "fixed",
          "percentage"
        ],
        "type": "string"
      },
      "UpsellTypeDto": {
        "enum": [
          "unknown",
          "additional",
          "alternative",
          "increase_quantity"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "unknown": "Unknown upsell type.",
          "additional": "An additional product offered alongside the current item.",
          "alternative": "An alternative product offered in place of the current item.",
          "increase_quantity": "An offer to increase the quantity of the current item."
        }
      },
      "UpsertBanRequestDto": {
        "type": "object",
        "properties": {
          "reason": {
            "type": [
              "null",
              "string"
            ]
          },
          "identities": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/BanIdentityDto"
            }
          },
          "expires_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "UpsertCustomVariableRequestDto": {
        "required": [
          "identifier",
          "name",
          "options",
          "type"
        ],
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string",
            "description": "Unique identifier string for programmatic reference.\nMust contain only letters, numbers, underscores, and hyphens."
          },
          "name": {
            "type": "string",
            "description": "Display name shown to customers."
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description explaining the purpose of this custom variable."
          },
          "type": {
            "$ref": "#/components/schemas/CustomVariableType"
          },
          "value_regex": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional regex pattern for validating customer input.\nOnly applies to text and number types. Ignored for dropdown types."
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomVariableOptionRequestDto"
            },
            "description": "Predefined options for dropdown-type custom variables.\nRequired for dropdown types, ignored for text and number types.\nWhen updating, this completely replaces all existing options."
          }
        },
        "additionalProperties": false,
        "description": "Unified request model for creating or updating custom variables.\nContains all the configurable properties of a custom variable."
      },
      "UpsertCustomerRequestDto": {
        "type": "object",
        "properties": {
          "steam_id": {
            "$ref": "#/components/schemas/SteamId"
          },
          "minecraft_uuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Minecraft UUID for the customer."
          },
          "minecraft_platform": {
            "$ref": "#/components/schemas/CustomerMinecraftPlatform"
          },
          "xbox_xuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Xbox XUID (Xbox User ID) for the customer."
          },
          "name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The name of the customer."
          },
          "metadata": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional customer information stored as key-value pairs."
          }
        },
        "additionalProperties": false
      },
      "UpsertGlobalCommandDto": {
        "required": [
          "content",
          "execution_rule",
          "online_only",
          "stage"
        ],
        "type": "object",
        "properties": {
          "stage": {
            "$ref": "#/components/schemas/ProductCommandStage"
          },
          "content": {
            "type": "string",
            "description": "The command content to be executed."
          },
          "online_only": {
            "type": "boolean",
            "description": "Indicates whether the command should only be executed when the player is online."
          },
          "override_execute_on_gameserver_ids": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "List of specific game server IDs where this command should be executed."
          },
          "execution_rule": {
            "$ref": "#/components/schemas/ProductCommandExecutionRuleDto"
          }
        },
        "additionalProperties": false,
        "description": "Data transfer object used for creating new global commands or updating existing ones.\nSupports partial updates following PATCH semantics."
      },
      "UpsertProductRequestDto": {
        "type": "object",
        "properties": {
          "slug": {
            "type": [
              "null",
              "string"
            ],
            "description": "The unique URL-safe identifier (slug) for the product."
          },
          "name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The display name of the product."
          },
          "description": {
            "type": [
              "null",
              "string"
            ],
            "description": "The detailed description of the product."
          },
          "label": {
            "type": [
              "null",
              "string"
            ],
            "description": "The display label for the product."
          },
          "price": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The price of the product in the lowest denominator (e.g. cents).",
            "format": "int64"
          },
          "single_game_server_only": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the customer is prompted to select a game server before purchasing."
          },
          "allow_one_time_purchase": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether one-time purchases are allowed."
          },
          "allow_subscription": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether subscription purchases are allowed."
          },
          "subscription_interval_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The subscription interval value.",
            "format": "int32"
          },
          "subscription_interval_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "trial": {
            "$ref": "#/components/schemas/UpsertProductTrialConfigurationDto"
          },
          "upselling": {
            "$ref": "#/components/schemas/UpsertProductUpsellConfigurationDto"
          },
          "remove_after_enabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether automatic removal is enabled."
          },
          "remove_after_time_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The time value for automatic removal.",
            "format": "int32"
          },
          "remove_after_time_scale": {
            "$ref": "#/components/schemas/ProductRemoveAfterIntervalScale"
          },
          "store_stock_limit": {
            "$ref": "#/components/schemas/ProductStockLimitDto"
          },
          "customer_stock_limit": {
            "$ref": "#/components/schemas/ProductStockLimitDto"
          },
          "stock_limit_do_not_include_removed": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether removed items should be excluded from stock limits."
          },
          "tags": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The tag IDs associated with the product."
          },
          "gameservers": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The gameserver IDs associated with the product."
          },
          "commands": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductCommandDto"
            },
            "description": "The commands to be executed at different stages."
          },
          "deliverable_actions": {
            "$ref": "#/components/schemas/ProductDeliverableActionsDto"
          },
          "metadata": {
            "type": [
              "null",
              "object"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "description": "Additional metadata for the product."
          },
          "payout_splits": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductPayoutSplitDto"
            },
            "description": "The payout splits for revenue distribution.\nRequires special approval."
          },
          "tax_code": {
            "$ref": "#/components/schemas/ProductTaxCode"
          },
          "allow_concurrent_active_items": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether concurrent active items are allowed."
          },
          "is_hidden": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether the product is hidden."
          },
          "is_gifting_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether gifting is disabled."
          },
          "enabled_at": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the product becomes enabled.\nSet to `null` to keep enabled.",
            "format": "date-time"
          },
          "enabled_until": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time until which the product remains enabled.\nSet to `null` to keep enabled.",
            "format": "date-time"
          },
          "required_product_ids": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The IDs of products required for purchasing this product."
          },
          "required_product_all": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether all required products are needed."
          },
          "custom_variable_ids": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FlakeId"
            },
            "description": "The IDs of associated custom variables."
          },
          "is_gift_cards_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying gift cards should be disabled on the product."
          },
          "is_coupons_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying coupons should be disabled on the product."
          },
          "is_affiliate_links_disabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if applying affiliate links should be disabled on the product."
          },
          "tier_group_id": {
            "$ref": "#/components/schemas/FlakeId"
          }
        },
        "additionalProperties": false
      },
      "UpsertProductTrialConfigurationDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if trials should be enabled for the product."
          },
          "period_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The trial period value.",
            "format": "int32"
          },
          "period_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "revoke_immediately_when_canceled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates if the trial should be revoked immediately when canceled or at the end of the trial."
          },
          "new_customers_only": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."
          },
          "new_customer_order_lookback_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.",
            "format": "int32"
          },
          "new_customer_order_lookback_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          },
          "allow_repeat_trials": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."
          },
          "repeat_trial_cooldown_value": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trials is enabled.",
            "format": "int32"
          },
          "repeat_trial_cooldown_scale": {
            "$ref": "#/components/schemas/ProductSubscriptionIntervalScale"
          }
        },
        "additionalProperties": false,
        "description": "Represents the configuration for trials of a product"
      },
      "UpsertProductUpsellConfigurationDto": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "recommendations": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/UpsertProductUpsellRecommendationDto"
            }
          }
        },
        "additionalProperties": false
      },
      "UpsertProductUpsellRecommendationDto": {
        "required": [
          "discount_amount",
          "discount_type",
          "prefer_as_subscription",
          "recommended_product_id",
          "type"
        ],
        "type": "object",
        "properties": {
          "recommended_product_id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "type": {
            "$ref": "#/components/schemas/UpsellTypeDto"
          },
          "discount_type": {
            "$ref": "#/components/schemas/UpsellDiscountTypeDto"
          },
          "discount_amount": {
            "type": "integer",
            "format": "int64"
          },
          "minimum_base_product_quantity": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "minimum_recommended_product_quantity": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "quantity_to_add": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "prefer_as_subscription": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UpsertTagRequestDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "null",
              "string"
            ]
          },
          "slug": {
            "type": [
              "null",
              "string"
            ]
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "enabled": {
            "type": [
              "null",
              "boolean"
            ]
          }
        },
        "additionalProperties": false
      },
      "ValidationError": {
        "required": [
          "code",
          "message",
          "path",
          "validation"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The parseable error code."
          },
          "message": {
            "type": "string",
            "description": "The human-readable error message."
          },
          "path": {
            "type": "string",
            "description": "The path leading to the validation error."
          },
          "validation": {
            "type": "string",
            "description": "Type of the validation that failed."
          }
        },
        "additionalProperties": false,
        "description": "A validation error."
      },
      "WebhookDiscordFormatDto": {
        "enum": [
          "Invalid",
          "Embed",
          "Text"
        ],
        "type": "string"
      },
      "WebhookEventType": {
        "enum": [
          "OnIgnore",
          "OnOrderCompleted",
          "OnRefund",
          "OnChargeback",
          "OnDeliveryItemAdded",
          "OnDeliveryItemActivated",
          "OnDeliveryItemUsed",
          "OnDeliveryItemRevoked",
          "OnSubscriptionActivated",
          "OnSubscriptionRenewed",
          "OnSubscriptionCanceled",
          "OnDiscordOrderActionsQueued",
          "OnConnectedUserRegistered",
          "OnConnectedUserBecamePayable",
          "OnConnectedUserPayoutCreated",
          "OnConnectedUserPayoutCompleted",
          "OnConnectedUserTransactionInserted",
          "OnConnectedUserBecameUnpayable",
          "OnTrialActivated",
          "OnTrialCompleted",
          "OnTrialCanceled",
          "OnPurchaseFollowUpAttemptEmailSent",
          "OnPurchaseFollowUpAttemptSucceeded",
          "OnAbandonedCheckoutRecoveryAttemptEmailSent",
          "OnAbandonedCheckoutRecoveryAttemptSucceeded",
          "OnChargebackClosed",
          "OnDeliveryItemExpired",
          "OnDeliveryItemRenewed",
          "OnConnectedUserTrustStatusChanged",
          "OnPaymentCompleted",
          "OnPaymentFailed"
        ],
        "type": "string"
      },
      "WebhookHistoryDto": {
        "required": [
          "history",
          "page"
        ],
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueuedWebhookDto"
            }
          }
        },
        "additionalProperties": false
      },
      "WebhookState": {
        "enum": [
          "success",
          "pending",
          "failed",
          "all"
        ],
        "type": "string"
      },
      "WebhookSubscriptionDto": {
        "required": [
          "id",
          "secret",
          "subscribed_to",
          "type",
          "url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/FlakeId"
          },
          "url": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          },
          "subscribed_to": {
            "$ref": "#/components/schemas/WebhookEventType"
          },
          "type": {
            "$ref": "#/components/schemas/WebhookType"
          },
          "discord_description_template": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_title": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_color": {
            "type": [
              "null",
              "string"
            ]
          },
          "discord_format": {
            "$ref": "#/components/schemas/WebhookDiscordFormatDto"
          }
        },
        "additionalProperties": false
      },
      "WebhookType": {
        "enum": [
          "json_v1",
          "discord_v1"
        ],
        "type": "string"
      },
      "WebhookVariablesDto": {
        "required": [
          "event_type",
          "variables"
        ],
        "type": "object",
        "properties": {
          "event_type": {
            "$ref": "#/components/schemas/WebhookEventType"
          },
          "variables": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "APIKey": {
        "type": "apiKey",
        "description": "An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.",
        "name": "Authorization",
        "in": "header",
        "x-gitbook-prefix": "APIKey",
        "x-gitbook-token-placeholder": "TOKEN_HERE"
      },
      "Customer": {
        "type": "apiKey",
        "description": "A Customer token generated using an API Key in the format 'Customer TOKEN_HERE'.",
        "name": "Authorization",
        "in": "header",
        "x-gitbook-prefix": "Customer",
        "x-gitbook-token-placeholder": "TOKEN_HERE"
      }
    }
  },
  "tags": [
    {
      "name": "affiliate-links"
    },
    {
      "name": "bans"
    },
    {
      "name": "checkout"
    },
    {
      "name": "coupons"
    },
    {
      "name": "custom-variables"
    },
    {
      "name": "customer_portal_sessions"
    },
    {
      "name": "customers"
    },
    {
      "name": "dashboard"
    },
    {
      "name": "data-migrations"
    },
    {
      "name": "delivery"
    },
    {
      "name": "discord"
    },
    {
      "name": "downloadable-files"
    },
    {
      "name": "game-servers"
    },
    {
      "name": "giftcards"
    },
    {
      "name": "global-commands"
    },
    {
      "name": "invoices"
    },
    {
      "name": "marketing"
    },
    {
      "name": "navlinks"
    },
    {
      "name": "orders"
    },
    {
      "name": "payment-method-types"
    },
    {
      "name": "payment-settings"
    },
    {
      "name": "payments"
    },
    {
      "name": "product-dependent-migrations"
    },
    {
      "name": "products"
    },
    {
      "name": "regional-pricing"
    },
    {
      "name": "sales"
    },
    {
      "name": "stats"
    },
    {
      "name": "store"
    },
    {
      "name": "subscriptions"
    },
    {
      "name": "tags"
    },
    {
      "name": "tier-groups"
    },
    {
      "name": "trials"
    },
    {
      "name": "trust"
    },
    {
      "name": "upsell-settings"
    },
    {
      "name": "webhooks"
    }
  ]
}