Sequence API (Infrastructure)

Core infrastructure operations: signature validation (EIP-1271/typed-data), ETHAuth proofs, wallet linking, and swap price/quote lookups.

OpenAPI Specification

horizon-blockchain-games-infrastructure-openapi-original.json Raw ↑
{
  "components": {
    "schemas": {
      "ErrorWebrpcEndpoint": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcEndpoint"
          },
          "code": {
            "type": "number",
            "example": 0
          },
          "msg": {
            "type": "string",
            "example": "endpoint error"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorWebrpcRequestFailed": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcRequestFailed"
          },
          "code": {
            "type": "number",
            "example": -1
          },
          "msg": {
            "type": "string",
            "example": "request failed"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorWebrpcBadRoute": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcBadRoute"
          },
          "code": {
            "type": "number",
            "example": -2
          },
          "msg": {
            "type": "string",
            "example": "bad route"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 404
          }
        }
      },
      "ErrorWebrpcBadMethod": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcBadMethod"
          },
          "code": {
            "type": "number",
            "example": -3
          },
          "msg": {
            "type": "string",
            "example": "bad method"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 405
          }
        }
      },
      "ErrorWebrpcBadRequest": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcBadRequest"
          },
          "code": {
            "type": "number",
            "example": -4
          },
          "msg": {
            "type": "string",
            "example": "bad request"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorWebrpcBadResponse": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcBadResponse"
          },
          "code": {
            "type": "number",
            "example": -5
          },
          "msg": {
            "type": "string",
            "example": "bad response"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 500
          }
        }
      },
      "ErrorWebrpcServerPanic": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcServerPanic"
          },
          "code": {
            "type": "number",
            "example": -6
          },
          "msg": {
            "type": "string",
            "example": "server panic"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 500
          }
        }
      },
      "ErrorWebrpcInternalError": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcInternalError"
          },
          "code": {
            "type": "number",
            "example": -7
          },
          "msg": {
            "type": "string",
            "example": "internal error"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 500
          }
        }
      },
      "ErrorWebrpcClientDisconnected": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcClientDisconnected"
          },
          "code": {
            "type": "number",
            "example": -8
          },
          "msg": {
            "type": "string",
            "example": "client disconnected"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorWebrpcStreamLost": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcStreamLost"
          },
          "code": {
            "type": "number",
            "example": -9
          },
          "msg": {
            "type": "string",
            "example": "stream lost"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorWebrpcStreamFinished": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "WebrpcStreamFinished"
          },
          "code": {
            "type": "number",
            "example": -10
          },
          "msg": {
            "type": "string",
            "example": "stream finished"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 200
          }
        }
      },
      "ErrorUnauthorized": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "Unauthorized"
          },
          "code": {
            "type": "number",
            "example": 1000
          },
          "msg": {
            "type": "string",
            "example": "Unauthorized access"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 401
          }
        }
      },
      "ErrorPermissionDenied": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "PermissionDenied"
          },
          "code": {
            "type": "number",
            "example": 1001
          },
          "msg": {
            "type": "string",
            "example": "Permission denied"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 403
          }
        }
      },
      "ErrorSessionExpired": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "SessionExpired"
          },
          "code": {
            "type": "number",
            "example": 1002
          },
          "msg": {
            "type": "string",
            "example": "Session expired"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 403
          }
        }
      },
      "ErrorAborted": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "Aborted"
          },
          "code": {
            "type": "number",
            "example": 1005
          },
          "msg": {
            "type": "string",
            "example": "Request aborted"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorGeoblocked": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "Geoblocked"
          },
          "code": {
            "type": "number",
            "example": 1006
          },
          "msg": {
            "type": "string",
            "example": "Geoblocked region"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 451
          }
        }
      },
      "ErrorInvalidArgument": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "InvalidArgument"
          },
          "code": {
            "type": "number",
            "example": 2000
          },
          "msg": {
            "type": "string",
            "example": "Invalid argument"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorUnavailable": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "Unavailable"
          },
          "code": {
            "type": "number",
            "example": 2002
          },
          "msg": {
            "type": "string",
            "example": "Unavailable resource"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorQueryFailed": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "QueryFailed"
          },
          "code": {
            "type": "number",
            "example": 2003
          },
          "msg": {
            "type": "string",
            "example": "Query failed"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorNotFound": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "NotFound"
          },
          "code": {
            "type": "number",
            "example": 3000
          },
          "msg": {
            "type": "string",
            "example": "Resource not found"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "SortOrder": {
        "type": "string",
        "description": "Represented as uint32 on the server side",
        "enum": [
          "DESC",
          "ASC"
        ]
      },
      "SardinePaymentType": {
        "type": "string",
        "description": "Represented as uint32 on the server side",
        "enum": [
          "ach",
          "debit",
          "credit",
          "us_debit",
          "international_debit",
          "international_credit"
        ]
      },
      "SardineQuoteType": {
        "type": "string",
        "description": "Represented as uint32 on the server side",
        "enum": [
          "buy",
          "sell"
        ]
      },
      "TokenType": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "ERC20",
          "ERC721",
          "ERC1155"
        ]
      },
      "Version": {
        "type": "object",
        "required": [
          "webrpcVersion",
          "schemaVersion",
          "schemaHash",
          "appVersion"
        ],
        "properties": {
          "webrpcVersion": {
            "type": "string"
          },
          "schemaVersion": {
            "type": "string"
          },
          "schemaHash": {
            "type": "string"
          },
          "appVersion": {
            "type": "string"
          }
        }
      },
      "RuntimeStatus": {
        "type": "object",
        "required": [
          "healthOK",
          "startTime",
          "uptime",
          "ver",
          "branch",
          "commitHash",
          "checks",
          "numTxnsRelayed"
        ],
        "properties": {
          "healthOK": {
            "type": "boolean"
          },
          "startTime": {
            "type": "string"
          },
          "uptime": {
            "type": "number"
          },
          "ver": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          },
          "commitHash": {
            "type": "string"
          },
          "checks": {
            "$ref": "#/components/schemas/RuntimeChecks"
          },
          "numTxnsRelayed": {
            "type": "object",
            "description": "map<string,NumTxnsRelayed>",
            "additionalProperties": {
              "$ref": "#/components/schemas/NumTxnsRelayed"
            }
          }
        }
      },
      "NumTxnsRelayed": {
        "type": "object",
        "required": [
          "chainID",
          "prev",
          "current",
          "period"
        ],
        "properties": {
          "chainID": {
            "type": "number"
          },
          "prev": {
            "type": "number"
          },
          "current": {
            "type": "number"
          },
          "period": {
            "type": "number"
          }
        }
      },
      "RuntimeChecks": {
        "type": "object"
      },
      "SequenceContext": {
        "type": "object",
        "required": [
          "factory",
          "mainModule",
          "mainModuleUpgradable",
          "guestModule",
          "utils"
        ],
        "properties": {
          "factory": {
            "type": "string"
          },
          "mainModule": {
            "type": "string"
          },
          "mainModuleUpgradable": {
            "type": "string"
          },
          "guestModule": {
            "type": "string"
          },
          "utils": {
            "type": "string"
          }
        }
      },
      "User": {
        "type": "object",
        "required": [
          "address",
          "username",
          "normalizedUsername",
          "avatar",
          "bio",
          "location",
          "locale",
          "sysAdmin"
        ],
        "properties": {
          "address": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "normalizedUsername": {
            "type": "string"
          },
          "avatar": {
            "type": "string"
          },
          "bio": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "backup": {
            "type": "boolean"
          },
          "backupConfirmed": {
            "type": "boolean"
          },
          "maxInvites": {
            "type": "number"
          },
          "updatedAt": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "sysAdmin": {
            "type": "boolean"
          }
        }
      },
      "WalletBackup": {
        "type": "object",
        "required": [
          "accountAddress",
          "secretHash",
          "encryptedWallet",
          "userConfirmed"
        ],
        "properties": {
          "accountAddress": {
            "type": "string"
          },
          "secretHash": {
            "type": "string"
          },
          "encryptedWallet": {
            "type": "string"
          },
          "userConfirmed": {
            "type": "boolean"
          },
          "updatedAt": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        }
      },
      "Friend": {
        "type": "object",
        "required": [
          "id",
          "userAddress",
          "friendAddress",
          "nickname"
        ],
        "properties": {
          "id": {
            "type": "number"
          },
          "userAddress": {
            "type": "string"
          },
          "friendAddress": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "createdAt": {
            "type": "string"
          }
        }
      },
      "InviteCode": {
        "type": "object",
        "required": [
          "code",
          "source",
          "usesLeft",
          "ownerAccount",
          "url"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "usesLeft": {
            "type": "number"
          },
          "ownerAccount": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          }
        }
      },
      "InviteCodeAccount": {
        "type": "object",
        "required": [
          "code",
          "claimedByUserAddress"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "claimedByUserAddress": {
            "type": "string"
          },
          "claimedAt": {
            "type": "string"
          }
        }
      },
      "InviteInfo": {
        "type": "object",
        "required": [
          "expiryInHours",
          "max",
          "invites"
        ],
        "properties": {
          "expiryInHours": {
            "type": "number"
          },
          "max": {
            "type": "number"
          },
          "invites": {
            "type": "array",
            "description": "[]InviteCode",
            "items": {
              "$ref": "#/components/schemas/InviteCode"
            }
          }
        }
      },
      "ContractCall": {
        "type": "object",
        "required": [
          "signature",
          "function",
          "args"
        ],
        "properties": {
          "signature": {
            "type": "string"
          },
          "function": {
            "type": "string"
          },
          "args": {
            "type": "array",
            "description": "[]TupleComponent",
            "items": {
              "$ref": "#/components/schemas/TupleComponent"
            }
          }
        }
      },
      "TupleComponent": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "value": {
            "type": "object"
          }
        }
      },
      "Transaction": {
        "type": "object",
        "required": [
          "delegateCall",
          "revertOnError",
          "gasLimit",
          "target",
          "value",
          "data"
        ],
        "properties": {
          "delegateCall": {
            "type": "boolean"
          },
          "revertOnError": {
            "type": "boolean"
          },
          "gasLimit": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "data": {
            "type": "string"
          },
          "call": {
            "$ref": "#/components/schemas/ContractCall"
          }
        }
      },
      "UserStorage": {
        "type": "object",
        "required": [
          "userAddress",
          "key",
          "value"
        ],
        "properties": {
          "userAddress": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "object"
          }
        }
      },
      "Token": {
        "type": "object",
        "required": [
          "chainId",
          "contractAddress"
        ],
        "properties": {
          "chainId": {
            "type": "number"
          },
          "contractAddress": {
            "type": "string"
          },
          "tokenId": {
            "type": "string"
          }
        }
      },
      "Price": {
        "type": "object",
        "required": [
          "value",
          "currency"
        ],
        "properties": {
          "value": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          }
        }
      },
      "TokenPrice": {
        "type": "object",
        "required": [
          "token",
          "floorPrice",
          "buyPrice",
          "sellPrice",
          "updatedAt"
        ],
        "properties": {
          "token": {
            "$ref": "#/components/schemas/Token"
          },
          "price": {
            "$ref": "#/components/schemas/Price"
          },
          "price24hChange": {
            "$ref": "#/components/schemas/Price"
          },
          "floorPrice": {
            "$ref": "#/components/schemas/Price"
          },
          "buyPrice": {
            "$ref": "#/components/schemas/Price"
          },
          "sellPrice": {
            "$ref": "#/components/schemas/Price"
          },
          "updatedAt": {
            "type": "string"
          }
        }
      },
      "ExchangeRate": {
        "type": "object",
        "required": [
          "name",
          "symbol",
          "value",
          "vsCurrency",
          "currencyType"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "value": {
            "type": "number"
          },
          "vsCurrency": {
            "type": "string"
          },
          "currencyType": {
            "type": "string"
          }
        }
      },
      "LinkedWallet": {
        "type": "object",
        "required": [
          "id",
          "walletAddress",
          "linkedWalletAddress"
        ],
        "properties": {
          "id": {
            "type": "number"
          },
          "walletType": {
            "type": "string"
          },
          "walletAddress": {
            "type": "string"
          },
          "linkedWalletAddress": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        }
      },
      "Page": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "number"
          },
          "page": {
            "type": "number"
          },
          "totalRecords": {
            "type": "number"
          },
          "column": {
            "type": "string"
          },
          "before": {
            "type": "object"
          },
          "after": {
            "type": "object"
          },
          "sort": {
            "type": "array",
            "description": "[]SortBy",
            "items": {
              "$ref": "#/components/schemas/SortBy"
            }
          },
          "more": {
            "type": "boolean"
          }
        }
      },
      "SortBy": {
        "type": "object",
        "required": [
          "column",
          "order"
        ],
        "properties": {
          "column": {
            "type": "string"
          },
          "order": {
            "$ref": "#/components/schemas/SortOrder"
          }
        }
      },
      "SardineNFTCheckoutParams": {
        "type": "object",
        "required": [
          "name",
          "imageUrl",
          "network",
          "recipientAddress",
          "blockchainNftId",
          "contractAddress",
          "quantity",
          "tokenAmount",
          "tokenAddress",
          "tokenSymbol",
          "calldata",
          "platform"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          },
          "network": {
            "type": "string"
          },
          "recipientAddress": {
            "type": "string"
          },
          "blockchainNftId": {
            "type": "string"
          },
          "contractAddress": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "decimals": {
            "type": "number"
          },
          "tokenAmount": {
            "type": "string"
          },
          "tokenAddress": {
            "type": "string"
          },
          "tokenSymbol": {
            "type": "string"
          },
          "tokenDecimals": {
            "type": "number"
          },
          "calldata": {
            "type": "string"
          },
          "platform": {
            "type": "string"
          },
          "approvedSpenderAddress": {
            "type": "string"
          }
        }
      },
      "SardineNFTCheckout": {
        "type": "object",
        "required": [
          "token",
          "expiresAt",
          "orderId"
        ],
        "properties": {
          "token": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          }
        }
      },
      "SardineOrder": {
        "type": "object",
        "required": [
          "id",
          "referenceId",
          "status",
          "fiatCurrency",
          "fiatExchangeRateUSD",
          "transactionId",
          "total",
          "subTotal",
          "transactionFee",
          "networkFee",
          "transactionType",
          "name",
          "price",
          "imageUrl",
          "recipientAddress"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "referenceId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "fiatCurrency": {
            "type": "string"
          },
          "fiatExchangeRateUSD": {
            "type": "number"
          },
          "transactionId": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "total": {
            "type": "number"
          },
          "subTotal": {
            "type": "number"
          },
          "transactionFee": {
            "type": "number"
          },
          "networkFee": {
            "type": "number"
          },
          "paymentCurrency": {
            "type": "string"
          },
          "paymentMethodType": {
            "type": "string"
          },
          "transactionType": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "imageUrl": {
            "type": "string"
          },
          "contractAddress": {
            "type": "string"
          },
          "transactionHash": {
            "type": "string"
          },
          "recipientAddress": {
            "type": "string"
          }
        }
      },
      "SardineRegion": {
        "type": "object",
        "required": [
          "countryCode",
          "isAllowedOnRamp",
          "isAllowedOnNFT",
          "isBasicKycRequired",
          "isSsnRequired",
          "name",
          "currencyCode",
          "isPayrollSupported",
          "supportedDocuments",
          "paymentMethods",
          "states"
        ],
        "properties": {
          "countryCode": {
            "type": "string"
          },
          "isAllowedOnRamp": {
            "type": "boolean"
          },
          "isAllowedOnNFT": {
            "type": "boolean"
          },
          "isBasicKycRequired": {
            "type": "array",
            "description": "[]string",
            "items": {
              "type": "string"
            }
          },
          "isSsnRequired": {
            "type": "array",
            "description": "[]string",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "isPayrollSupported": {
            "type": "boolean"
          },
          "supportedDocuments": {
            "type": "array",
            "description": "[]string",
            "items": {
              "type": "string"
            }
          },
          "paymentMethods": {
            "type": "array",
            "description": "[]SardineRegionPaymentMethod",
            "items": {
              "$ref": "#/components/schemas/SardineRegionPaymentMethod"
            }
          },
          "states": {
            "type": "array",
            "description": "[]SardineRegionState",
            "items": {
              "$ref": "#/components/schemas/SardineRegionState"
            }
          }
        }
      },
      "SardineRegionPaymentMethod": {
        "type": "object",
        "required": [
          "name",
          "isAllowedOnRamp",
          "isAllowedOnNFT",
          "subTypes",
          "type",
          "subType"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "isAllowedOnRamp": {
            "type": "boolean"
          },
          "isAllowedOnNFT": {
            "type": "boolean"
          },
          "subTypes": {
            "type": "array",
            "description": "[]string",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "type": "string"
          },
          "subType": {
   

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/horizon-blockchain-games/refs/heads/main/openapi/horizon-blockchain-games-infrastructure-openapi-original.json