Sequence Builder API

Programmatically manage Sequence Builder projects: contracts, contract sources, audiences, and audience contacts.

OpenAPI Specification

horizon-blockchain-games-builder-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
          }
        }
      },
      "ErrorMethodNotFound": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "MethodNotFound"
          },
          "code": {
            "type": "number",
            "example": 1003
          },
          "msg": {
            "type": "string",
            "example": "Method not found"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 404
          }
        }
      },
      "ErrorRequestConflict": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "RequestConflict"
          },
          "code": {
            "type": "number",
            "example": 1004
          },
          "msg": {
            "type": "string",
            "example": "Conflict with target resource"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 409
          }
        }
      },
      "ErrorServiceDisabled": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "ServiceDisabled"
          },
          "code": {
            "type": "number",
            "example": 1005
          },
          "msg": {
            "type": "string",
            "example": "Service disabled"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 404
          }
        }
      },
      "ErrorTimeout": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "Timeout"
          },
          "code": {
            "type": "number",
            "example": 2000
          },
          "msg": {
            "type": "string",
            "example": "Request timed out"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 408
          }
        }
      },
      "ErrorInvalidArgument": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "InvalidArgument"
          },
          "code": {
            "type": "number",
            "example": 2001
          },
          "msg": {
            "type": "string",
            "example": "Invalid argument"
          },
          "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
          }
        }
      },
      "ErrorUserNotFound": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "UserNotFound"
          },
          "code": {
            "type": "number",
            "example": 3001
          },
          "msg": {
            "type": "string",
            "example": "User not found"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorProjectNotFound": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "ProjectNotFound"
          },
          "code": {
            "type": "number",
            "example": 3002
          },
          "msg": {
            "type": "string",
            "example": "Project not found"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorInvalidTier": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "InvalidTier"
          },
          "code": {
            "type": "number",
            "example": 3003
          },
          "msg": {
            "type": "string",
            "example": "Invalid subscription tier"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorEmailTemplateExists": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "EmailTemplateExists"
          },
          "code": {
            "type": "number",
            "example": 3004
          },
          "msg": {
            "type": "string",
            "example": "Email Template exists"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 409
          }
        }
      },
      "ErrorSubscriptionLimit": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "SubscriptionLimit"
          },
          "code": {
            "type": "number",
            "example": 3005
          },
          "msg": {
            "type": "string",
            "example": "Subscription limit reached"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 402
          }
        }
      },
      "ErrorFeatureNotIncluded": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "FeatureNotIncluded"
          },
          "code": {
            "type": "number",
            "example": 3006
          },
          "msg": {
            "type": "string",
            "example": "Feature not included"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 402
          }
        }
      },
      "ErrorInvalidNetwork": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "InvalidNetwork"
          },
          "code": {
            "type": "number",
            "example": 3007
          },
          "msg": {
            "type": "string",
            "example": "Invalid network"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorInvitationExpired": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "InvitationExpired"
          },
          "code": {
            "type": "number",
            "example": 4000
          },
          "msg": {
            "type": "string",
            "example": "Invitation code is expired"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 400
          }
        }
      },
      "ErrorAlreadyCollaborator": {
        "type": "object",
        "required": [
          "error",
          "code",
          "msg",
          "status"
        ],
        "properties": {
          "error": {
            "type": "string",
            "example": "AlreadyCollaborator"
          },
          "code": {
            "type": "number",
            "example": 4001
          },
          "msg": {
            "type": "string",
            "example": "Already a collaborator"
          },
          "cause": {
            "type": "string"
          },
          "status": {
            "type": "number",
            "example": 409
          }
        }
      },
      "AuthSessionType": {
        "type": "string",
        "description": "Represented as uint16 on the server side",
        "enum": [
          "PUBLIC",
          "WALLET",
          "USER",
          "ADMIN",
          "SERVICE"
        ]
      },
      "SubscriptionTier": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "COMMUNITY",
          "DEVELOPER",
          "GROWTH",
          "PRO",
          "ENTERPRISE"
        ]
      },
      "ProjectType": {
        "type": "string",
        "description": "Represented as string on the server side",
        "enum": [
          "EMBEDDED_WALLET_REACT",
          "EMBEDDED_WALLET_NEXTJS",
          "EMBEDDED_WALLET_UNITY",
          "EMBEDDED_WALLET_UNREAL",
          "MARKETPLACE_STANDALONE",
          "MARKETPLACE_REACT",
          "MARKETPLACE_UNITY",
          "MARKETPLACE_UNREAL",
          "SALE_CONTRACT_ERC1155",
          "SALE_CONTRACT_ERC721"
        ]
      },
      "ResourceType": {
        "type": "string",
        "description": "Represented as int8 on the server side",
        "enum": [
          "CONTRACTS"
        ]
      },
      "SubscriptionProvider": {
        "type": "string",
        "description": "Represented as string on the server side",
        "enum": [
          "ADMIN",
          "STRIPE",
          "GOOGLE"
        ]
      },
      "CollaboratorAccess": {
        "type": "string",
        "description": "Represented as uint32 on the server side",
        "enum": [
          "NONE",
          "READ",
          "WRITE",
          "ADMIN"
        ]
      },
      "CollaboratorType": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "USER",
          "SERVICE_ACCOUNT"
        ]
      },
      "ContractSourceType": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "LINKED",
          "DEPLOYED",
          "SALE"
        ]
      },
      "SortOrder": {
        "type": "string",
        "description": "Represented as uint32 on the server side",
        "enum": [
          "DESC",
          "ASC"
        ]
      },
      "PaymentProvider": {
        "type": "string",
        "description": "Represented as uint16 on the server side",
        "enum": [
          "UNKNOWN",
          "STRIPE",
          "MANUAL"
        ]
      },
      "PaymentStatus": {
        "type": "string",
        "description": "Represented as uint16 on the server side",
        "enum": [
          "INITIATED",
          "PENDING",
          "SUCCEEDED",
          "FAILED",
          "PROCESSED"
        ]
      },
      "MarketplaceWallet": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "UNIVERSAL",
          "EMBEDDED"
        ]
      },
      "MarketplaceType": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "AMM",
          "P2P",
          "SEQUENCE",
          "ORDERBOOK"
        ]
      },
      "TokenType": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "ERC20",
          "ERC721",
          "ERC1155"
        ]
      },
      "FileScope": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "LOGO",
          "MARKETPLACE",
          "AVATAR",
          "EMAIL",
          "WALLET",
          "TOKEN_DIRECTORY"
        ]
      },
      "EmailTemplateType": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "UNKNOWN",
          "LOGIN",
          "GUARD"
        ]
      },
      "TaskStatus": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "PENDING",
          "PAUSED",
          "FAILED",
          "COMPLETED",
          "DISABLED"
        ]
      },
      "DateInterval": {
        "type": "string",
        "description": "Represented as uint16 on the server side",
        "enum": [
          "DAY",
          "WEEK",
          "MONTH"
        ]
      },
      "OnboardingStep": {
        "type": "string",
        "description": "Represented as string on the server side",
        "enum": [
          "linkOrDeployContract",
          "createMarketplace",
          "setUpGasTank",
          "configureWaas",
          "customizeWallet",
          "inviteCollaborator",
          "cloneGithub",
          "copyCredentials",
          "customizeMarketplace",
          "deployERC721Contract",
          "deployERC1155Contract",
          "addMarketplaceCollection",
          "createCollection",
          "customizeCollectible",
          "deploySaleContract",
          "setSaleSettings",
          "addMinterRoleToItems",
          "setUpAudienceList"
        ]
      },
      "WaasTenantState": {
        "type": "string",
        "description": "Represented as uint8 on the server side",
        "enum": [
          "PENDING",
          "DEPLOYING",
          "READY",
          "FAILED"
        ]
      },
      "TrialType": {
        "type": "string",
        "description": "Represented as string on the server side",
        "enum": [
          "ANALYTICS"
        ]
      },
      "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",
          "env",
          "branch",
          "commitHash",
          "networks",
          "checks"
        ],
        "properties": {
          "healthOK": {
            "type": "boolean"
          },
          "startTime": {
            "type": "string"
          },
          "uptime": {
            "type": "number"
          },
          "ver": {
            "type": "string"
          },
          "env": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          },
          "commitHash": {
            "type": "string"
          },
          "networks": {
            "type": "object",
            "description": "map<string,bool>",
            "additionalProperties": {
              "type": "boolean"
            }
          },
          "checks": {
            "$ref": "#/components/schemas/RuntimeChecks"
          }
        }
      },
      "RuntimeChecks": {
        "type": "object",
        "required": [
          "quotaControl",
          "joqueue",
          "stripe",
          "cloudCommerce"
        ],
        "properties": {
          "quotaControl": {
            "type": "boolean"
          },
          "joqueue": {
            "type": "boolean"
          },
          "stripe": {
            "type": "boolean"
          },
          "cloudCommerce": {
            "type": "boolean"
          }
        }
      },
      "Configuration": {
        "type": "object",
        "required": [
          "name",
          "title",
          "chainIds",
          "domains"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "chainIds": {
            "type": "array",
            "description": "[]uint64",
            "items": {
              "type": "number"
            }
          },
          "domains": {
            "type": "array",
            "description": "[]string",
            "items": {
              "type": "string"
            }
          },
          "logoUrl": {
            "type": "string"
          },
          "logoLightUrl": {
            "type": "string"
          },
          "titleUrl": {
            "type": "string"
          },
          "backgroundUrl": {
            "type": "string"
          },
          "mobileBackgroundUrl": {
            "type": "string"
          },
          "customCss": {
            "type": "string"
          },
          "animationUrl": {
            "type": "string"
          },
          "crispWebsiteId": {
            "type": "string"
          },
          "learnMoreButton": {
            "type": "string"
          },
          "learnMoreUrl": {
            "type": "string"
          }
        }
      },
      "AuthState": {
        "type": "object",
        "required": [
          "jwtToken",
          "expiresAt",
          "address",
          "sessionType"
        ],
        "properties": {
          "jwtToken": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "sessionType": {
            "$ref": "#/components/schemas/AuthSessionType"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        }
      },
      "User": {
        "type": "object",
        "required": [
          "address",
          "createdAt",
          "updatedAt",
          "sysAdmin",
          "avatarKey",
          "avatarUrl"
        ],
        "properties": {
          "address": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "sysAdmin": {
            "type": "boolean"
          },
          "avatarKey": {
            "type": "string"
          },
          "avatarUrl": {
            "type": "string"
          }
        }
      },
      "UserSettings": {
        "type": "object",
        "required": [
          "freeProjectsLeft"
        ],
        "properties": {
          "freeProjectsLeft": {
            "type": "number"
          }
        }
      },
      "UserOverride": {
        "type": "object",
        "required": [
          "id",
          "address",
          "extraProjects",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "id": {
            "type": "number"
          },
          "address": {
            "type": "string"
          },
          "extraProjects": {
            "type": "number"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        }
      },
      "Project": {
        "type": "object",
        "required": [
          "id",
          "name",
          "ownerAddress",
          "ownerAvatarUrl",
          "draft",
          "logoImageKey",
          "logoImageUrl",
          "websiteUrl",
          "chainIds",
          "whitelabel",
          "subscriptionTier",
          "collaboratorCount",
          "onboardingSteps",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ProjectType"
          },
          "ownerAddress": {
            "type": "string"
          },
          "ownerEmail": {
            "type": "string"
          },
          "ownerAvatarUrl": {
            "type": "string"
          },
          "draft": {
            "type": "boolean"
          },
          "logoImageKey": {
            "type": "string"
          },
          "logoImageUrl": {
            "type": "string"
          },
          "websiteUrl": {
            "type": "string"
          },
          "chainIds": {
            "type": "array",
            "description": "[]uint64",
            "items": {
              "type": "number"
            }
          },
          "whitelabel": {
            "type": "string"
          },
          "subscriptionTier": {
            "$ref": "#/components/schemas/SubscriptionTier"
          },
          "collaboratorCount": {
            "type": "number"
          },
          "onboardingSteps": {
            "type": "object",
            "description": "map<string,bool>",
            "additionalProperties": {
              "type": "boolean"
            }
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "deletedAt": {
            "type": "string"
          }
        }
      },
      "ResourceFilter": {
        "type": "object",
        "properties": {
          "contracts": {
            "$ref": "#/components/schemas/ContractFilter"
          }
        }
      },
      "Resource": {
        "type": "object",
        "required": [
          "type",
          "total",
          "detail"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ResourceType"
          },
          "total": {
            "type": "number"
          },
          "detail": {
            "type": "array",
 

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