{
  "openapi": "3.1.0",
  "info": {
    "title": "scann",
    "version": "0.1.0"
  },
  "paths": {
    "/api/v1/auth/captcha": {
      "get": {
        "tags": [
          "auth"
        ],
        "summary": "Captcha Challenge",
        "operationId": "captcha_challenge_api_v1_auth_captcha_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaptchaChallengeResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/register": {
      "post": {
        "tags": [
          "auth"
        ],
        "summary": "Register",
        "operationId": "register_api_v1_auth_register_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/register/referral": {
      "post": {
        "tags": [
          "auth"
        ],
        "summary": "Register With Referral",
        "operationId": "register_with_referral_api_v1_auth_register_referral_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReferralRegisterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/login": {
      "post": {
        "tags": [
          "auth"
        ],
        "summary": "Login",
        "operationId": "login_api_v1_auth_login_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/me": {
      "get": {
        "tags": [
          "auth"
        ],
        "summary": "Me",
        "operationId": "me_api_v1_auth_me_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "tags": [
          "auth"
        ],
        "summary": "Logout",
        "operationId": "logout_api_v1_auth_logout_post",
        "responses": {
          "204": {
            "description": "Successful Response"
          }
        }
      }
    },
    "/api/v1/users/me": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Get Me",
        "operationId": "get_me_api_v1_users_me_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserMeResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/users/me/subscription-stats": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Get My Subscription Stats",
        "operationId": "get_my_subscription_stats_api_v1_users_me_subscription_stats_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSubscriptionStatsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/users/me/api-key": {
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Get My Api Key",
        "operationId": "get_my_api_key_api_v1_users_me_api_key_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyDeliveryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyDeliveryResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/users/me/referral-code": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Get My Referral Code",
        "operationId": "get_my_referral_code_api_v1_users_me_referral_code_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserReferralCodeResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/scan-results": {
      "get": {
        "tags": [
          "scan-results"
        ],
        "summary": "List Scan Results",
        "operationId": "list_scan_results_api_v1_scan_results_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Q"
            }
          },
          {
            "name": "ip",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Ip"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Country"
            }
          },
          {
            "name": "port",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Port"
            }
          },
          {
            "name": "ports",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Ports"
            }
          },
          {
            "name": "tech",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Tech"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Domain"
            }
          },
          {
            "name": "cert_domain",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cert Domain"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "title": "Per Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "relevance",
                "ip_asc",
                "ip_desc",
                "newest"
              ],
              "type": "string",
              "default": "relevance",
              "title": "Sort"
            }
          },
          {
            "name": "session_id",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Session Id"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Api-Key"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScanResultSearchResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/scan-results/raw/{kind}/{sha256}": {
      "get": {
        "tags": [
          "scan-results"
        ],
        "summary": "Get Raw Scan Result Object",
        "operationId": "get_raw_scan_result_object_api_v1_scan_results_raw__kind___sha256__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "enum": [
                "body",
                "header",
                "cert"
              ],
              "type": "string",
              "title": "Kind"
            }
          },
          {
            "name": "sha256",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Sha256"
            }
          },
          {
            "name": "ip",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ip"
            }
          },
          {
            "name": "port",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "maximum": 65535,
              "minimum": 1,
              "title": "Port"
            }
          },
          {
            "name": "max_bytes",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 10485760,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "title": "Max Bytes"
            }
          },
          {
            "name": "download",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false,
              "title": "Download"
            }
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Api-Key"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/scan-results/{ip}": {
      "get": {
        "tags": [
          "scan-results"
        ],
        "summary": "Get Scan Result Ip Detail",
        "operationId": "get_scan_result_ip_detail_api_v1_scan_results__ip__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "ip",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Ip"
            }
          },
          {
            "name": "X-API-Key",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Api-Key"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/comments/{post_id}": {
      "get": {
        "tags": [
          "comments"
        ],
        "summary": "List Comments",
        "operationId": "list_comments_api_v1_comments__post_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "post_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Post Id"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Page Size"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "comments"
        ],
        "summary": "Create Comment",
        "operationId": "create_comment_api_v1_comments__post_id__post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "post_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Post Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommentCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentListItemResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/seller/dashboard": {
      "get": {
        "tags": [
          "files"
        ],
        "summary": "Get My Seller Dashboard",
        "operationId": "get_my_seller_dashboard_api_v1_seller_dashboard_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 10,
              "title": "Limit"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "title": "Offset"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SellerDashboardResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/seller/files": {
      "get": {
        "tags": [
          "files"
        ],
        "summary": "List My Seller Files",
        "operationId": "list_my_seller_files_api_v1_seller_files_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 50,
              "title": "Limit"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "title": "Offset"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SellerListingsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/files/purchases": {
      "get": {
        "tags": [
          "files"
        ],
        "summary": "List My Purchases",
        "operationId": "list_my_purchases_api_v1_files_purchases_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 50,
              "title": "Limit"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0,
              "title": "Offset"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPurchasesResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/seller/files/create-upload": {
      "post": {
        "tags": [
          "files"
        ],
        "summary": "Create File Upload",
        "operationId": "create_file_upload_api_v1_seller_files_create_upload_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateUploadResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/seller/files/{file_id}/finalize": {
      "post": {
        "tags": [
          "files"
        ],
        "summary": "Finalize File Upload",
        "operationId": "finalize_file_upload_api_v1_seller_files__file_id__finalize_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "file_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FinalizeUploadRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileMetadataResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/files/{file_id}/buy": {
      "post": {
        "tags": [
          "files"
        ],
        "summary": "Buy File Endpoint",
        "operationId": "buy_file_endpoint_api_v1_files__file_id__buy_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "file_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileAccessResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/files/{file_id}/download-token": {
      "post": {
        "tags": [
          "files"
        ],
        "summary": "Create Download Token",
        "operationId": "create_download_token_api_v1_files__file_id__download_token_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "file_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileAccessResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/files/{file_id}/confirm": {
      "post": {
        "tags": [
          "files"
        ],
        "summary": "Confirm File Purchase",
        "operationId": "confirm_file_purchase_api_v1_files__file_id__confirm_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "file_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "File Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmPurchaseResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/promo-codes/redeem": {
      "post": {
        "tags": [
          "promo-codes"
        ],
        "summary": "Redeem Promo Code",
        "operationId": "redeem_promo_code_api_v1_promo_codes_redeem_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoCodeRedeemRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoCodeRedeemResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/subscription-plans": {
      "get": {
        "tags": [
          "subscription-plans"
        ],
        "summary": "List Subscription Plans",
        "operationId": "list_subscription_plans_api_v1_subscription_plans_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionPlansResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/subscription-plans/purchase": {
      "post": {
        "tags": [
          "subscription-plans"
        ],
        "summary": "Purchase Subscription Plan",
        "operationId": "purchase_subscription_plan_api_v1_subscription_plans_purchase_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionBalancePurchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalancePurchaseResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/transactions": {
      "get": {
        "tags": [
          "transactions"
        ],
        "summary": "List My Transactions",
        "operationId": "list_my_transactions_api_v1_transactions_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 50,
              "title": "Page Size"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedUserTransactionsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/referrals/stats": {
      "get": {
        "tags": [
          "referrals"
        ],
        "summary": "Get Referral Stats",
        "operationId": "get_referral_stats_api_v1_referrals_stats_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReferralStatsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tickets": {
      "post": {
        "tags": [
          "tickets"
        ],
        "summary": "Create Ticket",
        "operationId": "create_ticket_api_v1_tickets_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TicketCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TicketDetailResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "tickets"
        ],
        "summary": "List My Tickets",
        "operationId": "list_my_tickets_api_v1_tickets_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 50,
              "title": "Page Size"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedTicketsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tickets/{ticket_id}": {
      "get": {
        "tags": [
          "tickets"
        ],
        "summary": "Get My Ticket",
        "operationId": "get_my_ticket_api_v1_tickets__ticket_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "ticket_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Ticket Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TicketDetailResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/token-packages": {
      "get": {
        "tags": [
          "token-packages"
        ],
        "summary": "List Token Packages",
        "operationId": "list_token_packages_api_v1_token_packages_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenPackagesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/token-packages/purchase": {
      "post": {
        "tags": [
          "token-packages"
        ],
        "summary": "Purchase Token Package",
        "operationId": "purchase_token_package_api_v1_token_packages_purchase_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TokenBalancePurchaseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalancePurchaseResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/saved-queries": {
      "get": {
        "tags": [
          "saved-queries"
        ],
        "summary": "List Saved Queries",
        "operationId": "list_saved_queries_api_v1_saved_queries_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedQueryListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "saved-queries"
        ],
        "summary": "Create Saved Query",
        "operationId": "create_saved_query_api_v1_saved_queries_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedQueryCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedQueryResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/saved-queries/{saved_query_id}": {
      "get": {
        "tags": [
          "saved-queries"
        ],
        "summary": "Get Saved Query",
        "operationId": "get_saved_query_api_v1_saved_queries__saved_query_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "saved_query_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saved Query Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedQueryResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/saved-queries/{saved_query_id}/update": {
      "post": {
        "tags": [
          "saved-queries"
        ],
        "summary": "Update Saved Query",
        "operationId": "update_saved_query_api_v1_saved_queries__saved_query_id__update_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "saved_query_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saved Query Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedQueryUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedQueryResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/saved-queries/{saved_query_id}/delete": {
      "post": {
        "tags": [
          "saved-queries"
        ],
        "summary": "Delete Saved Query",
        "operationId": "delete_saved_query_api_v1_saved_queries__saved_query_id__delete_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "saved_query_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Saved Query Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/checkout/deposits": {
      "post": {
        "tags": [
          "checkout"
        ],
        "summary": "Create Checkout Deposit",
        "operationId": "create_checkout_deposit_api_v1_checkout_deposits_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCheckoutDepositRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutDepositResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/checkout/deposits/{deposit_id}": {
      "get": {
        "tags": [
          "checkout"
        ],
        "summary": "Get Checkout Deposit",
        "operationId": "get_checkout_deposit_api_v1_checkout_deposits__deposit_id__get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "deposit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Deposit Id"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutDepositResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/checkout/invoices": {
      "get": {
        "tags": [
          "checkout"
        ],
        "summary": "List Checkout Invoices",
        "operationId": "list_checkout_invoices_api_v1_checkout_invoices_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1,
              "title": "Page"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 20,
              "title": "Per Page"
            }
          },
          {
            "name": "t",
            "in": "cookie",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "T"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutInvoiceListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/health": {
      "get": {
        "tags": [
          "health"
        ],
        "summary": "Health",
        "operationId": "health_api_v1_health_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiKeyDeliveryRequest": {
        "properties": {
          "client_public_key_b64": {
            "type": "string",
            "title": "Client Public Key B64"
          }
        },
        "type": "object",
        "required": [
          "client_public_key_b64"
        ],
        "title": "ApiKeyDeliveryRequest"
      },
      "ApiKeyDeliveryResponse": {
        "properties": {
          "wrapped_key_b64": {
            "type": "string",
            "title": "Wrapped Key B64"
          },
          "iv_b64": {
            "type": "string",
            "title": "Iv B64"
          },
          "ciphertext_b64": {
            "type": "string",
            "title": "Ciphertext B64"
          },
          "key_alg": {
            "type": "string",
            "title": "Key Alg"
          },
          "content_alg": {
            "type": "string",
            "title": "Content Alg"
          }
        },
        "type": "object",
        "required": [
          "wrapped_key_b64",
          "iv_b64",
          "ciphertext_b64",
          "key_alg",
          "content_alg"
        ],
        "title": "ApiKeyDeliveryResponse"
      },
      "BalancePurchaseResponse": {
        "properties": {
          "balance": {
            "type": "number",
            "title": "Balance"
          },
          "token_balance": {
            "type": "integer",
            "title": "Token Balance"
          },
          "plan_code": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "plan_expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Expires At"
          }
        },
        "type": "object",
        "required": [
          "balance",
          "token_balance",
          "plan_code",
          "plan_expires_at"
        ],
        "title": "BalancePurchaseResponse"
      },
      "CaptchaChallengeResponse": {
        "properties": {
          "captcha_id": {
            "type": "string",
            "title": "Captcha Id"
          },
          "challenge": {
            "type": "string",
            "title": "Challenge"
          },
          "difficulty": {
            "type": "integer",
            "title": "Difficulty"
          },
          "expires_in": {
            "type": "integer",
            "title": "Expires In"
          }
        },
        "type": "object",
        "required": [
          "captcha_id",
          "challenge",
          "difficulty",
          "expires_in"
        ],
        "title": "CaptchaChallengeResponse"
      },
      "CheckoutDepositResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "chain": {
            "type": "string",
            "enum": [
              "btc",
              "ltc",
              "xmr"
            ],
            "title": "Chain"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "usd_cents": {
            "type": "integer",
            "title": "Usd Cents"
          },
          "expected_base_units": {
            "type": "integer",
            "title": "Expected Base Units"
          },
          "expected_display_amount": {
            "type": "string",
            "title": "Expected Display Amount"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          },
          "confirmations_required": {
            "type": "integer",
            "title": "Confirmations Required"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "seen",
              "confirmed",
              "expired",
              "late"
            ],
            "title": "Status"
          },
          "seen_txid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seen Txid"
          },
          "seen_base_units": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seen Base Units"
          },
          "seen_display_amount": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seen Display Amount"
          },
          "seen_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seen At"
          },
          "confirmed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confirmed At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "chain",
          "address",
          "usd_cents",
          "expected_base_units",
          "expected_display_amount",
          "expires_at",
          "confirmations_required",
          "status",
          "seen_txid",
          "seen_base_units",
          "seen_display_amount",
          "seen_at",
          "confirmed_at",
          "created_at"
        ],
        "title": "CheckoutDepositResponse"
      },
      "CheckoutInvoiceItemResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "seen",
              "confirmed",
              "expired",
              "late"
            ],
            "title": "Status"
          },
          "chain": {
            "type": "string",
            "enum": [
              "btc",
              "ltc",
              "xmr"
            ],
            "title": "Chain"
          },
          "usd_cents": {
            "type": "integer",
            "title": "Usd Cents"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "status",
          "chain",
          "usd_cents",
          "created_at"
        ],
        "title": "CheckoutInvoiceItemResponse"
      },
      "CheckoutInvoiceListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CheckoutInvoiceItemResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "pages": {
            "type": "integer",
            "title": "Pages"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "per_page",
          "pages"
        ],
        "title": "CheckoutInvoiceListResponse"
      },
      "CommentAuthorResponse": {
        "properties": {
          "username": {
            "type": "string",
            "title": "Username"
          }
        },
        "type": "object",
        "required": [
          "username"
        ],
        "title": "CommentAuthorResponse"
      },
      "CommentCreateRequest": {
        "properties": {
          "content": {
            "type": "string",
            "maxLength": 5000,
            "minLength": 1,
            "title": "Content"
          }
        },
        "type": "object",
        "required": [
          "content"
        ],
        "title": "CommentCreateRequest"
      },
      "CommentListItemResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "post_id": {
            "type": "string",
            "title": "Post Id"
          },
          "user": {
            "$ref": "#/components/schemas/CommentAuthorResponse"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "post_id",
          "user",
          "content",
          "created_at",
          "updated_at"
        ],
        "title": "CommentListItemResponse"
      },
      "CommentListResponse": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "locked": {
            "type": "boolean",
            "title": "Locked"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/CommentListItemResponse"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "type": "object",
        "required": [
          "enabled",
          "locked",
          "total",
          "page",
          "page_size",
          "total_pages",
          "items"
        ],
        "title": "CommentListResponse"
      },
      "ConfirmPurchaseResponse": {
        "properties": {
          "purchase_id": {
            "type": "string",
            "format": "uuid",
            "title": "Purchase Id"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "released_cents": {
            "type": "integer",
            "title": "Released Cents"
          },
          "seller_available_cents": {
            "type": "integer",
            "title": "Seller Available Cents"
          },
          "seller_pending_cents": {
            "type": "integer",
            "title": "Seller Pending Cents"
          }
        },
        "type": "object",
        "required": [
          "purchase_id",
          "status",
          "released_cents",
          "seller_available_cents",
          "seller_pending_cents"
        ],
        "title": "ConfirmPurchaseResponse"
      },
      "CreateCheckoutDepositRequest": {
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "btc",
              "ltc",
              "xmr"
            ],
            "title": "Chain"
          },
          "usd_cents": {
            "type": "integer",
            "minimum": 1.0,
            "title": "Usd Cents"
          }
        },
        "type": "object",
        "required": [
          "chain",
          "usd_cents"
        ],
        "title": "CreateCheckoutDepositRequest"
      },
      "CreateUploadRequest": {
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Title"
          },
          "price_cents": {
            "type": "integer",
            "minimum": 0.0,
            "title": "Price Cents"
          },
          "required_plan": {
            "type": "string",
            "title": "Required Plan",
            "default": "free"
          }
        },
        "type": "object",
        "required": [
          "title",
          "price_cents"
        ],
        "title": "CreateUploadRequest"
      },
      "CreateUploadResponse": {
        "properties": {
          "file_id": {
            "type": "string",
            "format": "uuid",
            "title": "File Id"
          },
          "upload_token": {
            "type": "string",
            "title": "Upload Token"
          },
          "max_size": {
            "type": "integer",
            "title": "Max Size"
          },
          "expires_in": {
            "type": "integer",
            "title": "Expires In"
          },
          "price_cents": {
            "type": "integer",
            "title": "Price Cents"
          },
          "required_plan": {
            "type": "string",
            "title": "Required Plan"
          },
          "is_encrypted": {
            "type": "boolean",
            "title": "Is Encrypted"
          }
        },
        "type": "object",
        "required": [
          "file_id",
          "upload_token",
          "max_size",
          "expires_in",
          "price_cents",
          "required_plan",
          "is_encrypted"
        ],
        "title": "CreateUploadResponse"
      },
      "FileAccessResponse": {
        "properties": {
          "purchase_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Purchase Id"
          },
          "file_id": {
            "type": "string",
            "format": "uuid",
            "title": "File Id"
          },
          "already_owned": {
            "type": "boolean",
            "title": "Already Owned"
          },
          "access_type": {
            "type": "string",
            "title": "Access Type"
          },
          "purchase_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Purchase Status"
          },
          "download_token": {
            "type": "string",
            "title": "Download Token"
          },
          "file_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Key"
          },
          "alg": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alg"
          },
          "nonce": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nonce"
          },
          "ciphertext_sha256": {
            "type": "string",
            "title": "Ciphertext Sha256"
          },
          "ciphertext_size": {
            "type": "integer",
            "title": "Ciphertext Size"
          },
          "expires_in": {
            "type": "integer",
            "title": "Expires In"
          }
        },
        "type": "object",
        "required": [
          "file_id",
          "already_owned",
          "access_type",
          "download_token",
          "ciphertext_sha256",
          "ciphertext_size",
          "expires_in"
        ],
        "title": "FileAccessResponse"
      },
      "FileMetadataResponse": {
        "properties": {
          "file_id": {
            "type": "string",
            "format": "uuid",
            "title": "File Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "price_cents": {
            "type": "integer",
            "title": "Price Cents"
          },
          "required_plan": {
            "type": "string",
            "title": "Required Plan"
          },
          "is_encrypted": {
            "type": "boolean",
            "title": "Is Encrypted"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "alg": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alg"
          },
          "nonce": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nonce"
          },
          "ciphertext_sha256": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ciphertext Sha256"
          },
          "ciphertext_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ciphertext Size"
          },
          "uploaded_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Uploaded At"
          },
          "activated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Activated At"
          }
        },
        "type": "object",
        "required": [
          "file_id",
          "title",
          "price_cents",
          "required_plan",
          "is_encrypted",
          "status"
        ],
        "title": "FileMetadataResponse"
      },
      "FinalizeUploadRequest": {
        "properties": {
          "upload_receipt": {
            "type": "string",
            "minLength": 1,
            "title": "Upload Receipt"
          },
          "file_key": {
            "anyOf": [
              {
                "type": "string",
                "format": "password",
                "writeOnly": true
              },
              {
                "type": "null"
              }
            ],
            "title": "File Key"
          },
          "alg": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Alg"
          },
          "nonce": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nonce"
          },
          "ciphertext_sha256": {
            "type": "string",
            "title": "Ciphertext Sha256"
          },
          "ciphertext_size": {
            "type": "integer",
            "exclusiveMinimum": 0.0,
            "title": "Ciphertext Size"
          }
        },
        "type": "object",
        "required": [
          "upload_receipt",
          "ciphertext_sha256",
          "ciphertext_size"
        ],
        "title": "FinalizeUploadRequest"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "LoginRequest": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "captcha_id": {
            "type": "string",
            "minLength": 1,
            "title": "Captcha Id"
          },
          "captcha_nonce": {
            "type": "string",
            "minLength": 1,
            "title": "Captcha Nonce"
          }
        },
        "type": "object",
        "required": [
          "email",
          "password",
          "captcha_id",
          "captcha_nonce"
        ],
        "title": "LoginRequest"
      },
      "PaginatedTicketsResponse": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/TicketListItemResponse"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "type": "object",
        "required": [
          "total",
          "page",
          "page_size",
          "total_pages",
          "items"
        ],
        "title": "PaginatedTicketsResponse"
      },
      "PaginatedUserTransactionsResponse": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/UserTransactionListItem"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "type": "object",
        "required": [
          "total",
          "page",
          "page_size",
          "total_pages",
          "items"
        ],
        "title": "PaginatedUserTransactionsResponse"
      },
      "PromoCodeRedeemRequest": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          }
        },
        "type": "object",
        "required": [
          "code"
        ],
        "title": "PromoCodeRedeemRequest"
      },
      "PromoCodeRedeemResponse": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "added_amount": {
            "type": "number",
            "title": "Added Amount"
          },
          "balance": {
            "type": "number",
            "title": "Balance"
          }
        },
        "type": "object",
        "required": [
          "code",
          "added_amount",
          "balance"
        ],
        "title": "PromoCodeRedeemResponse"
      },
      "ReferralRegisterRequest": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "referral_code": {
            "type": "string",
            "title": "Referral Code"
          },
          "captcha_id": {
            "type": "string",
            "minLength": 1,
            "title": "Captcha Id"
          },
          "captcha_nonce": {
            "type": "string",
            "minLength": 1,
            "title": "Captcha Nonce"
          }
        },
        "type": "object",
        "required": [
          "email",
          "password",
          "referral_code",
          "captcha_id",
          "captcha_nonce"
        ],
        "title": "ReferralRegisterRequest"
      },
      "ReferralStatsResponse": {
        "properties": {
          "referral_code": {
            "type": "string",
            "title": "Referral Code"
          },
          "total_referrals": {
            "type": "integer",
            "title": "Total Referrals"
          },
          "referrals_today": {
            "type": "integer",
            "title": "Referrals Today"
          },
          "referrals_this_week": {
            "type": "integer",
            "title": "Referrals This Week"
          },
          "referrals_this_month": {
            "type": "integer",
            "title": "Referrals This Month"
          }
        },
        "type": "object",
        "required": [
          "referral_code",
          "total_referrals",
          "referrals_today",
          "referrals_this_week",
          "referrals_this_month"
        ],
        "title": "ReferralStatsResponse"
      },
      "RegisterRequest": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "password": {
            "type": "string",
            "title": "Password"
          },
          "captcha_id": {
            "type": "string",
            "minLength": 1,
            "title": "Captcha Id"
          },
          "captcha_nonce": {
            "type": "string",
            "minLength": 1,
            "title": "Captcha Nonce"
          }
        },
        "type": "object",
        "required": [
          "email",
          "password",
          "captcha_id",
          "captcha_nonce"
        ],
        "title": "RegisterRequest"
      },
      "SavedQueryCreateRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120,
            "minLength": 1,
            "title": "Name"
          },
          "payload": {
            "$ref": "#/components/schemas/SavedQueryPayload"
          }
        },
        "type": "object",
        "required": [
          "name",
          "payload"
        ],
        "title": "SavedQueryCreateRequest"
      },
      "SavedQueryListResponse": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Limit"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/SavedQueryResponse"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "type": "object",
        "required": [
          "total",
          "items"
        ],
        "title": "SavedQueryListResponse"
      },
      "SavedQueryPayload": {
        "properties": {
          "q": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Q"
          },
          "ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip"
          },
          "country": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Country"
          },
          "port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Port"
          },
          "ports": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Ports"
          },
          "tech": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tech"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "cert_domain": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Cert Domain"
          },
          "historical": {
            "type": "boolean",
            "title": "Historical",
            "default": false
          },
          "sort": {
            "type": "string",
            "title": "Sort",
            "default": "relevance"
          }
        },
        "type": "object",
        "title": "SavedQueryPayload"
      },
      "SavedQueryResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "payload": {
            "$ref": "#/components/schemas/SavedQueryPayload"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "payload",
          "created_at",
          "updated_at"
        ],
        "title": "SavedQueryResponse"
      },
      "SavedQueryUpdateRequest": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120,
                "minLength": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "payload": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SavedQueryPayload"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "SavedQueryUpdateRequest"
      },
      "ScanResultCertResponse": {
        "properties": {
          "sha256": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sha256"
          },
          "subject_cn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subject Cn"
          },
          "issuer_cn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Issuer Cn"
          },
          "dns_names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Dns Names"
          },
          "ip_addresses": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ip Addresses"
          },
          "not_before_unix": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Not Before Unix"
          },
          "not_after_unix": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Not After Unix"
          },
          "signature_algorithm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signature Algorithm"
          },
          "public_key_algorithm": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Key Algorithm"
          },
          "public_key_bits": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Public Key Bits"
          },
          "is_ca": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Ca"
          },
          "self_signed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Self Signed"
          },
          "raw": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultRawObjectResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "ScanResultCertResponse"
      },
      "ScanResultDnsResponse": {
        "properties": {
          "names": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Names"
          },
          "records": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Records"
          }
        },
        "type": "object",
        "title": "ScanResultDnsResponse"
      },
      "ScanResultPortResponse": {
        "properties": {
          "port": {
            "type": "integer",
            "title": "Port"
          },
          "transport": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transport"
          },
          "protocol": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Protocol"
          },
          "scheme": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scheme"
          },
          "status": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "status_code": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status Code"
          },
          "service": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Service"
          },
          "host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Host"
          },
          "sni": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sni"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "http_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Http Version"
          },
          "content_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content Type"
          },
          "content_length": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content Length"
          },
          "body_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body Size"
          },
          "body_preview": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body Preview"
          },
          "body_artifact_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body Artifact Size"
          },
          "body_artifact_truncated": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body Artifact Truncated"
          },
          "tech": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Tech"
          },
          "servers": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Servers"
          },
          "cms": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cms"
          },
          "frameworks": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frameworks"
          },
          "domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domains"
          },
          "cert_domains": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Cert Domains"
          },
          "html_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Html Domains"
          },
          "titles": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Titles"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "meta_generator": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Meta Generator"
          },
          "html_paths": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Html Paths"
          },
          "body_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body Sha256"
          },
          "header_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Sha256"
          },
          "cert_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert Sha256"
          },
          "favicon_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Favicon Sha256"
          },
          "cert": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultCertResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "dns": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultDnsResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "response_header_sha256": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Header Sha256"
          },
          "tls": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tls"
          },
          "tls_version": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tls Version"
          },
          "tls_alpn": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tls Alpn"
          },
          "redirect_to": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect To"
          },
          "redirect_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Redirect Host"
          },
          "raw": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultRawResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "port"
        ],
        "title": "ScanResultPortResponse"
      },
      "ScanResultRawObjectResponse": {
        "properties": {
          "sha256": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sha256"
          },
          "object_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Object Key"
          },
          "bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bucket"
          },
          "available": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Available"
          },
          "truncated": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Truncated"
          },
          "size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Size"
          },
          "media_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Media Type"
          },
          "encoding": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Encoding"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "content_base64": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content Base64"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          }
        },
        "type": "object",
        "title": "ScanResultRawObjectResponse"
      },
      "ScanResultRawResponse": {
        "properties": {
          "has_body": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Body"
          },
          "has_header": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Header"
          },
          "has_cert": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Cert"
          },
          "has_favicon": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Favicon"
          },
          "body": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultRawObjectResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "header": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultRawObjectResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "cert": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScanResultRawObjectResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "ScanResultRawResponse"
      },
      "ScanResultResponse": {
        "properties": {
          "ip": {
            "type": "string",
            "title": "Ip"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          },
          "asn": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asn"
          },
          "asn_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asn Country"
          },
          "asn_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asn Name"
          },
          "asn_org": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Asn Org"
          },
          "port_numbers": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Port Numbers"
          },
          "ports": {
            "items": {
              "$ref": "#/components/schemas/ScanResultPortResponse"
            },
            "type": "array",
            "title": "Ports"
          },
          "all_tech": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Tech"
          },
          "all_servers": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Servers"
          },
          "all_cms": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Cms"
          },
          "all_frameworks": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Frameworks"
          },
          "all_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Domains"
          },
          "cert_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cert Domains"
          },
          "html_domains": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Html Domains"
          },
          "status_codes": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status Codes"
          },
          "schemes": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Schemes"
          },
          "protocols": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Protocols"
          },
          "transports": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Transports"
          },
          "all_title": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Title"
          },
          "all_meta_generator": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Meta Generator"
          },
          "all_html_paths": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Html Paths"
          },
          "all_body_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Body Sha256"
          },
          "all_header_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Header Sha256"
          },
          "all_cert_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Cert Sha256"
          },
          "all_favicon_sha256": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "All Favicon Sha256"
          },
          "has_http": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Http"
          },
          "has_tls": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Tls"
          },
          "has_cert": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Cert"
          },
          "has_body": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Body"
          },
          "has_favicon": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Favicon"
          },
          "job_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Job Id"
          },
          "task_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Id"
          },
          "timestamp": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Timestamp"
          },
          "scan_ip": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scan Ip"
          }
        },
        "type": "object",
        "required": [
          "ip"
        ],
        "title": "ScanResultResponse"
      },
      "ScanResultSearchResponse": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "per_page": {
            "type": "integer",
            "title": "Per Page"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          },
          "country_counts": {
            "additionalProperties": {
              "type": "integer"
            },
            "type": "object",
            "title": "Country Counts"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/ScanResultResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Session Id"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "type": "object",
        "required": [
          "total",
          "page",
          "per_page",
          "total_pages"
        ],
        "title": "ScanResultSearchResponse"
      },
      "SellerDashboardPurchaseResponse": {
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time",
            "title": "Date"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "price_cents": {
            "type": "integer",
            "title": "Price Cents"
          }
        },
        "type": "object",
        "required": [
          "date",
          "status",
          "title",
          "price_cents"
        ],
        "title": "SellerDashboardPurchaseResponse"
      },
      "SellerDashboardPurchasesResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SellerDashboardPurchaseResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          },
          "offset": {
            "type": "integer",
            "title": "Offset"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "limit",
          "offset"
        ],
        "title": "SellerDashboardPurchasesResponse"
      },
      "SellerDashboardResponse": {
        "properties": {
          "pending_balance_cents": {
            "type": "integer",
            "title": "Pending Balance Cents"
          },
          "total_sales": {
            "type": "integer",
            "title": "Total Sales"
          },
          "total_profit_cents": {
            "type": "integer",
            "title": "Total Profit Cents"
          },
          "recent_purchases": {
            "$ref": "#/components/schemas/SellerDashboardPurchasesResponse"
          }
        },
        "type": "object",
        "required": [
          "pending_balance_cents",
          "total_sales",
          "total_profit_cents",
          "recent_purchases"
        ],
        "title": "SellerDashboardResponse"
      },
      "SellerListingResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "price_cents": {
            "type": "integer",
            "title": "Price Cents"
          },
          "sales": {
            "type": "integer",
            "title": "Sales"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "title": "Date"
          }
        },
        "type": "object",
        "required": [
          "id",
          "title",
          "price_cents",
          "sales",
          "date"
        ],
        "title": "SellerListingResponse"
      },
      "SellerListingsResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SellerListingResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          },
          "offset": {
            "type": "integer",
            "title": "Offset"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "limit",
          "offset"
        ],
        "title": "SellerListingsResponse"
      },
      "SubscriptionBalancePurchaseRequest": {
        "properties": {
          "plan_code": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "billing_cycle": {
            "type": "string",
            "title": "Billing Cycle"
          }
        },
        "type": "object",
        "required": [
          "plan_code",
          "billing_cycle"
        ],
        "title": "SubscriptionBalancePurchaseRequest"
      },
      "SubscriptionPlanResponse": {
        "properties": {
          "code": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "billing_cycle": {
            "type": "string",
            "title": "Billing Cycle"
          },
          "price_usd": {
            "type": "number",
            "title": "Price Usd"
          },
          "duration_days": {
            "type": "integer",
            "title": "Duration Days"
          }
        },
        "type": "object",
        "required": [
          "code",
          "billing_cycle",
          "price_usd",
          "duration_days"
        ],
        "title": "SubscriptionPlanResponse"
      },
      "SubscriptionPlansResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SubscriptionPlanResponse"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "SubscriptionPlansResponse"
      },
      "TicketCreateRequest": {
        "properties": {
          "subject": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Subject"
          },
          "content": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 1,
            "title": "Content"
          }
        },
        "type": "object",
        "required": [
          "subject",
          "content"
        ],
        "title": "TicketCreateRequest"
      },
      "TicketDetailResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "subject": {
            "type": "string",
            "title": "Subject"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "last_message_at": {
            "type": "string",
            "format": "date-time",
            "title": "Last Message At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "messages": {
            "items": {
              "$ref": "#/components/schemas/TicketMessageResponse"
            },
            "type": "array",
            "title": "Messages"
          }
        },
        "type": "object",
        "required": [
          "id",
          "user_id",
          "subject",
          "status",
          "last_message_at",
          "created_at",
          "messages"
        ],
        "title": "TicketDetailResponse"
      },
      "TicketListItemResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "subject": {
            "type": "string",
            "title": "Subject"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "last_message_at": {
            "type": "string",
            "format": "date-time",
            "title": "Last Message At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "subject",
          "status",
          "last_message_at",
          "created_at"
        ],
        "title": "TicketListItemResponse"
      },
      "TicketMessageResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "sender_user_id": {
            "type": "string",
            "format": "uuid",
            "title": "Sender User Id"
          },
          "sender_role": {
            "type": "string",
            "title": "Sender Role"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "sender_user_id",
          "sender_role",
          "content",
          "created_at"
        ],
        "title": "TicketMessageResponse"
      },
      "TokenBalancePurchaseRequest": {
        "properties": {
          "package_code": {
            "type": "string",
            "title": "Package Code"
          }
        },
        "type": "object",
        "required": [
          "package_code"
        ],
        "title": "TokenBalancePurchaseRequest"
      },
      "TokenPackageResponse": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "tokens": {
            "type": "integer",
            "minimum": 1.0,
            "title": "Tokens"
          },
          "price_usd": {
            "type": "number",
            "exclusiveMinimum": 0.0,
            "title": "Price Usd"
          }
        },
        "type": "object",
        "required": [
          "code",
          "tokens",
          "price_usd"
        ],
        "title": "TokenPackageResponse"
      },
      "TokenPackagesResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/TokenPackageResponse"
            },
            "type": "array",
            "title": "Items"
          }
        },
        "type": "object",
        "required": [
          "items"
        ],
        "title": "TokenPackagesResponse"
      },
      "UserActiveSubscriptionResponse": {
        "properties": {
          "plan_code": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "billing_cycle": {
            "type": "string",
            "title": "Billing Cycle"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Started At"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expires At"
          },
          "days_left": {
            "type": "integer",
            "title": "Days Left"
          },
          "is_current": {
            "type": "boolean",
            "title": "Is Current"
          }
        },
        "type": "object",
        "required": [
          "plan_code",
          "billing_cycle",
          "started_at",
          "expires_at",
          "days_left",
          "is_current"
        ],
        "title": "UserActiveSubscriptionResponse"
      },
      "UserMeResponse": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "role": {
            "$ref": "#/components/schemas/UserRole"
          },
          "plan_code": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "balance": {
            "type": "number",
            "title": "Balance"
          },
          "token_balance": {
            "type": "integer",
            "title": "Token Balance"
          }
        },
        "type": "object",
        "required": [
          "email",
          "role",
          "plan_code",
          "balance",
          "token_balance"
        ],
        "title": "UserMeResponse"
      },
      "UserPlan": {
        "type": "string",
        "enum": [
          "free",
          "starter",
          "professional",
          "business",
          "enterprise"
        ],
        "title": "UserPlan"
      },
      "UserPurchaseResponse": {
        "properties": {
          "purchase_id": {
            "type": "string",
            "format": "uuid",
            "title": "Purchase Id"
          },
          "file_id": {
            "type": "string",
            "format": "uuid",
            "title": "File Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "price_cents": {
            "type": "integer",
            "title": "Price Cents"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "title": "Date"
          }
        },
        "type": "object",
        "required": [
          "purchase_id",
          "file_id",
          "title",
          "price_cents",
          "status",
          "date"
        ],
        "title": "UserPurchaseResponse"
      },
      "UserPurchasesResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/UserPurchaseResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "limit": {
            "type": "integer",
            "title": "Limit"
          },
          "offset": {
            "type": "integer",
            "title": "Offset"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "limit",
          "offset"
        ],
        "title": "UserPurchasesResponse"
      },
      "UserReferralCodeResponse": {
        "properties": {
          "referral_code": {
            "type": "string",
            "title": "Referral Code"
          }
        },
        "type": "object",
        "required": [
          "referral_code"
        ],
        "title": "UserReferralCodeResponse"
      },
      "UserResponse": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "role": {
            "$ref": "#/components/schemas/UserRole"
          },
          "plan_code": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "balance": {
            "type": "number",
            "title": "Balance"
          },
          "token_balance": {
            "type": "integer",
            "title": "Token Balance"
          }
        },
        "type": "object",
        "required": [
          "email",
          "role",
          "plan_code",
          "balance",
          "token_balance"
        ],
        "title": "UserResponse"
      },
      "UserRole": {
        "type": "string",
        "enum": [
          "admin",
          "seller",
          "user"
        ],
        "title": "UserRole"
      },
      "UserSubscriptionStatsResponse": {
        "properties": {
          "current_plan": {
            "$ref": "#/components/schemas/UserPlan"
          },
          "plan_expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Plan Expires At"
          },
          "is_active": {
            "type": "boolean",
            "title": "Is Active"
          },
          "days_left": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Days Left"
          },
          "api_access": {
            "type": "boolean",
            "title": "Api Access"
          },
          "historical_access": {
            "type": "boolean",
            "title": "Historical Access"
          },
          "max_result_pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Result Pages"
          },
          "monthly_results_used": {
            "type": "integer",
            "title": "Monthly Results Used"
          },
          "monthly_results_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Results Limit"
          },
          "monthly_results_remaining": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Results Remaining"
          },
          "monthly_results_period_started_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Results Period Started At"
          },
          "active_subscriptions_count": {
            "type": "integer",
            "title": "Active Subscriptions Count"
          },
          "active_subscriptions": {
            "items": {
              "$ref": "#/components/schemas/UserActiveSubscriptionResponse"
            },
            "type": "array",
            "title": "Active Subscriptions"
          }
        },
        "type": "object",
        "required": [
          "current_plan",
          "plan_expires_at",
          "is_active",
          "days_left",
          "api_access",
          "historical_access",
          "max_result_pages",
          "monthly_results_used",
          "monthly_results_limit",
          "monthly_results_remaining",
          "monthly_results_period_started_at",
          "active_subscriptions_count",
          "active_subscriptions"
        ],
        "title": "UserSubscriptionStatsResponse"
      },
      "UserTransactionListItem": {
        "properties": {
          "amount": {
            "type": "number",
            "title": "Amount"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "type",
          "created_at"
        ],
        "title": "UserTransactionListItem"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
