{"openapi":"3.1.0","info":{"title":"Lium Backend API","description":"\n## 🚀 Lium Backend API\n\nA comprehensive decentralized compute platform that enables users to rent GPU resources from a network of providers/nodes.\n\n\n*Built with FastAPI, PostgreSQL, Redis, and integrated with the Bittensor ecosystem.*\n    ","contact":{"name":"Lium","url":"https://lium.io/","email":"support@lium.io"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"version":"1.0.0"},"servers":[{"url":"/api","description":"Production API"},{"url":"http://localhost:8000/api","description":"Development API"}],"paths":{"/":{"get":{"tags":["General APIs with JWT"],"summary":"Health Check","operationId":"health_check__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sleep/{seconds}":{"get":{"tags":["General APIs with JWT"],"summary":"Sleep Endpoint","operationId":"sleep_endpoint_sleep__seconds__get","parameters":[{"name":"seconds","in":"path","required":true,"schema":{"type":"number","title":"Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/version":{"get":{"tags":["General APIs with JWT"],"summary":"Get Version","description":"Return app start time for deployment verification.","operationId":"get_version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/users":{"post":{"tags":["General APIs with JWT"],"summary":"Signup","operationId":"signup_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/get-ip":{"get":{"tags":["General APIs with JWT"],"summary":"Get Client Ip Endpoint","operationId":"get_client_ip_endpoint_users_get_ip_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/users/search":{"get":{"tags":["General APIs with JWT"],"summary":"Search Users","operationId":"search_users_users_search_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/login":{"post":{"tags":["General APIs with JWT"],"summary":"Login","operationId":"login_users_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginUserDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me":{"get":{"tags":["Support API Key Authentication"],"summary":"Me","operationId":"me_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]},"put":{"tags":["General APIs with JWT"],"summary":"Update User","operationId":"update_user_users_me_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]},"delete":{"tags":["General APIs with JWT"],"summary":"Delete User","operationId":"delete_user_users_me_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/discord/oauth-url":{"get":{"tags":["General APIs with JWT"],"summary":"Get Discord Oauth Url","operationId":"get_discord_oauth_url_users_me_discord_oauth_url_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordOAuthAuthorizationUrlResponse"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/discord/callback":{"get":{"tags":["General APIs with JWT"],"summary":"Connect Discord Callback","operationId":"connect_discord_callback_users_me_discord_callback_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DiscordOAuthCallbackResponse"},{"type":"null"}],"title":"Response Connect Discord Callback Users Me Discord Callback Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me/discord":{"delete":{"tags":["General APIs with JWT"],"summary":"Disconnect Discord","operationId":"disconnect_discord_users_me_discord_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Disconnect Discord Users Me Discord Delete"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/preference":{"get":{"tags":["Support API Key Authentication"],"summary":"Get User Preference","operationId":"get_user_preference_users_me_preference_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/preference/default-template":{"delete":{"tags":["Support API Key Authentication"],"summary":"Clear Default Template","operationId":"clear_default_template_users_me_preference_default_template_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/request-reset-password":{"post":{"tags":["General APIs with JWT"],"summary":"Request Reset Password","operationId":"request_reset_password_users_request_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestResetPasswordDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/reset-password":{"post":{"tags":["General APIs with JWT"],"summary":"Reset Password","operationId":"reset_password_users_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/presigned-url":{"post":{"tags":["General APIs with JWT"],"summary":"Generate Presigned Url","description":"Generate presigned url for frontend to upload file to S3.","operationId":"generate_presigned_url_users_presigned_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileInput"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/auto-top-up":{"get":{"tags":["General APIs with JWT"],"summary":"Get Auto Top Up","description":"Get auto top up configuration for the user.","operationId":"get_auto_top_up_users_me_auto_top_up_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AutoTopUp"},{"type":"null"}],"title":"Response Get Auto Top Up Users Me Auto Top Up Get"}}}}},"security":[{"JwtAccessBearer":[]}]},"put":{"tags":["General APIs with JWT"],"summary":"Update Auto Top Up","description":"Update auto top up configuration for the user.","operationId":"update_auto_top_up_users_me_auto_top_up_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTopUpUpdateDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTopUp"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/notification":{"get":{"tags":["General APIs with JWT"],"summary":"Get Notification Setting","description":"Return the effective notification settings without creating a DB row.\n\nWhen no NotificationSetting row exists, ``low_balance`` defaults to True\n(the effective default), so the frontend checkbox renders as checked.","operationId":"get_notification_setting_users_me_notification_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EffectiveNotificationSettingDto"}}}}},"security":[{"JwtAccessBearer":[]}]},"put":{"tags":["General APIs with JWT"],"summary":"Update Notification Setting","operationId":"update_notification_setting_users_me_notification_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingUpdateDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSetting"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/low-balance-threshold":{"get":{"tags":["General APIs with JWT"],"summary":"Get Low Balance Threshold","description":"Return the effective low balance config (system defaults merged with\nuser overrides) without creating a DB row.","operationId":"get_low_balance_threshold_users_me_low_balance_threshold_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EffectiveLowBalanceConfigDto"}}}}},"security":[{"JwtAccessBearer":[]}]},"put":{"tags":["General APIs with JWT"],"summary":"Update Low Balance Threshold","description":"Update low balance threshold configuration for the user.","operationId":"update_low_balance_threshold_users_me_low_balance_threshold_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LowBalanceThresholdUpdateDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LowBalanceThreshold"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/transfer-credits":{"post":{"tags":["General APIs with JWT"],"summary":"Transfer Credits","operationId":"transfer_credits_users_me_transfer_credits_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferCreditsDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/events":{"get":{"tags":["General APIs with JWT"],"summary":"Get Events","operationId":"get_events_users_me_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/transfer-history":{"get":{"tags":["General APIs with JWT"],"summary":"Get Transfer History","operationId":"get_transfer_history_users_me_transfer_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TransferHistoryDto"},"type":"array","title":"Response Get Transfer History Users Me Transfer History Get"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/transfer-credit-history":{"get":{"tags":["General APIs with JWT"],"summary":"Get Transfer Credit History","description":"Alias for transfer-history endpoint to maintain backward compatibility","operationId":"get_transfer_credit_history_users_me_transfer_credit_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TransferHistoryDto"},"type":"array","title":"Response Get Transfer Credit History Users Me Transfer Credit History Get"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/users/me/referral-payout-method":{"put":{"tags":["General APIs with JWT"],"summary":"Update Referral Payout Method","description":"Update the user's preferred referral payout method (balance, USD via Stripe Connect, or crypto)","operationId":"update_referral_payout_method_users_me_referral_payout_method_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralPayoutMethodUpdateDto"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/validator/{validator_hotkey}/executors":{"post":{"tags":["General APIs with JWT"],"summary":"Get Executors","operationId":"get_executors_validator__validator_hotkey__executors_post","parameters":[{"name":"validator_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Validator Hotkey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/validator/{validator_hotkey}/latest-set-weights":{"post":{"tags":["General APIs with JWT"],"summary":"Save Latest Set Weights","operationId":"save_latest_set_weights_validator__validator_hotkey__latest_set_weights_post","parameters":[{"name":"validator_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Validator Hotkey"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestSetWeightsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["General APIs with JWT"],"summary":"Get Latest Set Weights","operationId":"get_latest_set_weights_validator__validator_hotkey__latest_set_weights_get","parameters":[{"name":"validator_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Validator Hotkey"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/validator/{validator_hotkey}/executor-health-check":{"post":{"tags":["General APIs with JWT"],"summary":"Check Executor Health","description":"Endpoint to run health check on a node.","operationId":"check_executor_health_validator__validator_hotkey__executor_health_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutorHealthCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutorHealthCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/watchtower/digest":{"get":{"tags":["General APIs with JWT"],"summary":"Get signed Docker image digest","description":"Returns the current Docker Hub digest for the default executor image, signed by the validator's Bittensor hotkey. Executors use this to verify they are running the correct image via Watchtower.","operationId":"get_watchtower_digest_watchtower_digest_get","responses":{"200":{"description":"Signed digest payload","content":{"application/json":{"schema":{}}}},"502":{"description":"Failed to fetch digest from Docker Hub"}}}},"/executors":{"get":{"tags":["General APIs with JWT"],"summary":"Get all available nodes","description":"Endpoint to retrieve all nodes that are not currently rented.","operationId":"get_available_executors_executors_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"}},{"name":"machine_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Names"}},{"name":"price_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Lte"}},{"name":"price_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Gte"}},{"name":"gpu_count_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count Lte"}},{"name":"gpu_count_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count Gte"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"}},{"name":"max_distance_mile","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Distance Mile"}},{"name":"bookmarked","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bookmarked"}},{"name":"machine_request_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Request Id"}},{"name":"collateral_deposited","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Collateral Deposited"}}],"responses":{"200":{"description":"List of available nodes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExecutorDetailResponse"},"title":"Response Get Available Executors Executors Get"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/executors/{executor_uuid}/rent":{"post":{"tags":["Support API Key Authentication"],"summary":"Rent node","description":"Endpoint to rent a node with the provided details.","operationId":"rent_executors__executor_uuid__rent_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"executor_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Executor Uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RentExecutorRequest"}}}},"responses":{"200":{"description":"Rent node","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/executors/count":{"get":{"tags":["General APIs with JWT"],"summary":"Count Executors","operationId":"count_executors_executors_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/executors/total-count":{"get":{"tags":["General APIs with JWT"],"summary":"Get Total Count Of Active Executors","operationId":"get_total_count_of_active_executors_executors_total_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalCountExecutorResponse"}}}}}}},"/executors/stats":{"get":{"tags":["General APIs with JWT"],"summary":"Get stats of nodes","description":"Endpoint to retrieve stats of nodes.","operationId":"get_stats_of_executors_executors_stats_get","responses":{"200":{"description":"Stats of nodes","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ExecutorStatsResponse"},"type":"array","title":"Response Get Stats Of Executors Executors Stats Get"}}}},"500":{"description":"Internal server error"}}}},"/executors/default-docker-image":{"get":{"tags":["General APIs with JWT"],"summary":"Get default docker image of node","description":"Endpoint to retrieve default docker image of node.","operationId":"get_default_docker_image_executors_default_docker_image_get","parameters":[{"name":"gpu_model","in":"query","required":true,"schema":{"type":"string","title":"Gpu Model"}},{"name":"driver_version","in":"query","required":true,"schema":{"type":"string","title":"Driver Version"}}],"responses":{"200":{"description":"get default docker image of node","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DefaultDockerImage"},"title":"Response Get Default Docker Image Executors Default Docker Image Get"}}}},"404":{"description":"Node not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/executors/deployment-estimate":{"get":{"tags":["General APIs with JWT"],"summary":"Estimate deployment time","description":"Estimate deployment time for a template on a specific node.","operationId":"get_deployment_estimate_executors_deployment_estimate_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"template_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Template Id"}},{"name":"executor_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Executor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentEstimateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/executors/{executor_uuid}/hardware-utilization":{"get":{"tags":["General APIs with JWT"],"summary":"Get CPU and other hardware utilization for a node","description":"Endpoint to retrieve hardware utilization metrics.","operationId":"get_hardware_utilization_executors__executor_uuid__hardware_utilization_get","parameters":[{"name":"executor_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Executor Uuid"}}],"responses":{"200":{"description":"Hardware utilization metrics","content":{"application/json":{"schema":{}}}},"404":{"description":"Node not found"},"500":{"description":"Failed to retrieve metrics"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods":{"get":{"tags":["Support API Key Authentication"],"summary":"Get all pods","description":"Endpoint to get all available pods.","operationId":"get_pods_pods_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"machine_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Names"}},{"name":"price_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Lte"}},{"name":"price_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Gte"}},{"name":"gpu_count_lte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count Lte"}},{"name":"gpu_count_gte","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count Gte"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"}},{"name":"max_distance_mile","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Distance Mile"}},{"name":"bookmarked","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bookmarked"}},{"name":"machine_request_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Request Id"}},{"name":"collateral_deposited","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Collateral Deposited"}},{"name":"only_favorites","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Only Favorites"}}],"responses":{"200":{"description":"Pods retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PodListItemResponse"},"title":"Response Get Pods Pods Get"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}":{"get":{"tags":["Support API Key Authentication"],"summary":"Get pod by ID","description":"Endpoint to get a specific pod by its ID.","operationId":"get_pod_by_id_pods__id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Pod retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodDetailResponse"}}}},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Support API Key Authentication"],"summary":"Update pod","description":"Endpoint to update an existing pod with the provided details.","operationId":"update_pod_pods__id__patch","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodUpdateRequest"}}}},"responses":{"200":{"description":"Pod updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pod"}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Support API Key Authentication"],"summary":"Delete pod","description":"Endpoint to delete an existing pod.","operationId":"delete_pod_pods__id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Delete an existing pod","content":{"application/json":{"schema":{}}}},"204":{"description":"Pod deleted successfully"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Support API Key Authentication"],"summary":"Edit pod","description":"Endpoint to edit an existing pod with the provided details.","operationId":"edit_pod_pods__id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTemplateRequest"}}}},"responses":{"200":{"description":"Pod edited successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/discord-channel":{"post":{"tags":["Support API Key Authentication"],"summary":"Create pod Discord support channel","description":"Endpoint to create or return a Discord support channel for a specific pod.","operationId":"create_pod_discord_channel_pods__id__discord_channel_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodDiscordChannelRequest"}}}},"responses":{"200":{"description":"Discord support channel is ready","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PodDiscordChannelResponse"}}}},"400":{"description":"Discord support channel could not be created"},"403":{"description":"User not authorized"},"404":{"description":"Pod or node not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/like":{"post":{"tags":["Support API Key Authentication"],"summary":"Toggle like/unlike a pod","description":"Endpoint to toggle like/unlike a pod.","operationId":"toggle_like_pod_pods__id__like_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Pod liked/unliked successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pod"}}}},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/schedule-removal":{"post":{"tags":["Support API Key Authentication"],"summary":"Schedule removal of a pod","description":"Endpoint to schedule removal of a pod.","operationId":"schedule_removal_pods__id__schedule_removal_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRemovalRequest"}}}},"responses":{"200":{"description":"Pod removal scheduled successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Support API Key Authentication"],"summary":"Delete scheduled removal of a pod","description":"Endpoint to delete scheduled removal of a pod.","operationId":"delete_scheduled_removal_pods__id__schedule_removal_delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Pod removal scheduled deleted successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/multiple-ssh-keys":{"post":{"tags":["Support API Key Authentication"],"summary":"Add SSH keys to pod","description":"Endpoint to add multiple SSH keys to an existing pod.","operationId":"add_multiple_ssh_keys_to_pod_pods__id__multiple_ssh_keys_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMultipleSshKeysToPodRequest"}}}},"responses":{"200":{"description":"SSH keys added successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/reboot":{"post":{"tags":["Support API Key Authentication"],"summary":"Reboot pod","description":"Endpoint to reboot a pod.","operationId":"reboot_pod_pods__id__reboot_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RebootPodRequest"}}}},"responses":{"200":{"description":"Pod rebooted successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/switch-template":{"put":{"tags":["Support API Key Authentication"],"summary":"Switch template","description":"Endpoint to switch the template of a pod.","operationId":"switch_template_pod_pods__id__switch_template_put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchTemplatePodRequest"}}}},"responses":{"200":{"description":"Pod switched template successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pod"}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found or template not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{id}/install-jupyter":{"post":{"tags":["Support API Key Authentication","Support API Key Authentication"],"summary":"Install Jupyter for a pod","description":"Install Jupyter for a specific pod","operationId":"install_jupyter_for_pod_pods__id__install_jupyter_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallJupyterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Pod"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{pod_id}/backup":{"post":{"tags":["Support API Key Authentication"],"summary":"Trigger backup pod","description":"Endpoint to backup a pod.","operationId":"trigger_backup_pod_pods__pod_id__backup_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualBackupTriggerRequest"}}}},"responses":{"200":{"description":"Pod backed up successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{pod_uuid}/restore-logs":{"get":{"tags":["Support API Key Authentication"],"summary":"Get restore logs","description":"Endpoint to get restore logs for a specific pod with optional pagination.","operationId":"get_restore_logs_for_pod_pods__pod_uuid__restore_logs_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Restore logs retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_RestoreLogResponse_"}}}},"404":{"description":"Pod not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{pod_uuid}/restore":{"post":{"tags":["Support API Key Authentication"],"summary":"Start restore process","description":"Endpoint to start restore process for a specific pod with backup ID.","operationId":"trigger_restore_pod_pods__pod_uuid__restore_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_uuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreRequest"}}}},"responses":{"200":{"description":"Restore process initiated successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid input"},"404":{"description":"Pod or backup not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{pod_id}/feedback":{"post":{"tags":["Support API Key Authentication","Support API Key Authentication"],"summary":"Create feedback for a pod","description":"Create feedback for a specific pod","operationId":"create_pod_feedback_pods__pod_id__feedback_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{pod_id}/gpu-utilization":{"get":{"tags":["Support API Key Authentication"],"summary":"Get GPU utilization for a specific pod","description":"Endpoint to retrieve GPU utilization metrics for a specific pod.","operationId":"get_pod_gpu_utilization_pods__pod_id__gpu_utilization_get","parameters":[{"name":"pod_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Id"}}],"responses":{"200":{"description":"GPU utilization metrics","content":{"application/json":{"schema":{}}}},"404":{"description":"Pod not found"},"500":{"description":"Failed to retrieve metrics"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pods/{pod_id}/logs":{"get":{"tags":["Support API Key Authentication"],"summary":"Stream container logs","description":"Stream container logs from the node for a specific pod using Server-Sent Events.","operationId":"stream_container_logs_pods__pod_id__logs_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Id"}},{"name":"tail","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Tail"}},{"name":"follow","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Follow"}}],"responses":{"200":{"description":"Log stream started successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"Pod not found"},"403":{"description":"User not authorized"},"500":{"description":"Failed to stream logs"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ssh-keys":{"get":{"tags":["Support API Key Authentication"],"summary":"Find My Ssh Keys","operationId":"find_my_ssh_keys_ssh_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SshKey"},"type":"array","title":"Response Find My Ssh Keys Ssh Keys Get"}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["Support API Key Authentication"],"summary":"Register Ssh Key","operationId":"register_ssh_key_ssh_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSshKey"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/ssh-keys/{id}":{"get":{"tags":["Support API Key Authentication"],"summary":"Find One My Ssh Key","operationId":"find_one_my_ssh_key_ssh_keys__id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Support API Key Authentication"],"summary":"Update","operationId":"update_ssh_keys__id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSshKey"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Support API Key Authentication"],"summary":"Delete","operationId":"delete_ssh_keys__id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stripe/create-checkout-session":{"post":{"tags":["General APIs with JWT"],"summary":"Create Checkout Session","operationId":"create_checkout_session_stripe_create_checkout_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/stripe/webhook":{"post":{"tags":["General APIs with JWT"],"summary":"Stripe Webhook","operationId":"stripe_webhook_stripe_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/stripe/payments/payment-methods":{"get":{"tags":["General APIs with JWT"],"summary":"List Payment Methods","operationId":"list_payment_methods_stripe_payments_payment_methods_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Add Payment Method","operationId":"add_payment_method_stripe_payments_payment_methods_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCardRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/stripe/payments/payment-methods/{payment_method_id}":{"delete":{"tags":["General APIs with JWT"],"summary":"Delete Payment Method","operationId":"delete_payment_method_stripe_payments_payment_methods__payment_method_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"payment_method_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Method Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stripe/connect/account":{"post":{"tags":["General APIs with JWT"],"summary":"Create Connect Account","description":"Create a Stripe Connect account for receiving payouts","operationId":"create_connect_account_stripe_connect_account_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectAccountRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/stripe/connect/onboarding-link":{"post":{"tags":["General APIs with JWT"],"summary":"Create Onboarding Link","description":"Generate an onboarding link for Stripe Connect account setup","operationId":"create_onboarding_link_stripe_connect_onboarding_link_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOnboardingLinkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/stripe/invoices/{invoice_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get Invoice","operationId":"get_invoice_stripe_invoices__invoice_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StripeInvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stripe/connect/supported-countries":{"get":{"tags":["General APIs with JWT"],"summary":"Get Supported Countries","description":"Get list of all countries supported by Stripe Connect","operationId":"get_supported_countries_stripe_connect_supported_countries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/github-login":{"post":{"tags":["General APIs with JWT"],"summary":"Login With Github","operationId":"login_with_github_auth_github_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LoginURLRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/github-login-complete":{"post":{"tags":["General APIs with JWT"],"summary":"Github Login Complete","description":"GitHub login callback","operationId":"github_login_complete_auth_github_login_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthHandlerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/google-login":{"post":{"tags":["General APIs with JWT"],"summary":"Login With Google","operationId":"login_with_google_auth_google_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LoginURLRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/google-login-complete":{"post":{"tags":["General APIs with JWT"],"summary":"Google Login Complete","description":"GitHub login callback","operationId":"google_login_complete_auth_google_login_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthHandlerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/verify-email":{"post":{"tags":["General APIs with JWT"],"summary":"Verify Email","description":"Endpoint to verify email using a token.","operationId":"verify_email_auth_verify_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/resend-verify-email":{"post":{"tags":["General APIs with JWT"],"summary":"Resend Verify Email","description":"Endpoint to resent verify email","operationId":"resend_verify_email_auth_resend_verify_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendVerifyEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates":{"get":{"tags":["Support API Key Authentication"],"summary":"Find Templates","description":"Find all templates for a user. Support API Key authentication.\n\nOptional query parameters:\n- gpu_model: GPU model name (e.g., \"NVIDIA H100 80GB HBM3\")\n- driver_version: Driver version (e.g., \"535.86.10\")\n\nIf both gpu_model and driver_version are provided, each template will include\ncompatibility information.","operationId":"find_templates_templates_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"gpu_model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu Model"}},{"name":"driver_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Driver Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TemplateResponse"},"title":"Response Find Templates Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Support API Key Authentication"],"summary":"Create Template","operationId":"create_template_templates_post","security":[{"JwtAccessBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Template"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates/{id}":{"get":{"tags":["Support API Key Authentication"],"summary":"Find One Template","operationId":"find_one_template_templates__id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Support API Key Authentication"],"summary":"Update Template","operationId":"update_template_templates__id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Template"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Support API Key Authentication"],"summary":"Delete Template","operationId":"delete_template_templates__id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/locations/country_codes":{"get":{"tags":["General APIs with JWT"],"summary":"Find Templates","operationId":"find_templates_locations_country_codes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/machines":{"get":{"tags":["General APIs with JWT"],"summary":"List all available machines","operationId":"list_machines_machines_get","responses":{"200":{"description":"List all available machines","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MachineListResponse"},"type":"array","title":"Response List Machines Machines Get"}}}}}}},"/machines/capacity":{"get":{"tags":["General APIs with JWT"],"summary":"Open earning capacity by GPU type","description":"Aggregate per-bucket capacity from validator-precomputed estimates in Redis.\n\nReturns one row per base_model with capacity for bucket=1 (single GPU) and\nbucket=8 (full rig). Source: GPU_ESTIMATES_KEY populated by the validator's\nprecompute_all_estimates(). Empty list when validator has not pushed yet.","operationId":"list_capacity_machines_capacity_get","responses":{"200":{"description":"Open earning capacity per base GPU model, grouped by gpu_count bucket","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BucketCapacityRow"},"type":"array","title":"Response List Capacity Machines Capacity Get"}}}}}}},"/machines/estimate":{"get":{"tags":["General APIs with JWT"],"summary":"Get GPU reward estimate","operationId":"estimate_machines_estimate_get","parameters":[{"name":"gpu_model","in":"query","required":true,"schema":{"type":"string","title":"Gpu Model"}},{"name":"gpu_count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Gpu Count"}},{"name":"is_rented","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Is Rented"}},{"name":"gpu_splitting","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Gpu Splitting"}},{"name":"gpu_splitting_min_count","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Gpu Splitting Min Count"}},{"name":"sysbox_runtime","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Sysbox Runtime"}},{"name":"collateral_deposited","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Collateral Deposited"}}],"responses":{"200":{"description":"Get estimated TAO per epoch for a specific GPU configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GpuEstimateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/transactions":{"get":{"tags":["General APIs with JWT"],"summary":"Get all pods","description":"Endpoint to get all available pods.","operationId":"get_transactions_transactions_get","responses":{"200":{"description":"Pods retrieved successfully","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Transaction"},"type":"array","title":"Response Get Transactions Transactions Get"}}}},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]}},"/coinbase/webhook":{"post":{"tags":["General APIs with JWT"],"summary":"Webhooks","operationId":"webhooks_coinbase_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/coinbase/create-charge":{"post":{"tags":["General APIs with JWT"],"summary":"Create Charge","operationId":"create_charge_coinbase_create_charge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoinbaseCreateChargeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/nowpayments/webhook":{"post":{"tags":["General APIs with JWT"],"summary":"Nowpayments Webhook","operationId":"nowpayments_webhook_nowpayments_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/nowpayments/create-invoice":{"post":{"tags":["General APIs with JWT"],"summary":"Create Invoice","operationId":"create_invoice_nowpayments_create_invoice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NowPaymentsCreateInvoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NowPaymentsCreateInvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/nowpayments/currencies":{"get":{"tags":["General APIs with JWT"],"summary":"Get Currencies","operationId":"get_currencies_nowpayments_currencies_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NowPaymentsCurrenciesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tmc-pay/webhook":{"post":{"tags":["General APIs with JWT"],"summary":"Tmc Pay Webhook","operationId":"tmc_pay_webhook_tmc_pay_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tmc-pay/create-invoice":{"post":{"tags":["General APIs with JWT"],"summary":"Create Invoice","operationId":"create_invoice_tmc_pay_create_invoice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TmcPayCreateInvoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TmcPayCreateInvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/tmc-pay/currencies":{"get":{"tags":["General APIs with JWT"],"summary":"Get Currencies","operationId":"get_currencies_tmc_pay_currencies_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TmcPayCurrenciesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tao/webhook":{"post":{"tags":["General APIs with JWT"],"summary":"Webhook","operationId":"webhook_tao_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tao/create-transfer":{"post":{"tags":["Support API Key Authentication"],"summary":"Create Transfer","operationId":"create_transfer_tao_create_transfer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransferRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/billing/revenue-for-validators":{"get":{"tags":["General APIs with JWT"],"summary":"Revenue For Validators","operationId":"revenue_for_validators_billing_revenue_for_validators_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/billing/billing-info-for-users":{"get":{"tags":["General APIs with JWT"],"summary":"Get the billing info for a user","operationId":"billing_info_for_users_billing_billing_info_for_users_get","responses":{"200":{"description":"Get the billing info for a user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingInfoForUserResponse"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/billing/billing-per-day":{"get":{"tags":["General APIs with JWT"],"summary":"Get the billing info per day","operationId":"billing_per_day_billing_billing_per_day_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"start_day","in":"query","required":true,"schema":{"type":"string","title":"Start Day"}},{"name":"end_day","in":"query","required":true,"schema":{"type":"string","title":"End Day"}}],"responses":{"200":{"description":"Get the billing info per day","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BillingPerDayResponse"},"title":"Response Billing Per Day Billing Billing Per Day Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/billing-history/{miner_coldkey}":{"get":{"tags":["Public APIs For Providers"],"summary":"Get the billing history for a provider","operationId":"billing_history_for_miner_billing_billing_history__miner_coldkey__get","parameters":[{"name":"miner_coldkey","in":"path","required":true,"schema":{"type":"string","title":"Miner Coldkey"}}],"responses":{"200":{"description":"Get the billing history for a provider","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BillingHistoryForMinerResponse"},"title":"Response Billing History For Miner Billing Billing History  Miner Coldkey  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/keys":{"get":{"tags":["General APIs with JWT"],"summary":"List Api Keys","operationId":"list_api_keys_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Create Api Key","operationId":"create_api_key_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/keys/{api_key_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get Api Key","operationId":"get_api_key_keys__api_key_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Delete Api Key","operationId":"delete_api_key_keys__api_key_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["General APIs with JWT"],"summary":"Update Api Key","operationId":"update_api_key_keys__api_key_id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gpu-allocation":{"post":{"tags":["General APIs with JWT"],"summary":"Gpu Allocation","operationId":"gpu_allocation_gpu_allocation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAllocationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPUAllocationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/docker-credentials/{docker_credential_id}":{"get":{"tags":["Support API Key Authentication"],"summary":"Find One","operationId":"find_one_docker_credentials__docker_credential_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"docker_credential_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Docker Credential Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerCredential"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Support API Key Authentication"],"summary":"Update","operationId":"update_docker_credentials__docker_credential_id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"docker_credential_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Docker Credential Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerCredentialUpdateCreateDto"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerCredential"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Support API Key Authentication"],"summary":"Delete","operationId":"delete_docker_credentials__docker_credential_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"docker_credential_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Docker Credential Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/docker-credentials/":{"get":{"tags":["Support API Key Authentication"],"summary":"List","operationId":"list_docker_credentials__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DockerCredential"},"type":"array","title":"Response List Docker Credentials  Get"}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["Support API Key Authentication"],"summary":"Create","operationId":"create_docker_credentials__post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DockerCredentialUpdateCreateDto"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockerCredential"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/bookmark/{miner_hotkey}":{"post":{"tags":["Support API Key Authentication"],"summary":"Bookmark provider","description":"Endpoint to bookmark a provider for easy re-booking.","operationId":"bookmark_provider_bookmark__miner_hotkey__post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"miner_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Miner Hotkey"}}],"responses":{"200":{"description":"Provider bookmarked successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Support API Key Authentication"],"summary":"Remove provider bookmark","description":"Endpoint to remove a bookmark from a provider.","operationId":"unbookmark_provider_bookmark__miner_hotkey__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"miner_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Miner Hotkey"}}],"responses":{"200":{"description":"Provider bookmark removed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/bookmark":{"get":{"tags":["Support API Key Authentication"],"summary":"Get bookmarked providers","description":"Endpoint to get all bookmarked providers for the current user.","operationId":"get_bookmarked_providers_bookmark_get","responses":{"200":{"description":"List of bookmarked provider hotkeys","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Bookmarked Providers Bookmark Get"}}}},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]}},"/bookmark/executors":{"get":{"tags":["Support API Key Authentication"],"summary":"Get nodes from bookmarked providers","description":"Endpoint to get all available nodes from bookmarked providers.","operationId":"get_executors_from_bookmarked_providers_bookmark_executors_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"}}],"responses":{"200":{"description":"List of available nodes from bookmarked providers","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExecutorDetailResponse"},"title":"Response Get Executors From Bookmarked Providers Bookmark Executors Get"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/volumes":{"get":{"tags":["General APIs with JWT"],"summary":"Get all available volumes","description":"Endpoint to retrieve all volumes.","operationId":"get_volumes_volumes_get","responses":{"200":{"description":"List of available volumes","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/VolumeResponse"},"type":"array","title":"Response Get Volumes Volumes Get"}}}},"403":{"description":"Volume features not enabled for this user"},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Create a new volume","description":"Endpoint to create a new volume.","operationId":"create_volume_volumes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeCreateRequest"}}},"required":true},"responses":{"200":{"description":"Volume created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeResponse"}}}},"403":{"description":"Volume features not enabled for this user"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/volumes/{volume_id}":{"put":{"tags":["General APIs with JWT"],"summary":"Update a volume","description":"Endpoint to update a volume.","operationId":"update_volume_volumes__volume_id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"volume_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Volume Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeCreateRequest"}}}},"responses":{"200":{"description":"Volume updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeResponse"}}}},"403":{"description":"Volume features not enabled for this user"},"404":{"description":"Volume not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["General APIs with JWT"],"summary":"Get a volume","description":"Endpoint to get a volume.","operationId":"get_volume_volumes__volume_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"volume_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Volume Id"}}],"responses":{"200":{"description":"Volume retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeResponse"}}}},"403":{"description":"Volume features not enabled for this user"},"404":{"description":"Volume not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Delete a volume","description":"Endpoint to delete a volume.","operationId":"delete_volume_volumes__volume_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"volume_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Volume Id"}}],"responses":{"200":{"description":"Volume deleted successfully","content":{"application/json":{"schema":{}}}},"403":{"description":"Volume features not enabled for this user"},"404":{"description":"Volume not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/volumes/costs":{"get":{"tags":["General APIs with JWT"],"summary":"Get volume cost breakdown","description":"Retrieve volume costs with detailed breakdown by cost type.\n    \n    **Query Parameters:**\n    - `volume_id` (optional): Filter by specific volume\n    - `group_by` (optional): Set to \"date\" to aggregate all volumes by date\n    - `cost_type` (optional): Filter by cost type (\"storage\", \"egress\", \"requests\", \"other\", \"custom_storage\", \"chargeable\", \"all\")\n    - `start_date` (required): Start date in YYYY-MM-DD format\n    - `end_date` (required): End date in YYYY-MM-DD format (max 3 months from start)\n    - `page` (optional): Page number for pagination (default: 1)\n    - `limit` (optional): Items per page (default: 50, max: 100)\n    \n    **Cost Types:**\n    - `storage`: AWS S3 storage costs\n    - `egress`: AWS Data transfer out costs\n    - `requests`: All AWS request costs (Tier 1 + Tier 2)\n    - `requests_tier1`: AWS PUT, POST, COPY, LIST requests\n    - `requests_tier2`: AWS GET, SELECT, HEAD requests\n    - `other`: Other AWS S3 related costs\n    - `custom_storage`: Our custom storage pricing ($0.00005/gb/hr)\n    - `chargeable`: Cost actually charged to users (custom storage only)\n    - `all`: All cost types (default)\n    \n    **Examples:**\n    - Get all costs: `GET /volumes/costs?start_date=2025-01-01&end_date=2025-01-31`\n    - Get storage costs only: `GET /volumes/costs?cost_type=storage&start_date=2025-01-01&end_date=2025-01-31`\n    - Get daily aggregated costs: `GET /volumes/costs?group_by=date&start_date=2025-01-01&end_date=2025-01-31`","operationId":"get_volume_costs_volumes_costs_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"volume_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Volume Id"}},{"name":"group_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group By"}},{"name":"cost_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"all","title":"Cost Type"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","title":"End Date"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Volume costs retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeCostsPaginatedResponse"}}}},"400":{"description":"Invalid query parameters"},"403":{"description":"Volume features not enabled for this user"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/volumes/cost-summary":{"get":{"tags":["General APIs with JWT"],"summary":"Get aggregated cost summary","description":"Get a comprehensive cost summary for user's volumes including:\n    - Total costs by type (storage, egress, requests, other)\n    - Top 5 most expensive volumes\n    - Summary statistics for the period\n    \n    **Query Parameters:**\n    - `start_date` (required): Start date in YYYY-MM-DD format\n    - `end_date` (required): End date in YYYY-MM-DD format (max 3 months from start)","operationId":"get_volume_cost_summary_volumes_cost_summary_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date in YYYY-MM-DD format","title":"Start Date"},"description":"Start date in YYYY-MM-DD format"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date in YYYY-MM-DD format","title":"End Date"},"description":"End date in YYYY-MM-DD format"}],"responses":{"200":{"description":"Cost summary retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeCostSummaryResponse"}}}},"400":{"description":"Invalid query parameters"},"403":{"description":"Volume features not enabled for this user"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/volumes/{volume_id}/current-stats":{"get":{"tags":["General APIs with JWT"],"summary":"Get current volume size and file count","description":"Get the current size and file count for a specific volume.\n    This returns the most recent metrics collected by the system.","operationId":"get_current_volume_stats_volumes__volume_id__current_stats_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"volume_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Volume Id"}}],"responses":{"200":{"description":"Current stats retrieved successfully","content":{"application/json":{"schema":{}}}},"403":{"description":"Volume features not enabled for this user"},"404":{"description":"Volume not found or access denied"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/machine-requests":{"get":{"tags":["General APIs with JWT"],"summary":"List all machine requests by user","description":"Endpoint to list all machine requests by user.","operationId":"find_machine_requests_get","responses":{"200":{"description":"List of all requests by user","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MachineRequestDetailsResponse"},"type":"array","title":"Response Find Machine Requests Get"}}}},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Create a machine request","description":"Endpoint to create a machine request.","operationId":"create_machine_requests_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MachineRequestDto"}}},"required":true},"responses":{"200":{"description":"Machine request created successfully","content":{"application/json":{"schema":{}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/machine-requests/{request_id}":{"put":{"tags":["General APIs with JWT"],"summary":"Update a request","description":"Endpoint to update a request.","operationId":"update_machine_requests__request_id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MachineRequestDto"}}}},"responses":{"200":{"description":"Request updated successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"Request not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["General APIs with JWT"],"summary":"Get a machine request","description":"Endpoint to get a machine request.","operationId":"get_request_machine_requests__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Request retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MachineRequestDetailsResponse"}}}},"404":{"description":"Request not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Close a request","description":"Endpoint to close a request.","operationId":"close_request_machine_requests__request_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Request closed successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"Request not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/machine-requests/{request_id}/executors":{"get":{"tags":["General APIs with JWT"],"summary":"Get nodes assigned to machine request","description":"Endpoint to get all nodes assigned to a machine request.","operationId":"get_executors_for_request_machine_requests__request_id__executors_get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"List of nodes assigned to the machine request","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Executor-Output"},"title":"Response Get Executors For Request Machine Requests  Request Id  Executors Get"}}}},"404":{"description":"Request not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/machine-requests/{request_id}/achieve":{"post":{"tags":["General APIs with JWT"],"summary":"Achieve a request","description":"Endpoint to achieve a request.","operationId":"achieve_machine_requests__request_id__achieve_post","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Request Id"}}],"responses":{"200":{"description":"Request achieved successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"Request not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reclaims":{"get":{"tags":["General APIs with JWT"],"summary":"Get reclaims with filtering","description":"Endpoint to retrieve reclaims with comprehensive filtering options. Supports filtering by status, executor_id, reclaim_id (blockchain), miner_hotkey, expired_only, and pending_only.","operationId":"get_reclaims_reclaims_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"executor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Executor Id"}},{"name":"reclaim_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reclaim Id"}},{"name":"miner_hotkey","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Miner Hotkey"}},{"name":"expired_only","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Expired Only"}},{"name":"pending_only","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pending Only"}}],"responses":{"200":{"description":"Reclaims retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReclaimListResponse"},"title":"Response Get Reclaims Reclaims Get"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cli-auth/init":{"post":{"tags":["General APIs with JWT"],"summary":"Init Cli Auth Session","description":"Initialize CLI authentication session.\nReturns session_id and browser_url for user authentication.","operationId":"init_cli_auth_session_cli_auth_init_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthInitResponse"}}}}}}},"/cli-auth/approve":{"post":{"tags":["General APIs with JWT"],"summary":"Approve Cli Auth Session","description":"Approve CLI authentication session (requires user authentication).\nGenerates API key and associates it with the session.","operationId":"approve_cli_auth_session_cli_auth_approve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthApproveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthApproveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/cli-auth/poll/{session_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Poll Cli Auth Session","description":"Poll CLI authentication session status.\nReturns session status and API key if approved.","operationId":"poll_cli_auth_session_cli_auth_poll__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliAuthPollResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-configs/pod/{pod_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get backup configuration","description":"Endpoint to get backup configuration for a specific pod.","operationId":"get_backup_configuration_backup_configs_pod__pod_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Id"}}],"responses":{"200":{"description":"Backup configuration retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfiguration"}}}},"404":{"description":"Backup configuration not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-configs":{"get":{"tags":["General APIs with JWT"],"summary":"List backup configurations","description":"Endpoint to list all backup configurations for the authenticated user.","operationId":"list_backup_configurations_backup_configs_get","responses":{"200":{"description":"Backup configurations retrieved successfully","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BackupConfiguration"},"type":"array","title":"Response List Backup Configurations Backup Configs Get"}}}},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Create backup configuration","description":"Endpoint to create a new backup configuration.","operationId":"create_backup_configuration_backup_configs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfigurationCreateRequest"}}},"required":true},"responses":{"200":{"description":"Create backup configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfiguration"}}}},"201":{"description":"Backup configuration created successfully"},"400":{"description":"Invalid input or configuration already exists"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/backup-configs/{config_id}":{"put":{"tags":["General APIs with JWT"],"summary":"Update backup configuration","description":"Endpoint to update an existing backup configuration.","operationId":"update_backup_configuration_backup_configs__config_id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfigurationUpdateRequest"}}}},"responses":{"200":{"description":"Backup configuration updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupConfiguration"}}}},"400":{"description":"Invalid input"},"403":{"description":"Configuration does not belong to user"},"404":{"description":"Backup configuration not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Delete backup configuration","description":"Endpoint to delete a backup configuration.","operationId":"delete_backup_configuration_backup_configs__config_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"}}],"responses":{"200":{"description":"Backup configuration deleted successfully","content":{"application/json":{"schema":{}}}},"404":{"description":"Backup configuration not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/referrals/program-info":{"get":{"tags":["General APIs with JWT"],"summary":"Get Referral Program Info","description":"Get referral program reward information with tiered commission rates.","operationId":"get_referral_program_info_referrals_program_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralProgramInfoResponse"}}}}}}},"/referrals/my-code":{"get":{"tags":["General APIs with JWT"],"summary":"Get My Referral Code","description":"Get or create referral code for the authenticated user.","operationId":"get_my_referral_code_referrals_my_code_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralCodeResponse"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/referrals/stats":{"get":{"tags":["General APIs with JWT"],"summary":"Get Referral Stats","description":"Get referral statistics for the authenticated user.","operationId":"get_referral_stats_referrals_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralStatsResponse"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/referrals/validate/{code}":{"post":{"tags":["General APIs with JWT"],"summary":"Validate Referral Code","description":"Validate a referral code (public endpoint for registration flow).","operationId":"validate_referral_code_referrals_validate__code__post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/referrals/history":{"get":{"tags":["General APIs with JWT"],"summary":"Get Referral History","description":"Get detailed referral history for the authenticated user.","operationId":"get_referral_history_referrals_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralHistoryResponse"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/referrals/withdraw":{"post":{"tags":["General APIs with JWT"],"summary":"Withdraw Referral Rewards","description":"Withdraw accumulated referral rewards from pending_referral_balance.","operationId":"withdraw_referral_rewards_referrals_withdraw_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithdrawReferralRewardsResponse"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/referrals/pending-payouts":{"get":{"tags":["General APIs with JWT"],"summary":"Get Pending Payouts","description":"Get all pending referral payouts for the authenticated user.","operationId":"get_pending_payouts_referrals_pending_payouts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PayoutResponse"},"type":"array","title":"Response Get Pending Payouts Referrals Pending Payouts Get"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/admin/custom-referral-links":{"get":{"tags":["General APIs with JWT"],"summary":"Get All Custom Referral Links","description":"Get all custom referral links created by the admin.","operationId":"get_all_custom_referral_links_admin_custom_referral_links_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomReferralLinkResponse"},"type":"array","title":"Response Get All Custom Referral Links Admin Custom Referral Links Get"}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Create Custom Referral Link","description":"Create a new custom referral link (admin only).","operationId":"create_custom_referral_link_admin_custom_referral_links_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomReferralLinkRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomReferralLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/admin/custom-referral-links/stats":{"get":{"tags":["General APIs with JWT"],"summary":"Get All Link Stats","description":"Get statistics for all custom referral links (admin only).","operationId":"get_all_link_stats_admin_custom_referral_links_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomReferralLinkStatsResponse"},"type":"array","title":"Response Get All Link Stats Admin Custom Referral Links Stats Get"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/admin/custom-referral-links/{link_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get Custom Referral Link","description":"Get a specific custom referral link by ID (admin only).","operationId":"get_custom_referral_link_admin_custom_referral_links__link_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"link_id","in":"path","required":true,"schema":{"type":"string","title":"Link Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomReferralLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["General APIs with JWT"],"summary":"Update Custom Referral Link","description":"Update a custom referral link (admin only).","operationId":"update_custom_referral_link_admin_custom_referral_links__link_id__patch","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"link_id","in":"path","required":true,"schema":{"type":"string","title":"Link Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomReferralLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomReferralLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Deactivate Custom Referral Link","description":"Deactivate a custom referral link (admin only).","operationId":"deactivate_custom_referral_link_admin_custom_referral_links__link_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"link_id","in":"path","required":true,"schema":{"type":"string","title":"Link Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/custom-referral-links/validate/{code}":{"post":{"tags":["General APIs with JWT"],"summary":"Validate Custom Referral Link","description":"Validate a custom referral link code (public endpoint for signup flow).","operationId":"validate_custom_referral_link_admin_custom_referral_links_validate__code__post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateCustomReferralLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/banned-machines":{"post":{"tags":["General APIs with JWT"],"summary":"Create Banned Machine","description":"Create a new ban record for a machine (admin only).","operationId":"create_banned_machine_admin_banned_machines_post","security":[{"JwtAccessBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBannedMachineRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BannedMachineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["General APIs with JWT"],"summary":"Get All Banned Machines","description":"Get all banned machine records (admin only).","operationId":"get_all_banned_machines_admin_banned_machines_get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","description":"Filter to show only active bans","default":false,"title":"Active Only"},"description":"Filter to show only active bans"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BannedMachineListResponse"},"title":"Response Get All Banned Machines Admin Banned Machines Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/banned-machines/{ban_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get Banned Machine","description":"Get a specific banned machine record by ID (admin only).","operationId":"get_banned_machine_admin_banned_machines__ban_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"ban_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ban Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BannedMachineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["General APIs with JWT"],"summary":"Update Banned Machine","description":"Update a banned machine record (admin only).","operationId":"update_banned_machine_admin_banned_machines__ban_id__patch","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"ban_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ban Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBannedMachineRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BannedMachineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Remove Banned Machine","description":"Deactivate a banned machine record (admin only).","operationId":"remove_banned_machine_admin_banned_machines__ban_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"ban_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Ban Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-logs/pod/{pod_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get backup logs","description":"Endpoint to get backup logs for a specific pod with optional pagination.","operationId":"get_backup_logs_for_pod_backup_logs_pod__pod_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"pod_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pod Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Backup logs retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BackupLogResponse_"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-logs/{backup_log_id}/progress":{"put":{"tags":["General APIs with JWT"],"summary":"Update backup progress","description":"Endpoint to update backup progress and status. Requires JWT authentication via Authorization header.","operationId":"update_backup_progress_backup_logs__backup_log_id__progress_put","parameters":[{"name":"backup_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Backup Log Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupProgressUpdateRequest"}}}},"responses":{"200":{"description":"Backup progress updated successfully","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid or expired authentication token"},"404":{"description":"Backup log not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-logs/{backup_log_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get backup log","description":"Endpoint to get a specific backup log by ID.","operationId":"get_backup_log_backup_logs__backup_log_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"backup_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Backup Log Id"}}],"responses":{"200":{"description":"Backup log retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BackupLogResponse"}}}},"404":{"description":"Backup log not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-logs/{log_id}":{"delete":{"tags":["General APIs with JWT"],"summary":"Delete backup log","description":"Endpoint to delete/expire a backup log by marking it as DELETED and removing the backup file from S3.","operationId":"delete_backup_log_backup_logs__log_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Log Id"}}],"responses":{"200":{"description":"Backup log deleted successfully","content":{"application/json":{"schema":{}}}},"400":{"description":"Backup log is already deleted"},"403":{"description":"Backup log does not belong to user"},"404":{"description":"Backup log not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-logs/":{"get":{"tags":["General APIs with JWT"],"summary":"Get all backup logs","description":"Endpoint to get all backup logs for a user with optional filtering by executor_id, search (searches in both name and description), backup_type (automatic/manual), and status.","operationId":"get_all_backup_logs_backup_logs__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"pod_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Pod Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"backup_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backup Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Backup logs retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BackupLogEnhancedResponse_"}}}},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/backup-logs/bulk-delete":{"post":{"tags":["General APIs with JWT"],"summary":"Bulk delete backup logs (async)","description":"Endpoint to initiate async deletion of multiple backup logs (max 20). Returns task_id for polling status.","operationId":"bulk_delete_backup_logs_backup_logs_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeleteBackupLogsRequest"}}},"required":true},"responses":{"200":{"description":"Start bulk delete backup logs task","content":{"application/json":{"schema":{}}}},"202":{"description":"Bulk delete task initiated"},"400":{"description":"Invalid request"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/backup-logs/bulk-delete/status/{task_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Poll bulk delete task status","description":"Endpoint to poll the status of a bulk delete task.","operationId":"get_bulk_delete_status_backup_logs_bulk_delete_status__task_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Task status retrieved","content":{"application/json":{"schema":{}}}},"404":{"description":"Task not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/restore-logs/{restore_log_id}/progress":{"put":{"tags":["General APIs with JWT"],"summary":"Update restore progress","description":"Endpoint to update restore progress and status. Requires JWT authentication via Authorization header.","operationId":"update_restore_progress_restore_logs__restore_log_id__progress_put","parameters":[{"name":"restore_log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Restore Log Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreProgressUpdateRequest"}}}},"responses":{"200":{"description":"Restore progress updated successfully","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid or expired authentication token"},"404":{"description":"Restore log not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/latest-set-weights":{"get":{"tags":["General APIs with JWT"],"summary":"Get Latest Set Weights","operationId":"get_latest_set_weights_latest_set_weights_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/feedbacks":{"get":{"tags":["General APIs with JWT"],"summary":"Get User Feedbacks","description":"Get all feedback submissions by the authenticated user","operationId":"get_user_feedbacks_feedbacks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserFeedbackResponse"},"type":"array","title":"Response Get User Feedbacks Feedbacks Get"}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Create Feedback","description":"Submit new feedback (bug report, feature request, or general feedback)","operationId":"create_feedback_feedbacks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserFeedbackDto"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/feedbacks/{feedback_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get Feedback By Id","description":"Get a specific feedback submission by ID","operationId":"get_feedback_by_id_feedbacks__feedback_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Feedback Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["General APIs with JWT"],"summary":"Update Feedback","description":"Update a feedback submission","operationId":"update_feedback_feedbacks__feedback_id__put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Feedback Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserFeedbackDto"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["General APIs with JWT"],"summary":"Delete Feedback","description":"Delete a feedback submission","operationId":"delete_feedback_feedbacks__feedback_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Feedback Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFeedbackDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/provider-stats/{miner_hotkey}":{"get":{"tags":["General APIs with JWT"],"summary":"Get comprehensive statistics for a provider","description":"Endpoint to retrieve detailed statistics for a provider including network speed, location, feedback rates, rental failures, rental successes, uptime, and more.","operationId":"get_provider_statistics_provider_stats__miner_hotkey__get","parameters":[{"name":"miner_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Miner Hotkey"}}],"responses":{"200":{"description":"Provider statistics retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderStatisticsResponse"}}}},"404":{"description":"Provider not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/provider-stats/{miner_hotkey}/executors":{"get":{"tags":["General APIs with JWT"],"summary":"Get nodes for a provider","description":"Endpoint to retrieve all nodes for a specific provider including rental information.","operationId":"get_provider_executors_provider_stats__miner_hotkey__executors_get","parameters":[{"name":"miner_hotkey","in":"path","required":true,"schema":{"type":"string","title":"Miner Hotkey"}}],"responses":{"200":{"description":"Nodes retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExecutorForProviderResponse-Input"},"title":"Response 200 Get Provider Executors Provider Stats  Miner Hotkey  Executors Get"}}}},"404":{"description":"Provider not found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crypto-wallets":{"get":{"tags":["General APIs with JWT"],"summary":"List Crypto Wallets","description":"List all crypto wallets for the authenticated user.","operationId":"list_crypto_wallets_crypto_wallets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CryptoWalletResponse"},"type":"array","title":"Response List Crypto Wallets Crypto Wallets Get"}}}}},"security":[{"JwtAccessBearer":[]}]},"post":{"tags":["General APIs with JWT"],"summary":"Add Crypto Wallet","description":"Add a new crypto wallet for the authenticated user.","operationId":"add_crypto_wallet_crypto_wallets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCryptoWalletRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoWalletResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/crypto-wallets/{wallet_id}":{"delete":{"tags":["General APIs with JWT"],"summary":"Delete Crypto Wallet","description":"Delete a crypto wallet.","operationId":"delete_crypto_wallet_crypto_wallets__wallet_id__delete","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crypto-wallets/{wallet_id}/set-default":{"put":{"tags":["General APIs with JWT"],"summary":"Set Default Crypto Wallet","description":"Set a wallet as the default for payouts.","operationId":"set_default_crypto_wallet_crypto_wallets__wallet_id__set_default_put","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Wallet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoWalletResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/payouts":{"get":{"tags":["General APIs with JWT"],"summary":"Get User Payouts","description":"Get payout history for the authenticated user.","operationId":"get_user_payouts_payouts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PayoutResponse"},"type":"array","title":"Response Get User Payouts Payouts Get"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/payouts/{payout_id}":{"get":{"tags":["General APIs with JWT"],"summary":"Get Payout Details","description":"Get specific payout details.","operationId":"get_payout_details_payouts__payout_id__get","security":[{"JwtAccessBearer":[]}],"parameters":[{"name":"payout_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stablecoin/webhook":{"post":{"tags":["General APIs with JWT"],"summary":"Crypto Transfer Webhook","description":"Handle webhook callbacks from the crypto transfer microservice.\n\nThe microservice sends webhooks with status updates:\n- PENDING: Transfer initiated\n- CONFIRMED: Transfer confirmed on blockchain\n- FAILED: Transfer failed","operationId":"crypto_transfer_webhook_stablecoin_webhook_post","parameters":[{"name":"x-webhook-signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Webhook-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/shared-config":{"get":{"tags":["Public APIs For Providers"],"summary":"Get Shared Config","operationId":"get_shared_config_v1_shared_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedConfig"}}}}}}},"/db-chat/chat":{"post":{"tags":["DB chat"],"summary":"Chat with DB - Streaming (Admin only)","description":"Stream SQL query generation from natural language question using Server-Sent Events. Requires JWT authentication and admin privileges.","operationId":"chat_db_chat_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}},"required":true},"responses":{"200":{"description":"SQL query stream started successfully","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized"},"403":{"description":"Admin access required"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"JwtAccessBearer":[]}]}},"/db-chat/history":{"get":{"tags":["DB chat"],"summary":"Get chat history (Admin only)","description":"Get chat history for the authenticated admin user.","operationId":"get_history_db_chat_history_get","responses":{"200":{"description":"Chat history retrieved successfully","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized"},"403":{"description":"Admin access required"},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]}},"/db-chat/clear":{"post":{"tags":["DB chat"],"summary":"Clear chat history (Admin only)","description":"Clear chat history for the authenticated admin user.","operationId":"clear_history_db_chat_clear_post","responses":{"200":{"description":"Chat history cleared successfully","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized"},"403":{"description":"Admin access required"},"500":{"description":"Internal server error"}},"security":[{"JwtAccessBearer":[]}]}}},"components":{"schemas":{"AddCardRequest":{"properties":{"payment_method_id":{"type":"string","title":"Payment Method Id"}},"type":"object","required":["payment_method_id"],"title":"AddCardRequest"},"AddCryptoWalletRequest":{"properties":{"network":{"type":"string","title":"Network","description":"Network name (e.g., 'ethereum')"},"token":{"type":"string","title":"Token","description":"Token type (e.g., 'USDT')"},"wallet_address":{"type":"string","title":"Wallet Address","description":"Wallet address"},"is_default":{"type":"boolean","title":"Is Default","description":"Set as default wallet","default":false}},"type":"object","required":["network","token","wallet_address"],"title":"AddCryptoWalletRequest","description":"Request to add a new crypto wallet."},"AddMultipleSshKeysToPodRequest":{"properties":{"user_public_keys":{"items":{"type":"string"},"type":"array","title":"User Public Keys"}},"type":"object","required":["user_public_keys"],"title":"AddMultipleSshKeysToPodRequest"},"ApiKeyCreateRequest":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"ApiKeyCreateRequest"},"AutoTopUp":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"threshold":{"type":"number","title":"Threshold"},"amount_to_top_up":{"type":"number","title":"Amount To Top Up"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["user_id","threshold","amount_to_top_up"],"title":"AutoTopUp"},"AutoTopUpUpdateDto":{"properties":{"threshold":{"type":"number","title":"Threshold"},"amount_to_top_up":{"type":"number","title":"Amount To Top Up"}},"type":"object","required":["threshold","amount_to_top_up"],"title":"AutoTopUpUpdateDto"},"AverageNetworkSpeedResponse":{"properties":{"average_upload_speed_mbps":{"type":"number","title":"Average Upload Speed Mbps","description":"Average upload speed in Mbps"},"average_download_speed_mbps":{"type":"number","title":"Average Download Speed Mbps","description":"Average download speed in Mbps"},"total_machines_with_network_data":{"type":"integer","title":"Total Machines With Network Data","description":"Number of machines with network data"}},"type":"object","required":["average_upload_speed_mbps","average_download_speed_mbps","total_machines_with_network_data"],"title":"AverageNetworkSpeedResponse","description":"Average network speed statistics."},"BackupConfiguration":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"pod_id":{"type":"string","format":"uuid","title":"Pod Id"},"backup_frequency_hours":{"type":"integer","title":"Backup Frequency Hours","default":6},"retention_days":{"type":"integer","title":"Retention Days"},"backup_path":{"type":"string","title":"Backup Path"},"is_active":{"type":"boolean","title":"Is Active","default":true},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"}},"type":"object","required":["user_id","pod_id","retention_days","backup_path"],"title":"BackupConfiguration"},"BackupConfigurationCreateRequest":{"properties":{"pod_id":{"type":"string","format":"uuid","title":"Pod Id"},"backup_frequency_hours":{"type":"integer","maximum":168.0,"minimum":1.0,"title":"Backup Frequency Hours"},"retention_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Retention Days"},"backup_path":{"type":"string","maxLength":500,"title":"Backup Path"}},"type":"object","required":["pod_id","backup_frequency_hours","retention_days","backup_path"],"title":"BackupConfigurationCreateRequest"},"BackupConfigurationUpdateRequest":{"properties":{"backup_frequency_hours":{"type":"integer","maximum":168.0,"minimum":1.0,"title":"Backup Frequency Hours"},"retention_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Retention Days"},"backup_path":{"type":"string","maxLength":500,"title":"Backup Path"}},"type":"object","required":["backup_frequency_hours","retention_days","backup_path"],"title":"BackupConfigurationUpdateRequest"},"BackupLogEnhancedResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","title":"Status"},"progress":{"type":"number","title":"Progress"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"estimated_backup_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Backup Size Bytes"},"estimated_upload_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Upload Seconds"},"backup_estimate_warning_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backup Estimate Warning Code"},"s3_verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"S3 Verified At"},"s3_content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"S3 Content Length"},"s3_last_modified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"S3 Last Modified"},"s3_etag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Etag"},"pod_id":{"type":"string","format":"uuid","title":"Pod Id"},"backup_type":{"type":"string","title":"Backup Type"}},"type":"object","required":["id","status","progress","created_at","pod_id","backup_type"],"title":"BackupLogEnhancedResponse"},"BackupLogResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"backup_config_id":{"type":"string","format":"uuid","title":"Backup Config Id"},"backup_volume_id":{"type":"string","format":"uuid","title":"Backup Volume Id"},"status":{"type":"string","title":"Status"},"progress":{"type":"number","title":"Progress"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"estimated_backup_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Backup Size Bytes"},"estimated_upload_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Upload Seconds"},"backup_estimate_warning_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backup Estimate Warning Code"},"s3_verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"S3 Verified At"},"s3_content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"S3 Content Length"},"s3_last_modified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"S3 Last Modified"},"s3_etag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Etag"}},"type":"object","required":["id","backup_config_id","backup_volume_id","status","progress","created_at"],"title":"BackupLogResponse"},"BackupProgressUpdateRequest":{"properties":{"progress":{"type":"number","title":"Progress"},"status":{"type":"string","title":"Status"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"logs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Logs"},"estimated_backup_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Backup Size Bytes"},"s3_content_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"S3 Content Length"},"s3_last_modified":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"S3 Last Modified"},"s3_etag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Etag"}},"type":"object","required":["progress","status"],"title":"BackupProgressUpdateRequest"},"BannedMachineListResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"banned_gpu_ids":{"items":{"type":"string"},"type":"array","title":"Banned Gpu Ids"},"reason":{"type":"string","title":"Reason"},"banned_by_user_id":{"type":"string","format":"uuid","title":"Banned By User Id"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","executor_id","banned_gpu_ids","reason","banned_by_user_id","is_active","created_at","updated_at"],"title":"BannedMachineListResponse"},"BannedMachineResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"banned_gpu_ids":{"items":{"type":"string"},"type":"array","title":"Banned Gpu Ids"},"reason":{"type":"string","title":"Reason"},"banned_by_user_id":{"type":"string","format":"uuid","title":"Banned By User Id"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","executor_id","banned_gpu_ids","reason","banned_by_user_id","is_active","created_at","updated_at"],"title":"BannedMachineResponse"},"BaseResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["success"],"title":"BaseResponse"},"BillingHistoryForMinerResponse":{"properties":{"billing_day":{"type":"string","title":"Billing Day"},"amount":{"type":"number","title":"Amount"},"miner_amount":{"type":"number","title":"Miner Amount"},"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"is_declined_for_miner_payment":{"type":"boolean","title":"Is Declined For Miner Payment"},"declined_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Declined Reason"},"executor_id_in_subnet":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Executor Id In Subnet"},"executor_price_per_gpu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Executor Price Per Gpu"},"executor_gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Executor Gpu Count"},"executor_specs":{"anyOf":[{"$ref":"#/components/schemas/MachineSpecs-Output"},{"type":"null"}]},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},"type":"object","required":["billing_day","amount","miner_amount","validator_hotkey"],"title":"BillingHistoryForMinerResponse"},"BillingInfoForUserResponse":{"properties":{"total_price_per_hour":{"type":"number","title":"Total Price Per Hour"},"total_price_per_hour_for_volume":{"type":"number","title":"Total Price Per Hour For Volume"},"total_price_per_hour_for_pod":{"type":"number","title":"Total Price Per Hour For Pod"},"amounts_for_today":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Amounts For Today"},"average_amount_per_day":{"type":"number","title":"Average Amount Per Day"}},"type":"object","required":["total_price_per_hour","total_price_per_hour_for_volume","total_price_per_hour_for_pod","amounts_for_today","average_amount_per_day"],"title":"BillingInfoForUserResponse"},"BillingPerDayResponse":{"properties":{"billing_day":{"type":"string","title":"Billing Day"},"amount":{"type":"number","title":"Amount"},"billing_type":{"type":"string","title":"Billing Type"}},"type":"object","required":["billing_day","amount","billing_type"],"title":"BillingPerDayResponse"},"BucketBreakdown":{"properties":{"max_cap":{"type":"integer","title":"Max Cap"},"unrented_count":{"type":"integer","title":"Unrented Count"},"hourly_rate":{"type":"number","title":"Hourly Rate"}},"type":"object","required":["max_cap","unrented_count","hourly_rate"],"title":"BucketBreakdown"},"BucketCapacityRow":{"properties":{"base_model":{"type":"string","title":"Base Model"},"buckets":{"additionalProperties":{"$ref":"#/components/schemas/BucketBreakdown"},"type":"object","title":"Buckets"}},"type":"object","required":["base_model","buckets"],"title":"BucketCapacityRow"},"BulkDeleteBackupLogsRequest":{"properties":{"backup_log_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":20,"minItems":1,"title":"Backup Log Ids"}},"type":"object","required":["backup_log_ids"],"title":"BulkDeleteBackupLogsRequest"},"ChatRequest":{"properties":{"message":{"type":"string","maxLength":10000,"minLength":1,"title":"Message"},"mode":{"type":"string","enum":["fast","full"],"title":"Mode","default":"fast"},"action":{"type":"string","enum":["query","execute"],"title":"Action","default":"execute"}},"type":"object","required":["message"],"title":"ChatRequest"},"Checksums":{"properties":{"nvidia_smi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nvidia Smi"},"libnvidia_ml":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Libnvidia Ml"},"docker":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docker"}},"type":"object","title":"Checksums"},"CliAuthApproveRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"api_key_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Name","default":"CLI Generated Key"}},"type":"object","required":["session_id"],"title":"CliAuthApproveRequest","description":"Request to approve CLI auth session"},"CliAuthApproveResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"CliAuthApproveResponse","description":"Response for CLI auth approval"},"CliAuthInitResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"browser_url":{"type":"string","title":"Browser Url"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"}},"type":"object","required":["session_id","browser_url","expires_in_seconds"],"title":"CliAuthInitResponse","description":"Response for CLI auth init containing session info"},"CliAuthPollResponse":{"properties":{"status":{"type":"string","title":"Status"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["status"],"title":"CliAuthPollResponse","description":"Response for polling CLI auth session status"},"CoinbaseCreateChargeRequest":{"properties":{"amount":{"type":"number","title":"Amount"}},"type":"object","required":["amount"],"title":"CoinbaseCreateChargeRequest"},"CollateralStatusResponse":{"properties":{"total_machines":{"type":"integer","title":"Total Machines","description":"Total number of machines"},"collateral_deposited_count":{"type":"integer","title":"Collateral Deposited Count","description":"Number of machines with collateral deposited"},"verified_count":{"type":"integer","title":"Verified Count","description":"Number of verified machines"},"active_count":{"type":"integer","title":"Active Count","description":"Number of active machines"},"collateral_percentage":{"type":"number","title":"Collateral Percentage","description":"Percentage of machines with collateral"},"verified_percentage":{"type":"number","title":"Verified Percentage","description":"Percentage of verified machines"}},"type":"object","required":["total_machines","collateral_deposited_count","verified_count","active_count","collateral_percentage","verified_percentage"],"title":"CollateralStatusResponse","description":"Collateral and verification status."},"CpuSpec":{"properties":{"count":{"type":"integer","title":"Count"},"model":{"type":"string","title":"Model"},"utilization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Utilization"}},"type":"object","required":["count","model"],"title":"CpuSpec"},"CreateBannedMachineRequest":{"properties":{"executor_id":{"type":"string","format":"uuid","title":"Executor Id","description":"ID of the node to ban"},"reason":{"type":"string","maxLength":500,"minLength":1,"title":"Reason","description":"Reason for banning the machine"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","description":"Whether the ban is active","default":true}},"type":"object","required":["executor_id","reason"],"title":"CreateBannedMachineRequest"},"CreateCheckoutSessionRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"success_url":{"type":"string","title":"Success Url"},"cancel_url":{"type":"string","title":"Cancel Url"},"mode":{"type":"string","title":"Mode","default":"payment"}},"type":"object","required":["amount","success_url","cancel_url"],"title":"CreateCheckoutSessionRequest"},"CreateConnectAccountRequest":{"properties":{"country":{"type":"string","title":"Country","default":"US"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","title":"CreateConnectAccountRequest"},"CreateCustomReferralLinkRequest":{"properties":{"credit_amount":{"type":"number","exclusiveMinimum":0.0,"title":"Credit Amount","description":"Amount of credits to grant on signup"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Expiration date (optional)"},"description":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Description","description":"Optional description"}},"type":"object","required":["credit_amount"],"title":"CreateCustomReferralLinkRequest"},"CreateOnboardingLinkRequest":{"properties":{"refresh_url":{"type":"string","title":"Refresh Url"},"return_url":{"type":"string","title":"Return Url"}},"type":"object","required":["refresh_url","return_url"],"title":"CreateOnboardingLinkRequest"},"CreateSshKey":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"public_key":{"type":"string","title":"Public Key"}},"type":"object","required":["public_key"],"title":"CreateSshKey"},"CreateTransferRequest":{"properties":{"amount":{"type":"number","title":"Amount"}},"type":"object","required":["amount"],"title":"CreateTransferRequest"},"CreateTransferResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"CreateTransferResponse"},"CreateUserDto":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"validator_hotkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validator Hotkey"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"},"custom_referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Referral Code"}},"type":"object","required":["name","email"],"title":"CreateUserDto"},"CreateUserFeedbackDto":{"properties":{"category":{"$ref":"#/components/schemas/FeedbackCategory","description":"Category of the feedback"},"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title","description":"Title of the feedback"},"description":{"type":"string","minLength":1,"title":"Description","description":"Detailed description of the feedback"}},"type":"object","required":["category","title","description"],"title":"CreateUserFeedbackDto","examples":[{"category":"bug","description":"When I try to deploy a pod with my custom Docker image, it fails with error...","title":"Pod deployment fails with custom Docker image"}]},"CryptoWalletResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"network":{"type":"string","title":"Network"},"token":{"type":"string","title":"Token"},"wallet_address":{"type":"string","title":"Wallet Address"},"is_default":{"type":"boolean","title":"Is Default"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","user_id","network","token","wallet_address","is_default","created_at","updated_at"],"title":"CryptoWalletResponse","description":"Response model for crypto wallet."},"CustomReferralLinkResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"},"admin_id":{"type":"string","format":"uuid","title":"Admin Id"},"credit_amount":{"type":"number","title":"Credit Amount"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"is_used":{"type":"boolean","title":"Is Used"},"is_active":{"type":"boolean","title":"Is Active"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"encrypted_code":{"type":"string","title":"Encrypted Code","description":"Return encrypted version of the code for frontend use.","readOnly":true}},"type":"object","required":["id","code","admin_id","credit_amount","expires_at","is_used","is_active","description","created_at","updated_at","encrypted_code"],"title":"CustomReferralLinkResponse"},"CustomReferralLinkStatsResponse":{"properties":{"link_id":{"type":"string","format":"uuid","title":"Link Id"},"code":{"type":"string","title":"Code"},"credit_amount":{"type":"number","title":"Credit Amount"},"total_redemptions":{"type":"integer","title":"Total Redemptions"},"total_credits_granted":{"type":"number","title":"Total Credits Granted"},"is_used":{"type":"boolean","title":"Is Used"},"is_active":{"type":"boolean","title":"Is Active"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"encrypted_code":{"type":"string","title":"Encrypted Code","description":"Return encrypted version of the code for frontend use.","readOnly":true}},"type":"object","required":["link_id","code","credit_amount","total_redemptions","total_credits_granted","is_used","is_active","expires_at","encrypted_code"],"title":"CustomReferralLinkStatsResponse"},"CustomTemplateRequest":{"properties":{"name":{"type":"string","title":"Name","default":""},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"docker_image":{"type":"string","title":"Docker Image"},"docker_image_digest":{"type":"string","title":"Docker Image Digest","default":""},"docker_image_tag":{"type":"string","title":"Docker Image Tag"},"category":{"$ref":"#/components/schemas/TemplateCategory","default":"DOCKER"},"volumes":{"items":{"type":"string"},"type":"array","title":"Volumes","default":["/workspace"]},"environment":{"additionalProperties":{"type":"string"},"type":"object","title":"Environment","default":{}},"entrypoint":{"type":"string","title":"Entrypoint","default":""},"internal_ports":{"items":{"type":"integer"},"type":"array","title":"Internal Ports","default":[]},"is_private":{"type":"boolean","title":"Is Private","default":true},"readme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readme"},"startup_commands":{"type":"string","title":"Startup Commands","default":""},"container_start_immediately":{"type":"boolean","title":"Container Start Immediately","default":true},"health_check_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Health Check Command"},"docker_credential_id":{"anyOf":[{"type":"string"},{"type":"string","format":"uuid"},{"type":"null"}],"title":"Docker Credential Id"},"one_time_template":{"type":"boolean","title":"One Time Template","default":false},"is_temporary":{"type":"boolean","title":"Is Temporary","default":false},"docker_image_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Docker Image Size"}},"type":"object","required":["docker_image","docker_image_tag"],"title":"CustomTemplateRequest","examples":[{"category":"UBUNTU","container_start_immediately":false,"description":"Ubuntu Template","docker_image":"ubuntu","docker_image_digest":"sha256:e5a6aeef391a8a9bdaee3de6b28f393837c479d8217324a2340b64e45a81e0ef","docker_image_tag":"20.04","entrypoint":"","environment":{"test_env":"44"},"internal_ports":[22,8002],"is_private":true,"name":"Ubuntu","readme":"# Ubuntu Template","startup_commands":"bash -c 'apt update;apt install -y wget;DEBIAN_FRONTEND=noninteractive apt-get install openssh-server -y;mkdir -p /root/.ssh;cd $_;chmod 700 /root/.ssh;echo USER_PUBLIC_KEY > /root/.ssh/authorized_keys;chmod 700 /root/.ssh/authorized_keys;service ssh start; touch /root/container_ready; sleep infinity'","volumes":[]}]},"DefaultDockerImage":{"properties":{"docker_image":{"type":"string","title":"Docker Image"},"docker_image_tag":{"type":"string","title":"Docker Image Tag"},"docker_image_size":{"type":"integer","title":"Docker Image Size"}},"type":"object","required":["docker_image","docker_image_tag","docker_image_size"],"title":"DefaultDockerImage"},"DeploymentEstimateResponse":{"properties":{"estimated_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Seconds"},"is_slow_machine":{"type":"boolean","title":"Is Slow Machine"},"warning_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warning Message"},"is_cached_template":{"type":"boolean","title":"Is Cached Template"},"docker_image_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Docker Image Size"}},"type":"object","required":["estimated_seconds","is_slow_machine","warning_message","is_cached_template"],"title":"DeploymentEstimateResponse"},"DiscordOAuthAuthorizationUrlResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"}},"type":"object","required":["authorization_url"],"title":"DiscordOAuthAuthorizationUrlResponse"},"DiscordOAuthCallbackResponse":{"properties":{"discord_id":{"type":"string","title":"Discord Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"}},"type":"object","required":["discord_id","user_id"],"title":"DiscordOAuthCallbackResponse"},"DockerCredential":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"}},"type":"object","required":["user_id","username","password"],"title":"DockerCredential"},"DockerCredentialUpdateCreateDto":{"properties":{"docker_username":{"type":"string","title":"Docker Username"},"docker_password":{"type":"string","title":"Docker Password"}},"type":"object","required":["docker_username","docker_password"],"title":"DockerCredentialUpdateCreateDto"},"DockerSpec":{"properties":{"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"container_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Container Id"},"containers":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Containers"}},"type":"object","title":"DockerSpec"},"EffectiveLowBalanceConfigDto":{"properties":{"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"enabled":{"type":"boolean","title":"Enabled"},"hours_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hours Threshold"},"amount_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount Threshold"},"notification_count":{"type":"integer","title":"Notification Count","default":0},"last_notified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Notified At"},"is_default":{"type":"boolean","title":"Is Default"}},"type":"object","required":["enabled","is_default"],"title":"EffectiveLowBalanceConfigDto","description":"Effective low-balance notification config: system defaults overlaid with\nuser overrides. Additive superset of the original LowBalanceThreshold\nresponse -- ``user_id``/``created_at``/``updated_at`` are nullable (None\nwhen no DB row exists) and ``is_default`` is the new field."},"EffectiveNotificationSettingDto":{"properties":{"pod_deployed":{"type":"boolean","title":"Pod Deployed","default":false},"payment_receipt":{"type":"boolean","title":"Payment Receipt","default":false},"pod_unavailable":{"type":"boolean","title":"Pod Unavailable","default":false},"low_balance":{"type":"boolean","title":"Low Balance","default":true}},"type":"object","title":"EffectiveNotificationSettingDto","description":"Effective notification settings. ``low_balance`` reflects the effective\ndefault (True) when no NotificationSetting row exists, so the frontend\ncheckbox renders as checked."},"EmailVerifyRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"EmailVerifyRequest"},"Executor-Input":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"miner_hotkey":{"type":"string","title":"Miner Hotkey"},"miner_coldkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Miner Coldkey"},"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"executor_ip_address":{"type":"string","title":"Executor Ip Address"},"executor_ip_port":{"type":"string","title":"Executor Ip Port"},"executor_ssh_port":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executor Ssh Port"},"specs":{"$ref":"#/components/schemas/MachineSpecs-Input"},"active":{"type":"boolean","title":"Active","default":true},"machine_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Name"},"price_per_hour":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Hour"},"price_per_gpu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Gpu"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"available_gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Gpu Count"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"},"finished_jobs":{"type":"integer","title":"Finished Jobs","default":0},"uptime_in_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uptime In Minutes","default":0},"collateral_deposited":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Collateral Deposited"},"rental_check_verified_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rental Check Verified Status","default":"RentalCheckVerifiedStatus.RENTAL_CHECK_PENDING"},"verified":{"type":"boolean","title":"Verified","default":false},"verified_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified Date"},"rental_verification_ssh_key_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rental Verification Ssh Key Available","description":"Whether rental verification SSH key was available in the subnet SSH keys"},"reclaimed":{"type":"boolean","title":"Reclaimed","default":false},"reclaimed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reclaimed At"},"is_responsive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Responsive","description":"Whether executor responds to health checks"},"pending_price_per_hour":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pending Price Per Hour","description":"Pending price per hour that will be applied when price_change_effective_date is reached"},"price_change_effective_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Price Change Effective Date","description":"Date when the pending price change will become effective"}},"type":"object","required":["miner_hotkey","validator_hotkey","executor_id","executor_ip_address","executor_ip_port","specs","machine_name","location_id"],"title":"Executor"},"Executor-Output":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"miner_hotkey":{"type":"string","title":"Miner Hotkey"},"miner_coldkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Miner Coldkey"},"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"executor_ip_address":{"type":"string","title":"Executor Ip Address"},"executor_ip_port":{"type":"string","title":"Executor Ip Port"},"executor_ssh_port":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executor Ssh Port"},"specs":{"$ref":"#/components/schemas/MachineSpecs-Output"},"active":{"type":"boolean","title":"Active","default":true},"machine_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Name"},"price_per_hour":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Hour"},"price_per_gpu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Gpu"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"available_gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Gpu Count"},"location_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Id"},"finished_jobs":{"type":"integer","title":"Finished Jobs","default":0},"uptime_in_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uptime In Minutes","default":0},"collateral_deposited":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Collateral Deposited"},"rental_check_verified_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rental Check Verified Status","default":"RentalCheckVerifiedStatus.RENTAL_CHECK_PENDING"},"verified":{"type":"boolean","title":"Verified","default":false},"verified_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified Date"},"rental_verification_ssh_key_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rental Verification Ssh Key Available","description":"Whether rental verification SSH key was available in the subnet SSH keys"},"reclaimed":{"type":"boolean","title":"Reclaimed","default":false},"reclaimed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reclaimed At"},"is_responsive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Responsive","description":"Whether executor responds to health checks"},"pending_price_per_hour":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pending Price Per Hour","description":"Pending price per hour that will be applied when price_change_effective_date is reached"},"price_change_effective_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Price Change Effective Date","description":"Date when the pending price change will become effective"}},"type":"object","required":["miner_hotkey","validator_hotkey","executor_id","executor_ip_address","executor_ip_port","specs","machine_name","location_id"],"title":"Executor"},"ExecutorDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"machine_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Name"},"price_per_gpu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Gpu"},"pending_price_per_hour":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pending Price Per Hour"},"price_change_effective_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Price Change Effective Date"},"executor_ip_address":{"type":"string","title":"Executor Ip Address"},"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"available_gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Gpu Count"},"specs":{"additionalProperties":true,"type":"object","title":"Specs"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"},"uptime_in_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uptime In Minutes"},"miner_hotkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Miner Hotkey"},"collateral_deposited":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Collateral Deposited"},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationResponseForExecutor"},{"type":"null"}]},"is_slow_machine":{"type":"boolean","title":"Is Slow Machine","default":false},"effective_upload_speed_mbps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective Upload Speed Mbps"},"effective_download_speed_mbps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective Download Speed Mbps"},"tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier","default":"secure"},"distance_mile":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Mile"},"is_bookmarked":{"type":"boolean","title":"Is Bookmarked","default":false},"min_gpu_count_for_rental":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Gpu Count For Rental"},"max_cuda_version":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Cuda Version"}},"type":"object","required":["id","executor_ip_address","validator_hotkey","specs"],"title":"ExecutorDetailResponse"},"ExecutorForPodResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"machine_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Machine Name"},"price_per_gpu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Per Gpu"},"pending_price_per_hour":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pending Price Per Hour"},"price_change_effective_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Price Change Effective Date"},"executor_ip_address":{"type":"string","title":"Executor Ip Address"},"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"available_gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Gpu Count"},"specs":{"additionalProperties":true,"type":"object","title":"Specs"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"},"uptime_in_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uptime In Minutes"},"miner_hotkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Miner Hotkey"},"collateral_deposited":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Collateral Deposited"},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationResponseForExecutor"},{"type":"null"}]},"is_slow_machine":{"type":"boolean","title":"Is Slow Machine","default":false},"effective_upload_speed_mbps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective Upload Speed Mbps"},"effective_download_speed_mbps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective Download Speed Mbps"},"tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier","default":"secure"}},"type":"object","required":["id","executor_ip_address","validator_hotkey","specs"],"title":"ExecutorForPodResponse"},"ExecutorForProviderResponse-Input":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"collateral_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Collateral Amount"},"executor_info":{"anyOf":[{"$ref":"#/components/schemas/Executor-Input"},{"type":"null"}]},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationResponse"},{"type":"null"}]},"rented":{"type":"boolean","title":"Rented"},"rented_gpu_count":{"type":"integer","title":"Rented Gpu Count","default":0},"revenue_per_hour":{"type":"number","title":"Revenue Per Hour","default":0},"rented_gpu_uuids":{"items":{"type":"string"},"type":"array","title":"Rented Gpu Uuids","default":[]}},"type":"object","required":["id","rented"],"title":"ExecutorForProviderResponse","description":"Response model for node information in provider stats endpoint."},"ExecutorForProviderResponse-Output":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"collateral_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Collateral Amount"},"executor_info":{"anyOf":[{"$ref":"#/components/schemas/Executor-Output"},{"type":"null"}]},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationResponse"},{"type":"null"}]},"rented":{"type":"boolean","title":"Rented"},"rented_gpu_count":{"type":"integer","title":"Rented Gpu Count","default":0},"revenue_per_hour":{"type":"number","title":"Revenue Per Hour","default":0},"rented_gpu_uuids":{"items":{"type":"string"},"type":"array","title":"Rented Gpu Uuids","default":[]}},"type":"object","required":["id","rented"],"title":"ExecutorForProviderResponse","description":"Response model for node information in provider stats endpoint."},"ExecutorHealthCheckRequest":{"properties":{"miner_address":{"type":"string","title":"Miner Address"},"miner_port":{"type":"integer","title":"Miner Port"},"miner_hotkey":{"type":"string","title":"Miner Hotkey"},"container_port":{"type":"integer","title":"Container Port"},"executor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executor Id"}},"type":"object","required":["miner_address","miner_port","miner_hotkey","container_port"],"title":"ExecutorHealthCheckRequest"},"ExecutorHealthCheckResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details"}},"type":"object","required":["success"],"title":"ExecutorHealthCheckResponse"},"ExecutorStatsResponse":{"properties":{"gpu_type":{"type":"string","title":"Gpu Type"},"rented_count":{"type":"integer","title":"Rented Count"},"all_count":{"type":"integer","title":"All Count"},"percentage":{"type":"number","title":"Percentage"}},"type":"object","required":["gpu_type","rented_count","all_count","percentage"],"title":"ExecutorStatsResponse"},"FeedbackCategory":{"type":"string","enum":["bug","feature_request","general"],"title":"FeedbackCategory"},"FeedbackRatesResponse":{"properties":{"good_feedbacks":{"type":"integer","title":"Good Feedbacks","description":"Number of feedbacks with rating >= 4"},"bad_feedbacks":{"type":"integer","title":"Bad Feedbacks","description":"Number of feedbacks with rating < 4"},"total_feedbacks":{"type":"integer","title":"Total Feedbacks","description":"Total number of feedbacks"},"good_percentage":{"type":"number","title":"Good Percentage","description":"Percentage of good feedbacks"}},"type":"object","required":["good_feedbacks","bad_feedbacks","total_feedbacks","good_percentage"],"title":"FeedbackRatesResponse","description":"Feedback statistics."},"FeedbackRequest":{"properties":{"feedback_text":{"type":"string","title":"Feedback Text","description":"User feedback content"},"rating":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Rating","description":"Rating from 1-5"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","description":"Reason for feedback"}},"type":"object","required":["feedback_text"],"title":"FeedbackRequest","examples":[{"feedback_text":"Great service, very responsive support!","rating":5,"reason":"excellent_performance"}]},"FeedbackResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"executor_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Executor Id"},"feedback_text":{"type":"string","title":"Feedback Text"},"rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rating"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["id","user_id","executor_id","feedback_text","rating","reason"],"title":"FeedbackResponse"},"FeedbackStatus":{"type":"string","enum":["new","in_progress","resolved","closed"],"title":"FeedbackStatus"},"FileInput":{"properties":{"name":{"type":"string","title":"Name","default":"avatar.png"},"type":{"type":"string","title":"Type","default":"image/png"}},"type":"object","title":"FileInput"},"GPUAllocationRequest":{"properties":{"rigs":{"items":{"$ref":"#/components/schemas/Rig"},"type":"array","title":"Rigs"}},"type":"object","required":["rigs"],"title":"GPUAllocationRequest"},"GPUAllocationResponse":{"properties":{"rigs":{"items":{"$ref":"#/components/schemas/RigResponse"},"type":"array","title":"Rigs"},"validators":{"items":{"$ref":"#/components/schemas/ValidatorResponse"},"type":"array","title":"Validators"}},"type":"object","required":["rigs","validators"],"title":"GPUAllocationResponse","examples":[{"rigs":[{"gpu_power":1.745,"label":"NVIDIA H100 80GB HBM3 x1 (Rig 1 of 3)"},{"gpu_power":1.745,"label":"NVIDIA H100 80GB HBM3 x1 (Rig 2 of 3)"},{"gpu_power":1.745,"label":"NVIDIA H100 80GB HBM3 x1 (Rig 3 of 3)"}],"validators":[{"allocated_gpu_score":0,"final_score":1030.0968535198856,"fraction":0,"original_score":1030.0968535198856,"rigs_alloc":{},"stake":1579950.90731009,"validator_hotkey":"5E1nK3myeWNWrmffVaH76f2mCFCbe9VcHGwgkfdcD7k3E8D1"},{"allocated_gpu_score":0,"final_score":818.3273288597982,"fraction":0,"original_score":818.3273288597982,"rigs_alloc":{},"stake":1081777.416869048,"validator_hotkey":"5GKH9FPPnWSUoeeTJp19wVtd84XqFW4pyK2ijV2GsFbhTrP1"},{"allocated_gpu_score":0,"final_score":340.6332135288455,"fraction":0,"original_score":340.6332135288455,"rigs_alloc":{},"stake":538754.91849486,"validator_hotkey":"5F2CsUDVbRbVMXTh9fAzF9GacjVX7UapvRxidrxe7z8BYckQ"},{"allocated_gpu_score":0,"final_score":257.9660708657205,"fraction":0,"original_score":257.9660708657205,"rigs_alloc":{},"stake":704114.479471872,"validator_hotkey":"5CsvRJXuR955WojnGMdok1hbhffZyB4N5ocrv82f3p5A2zVp"},{"allocated_gpu_score":0,"final_score":212.53618499827692,"fraction":0,"original_score":212.53618499827692,"rigs_alloc":{},"stake":551814.426873831,"validator_hotkey":"5FFApaS75bv5pJHfAp2FVLBj9ZaXuFDjEypsaBNc1wCfe52v"},{"allocated_gpu_score":0,"final_score":94.54044626316583,"fraction":0,"original_score":94.54044626316583,"rigs_alloc":{},"stake":374507.348509024,"validator_hotkey":"5HYk8DMKWK8TJyPzZJ9vmZk7B5NPCgjnZoyZ1ZsB54RXdN47"},{"allocated_gpu_score":0,"final_score":70.29,"fraction":0,"original_score":70.29,"rigs_alloc":{},"stake":484125.585761909,"validator_hotkey":"5HEo565WAy4Dbq3Sv271SAi7syBSofyfhhwRNjFNSM2gP9M2"},{"allocated_gpu_score":5.235000000000001,"final_score":7.295000000000001,"fraction":1.0000000000000002,"original_score":2.06,"rigs_alloc":{"NVIDIA H100 80GB HBM3 x1 (Rig 1 of 3)":1,"NVIDIA H100 80GB HBM3 x1 (Rig 2 of 3)":1,"NVIDIA H100 80GB HBM3 x1 (Rig 3 of 3)":1},"stake":65412.321983962,"validator_hotkey":"5DQ2Geab6G25wiZ4jGH6wJM8fekrm1QhV9hrRuntjBVxxKZm"}]}]},"GpuDetail":{"properties":{"name":{"type":"string","title":"Name"},"cuda":{"type":"string","title":"Cuda"},"power_limit":{"type":"integer","title":"Power Limit"},"graphics_speed":{"type":"integer","title":"Graphics Speed"},"memory_speed":{"type":"integer","title":"Memory Speed"},"pcie":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pcie"},"pcie_speed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pcie Speed"},"capacity":{"type":"integer","title":"Capacity"},"gpu_utilization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gpu Utilization"},"memory_utilization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Memory Utilization"},"uuid":{"type":"string","title":"Uuid"}},"type":"object","required":["name","cuda","power_limit","graphics_speed","memory_speed","capacity","uuid"],"title":"GpuDetail"},"GpuEstimateResponse":{"properties":{"gpu_model":{"type":"string","title":"Gpu Model"},"gpu_count":{"type":"integer","title":"Gpu Count"},"is_rented":{"type":"boolean","title":"Is Rented"},"usd_per_epoch":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usd Per Epoch"},"estimate_available":{"type":"boolean","title":"Estimate Available"},"estimate":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Estimate"},"snapshot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Snapshot"}},"type":"object","required":["gpu_model","gpu_count","is_rented","usd_per_epoch","estimate_available"],"title":"GpuEstimateResponse"},"GpuSpec":{"properties":{"count":{"type":"integer","title":"Count"},"driver":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Driver"},"cuda_driver":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cuda Driver"},"details":{"items":{"$ref":"#/components/schemas/GpuDetail"},"type":"array","title":"Details"}},"type":"object","required":["count","details"],"title":"GpuSpec"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HardDiskSpec":{"properties":{"total":{"type":"integer","title":"Total"},"used":{"type":"integer","title":"Used"},"free":{"type":"integer","title":"Free"},"utilization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Utilization"}},"type":"object","required":["total","used","free"],"title":"HardDiskSpec"},"InstallJupyterRequest":{"properties":{"jupyter_internal_port":{"type":"integer","title":"Jupyter Internal Port"}},"type":"object","required":["jupyter_internal_port"],"title":"InstallJupyterRequest"},"JupyterInstallationStatus":{"type":"string","enum":["INSTALLING","SUCCESS","FAILED"],"title":"JupyterInstallationStatus"},"LatestSetWeightsRequest":{"properties":{"netuid":{"type":"integer","title":"Netuid"},"uids":{"items":{"type":"integer"},"type":"array","title":"Uids"},"weights":{"items":{"type":"integer"},"type":"array","title":"Weights"},"version_key":{"type":"integer","title":"Version Key"},"wait_for_finalization":{"type":"boolean","title":"Wait For Finalization","default":false},"wait_for_inclusion":{"type":"boolean","title":"Wait For Inclusion","default":false},"current_block":{"type":"integer","title":"Current Block"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["netuid","uids","weights","version_key","current_block","updated_at"],"title":"LatestSetWeightsRequest"},"LocationResponse":{"properties":{"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"type":"object","title":"LocationResponse","description":"Location information for a machine."},"LocationResponseForExecutor":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"country":{"type":"string","title":"Country"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"timezone":{"type":"string","title":"Timezone"}},"type":"object","required":["country","timezone"],"title":"LocationResponseForExecutor"},"LoginUserDto":{"properties":{"email":{"type":"string","title":"Email"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature"}},"type":"object","required":["email"],"title":"LoginUserDto"},"LowBalanceThreshold":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"hours_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hours Threshold"},"amount_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount Threshold"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"configured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Configured At"},"last_notified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Notified At"},"notification_count":{"type":"integer","title":"Notification Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["user_id"],"title":"LowBalanceThreshold"},"LowBalanceThresholdUpdateDto":{"properties":{"hours_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hours Threshold"},"amount_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount Threshold"},"enabled":{"type":"boolean","title":"Enabled","default":false}},"type":"object","title":"LowBalanceThresholdUpdateDto"},"MachineListResponse":{"properties":{"name":{"type":"string","title":"Name"},"price":{"type":"number","title":"Price"},"rental_rate":{"type":"number","title":"Rental Rate"},"p_min":{"type":"number","title":"P Min"},"p_max":{"type":"number","title":"P Max"},"base_price":{"type":"number","title":"Base Price"},"total_gpu_count":{"type":"integer","title":"Total Gpu Count"},"k":{"type":"integer","title":"K"},"usd_per_epoch_rented":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usd Per Epoch Rented"},"usd_per_epoch_unrented":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usd Per Epoch Unrented"},"estimates_available":{"type":"boolean","title":"Estimates Available","default":false}},"type":"object","required":["name","price","rental_rate","p_min","p_max","base_price","total_gpu_count","k"],"title":"MachineListResponse"},"MachineRequestDetailsResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"machine_name":{"type":"string","title":"Machine Name"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"cpu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu"},"ram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ram"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"achieved":{"type":"boolean","title":"Achieved","default":false},"linked_executors_count":{"type":"integer","title":"Linked Executors Count","default":0}},"type":"object","required":["id","machine_name","user_id"],"title":"MachineRequestDetailsResponse"},"MachineRequestDto":{"properties":{"machine_name":{"type":"string","title":"Machine Name"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"cpu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cpu"},"ram":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ram"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"}},"type":"object","required":["machine_name"],"title":"MachineRequestDto","examples":[{"cpu":"","extra_data":{},"gpu_count":8,"location":"USA","machine_name":"NVIDIA H200","ram":"32gb","storage":"1T"}]},"MachineSpecs-Input":{"properties":{"gpu":{"$ref":"#/components/schemas/GpuSpec"},"cpu":{"$ref":"#/components/schemas/CpuSpec"},"ram":{"$ref":"#/components/schemas/MemorySpec"},"hard_disk":{"anyOf":[{"$ref":"#/components/schemas/HardDiskSpec"},{"type":"null"}]},"os":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Os"},"network":{"anyOf":[{"$ref":"#/components/schemas/NetworkSpec"},{"type":"null"}]},"md5_checksums":{"anyOf":[{"$ref":"#/components/schemas/Checksums"},{"type":"null"}]},"docker":{"anyOf":[{"$ref":"#/components/schemas/DockerSpec"},{"type":"null"}]},"gpu_processes":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Gpu Processes"},"available_port_maps":{"anyOf":[{"items":{"prefixItems":[{"type":"integer"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},"type":"array"},{"type":"null"}],"title":"Available Port Maps"},"available_port_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Port Count"},"sysbox_runtime":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sysbox Runtime"},"storage_limit_supported":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Storage Limit Supported"},"port_range":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Port Range"},"port_mappings":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Port Mappings"},"verified_ports":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Verified Ports"},"tdx_attestation_passed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tdx Attestation Passed","default":false},"tdx_host_supported":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tdx Host Supported","default":false},"is_spot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Spot","default":false}},"type":"object","required":["gpu","cpu","ram"],"title":"MachineSpecs"},"MachineSpecs-Output":{"properties":{"gpu":{"$ref":"#/components/schemas/GpuSpec"},"cpu":{"$ref":"#/components/schemas/CpuSpec"},"ram":{"$ref":"#/components/schemas/MemorySpec"},"hard_disk":{"anyOf":[{"$ref":"#/components/schemas/HardDiskSpec"},{"type":"null"}]},"os":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Os"},"network":{"anyOf":[{"$ref":"#/components/schemas/NetworkSpec"},{"type":"null"}]},"md5_checksums":{"anyOf":[{"$ref":"#/components/schemas/Checksums"},{"type":"null"}]},"docker":{"anyOf":[{"$ref":"#/components/schemas/DockerSpec"},{"type":"null"}]},"gpu_processes":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Gpu Processes"},"available_port_maps":{"anyOf":[{"items":{"prefixItems":[{"type":"integer"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},"type":"array"},{"type":"null"}],"title":"Available Port Maps"},"available_port_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Port Count"},"sysbox_runtime":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sysbox Runtime"},"storage_limit_supported":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Storage Limit Supported"},"port_range":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Port Range"},"port_mappings":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Port Mappings"},"verified_ports":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Verified Ports"},"tdx_attestation_passed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tdx Attestation Passed","default":false},"tdx_host_supported":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tdx Host Supported","default":false},"is_spot":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Spot","default":false}},"type":"object","required":["gpu","cpu","ram"],"title":"MachineSpecs"},"ManualBackupTriggerRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"ManualBackupTriggerRequest"},"MaxRentalTimeResponse":{"properties":{"max_rental_duration_hours":{"type":"number","title":"Max Rental Duration Hours","description":"Maximum rental duration in hours"}},"type":"object","required":["max_rental_duration_hours"],"title":"MaxRentalTimeResponse","description":"Maximum rental duration statistics."},"MemorySpec":{"properties":{"total":{"type":"number","title":"Total"},"used":{"type":"number","title":"Used"},"free":{"type":"number","title":"Free"},"available":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Available"},"utilization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Utilization"}},"type":"object","required":["total","used","free"],"title":"MemorySpec"},"NetworkSpec":{"properties":{"upload_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Upload Speed"},"download_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Download Speed"},"verifyx_download_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Verifyx Download Speed"},"ema_download_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema Download Speed"},"ema_upload_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema Upload Speed"},"ema_verifyx_download_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema Verifyx Download Speed"},"ema_verifyx_upload_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema Verifyx Upload Speed"}},"type":"object","title":"NetworkSpec"},"NoticePeriodResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"period_in_minute":{"type":"integer","title":"Period In Minute"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"opt_finished":{"type":"boolean","title":"Opt Finished","default":false},"starting_at":{"type":"string","format":"date-time","title":"Starting At"},"expiring_at":{"type":"string","format":"date-time","title":"Expiring At"},"permanent_removal":{"type":"boolean","title":"Permanent Removal","default":false}},"type":"object","required":["id","executor_id","period_in_minute","starting_at","expiring_at"],"title":"NoticePeriodResponse"},"NotificationSetting":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"pod_deployed":{"type":"boolean","title":"Pod Deployed","default":false},"payment_receipt":{"type":"boolean","title":"Payment Receipt","default":false},"pod_unavailable":{"type":"boolean","title":"Pod Unavailable","default":false},"low_balance":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Low Balance"}},"type":"object","required":["user_id"],"title":"NotificationSetting"},"NotificationSettingUpdateDto":{"properties":{"pod_deployed":{"type":"boolean","title":"Pod Deployed"},"payment_receipt":{"type":"boolean","title":"Payment Receipt"},"pod_unavailable":{"type":"boolean","title":"Pod Unavailable"},"low_balance":{"type":"boolean","title":"Low Balance"}},"type":"object","required":["pod_deployed","payment_receipt","pod_unavailable","low_balance"],"title":"NotificationSettingUpdateDto"},"NowPaymentsCreateInvoiceRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"pay_currency":{"type":"string","title":"Pay Currency"}},"type":"object","required":["amount","pay_currency"],"title":"NowPaymentsCreateInvoiceRequest"},"NowPaymentsCreateInvoiceResponse":{"properties":{"invoice_url":{"type":"string","title":"Invoice Url"},"invoice_id":{"type":"string","title":"Invoice Id"},"transaction_id":{"type":"string","title":"Transaction Id"},"target_address":{"type":"string","title":"Target Address"},"target_currency":{"type":"string","title":"Target Currency"},"target_amount":{"type":"number","title":"Target Amount"},"payment_id":{"type":"string","title":"Payment Id"},"payment_status":{"type":"string","title":"Payment Status"},"payin_extra_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payin Extra Id"},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["invoice_url","invoice_id","transaction_id","target_address","target_currency","target_amount","payment_id","payment_status"],"title":"NowPaymentsCreateInvoiceResponse"},"NowPaymentsCurrenciesResponse":{"properties":{"currencies":{"items":{"$ref":"#/components/schemas/NowPaymentsCurrencyDetail"},"type":"array","title":"Currencies"}},"type":"object","required":["currencies"],"title":"NowPaymentsCurrenciesResponse"},"NowPaymentsCurrencyDetail":{"properties":{"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"logo_url":{"type":"string","title":"Logo Url"},"network":{"type":"string","title":"Network"}},"type":"object","required":["code","name","logo_url","network"],"title":"NowPaymentsCurrencyDetail"},"OAuth2LoginURLRequest":{"properties":{"redirect_uri":{"type":"string","title":"Redirect Uri"}},"type":"object","required":["redirect_uri"],"title":"OAuth2LoginURLRequest"},"OAuthHandlerRequest":{"properties":{"code":{"type":"string","title":"Code"}},"type":"object","required":["code"],"title":"OAuthHandlerRequest"},"PaginatedResponse_BackupLogEnhancedResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BackupLogEnhancedResponse"},"type":"array","title":"Items"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total_pages":{"type":"integer","title":"Total Pages"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["items","total_count","page","limit","total_pages","has_next","has_prev"],"title":"PaginatedResponse[BackupLogEnhancedResponse]"},"PaginatedResponse_BackupLogResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BackupLogResponse"},"type":"array","title":"Items"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total_pages":{"type":"integer","title":"Total Pages"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["items","total_count","page","limit","total_pages","has_next","has_prev"],"title":"PaginatedResponse[BackupLogResponse]"},"PaginatedResponse_RestoreLogResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RestoreLogResponse"},"type":"array","title":"Items"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total_pages":{"type":"integer","title":"Total Pages"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["items","total_count","page","limit","total_pages","has_next","has_prev"],"title":"PaginatedResponse[RestoreLogResponse]"},"PayoutMethod":{"type":"string","enum":["STRIPE","CRYPTO","BALANCE"],"title":"PayoutMethod"},"PayoutResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"payout_type":{"$ref":"#/components/schemas/PayoutType"},"payout_method":{"$ref":"#/components/schemas/PayoutMethod"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"status":{"$ref":"#/components/schemas/PayoutStatus"},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id"},"stripe_transfer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Transfer Id"},"transaction_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transaction Hash"},"microservice_transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microservice Transaction Id"},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network"},"token_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Type"},"destination_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Destination Address"},"meta_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta Data"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","user_id","payout_type","payout_method","amount","currency","status","created_at","updated_at"],"title":"PayoutResponse","description":"Response model for a payout."},"PayoutStatus":{"type":"string","enum":["PENDING","CONFIRMED","FAILED"],"title":"PayoutStatus"},"PayoutType":{"type":"string","enum":["REFERRAL","BALANCE_WITHDRAWAL"],"title":"PayoutType"},"Pod":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"pod_name":{"type":"string","title":"Pod Name","default":""},"user_id":{"type":"string","format":"uuid","title":"User Id"},"template_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Template Id"},"volume_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Volume Id"},"container_name":{"type":"string","title":"Container Name","default":""},"volume_name":{"type":"string","title":"Volume Name","default":""},"local_volume_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Local Volume Path"},"ports_mapping":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"string"}],"title":"Ports Mapping","default":"{}"},"ssh_connect_cmd":{"type":"string","title":"Ssh Connect Cmd","default":""},"gpu_name":{"type":"string","title":"Gpu Name","default":""},"gpu_count":{"type":"string","title":"Gpu Count","default":""},"cpu_name":{"type":"string","title":"Cpu Name","default":""},"cpu_count":{"type":"integer","title":"Cpu Count","default":0},"ram_total":{"type":"integer","title":"Ram Total","default":0},"volume_limit_gb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Volume Limit Gb"},"storage_limit_gb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Storage Limit Gb"},"status":{"anyOf":[{"$ref":"#/components/schemas/PodStatus"},{"type":"null"}]},"retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Retries"},"user_public_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Public Key"},"skip_add_agent_ssh_key":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Add Agent Ssh Key","default":false},"removal_scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Removal Scheduled At"},"termination_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Termination Hours"},"enable_jupyter":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Jupyter","default":false},"jupyter_installation_status":{"anyOf":[{"$ref":"#/components/schemas/JupyterInstallationStatus"},{"type":"null"}]},"jupyter_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jupyter Url"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"discord_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discord Channel Id"},"is_favorite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Favorite"}},"type":"object","required":["executor_id","user_id","template_id","volume_id","retries"],"title":"Pod"},"PodDetailResponse":{"properties":{"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"ports_mapping":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"string"}],"title":"Ports Mapping"},"pod_name":{"type":"string","title":"Pod Name"},"ssh_connect_cmd":{"type":"string","title":"Ssh Connect Cmd"},"gpu_name":{"type":"string","title":"Gpu Name"},"gpu_count":{"type":"string","title":"Gpu Count"},"cpu_name":{"type":"string","title":"Cpu Name"},"cpu_count":{"type":"integer","title":"Cpu Count"},"ram_total":{"type":"integer","title":"Ram Total"},"status":{"type":"string","title":"Status"},"is_favorite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Favorite"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"removal_scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Removal Scheduled At"},"termination_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Termination Hours"},"jupyter_installation_status":{"anyOf":[{"$ref":"#/components/schemas/JupyterInstallationStatus"},{"type":"null"}]},"jupyter_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jupyter Url"},"enable_jupyter":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Jupyter"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"id":{"type":"string","format":"uuid","title":"Id"},"template":{"anyOf":[{"$ref":"#/components/schemas/TemplateBaseResponse"},{"type":"null"}]},"executor":{"$ref":"#/components/schemas/ExecutorForPodResponse"},"volume":{"anyOf":[{"$ref":"#/components/schemas/VolumeForPodResponse"},{"type":"null"}]},"ssh_keys":{"anyOf":[{"items":{"$ref":"#/components/schemas/SshKeyForPodResponse"},"type":"array"},{"type":"null"}],"title":"Ssh Keys"},"notice_period":{"anyOf":[{"$ref":"#/components/schemas/NoticePeriodResponse"},{"type":"null"}]},"skip_add_agent_ssh_key":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Add Agent Ssh Key"},"pod_status":{"anyOf":[{"$ref":"#/components/schemas/PodStatusResponse"},{"type":"null"}]},"provider_discord_connected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Provider Discord Connected"}},"type":"object","required":["executor_id","ports_mapping","pod_name","ssh_connect_cmd","gpu_name","gpu_count","cpu_name","cpu_count","ram_total","status","is_favorite","removal_scheduled_at","termination_hours","jupyter_installation_status","jupyter_url","enable_jupyter","id","executor"],"title":"PodDetailResponse"},"PodDiscordChannelRequest":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"}},"type":"object","title":"PodDiscordChannelRequest"},"PodDiscordChannelResponse":{"properties":{"channel_id":{"type":"string","title":"Channel Id"},"discord_channel_id":{"type":"string","title":"Discord Channel Id"},"channel_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Url"},"message":{"type":"string","title":"Message"}},"type":"object","required":["channel_id","discord_channel_id","message"],"title":"PodDiscordChannelResponse"},"PodListItemResponse":{"properties":{"executor_id":{"type":"string","format":"uuid","title":"Executor Id"},"ports_mapping":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"string"}],"title":"Ports Mapping"},"pod_name":{"type":"string","title":"Pod Name"},"ssh_connect_cmd":{"type":"string","title":"Ssh Connect Cmd"},"gpu_name":{"type":"string","title":"Gpu Name"},"gpu_count":{"type":"string","title":"Gpu Count"},"cpu_name":{"type":"string","title":"Cpu Name"},"cpu_count":{"type":"integer","title":"Cpu Count"},"ram_total":{"type":"integer","title":"Ram Total"},"status":{"type":"string","title":"Status"},"is_favorite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Favorite"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"removal_scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Removal Scheduled At"},"termination_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Termination Hours"},"jupyter_installation_status":{"anyOf":[{"$ref":"#/components/schemas/JupyterInstallationStatus"},{"type":"null"}]},"jupyter_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jupyter Url"},"enable_jupyter":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Jupyter"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"id":{"type":"string","format":"uuid","title":"Id"},"template":{"anyOf":[{"$ref":"#/components/schemas/TemplateBaseResponse"},{"type":"null"}]},"executor":{"$ref":"#/components/schemas/ExecutorForPodResponse"},"volume":{"anyOf":[{"$ref":"#/components/schemas/VolumeForPodResponse"},{"type":"null"}]},"ssh_keys":{"anyOf":[{"items":{"$ref":"#/components/schemas/SshKeyForPodResponse"},"type":"array"},{"type":"null"}],"title":"Ssh Keys"},"notice_period":{"anyOf":[{"$ref":"#/components/schemas/NoticePeriodResponse"},{"type":"null"}]},"skip_add_agent_ssh_key":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Add Agent Ssh Key"}},"type":"object","required":["executor_id","ports_mapping","pod_name","ssh_connect_cmd","gpu_name","gpu_count","cpu_name","cpu_count","ram_total","status","is_favorite","updated_at","created_at","removal_scheduled_at","termination_hours","jupyter_installation_status","jupyter_url","enable_jupyter","id","executor"],"title":"PodListItemResponse"},"PodStatus":{"type":"string","enum":["PENDING","RUNNING","STOPPED","FAILED","DELETING","STOP_PENDING","START_PENDING","CREATION_FAILED","BROKEN"],"title":"PodStatus"},"PodStatusResponse":{"properties":{"logs":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Logs"},"hardware_utilization":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Hardware Utilization"}},"type":"object","required":["logs","hardware_utilization"],"title":"PodStatusResponse"},"PodUpdateRequest":{"properties":{"pod_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pod Name"}},"type":"object","title":"PodUpdateRequest"},"ProviderStatisticsResponse":{"properties":{"miner_hotkey":{"type":"string","title":"Miner Hotkey","description":"The hotkey of the provider"},"average_network_speed":{"$ref":"#/components/schemas/AverageNetworkSpeedResponse"},"locations":{"items":{"$ref":"#/components/schemas/LocationResponse"},"type":"array","title":"Locations","description":"List of unique machine locations"},"feedback_rates":{"$ref":"#/components/schemas/FeedbackRatesResponse"},"rental_failures":{"$ref":"#/components/schemas/RentalFailuresResponse"},"rental_successes":{"$ref":"#/components/schemas/RentalSuccessResponse"},"uptime_counts":{"$ref":"#/components/schemas/UptimeCountsResponse"},"max_rental_time":{"$ref":"#/components/schemas/MaxRentalTimeResponse"},"unique_renters":{"$ref":"#/components/schemas/UniqueRentersResponse"},"unique_positive_renters":{"$ref":"#/components/schemas/UniquePositiveRentersResponse"},"collateral_status":{"$ref":"#/components/schemas/CollateralStatusResponse"}},"type":"object","required":["miner_hotkey","average_network_speed","locations","feedback_rates","rental_failures","rental_successes","uptime_counts","max_rental_time","unique_renters","unique_positive_renters","collateral_status"],"title":"ProviderStatisticsResponse","description":"Comprehensive provider statistics response.","example":{"average_network_speed":{"average_download_speed_mbps":520.75,"average_upload_speed_mbps":450.25,"total_machines_with_network_data":5},"collateral_status":{"active_count":4,"collateral_deposited_count":5,"collateral_percentage":100.0,"total_machines":5,"verified_count":5,"verified_percentage":100.0},"feedback_rates":{"bad_feedbacks":5,"good_feedbacks":45,"good_percentage":90.0,"total_feedbacks":50},"locations":[{"city":"San Francisco","country":"United States","country_code":"US","latitude":37.7749,"longitude":-122.4194,"region":"California","timezone":"America/Los_Angeles"}],"max_rental_time":{"max_rental_duration_hours":168.5},"miner_hotkey":"5Abc123...","rental_failures":{"rental_failures":2},"rental_successes":{"rental_successes":150},"unique_positive_renters":{"unique_positive_renters":25},"unique_renters":{"unique_renters":28},"uptime_counts":{"average_uptime_hours":720.0,"reclaimed_count":1,"total_machines":5}}},"RebootPodRequest":{"properties":{"volume_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Volume Id"}},"type":"object","title":"RebootPodRequest"},"ReclaimListResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"reclaim_id":{"type":"integer","title":"Reclaim Id"},"status":{"type":"string","title":"Status"},"expiration":{"type":"string","format":"date-time","title":"Expiration"},"executor_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Executor Id"},"collateral_amount":{"type":"number","title":"Collateral Amount"},"requested_at":{"type":"string","format":"date-time","title":"Requested At"},"processed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Processed At"},"is_expired":{"type":"boolean","title":"Is Expired"},"can_be_processed":{"type":"boolean","title":"Can Be Processed"}},"type":"object","required":["id","reclaim_id","status","expiration","executor_id","collateral_amount","requested_at","is_expired","can_be_processed"],"title":"ReclaimListResponse","description":"Response model for reclaim list items"},"ReferralCodeResponse":{"properties":{"referral_code":{"type":"string","title":"Referral Code"},"referral_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Link"}},"type":"object","required":["referral_code"],"title":"ReferralCodeResponse"},"ReferralHistoryItem":{"properties":{"referred_email":{"type":"string","title":"Referred Email"},"referred_name":{"type":"string","title":"Referred Name"},"status":{"type":"string","title":"Status"},"reward_paid":{"type":"number","title":"Reward Paid"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"tiers":{"items":{"$ref":"#/components/schemas/ReferralTierInfo"},"type":"array","title":"Tiers"}},"type":"object","required":["referred_email","referred_name","status","reward_paid","created_at","completed_at","tiers"],"title":"ReferralHistoryItem"},"ReferralHistoryResponse":{"properties":{"referral_code":{"type":"string","title":"Referral Code"},"history":{"items":{"$ref":"#/components/schemas/ReferralHistoryItem"},"type":"array","title":"History"}},"type":"object","required":["referral_code","history"],"title":"ReferralHistoryResponse"},"ReferralPayoutMethod":{"type":"string","enum":["balance","usd","crypto"],"title":"ReferralPayoutMethod"},"ReferralPayoutMethodUpdateDto":{"properties":{"referral_payout_method":{"$ref":"#/components/schemas/ReferralPayoutMethod"},"wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Wallet Id"}},"type":"object","required":["referral_payout_method"],"title":"ReferralPayoutMethodUpdateDto"},"ReferralProgramInfoResponse":{"properties":{"payment_threshold":{"type":"number","title":"Payment Threshold"},"referrer_reward":{"type":"number","title":"Referrer Reward"},"referred_bonus":{"type":"number","title":"Referred Bonus"},"tiers":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tiers"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["payment_threshold","referrer_reward","referred_bonus"],"title":"ReferralProgramInfoResponse"},"ReferralStatsResponse":{"properties":{"referral_code":{"type":"string","title":"Referral Code"},"total_referrals":{"type":"integer","title":"Total Referrals"},"pending_referrals":{"type":"integer","title":"Pending Referrals"},"completed_referrals":{"type":"integer","title":"Completed Referrals"},"total_earned":{"type":"number","title":"Total Earned"},"pending_referral_balance":{"type":"number","title":"Pending Referral Balance"}},"type":"object","required":["referral_code","total_referrals","pending_referrals","completed_referrals","total_earned","pending_referral_balance"],"title":"ReferralStatsResponse"},"ReferralTierInfo":{"properties":{"rate":{"type":"number","title":"Rate"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["rate","start_date","end_date","is_active"],"title":"ReferralTierInfo"},"RentExecutorRequest":{"properties":{"pod_name":{"type":"string","title":"Pod Name"},"template_id":{"type":"string","format":"uuid","title":"Template Id"},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"volume_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Volume Id"},"user_public_key":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"User Public Key"},"backup_log_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backup Log Id"},"restore_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Restore Path"},"skip_add_agent_ssh_key":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skip Add Agent Ssh Key"},"termination_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Termination Hours"},"initial_port_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Initial Port Count"},"enable_jupyter":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Jupyter"}},"type":"object","required":["pod_name","template_id","user_public_key"],"title":"RentExecutorRequest","description":"Request to rent a node.\n\nAttributes:\n    termination_hours: Number of hours after which the pod should be automatically terminated.\n        Must be between 1 and 720 hours (30 days).\n    initial_port_count: Number of ports to initially allocate for this pod.\n        Must be non-negative and not exceed node's available ports.","examples":[{"backup_log_id":"123e4567-e89b-12d3-a456-426614174000","enable_jupyter":false,"initial_port_count":10,"pod_name":"123e4567-e89b-12d3-a456-426614174000","restore_path":"/home/user/data","skip_add_agent_ssh_key":false,"template_id":"b21be992-dde1-4aa1-a42f-6787c7af9846","termination_hours":24,"user_public_key":["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMo32AY0vFK7g5FBIBcyPdxaxSEM5rEc0kEzMVveA9b+","ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMo32AY0vFK7g5FBIBcyPdxaxSEM5rEc0kEzMVveA9eb+"],"volume_id":"123e4567-e89b-12d3-a456-426614174000"}]},"RentalFailuresResponse":{"properties":{"rental_failures":{"type":"integer","title":"Rental Failures","description":"Number of pods that failed to start"}},"type":"object","required":["rental_failures"],"title":"RentalFailuresResponse","description":"Rental failure statistics."},"RentalSuccessResponse":{"properties":{"rental_successes":{"type":"integer","title":"Rental Successes","description":"Number of successful rentals"}},"type":"object","required":["rental_successes"],"title":"RentalSuccessResponse","description":"Rental success statistics."},"RequestResetPasswordDto":{"properties":{"email":{"type":"string","title":"Email","default":"test@test.com"},"password_reset_base_url":{"type":"string","title":"Password Reset Base Url","default":"https://computenet.ai/reset-password"}},"type":"object","title":"RequestResetPasswordDto"},"ResendVerifyEmailRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"ResendVerifyEmailRequest"},"ResetPasswordDto":{"properties":{"reset_password_token":{"type":"string","title":"Reset Password Token"},"password":{"type":"string","title":"Password"}},"type":"object","required":["reset_password_token","password"],"title":"ResetPasswordDto"},"RestoreLogResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"backup_id":{"type":"string","format":"uuid","title":"Backup Id"},"pod_id":{"type":"string","format":"uuid","title":"Pod Id"},"status":{"type":"string","title":"Status"},"progress":{"type":"number","title":"Progress"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"logs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Logs"},"restore_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Restore Path"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","backup_id","pod_id","status","progress","created_at"],"title":"RestoreLogResponse"},"RestoreProgressUpdateRequest":{"properties":{"progress":{"type":"number","title":"Progress"},"status":{"type":"string","title":"Status"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"logs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Logs"}},"type":"object","required":["progress","status"],"title":"RestoreProgressUpdateRequest"},"RestoreRequest":{"properties":{"backup_id":{"type":"string","format":"uuid","title":"Backup Id"},"restore_path":{"type":"string","title":"Restore Path"}},"type":"object","required":["backup_id","restore_path"],"title":"RestoreRequest"},"Rig":{"properties":{"gpu_name":{"type":"string","title":"Gpu Name"},"count":{"type":"integer","title":"Count"},"num_rigs":{"type":"integer","title":"Num Rigs"}},"type":"object","required":["gpu_name","count","num_rigs"],"title":"Rig","examples":[{"rigs":[{"count":1,"gpu_name":"NVIDIA H100 80GB HBM3","num_rigs":3}]}]},"RigResponse":{"properties":{"label":{"type":"string","title":"Label"},"gpu_power":{"type":"number","title":"Gpu Power"}},"type":"object","required":["label","gpu_power"],"title":"RigResponse"},"ScheduleRemovalRequest":{"properties":{"removal_scheduled_at":{"type":"string","title":"Removal Scheduled At"}},"type":"object","required":["removal_scheduled_at"],"title":"ScheduleRemovalRequest"},"SharedConfig":{"properties":{"machine_prices":{"additionalProperties":{"type":"number"},"type":"object","title":"Machine Prices"},"required_deposit_amount":{"additionalProperties":{"type":"number"},"type":"object","title":"Required Deposit Amount"},"gpu_architectures":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Gpu Architectures"},"driver_cuda_map":{"additionalProperties":{"type":"number"},"type":"object","title":"Driver Cuda Map"},"machine_max_price_rate":{"type":"number","title":"Machine Max Price Rate"},"machine_min_price_rate":{"type":"number","title":"Machine Min Price Rate"},"rental_fees_rate":{"type":"number","title":"Rental Fees Rate"},"collateral_days":{"type":"integer","title":"Collateral Days"},"collateral_contract_address":{"type":"string","title":"Collateral Contract Address"},"bittensor_netuid":{"type":"integer","title":"Bittensor Netuid"},"volume_gb_hour_price_usd":{"type":"number","title":"Volume Gb Hour Price Usd"},"max_initial_port_count":{"type":"integer","title":"Max Initial Port Count"},"total_burn_emission":{"type":"number","title":"Total Burn Emission"}},"type":"object","required":["machine_prices","required_deposit_amount","gpu_architectures","driver_cuda_map","machine_max_price_rate","machine_min_price_rate","rental_fees_rate","collateral_days","collateral_contract_address","bittensor_netuid","volume_gb_hour_price_usd","max_initial_port_count","total_burn_emission"],"title":"SharedConfig"},"SshKey":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"name":{"type":"string","title":"Name"},"public_key":{"type":"string","title":"Public Key"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"is_for_admin":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is For Admin","default":false}},"type":"object","required":["name","public_key","user_id"],"title":"SshKey"},"SshKeyForPodResponse":{"properties":{"name":{"type":"string","title":"Name"},"public_key":{"type":"string","title":"Public Key"}},"type":"object","required":["name","public_key"],"title":"SshKeyForPodResponse"},"StripeInvoiceResponse":{"properties":{"invoice_id":{"type":"string","title":"Invoice Id"},"amount_paid":{"type":"integer","title":"Amount Paid"},"amount_paid_usd":{"type":"number","title":"Amount Paid Usd"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"created":{"type":"integer","title":"Created"},"hosted_invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hosted Invoice Url"},"invoice_pdf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Pdf"},"payment_intent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Intent Id"}},"type":"object","required":["invoice_id","amount_paid","amount_paid_usd","currency","status","created"],"title":"StripeInvoiceResponse"},"SwitchTemplatePodRequest":{"properties":{"template_id":{"type":"string","format":"uuid","title":"Template Id"}},"type":"object","required":["template_id"],"title":"SwitchTemplatePodRequest"},"Template":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"docker_image":{"type":"string","title":"Docker Image"},"docker_image_tag":{"type":"string","title":"Docker Image Tag"},"docker_image_digest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docker Image Digest"},"docker_image_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Docker Image Size"},"category":{"$ref":"#/components/schemas/TemplateCategory","default":"DOCKER"},"validator_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Validator Only","default":false},"volumes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Volumes"},"environment":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Environment"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"internal_ports":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Internal Ports"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"is_private":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Private","default":false},"readme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readme"},"startup_commands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Startup Commands"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","default":"CREATED"},"is_temporary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Temporary","default":false},"is_created_from_official_template":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Created From Official Template","default":false},"docker_credential_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Docker Credential Id"},"one_time_template":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"One Time Template","default":false},"container_start_immediately":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Container Start Immediately","default":true},"verify_ssh_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verify Ssh Connection","default":true},"health_check_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Health Check Command"},"verification_logs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Logs"},"download_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Download Count","default":0}},"type":"object","required":["name","docker_image","docker_image_tag","docker_image_digest","docker_image_size","volumes","environment","internal_ports","readme"],"title":"Template"},"TemplateBaseResponse":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"docker_image":{"type":"string","title":"Docker Image"},"docker_image_tag":{"type":"string","title":"Docker Image Tag"},"category":{"$ref":"#/components/schemas/TemplateCategory"},"docker_image_digest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docker Image Digest"},"volumes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Volumes"},"environment":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Environment"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"internal_ports":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Internal Ports"},"is_private":{"type":"boolean","title":"Is Private"},"startup_commands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Startup Commands"}},"type":"object","required":["id","name","description","docker_image","docker_image_tag","category","docker_image_digest","volumes","environment","entrypoint","internal_ports","is_private","startup_commands"],"title":"TemplateBaseResponse"},"TemplateCategory":{"type":"string","enum":["DOCKER","PYTORCH","NVIDIA","TENSOR_FLOW","OPEN_AI","UBUNTU"],"title":"TemplateCategory"},"TemplateCompatibilityInfo":{"properties":{"is_compatible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Compatible"},"template_cuda_version":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Template Cuda Version"},"gpu_min_cuda_required":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gpu Min Cuda Required"},"driver_max_cuda_supported":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Driver Max Cuda Supported"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["is_compatible","template_cuda_version","gpu_min_cuda_required","driver_max_cuda_supported","reason"],"title":"TemplateCompatibilityInfo"},"TemplateResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"docker_image":{"type":"string","title":"Docker Image"},"docker_image_tag":{"type":"string","title":"Docker Image Tag"},"docker_image_digest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docker Image Digest"},"docker_image_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Docker Image Size"},"category":{"$ref":"#/components/schemas/TemplateCategory"},"validator_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Validator Only"},"volumes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Volumes"},"environment":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Environment"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"internal_ports":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Internal Ports"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"is_private":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Private"},"readme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readme"},"startup_commands":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Startup Commands"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"is_temporary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Temporary"},"is_created_from_official_template":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Created From Official Template"},"docker_credential_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Docker Credential Id"},"one_time_template":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"One Time Template"},"container_start_immediately":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Container Start Immediately"},"verify_ssh_connection":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verify Ssh Connection"},"health_check_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Health Check Command"},"verification_logs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Logs"},"download_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Download Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"compatibility":{"anyOf":[{"$ref":"#/components/schemas/TemplateCompatibilityInfo"},{"type":"null"}]}},"type":"object","required":["id","name","description","docker_image","docker_image_tag","docker_image_digest","docker_image_size","category","validator_only","volumes","environment","entrypoint","internal_ports","user_id","is_private","readme","startup_commands","status","is_temporary","is_created_from_official_template","docker_credential_id","one_time_template","container_start_immediately","verify_ssh_connection","health_check_command","verification_logs","download_count","created_at","updated_at"],"title":"TemplateResponse"},"TmcPayCreateInvoiceRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"crypto_currency":{"type":"string","title":"Crypto Currency"},"crypto_network":{"type":"string","title":"Crypto Network"}},"type":"object","required":["amount","crypto_currency","crypto_network"],"title":"TmcPayCreateInvoiceRequest"},"TmcPayCreateInvoiceResponse":{"properties":{"invoice_id":{"type":"string","title":"Invoice Id"},"external_id":{"type":"string","title":"External Id"},"transaction_id":{"type":"string","title":"Transaction Id"},"hosted_invoice_url":{"type":"string","title":"Hosted Invoice Url"},"deposit_address":{"type":"string","title":"Deposit Address"},"fiat_amount":{"type":"number","title":"Fiat Amount"},"fiat_currency":{"type":"string","title":"Fiat Currency"},"crypto_amount":{"type":"number","title":"Crypto Amount"},"crypto_currency":{"type":"string","title":"Crypto Currency"},"crypto_network":{"type":"string","title":"Crypto Network"},"exchange_rate":{"type":"number","title":"Exchange Rate"},"expires_at":{"type":"string","title":"Expires At"}},"type":"object","required":["invoice_id","external_id","transaction_id","hosted_invoice_url","deposit_address","fiat_amount","fiat_currency","crypto_amount","crypto_currency","crypto_network","exchange_rate","expires_at"],"title":"TmcPayCreateInvoiceResponse"},"TmcPayCurrenciesResponse":{"properties":{"currencies":{"items":{"$ref":"#/components/schemas/TmcPayCurrency"},"type":"array","title":"Currencies"}},"type":"object","required":["currencies"],"title":"TmcPayCurrenciesResponse"},"TmcPayCurrency":{"properties":{"code":{"type":"string","title":"Code"},"network":{"type":"string","title":"Network"},"decimals":{"type":"integer","title":"Decimals"},"display_decimals":{"type":"integer","title":"Display Decimals"}},"type":"object","required":["code","network","decimals","display_decimals"],"title":"TmcPayCurrency"},"TotalCountExecutorResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["total_count"],"title":"TotalCountExecutorResponse"},"Transaction":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id"},"platform":{"anyOf":[{"$ref":"#/components/schemas/TransactionPlatform"},{"type":"null"}]},"status":{"anyOf":[{"$ref":"#/components/schemas/TransactionStatus"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"amount_in_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount In Usd"},"reference_id":{"type":"string","title":"Reference Id"},"stripe_invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Invoice Id"},"tmc_pay_invoice_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tmc Pay Invoice Id"},"transaction_created_at":{"type":"string","format":"date-time","title":"Transaction Created At"},"transaction_paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Transaction Paid At"}},"type":"object","required":["user_id","reference_id"],"title":"Transaction"},"TransactionPlatform":{"type":"string","enum":["COINBASE","STRIPE","TAO","REFERRAL","ADMIN","NOWPAYMENTS","TMC_PAY"],"title":"TransactionPlatform"},"TransactionStatus":{"type":"string","enum":["PENDING","COMPLETED","FAILED"],"title":"TransactionStatus"},"TransferCreditsDto":{"properties":{"receiver_id":{"type":"string","title":"Receiver Id"},"amount":{"type":"number","title":"Amount"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["receiver_id","amount"],"title":"TransferCreditsDto"},"TransferHistoryDto":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"receiver_id":{"type":"string","format":"uuid","title":"Receiver Id"},"receiver_email":{"type":"string","title":"Receiver Email"},"amount":{"type":"number","title":"Amount"},"transfer_type":{"type":"string","title":"Transfer Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","created_at","user_id","receiver_id","receiver_email","amount","transfer_type"],"title":"TransferHistoryDto"},"UniquePositiveRentersResponse":{"properties":{"unique_positive_renters":{"type":"integer","title":"Unique Positive Renters","description":"Number of unique users who gave positive feedback"}},"type":"object","required":["unique_positive_renters"],"title":"UniquePositiveRentersResponse","description":"Unique positive renters statistics."},"UniqueRentersResponse":{"properties":{"unique_renters":{"type":"integer","title":"Unique Renters","description":"Number of unique users who rented from this provider"}},"type":"object","required":["unique_renters"],"title":"UniqueRentersResponse","description":"Unique renters statistics."},"UpdateBannedMachineRequest":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Reason","description":"Updated reason"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","description":"Updated active status"}},"type":"object","title":"UpdateBannedMachineRequest"},"UpdateCustomReferralLinkRequest":{"properties":{"credit_amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Credit Amount"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"description":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Description"}},"type":"object","title":"UpdateCustomReferralLinkRequest"},"UpdateUserDto":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"validator_hotkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validator Hotkey"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"archive_hints":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Archive Hints"},"disable_incoming_connections":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disable Incoming Connections"}},"type":"object","title":"UpdateUserDto"},"UpdateUserFeedbackDto":{"properties":{"category":{"anyOf":[{"$ref":"#/components/schemas/FeedbackCategory"},{"type":"null"}],"description":"Category of the feedback"},"title":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Title","description":"Title of the feedback"},"description":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Description","description":"Detailed description of the feedback"},"status":{"anyOf":[{"$ref":"#/components/schemas/FeedbackStatus"},{"type":"null"}],"description":"Status of the feedback"}},"type":"object","title":"UpdateUserFeedbackDto"},"UptimeCountsResponse":{"properties":{"average_uptime_hours":{"type":"number","title":"Average Uptime Hours","description":"Average uptime across all machines in hours"},"reclaimed_count":{"type":"integer","title":"Reclaimed Count","description":"Number of machines that have been reclaimed/reset"},"total_machines":{"type":"integer","title":"Total Machines","description":"Total number of machines"}},"type":"object","required":["average_uptime_hours","reclaimed_count","total_machines"],"title":"UptimeCountsResponse","description":"Uptime and reset statistics."},"User":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"stripe_connect_account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Connect Account Id"},"stripe_onboarding_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Stripe Onboarding Completed","default":false},"referral_payout_method":{"$ref":"#/components/schemas/ReferralPayoutMethod","default":"balance"},"referral_payout_wallet_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Referral Payout Wallet Id"},"balance":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Balance","default":0},"pending_referral_balance":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pending Referral Balance","default":0},"email_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Verified","default":false},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"discord_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discord Id"},"disable_incoming_connections":{"type":"boolean","title":"Disable Incoming Connections","default":false},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"},"validator_hotkey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validator Hotkey"},"archive_hints":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Archive Hints"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"admin":{"type":"boolean","title":"Admin","default":false},"internal_member":{"type":"boolean","title":"Internal Member","default":false},"referral_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Referral Code"}},"type":"object","required":["name","email","archive_hints"],"title":"User"},"UserFeedbackDeleteResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Success message"},"feedback_id":{"type":"string","format":"uuid","title":"Feedback Id","description":"ID of the deleted feedback"}},"type":"object","required":["message","feedback_id"],"title":"UserFeedbackDeleteResponse"},"UserFeedbackResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"category":{"$ref":"#/components/schemas/FeedbackCategory"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"$ref":"#/components/schemas/FeedbackStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","user_id","category","title","description","status","created_at","updated_at"],"title":"UserFeedbackResponse"},"ValidateCustomReferralLinkResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"credit_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Credit Amount"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"decrypted_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decrypted Code"}},"type":"object","required":["valid"],"title":"ValidateCustomReferralLinkResponse"},"ValidateReferralResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"referrer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer Name"}},"type":"object","required":["valid"],"title":"ValidateReferralResponse"},"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"},"ValidatorResponse":{"properties":{"validator_hotkey":{"type":"string","title":"Validator Hotkey"},"original_score":{"type":"number","title":"Original Score"},"stake":{"type":"number","title":"Stake"},"final_score":{"type":"number","title":"Final Score"},"allocated_gpu_score":{"type":"number","title":"Allocated Gpu Score"},"fraction":{"type":"number","title":"Fraction"},"rigs_alloc":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Rigs Alloc"}},"type":"object","required":["validator_hotkey","original_score","stake","final_score","allocated_gpu_score","fraction"],"title":"ValidatorResponse"},"VolumeCostSummaryResponse":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"total_volumes":{"type":"integer","title":"Total Volumes"},"date_range":{"additionalProperties":true,"type":"object","title":"Date Range"},"cost_breakdown":{"additionalProperties":true,"type":"object","title":"Cost Breakdown"},"top_volumes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Volumes","description":"Top 5 most expensive volumes"}},"type":"object","required":["user_id","total_volumes","date_range","cost_breakdown","top_volumes"],"title":"VolumeCostSummaryResponse","description":"Response model for volume cost summary"},"VolumeCostsPaginatedResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/VolumeCostsResponse"},"type":"array","title":"Data"},"pagination":{"additionalProperties":true,"type":"object","title":"Pagination","description":"Pagination metadata"},"filters":{"additionalProperties":true,"type":"object","title":"Filters","description":"Applied filters"},"summary":{"additionalProperties":true,"type":"object","title":"Summary","description":"Cost summary for the period"}},"type":"object","required":["data","pagination","filters","summary"],"title":"VolumeCostsPaginatedResponse","description":"Paginated response for volume costs"},"VolumeCostsResponse":{"properties":{"date":{"type":"string","title":"Date","description":"Date in YYYY-MM-DD format"},"volume_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Volume Id","description":"Volume ID (null if grouped by date)"},"volume_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Volume Name","description":"Volume name (null if grouped by date)"},"storage_cost":{"type":"number","title":"Storage Cost","description":"AWS Storage costs in USD"},"egress_cost":{"type":"number","title":"Egress Cost","description":"AWS Data transfer out costs in USD"},"requests_cost":{"type":"number","title":"Requests Cost","description":"AWS Combined request costs in USD"},"requests_tier1_cost":{"type":"number","title":"Requests Tier1 Cost","description":"AWS Tier 1 request costs (PUT, POST, etc.) in USD"},"requests_tier2_cost":{"type":"number","title":"Requests Tier2 Cost","description":"AWS Tier 2 request costs (GET, etc.) in USD"},"other_costs":{"type":"number","title":"Other Costs","description":"AWS Other S3 costs in USD"},"total_cost":{"type":"number","title":"Total Cost","description":"Total AWS costs in USD"},"custom_storage_cost":{"type":"number","title":"Custom Storage Cost","description":"Custom storage cost using our pricing ($0.00005/gb/hr)","default":0.0},"bucket_size_gb":{"type":"number","title":"Bucket Size Gb","description":"Calculated bucket size in GB","default":0.0},"chargeable_cost":{"type":"number","title":"Chargeable Cost","description":"Cost charged to user (custom storage only)","default":0.0},"billing_period_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Period Start","description":"Billing period start date"},"billing_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Period End","description":"Billing period end date"}},"type":"object","required":["date","storage_cost","egress_cost","requests_cost","requests_tier1_cost","requests_tier2_cost","other_costs","total_cost"],"title":"VolumeCostsResponse","description":"Response model for volume cost data"},"VolumeCreateRequest":{"properties":{"name":{"type":"string","maxLength":100,"pattern":"^[a-zA-Z0-9\\s\\-_.,()!?/]+$","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":500,"pattern":"^[a-zA-Z0-9\\s\\-_.,()!?/]+$"},{"type":"null"}],"title":"Description"}},"type":"object","required":["name"],"title":"VolumeCreateRequest","examples":[{"description":"my volume description","name":"my volume"}]},"VolumeForPodResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"bucket_name":{"type":"string","title":"Bucket Name"},"plugin":{"type":"string","title":"Plugin"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","name","bucket_name","plugin"],"title":"VolumeForPodResponse","description":"Volume information for pod responses (without circular pod reference)"},"VolumeResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"pod":{"anyOf":[{"$ref":"#/components/schemas/Pod"},{"type":"null"}]},"current_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Size Bytes"},"current_file_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current File Count"},"current_size_gb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Size Gb"},"current_size_mb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Current Size Mb"},"last_metrics_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Metrics Update"}},"type":"object","required":["id","name","created_at","updated_at"],"title":"VolumeResponse"},"WithdrawReferralRewardsResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"},"payout_id":{"type":"string","format":"uuid","title":"Payout Id"},"payout_method":{"type":"string","title":"Payout Method"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"new_pending_balance":{"type":"number","title":"New Pending Balance"},"new_main_balance":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"New Main Balance"}},"type":"object","required":["success","message","payout_id","payout_method","amount","currency","status","new_pending_balance","new_main_balance"],"title":"WithdrawReferralRewardsResponse"}},"securitySchemes":{"JwtAccessBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"Support API Key Authentication","description":"🔐 **Authenticated APIs** - Endpoints requiring API key authentication for user-specific operations. Add `X-API-Key` in the header to authenticate."},{"name":"Public APIs For Providers","description":"⚙️ **Public Provider APIs** - Open endpoints for providers and validators in the network. No authentication required."},{"name":"General APIs with JWT","description":"🌐 **General APIs** - Basic platform endpoints that the frontend app accesses. Uses JWT authentication."}]}