### API: Get Bookmarked Providers Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to get all bookmarked providers for the current user. Requires JWT authentication for access. ```APIDOC GET /bookmark Summary: Get bookmarked providers Description: Endpoint to get all bookmarked providers for the current user. Tags: Support API Key Authentication Security: JwtAccessBearer Responses: 200: Description: List of bookmarked provider hotkeys Schema: array of string 500: Description: Internal server error ``` -------------------------------- ### API: Get Executors from Bookmarked Providers Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to get all available executors from bookmarked providers. Supports optional pagination parameters 'page' and 'size'. Requires JWT authentication for access. ```APIDOC GET /bookmark/executors Summary: Get executors from bookmarked providers Description: Endpoint to get all available executors from bookmarked providers. Tags: Support API Key Authentication Security: JwtAccessBearer Parameters: - name: page (type: integer or null, in: query, required: false) - Page - name: size (type: integer or null, in: query, required: false) - Size Responses: 200: Description: List of available executors from bookmarked providers Schema: array of #/components/schemas/ExecutorDetailResponse 500: Description: Internal server error 422: Description: Validation Error Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### Get Auto Top Up Configuration API Endpoint (GET /users/me/auto-top-up) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Retrieves the auto top-up configuration for the currently authenticated user. ```APIDOC Path: /users/me/auto-top-up Method: GET Summary: Get Auto Top Up Description: Get auto top up configuration for the user. Operation ID: 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 ``` -------------------------------- ### Get All Pods API Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve all available pods, with optional filtering by machine names, price, GPU count, location, bookmark status, and favorites. ```APIDOC GET /pods Summary: Get all pods Description: Endpoint to get all available pods. Security: JwtAccessBearer Parameters: - name: machine_names in: query required: false schema: {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Machine Names"} - name: price_per_hour_lte in: query required: false schema: {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Price Per Hour Lte"} - name: price_per_hour_gte in: query required: false schema: {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Price Per Hour 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: only_favorites in: query required: false schema: {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Only Favorites"} Responses: 200: Pods retrieved successfully content: application/json: schema: type: array items: {"$ref": "#/components/schemas/PodListItemResponse"} title: Response Get Pods Pods Get 500: Internal server error 422: Validation Error content: application/json: schema: {"$ref": "#/components/schemas/HTTPValidationError"} ``` -------------------------------- ### API Schema: GPUAllocationResponse Source: https://celiumcompute.ai/api/openapi.json/api/openapi Provides the response for GPU allocation, detailing allocated rigs and validator information. It includes examples to illustrate typical allocation scenarios and validator scores. ```APIDOC GPUAllocationResponse: type: object title: GPUAllocationResponse required: - rigs - validators properties: rigs: type: array title: Rigs items: $ref: '#/components/schemas/RigResponse' validators: type: array title: Validators items: $ref: '#/components/schemas/ValidatorResponse' 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 ``` -------------------------------- ### Get User Preference API Endpoint (GET /users/me/preference) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Retrieves the preferences for the currently authenticated user. Requires JWT access bearer token for authentication. ```APIDOC Path: /users/me/preference Method: GET Tags: - Support API Key Authentication Summary: Get User Preference Operation ID: get_user_preference_users_me_preference_get Responses: 200: Description: Successful Response Content: application/json: Schema: {} Security: - JwtAccessBearer: [] ``` -------------------------------- ### Search Users API Endpoint (GET /users/search) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Searches for users based on provided criteria, such as email. Requires an email query parameter. ```APIDOC Path: /users/search Method: GET Summary: Search Users Operation ID: 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: #/components/schemas/HTTPValidationError ``` -------------------------------- ### Get Client IP API Endpoint (GET /users/get-ip) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Retrieves the IP address of the client making the request. ```APIDOC Path: /users/get-ip Method: GET Summary: Get Client Ip Operation ID: get_client_ip_users_get_ip_get Responses: 200: Description: Successful Response Content: application/json: Schema: {} ``` -------------------------------- ### Get Current User Details API Endpoint (GET /users/me) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Retrieves the details of the currently authenticated user. Requires JWT access bearer token for authentication. ```APIDOC Path: /users/me Method: GET Tags: - Support API Key Authentication Summary: Me Operation ID: me_users_me_get Responses: 200: Description: Successful Response Content: application/json: Schema: {} Security: - JwtAccessBearer: [] ``` -------------------------------- ### API Schema: RentExecutorRequest Object Definition Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the request payload for renting an executor, which involves specifying the pod name, template ID, and user's public SSH keys. An example is provided to illustrate usage. ```APIDOC RentExecutorRequest: type: object title: RentExecutorRequest required: - pod_name - template_id - user_public_key properties: pod_name: type: string title: Pod Name template_id: type: string title: Template Id user_public_key: type: string or array of strings title: User Public Key examples: - pod_name: 123e4567-e89b-12d3-a456-426614174000 template_id: b21be992-dde1-4aa1-a42f-6787c7af9846 user_public_key: - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMo32AY0vFK7g5FBIBcyPdxaxSEM5rEc0kEzMVveA9b+ - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMo32AY0vFK7g5FBIBcyPdxaxSEM5rEc0kEzMVveA9eb+ ``` -------------------------------- ### Get Default Docker Image for Executor API Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve the default Docker image associated with a specific GPU model and driver version for an executor. ```APIDOC GET /executors/default-docker-image Summary: Get default docker image of executor Description: Endpoint to retrieve default docker image of executor. 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: get default docker image of executor content: application/json: schema: {"$ref": "#/components/schemas/DefaultDockerImage"} 404: Executor not found 422: Validation Error content: application/json: schema: {"$ref": "#/components/schemas/HTTPValidationError"} ``` -------------------------------- ### Get Executor Statistics API Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve statistics for all executors, providing insights into their status and usage. ```APIDOC GET /executors/stats Summary: Get stats of executors Description: Endpoint to retrieve stats of executors. Responses: 200: Stats of executors content: application/json: schema: items: {"$ref": "#/components/schemas/ExecutorStatsResponse"} type: array title: Response Get Stats Of Executors Executors Stats Get 500: Internal server error ``` -------------------------------- ### Get Pod by ID API Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve a specific pod by its unique identifier. Requires authentication and the pod's UUID. ```APIDOC GET /pods/{pod_uuid} Summary: Get pod by ID Description: Endpoint to get a specific pod by its ID. Security: JwtAccessBearer Parameters: - name: pod_uuid in: path required: true schema: {} ``` -------------------------------- ### Get Validator Executors API (APIDOC) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve executors associated with a specific validator hotkey. The validator hotkey is a required path parameter. ```APIDOC Path: /validator/{validator_hotkey}/executors Method: POST Summary: Get Executors Operation ID: get_executors_validator__validator_hotkey__executors_post Parameters: - name: validator_hotkey in: path required: true schema: string (title: Validator Hotkey) Responses: 200: Description: Successful Response Content: application/json Schema: {} 422: Description: Validation Error Content: application/json Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### Health Check API Endpoint (GET /) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Checks the health status of the API server. This endpoint is used to verify if the service is running and responsive. ```APIDOC Path: / Method: GET Summary: Health Check Operation ID: health_check__get Responses: 200: Description: Successful Response Content: application/json: Schema: {} ``` -------------------------------- ### User Signup API Endpoint (POST /users) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Registers a new user in the system. Requires user details in the request body. ```APIDOC Path: /users Method: POST Summary: Signup Operation ID: signup_users_post Request Body: Content: application/json: Schema: #/components/schemas/CreateUserDto Required: true Responses: 200: Description: Successful Response Content: application/json: Schema: {} 422: Description: Validation Error Content: application/json: Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### API: Bookmark Provider Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to bookmark a provider (miner) for easy re-booking. Requires JWT authentication for access. ```APIDOC POST /bookmark/{miner_hotkey} Summary: Bookmark provider Description: Endpoint to bookmark a provider (miner) for easy re-booking. Tags: Support API Key Authentication Security: JwtAccessBearer Parameters: - name: miner_hotkey (type: string, in: path, required: true) - Miner Hotkey Responses: 200: Description: Provider bookmarked successfully Schema: #/components/schemas/BaseResponse 500: Description: Internal server error 422: Description: Validation Error Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### Manage User Auto Top Up API (APIDOC) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoints for retrieving and updating a user's automatic top-up configuration. This allows users to manage their credit top-up preferences. ```APIDOC Path: /users/me/auto-top-up Method: GET Summary: Get Auto Top Up Operation ID: get_auto_top_up_users_me_auto_top_up_get Responses: 200: Description: Successful Response Content: application/json Schema: #/components/schemas/AutoTopUp 422: Description: Validation Error Content: application/json Schema: #/components/schemas/HTTPValidationError Security: - JwtAccessBearer ``` ```APIDOC Path: /users/me/auto-top-up Method: PUT Summary: Update Auto Top Up Description: Update auto top up configuration for the user. Operation ID: update_auto_top_up_users_me_auto_top_up_put Request Body: Content: application/json Schema: #/components/schemas/AutoTopUpUpdateDto Required: true Responses: 200: Description: Successful Response Content: application/json Schema: #/components/schemas/AutoTopUp 422: Description: Validation Error Content: application/json Schema: #/components/schemas/HTTPValidationError Security: - JwtAccessBearer ``` -------------------------------- ### API Schema: PodListItemResponse Object Definition Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the structure for a Pod when listed, providing essential details for display in a list format. It includes key information about the pod, its associated template, and executor. ```APIDOC PodListItemResponse: type: object title: PodListItemResponse required: - ports_mapping - pod_name - ssh_connect_cmd - gpu_name - gpu_count - cpu_name - ram_total - status - is_favorite - updated_at - created_at - id - template - executor properties: ports_mapping: type: object or 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 ram_total: type: integer title: Ram Total status: type: string title: Status is_favorite: type: boolean or null title: Is Favorite updated_at: type: string (date-time) or null title: Updated At created_at: type: string (date-time) or null title: Created At id: type: string format: uuid title: Id template: $ref: #/components/schemas/TemplateBaseResponse executor: $ref: #/components/schemas/ExecutorForPodResponse ``` -------------------------------- ### API Endpoint: Initiate GitHub Login Source: https://celiumcompute.ai/api/openapi.json/api/openapi This endpoint initiates the OAuth2 login process with GitHub, requiring an OAuth2LoginURLRequest in the body. It returns a successful response upon initiation or a validation error. ```APIDOC POST /auth/github-login Summary: Login With Github Operation ID: login_with_github_auth_github_login_post Request Body: 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" ``` -------------------------------- ### Query Available Executors API (APIDOC) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve a list of all available executors that are not currently rented. Supports extensive filtering and pagination options based on machine names, price, GPU count, and location. ```APIDOC Path: /executors Method: GET Summary: Get all available executors Description: Endpoint to retrieve all executors that are not currently rented. Operation ID: get_available_executors_executors_get Security: - JwtAccessBearer Parameters: - name: page in: query required: false schema: integer or null (title: Page) - name: size in: query required: false schema: integer or null (title: Size) - name: machine_names in: query required: false schema: string or null (title: Machine Names) - name: price_per_hour_lte in: query required: false schema: number or null (title: Price Per Hour Lte) - name: price_per_hour_gte in: query required: false schema: number or null (title: Price Per Hour Gte) - name: gpu_count_lte in: query required: false schema: integer or null (title: Gpu Count Lte) - name: gpu_count_gte in: query required: false schema: integer or null (title: Gpu Count Gte) - name: lat in: query required: false schema: number or null (title: Lat) - name: lon in: query required: false schema: number or null (title: Lon) - name: max_distance_mile in: query required: false schema: number or null (title: Max Distance Mile) - name: bookmarked in: query required: false schema: boolean or null (title: Bookmarked) Responses: 200: Description: List of available executors Content: application/json Schema: array of #/components/schemas/ExecutorDetailResponse (title: Response Get Available Executors Executors Get) 500: Description: Internal server error 422: Description: Validation Error Content: application/json Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### API: Create Stripe Checkout Session Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to initiate a Stripe checkout session. Requires `JwtAccessBearer` authentication and expects a `CreateCheckoutSessionRequest` object in the request body. ```APIDOC Path: /stripe/create-checkout-session Method: post Summary: Create Checkout Session Operation ID: create_checkout_session_stripe_create_checkout_session_post Request Body: 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: [] ``` -------------------------------- ### API: List Stripe Payment Methods Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve a list of payment methods associated with the authenticated user. Requires `JwtAccessBearer` authentication. ```APIDOC Path: /stripe/payments/payment-methods Method: get Summary: List Payment Methods Operation ID: list_payment_methods_stripe_payments_payment_methods_get Responses: 200: description: Successful Response content: application/json: schema: {} Security: - JwtAccessBearer: [] ``` -------------------------------- ### API Schema: PodDetailResponse Object Definition Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the detailed response structure for a single Pod, including references to its associated template and executor. This schema provides comprehensive information about a specific pod instance. ```APIDOC PodDetailResponse: type: object title: PodDetailResponse required: - ports_mapping - pod_name - ssh_connect_cmd - gpu_name - gpu_count - cpu_name - ram_total - status - is_favorite - id - template - executor properties: ports_mapping: type: object or 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 ram_total: type: integer title: Ram Total status: type: string title: Status is_favorite: type: boolean or null title: Is Favorite updated_at: type: string (date-time) or null title: Updated At created_at: type: string (date-time) or null title: Created At id: type: string format: uuid title: Id template: $ref: #/components/schemas/TemplateBaseResponse executor: $ref: #/components/schemas/ExecutorForPodResponse executor_status: $ref: #/components/schemas/ExecutorStatusResponse or null ``` -------------------------------- ### API Schema: Template DTO Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the comprehensive structure for a Template object, including details like ID, creation/update times, name, Docker image information, category, volumes, environment variables, and various flags. This schema represents a deployable application or environment. ```APIDOC Template: type: object title: Template required: - name - docker_image - docker_image_tag - docker_image_digest - docker_image_size - volumes - environment - internal_ports - readme properties: id: type: string format: uuid title: Id created_at: type: string format: date-time title: Created At updated_at: type: string | null format: date-time title: Updated At name: type: string title: Name description: type: string | null title: Description docker_image: type: string title: Docker Image docker_image_tag: type: string title: Docker Image Tag docker_image_digest: type: string | null title: Docker Image Digest docker_image_size: type: integer | null title: Docker Image Size category: type: string title: TemplateCategory default: DOCKER Reference: #/components/schemas/TemplateCategory validator_only: type: boolean | null title: Validator Only default: false volumes: type: array | null items: type: string title: Volumes environment: type: object | null additionalProperties: type: string title: Environment entrypoint: type: string | null title: Entrypoint internal_ports: type: array | null items: type: integer title: Internal Ports user_id: type: string | null format: uuid title: User Id is_private: type: boolean | null title: Is Private default: false readme: type: string | null title: Readme startup_commands: type: string | null title: Startup Commands status: type: string | null title: Status default: CREATED is_temporary: type: boolean | null title: Is Temporary default: false is_created_from_official_template: type: boolean | null title: Is Created From Official Template default: false docker_credential_id: type: string | null format: uuid title: Docker Credential Id one_time_template: type: boolean | null title: One Time Template default: false container_start_immediately: type: boolean | null title: Container Start Immediately default: true verify_ssh_connection: type: boolean | null title: Verify Ssh Connection default: true health_check_command: type: string | null title: Health Check Command verification_logs: type: string | null title: Verification Logs ``` -------------------------------- ### API: Switch Pod Template by UUID Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to change the template of an existing pod. Requires `JwtAccessBearer` authentication. Expects a `SwitchTemplatePodRequest` in the request body. Returns the updated Pod object on success. ```APIDOC Path: /pods/{pod_uuid}/switch-template Method: put Tags: Support API Key Authentication Summary: Switch template Description: Endpoint to switch the template of a pod. Operation ID: switch_template_pod_pods__pod_uuid__switch_template_put Security: - JwtAccessBearer: [] Parameters: - name: pod_uuid in: path required: true schema: type: string format: uuid title: Pod Uuid Request Body: 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 ``` -------------------------------- ### API Schema: GpuDetail Source: https://celiumcompute.ai/api/openapi.json/api/openapi Describes the detailed specifications and current status of a single GPU, including its name, CUDA version, power limits, speeds, capacity, and utilization metrics. Several fields are optional. ```APIDOC GpuDetail: type: object title: GpuDetail required: - name - cuda - power_limit - graphics_speed - memory_speed - capacity 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: anyOf: - type: string - type: "null" title: Uuid ``` -------------------------------- ### Docker Credential List and Create Endpoints Source: https://celiumcompute.ai/api/openapi.json/api/openapi This section covers API endpoints for listing all Docker credentials and creating new ones. These operations also support API key authentication. ```APIDOC PATH: /docker-credentials/ METHOD: GET SUMMARY: List TAGS: Support API Key Authentication OPERATION ID: list_docker_credentials__get PARAMETERS: N/A REQUEST BODY: N/A RESPONSES: 200: Successful Response (Schema: array of #/components/schemas/DockerCredential) SECURITY: JwtAccessBearer ``` ```APIDOC PATH: /docker-credentials/ METHOD: POST SUMMARY: Create TAGS: Support API Key Authentication OPERATION ID: create_docker_credentials__post PARAMETERS: N/A REQUEST BODY: Content-Type: application/json Schema: anyOf[#/components/schemas/DockerCredentialUpdateCreateDto, null] RESPONSES: (Responses were truncated in input) SECURITY: JwtAccessBearer ``` -------------------------------- ### API: Add Stripe Payment Method Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to add a new payment method for the authenticated user. This is a partial entry, likely requiring a request body for the payment method details. ```APIDOC Path: /stripe/payments/payment-methods Method: post Summary: Add Payment Method Operation ID: add_payment_method_stripe_payments_payment_method ``` -------------------------------- ### API Schema: Pod Object Definition Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the structure of a 'Pod' object, representing a computational instance. It includes details about resource allocation, status, and associated user/template information. This schema is used for creating or referencing pods. ```APIDOC Pod: type: object title: Pod required: - executor_id - user_id - template_id - retries properties: ports_mapping: type: object or 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: "" ram_total: type: integer title: Ram Total default: 0 status: $ref: #/components/schemas/PodStatus or null created_at: type: string format: date-time title: Created At updated_at: type: string (date-time) or null title: Updated At retries: type: integer or null title: Retries user_public_key: type: string or null title: User Public Key is_favorite: type: boolean or null title: Is Favorite ``` -------------------------------- ### API: Reboot Pod by UUID Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to reboot a specific pod identified by its UUID. Requires `JwtAccessBearer` authentication. Handles successful reboots, invalid input, not found pods, and server errors. ```APIDOC Path: /pods/{pod_uuid}/reboot Method: post Tags: Support API Key Authentication Summary: Reboot Pod Description: Endpoint to reboot a pod. Operation ID: reboot_pod_pods__pod_uuid__reboot_post Security: - JwtAccessBearer: [] Parameters: - name: pod_uuid in: path required: true schema: type: string format: uuid title: Pod Uuid 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 ``` -------------------------------- ### API Schema: GpuSpec Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the overall GPU specifications for a system, including the total count of GPUs and a list of their detailed specifications. It also includes optional driver information. ```APIDOC GpuSpec: type: object title: GpuSpec required: - count - details 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: type: array title: Details items: $ref: '#/components/schemas/GpuDetail' ``` -------------------------------- ### API Schema: FileInput Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the structure for file input, specifying its name and type. Default values are provided for common image file types. ```APIDOC FileInput: type: object title: FileInput properties: name: type: string title: Name default: avatar.png type: type: string title: Type default: image/png ``` -------------------------------- ### API Schema: GPUAllocationRequest Source: https://celiumcompute.ai/api/openapi.json/api/openapi Specifies a request for GPU allocation, listing the required rigs. This schema is used to initiate the allocation process for computational resources. ```APIDOC GPUAllocationRequest: type: object title: GPUAllocationRequest required: - rigs properties: rigs: type: array title: Rigs items: $ref: '#/components/schemas/Rig' ``` -------------------------------- ### Rent Executor Machine API Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to rent an executor machine. Requires authentication and an executor UUID, along with a request body specifying the rent details. ```APIDOC POST /executors/{executor_uuid}/rent Summary: Rent executor Description: Endpoint to rent an executor machine. Security: JwtAccessBearer Parameters: - name: executor_uuid in: path required: true schema: {"type": "string", "format": "uuid", "title": "Executor Uuid"} Request Body: required: true content: application/json: schema: {"$ref": "#/components/schemas/RentExecutorRequest"} Responses: 200: Rent executor machine content: application/json: schema: {} 422: Validation Error content: application/json: schema: {"$ref": "#/components/schemas/HTTPValidationError"} ``` -------------------------------- ### API Schema: HardDiskSpec Source: https://celiumcompute.ai/api/openapi.json/api/openapi Details the specifications of a hard disk, including total, used, and free space, along with an optional utilization percentage. This provides an overview of storage capacity and usage. ```APIDOC HardDiskSpec: type: object title: HardDiskSpec required: - total - used - free properties: total: type: integer title: Total used: type: integer title: Used free: type: integer title: Free utilization: anyOf: - type: number - type: "null" title: Utilization ``` -------------------------------- ### API Endpoint: Complete GitHub Login Callback Source: https://celiumcompute.ai/api/openapi.json/api/openapi This endpoint serves as the callback URL for completing the GitHub OAuth login process. It expects an OAuthHandlerRequest in the body to finalize the authentication. ```APIDOC POST /auth/github-login-complete Summary: Github Login Complete Description: GitHub login callback Operation ID: github_login_complete_auth_github_login_complete_post Request Body: content: application/json: schema: $ref: "#/components ``` -------------------------------- ### API: Data Schemas Source: https://celiumcompute.ai/api/openapi.json/api/openapi Definitions of data structures used in API requests and responses, including models for payments, SSH keys, API keys, auto-top-up, and general responses. ```APIDOC Schema: AddCardRequest Type: object Required: ["payment_method_id"] Properties: payment_method_id: Type: string Title: Payment Method Id ``` ```APIDOC Schema: AddMultipleSshKeysToPodRequest Type: object Required: ["user_public_keys"] Properties: user_public_keys: Type: array Items: string Title: User Public Keys ``` ```APIDOC Schema: ApiKeyCreateRequest Type: object Required: ["name"] Properties: name: Type: string Title: Name ``` ```APIDOC Schema: AutoTopUp Type: object Required: ["user_id", "threshold", "amount_to_top_up"] Properties: user_id: Type: string (uuid) Title: User Id threshold: Type: number Title: Threshold amount_to_top_up: Type: number Title: Amount To Top Up created_at: Type: string (date-time) Title: Created At updated_at: Type: string (date-time) or null Title: Updated At ``` ```APIDOC Schema: AutoTopUpUpdateDto Type: object Required: ["threshold", "amount_to_top_up"] Properties: threshold: Type: number Title: Threshold amount_to_top_up: Type: number Title: Amount To Top Up ``` ```APIDOC Schema: BaseResponse Type: object Required: ["success"] Properties: success: Type: boolean Title: Success message: Type: string or null Title: Message ``` ```APIDOC Schema: BillingHistoryForMinerResponse Type: object Required: ["billing_day", "amount"] Properties: billing_day: Type: string Title: Billing Day amount: Type: number Title: Amount ``` -------------------------------- ### API: Register SSH Key Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to register a new SSH key. Requires `JwtAccessBearer` authentication. Expects a `CreateSshKey` object in the request body. ```APIDOC Path: /ssh-keys Method: post Tags: Support API Key Authentication Summary: Register Ssh Key Operation ID: register_ssh_key_ssh_keys_post Request Body: content: application/json: schema: $ref: #/components/schemas/CreateSshKey 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: [] ``` -------------------------------- ### Generate Presigned URL API Endpoint (POST /users/presigned-url) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Generates a presigned URL for frontend clients to directly upload files to S3. Requires file input details and JWT access bearer token for authentication. ```APIDOC Path: /users/presigned-url Method: POST Summary: Generate Presigned Url Description: Generate presigned url for frontend to upload file to S3. Operation ID: generate_presigned_url_users_presigned_url_post Request Body: Content: application/json: Schema: #/components/schemas/FileInput Required: true Responses: 201: Description: Successful Response Content: application/json: Schema: {} 422: Description: Validation Error Content: application/json: Schema: #/components/schemas/HTTPValidationError Security: - JwtAccessBearer: [] ``` -------------------------------- ### GPU Allocation Endpoint Source: https://celiumcompute.ai/api/openapi.json/api/openapi This endpoint facilitates the allocation of GPU resources. It requires a specific request body detailing the allocation parameters and returns a response indicating the success or failure of the allocation. ```APIDOC PATH: /gpu-allocation METHOD: POST SUMMARY: Gpu Allocation OPERATION ID: gpu_allocation_gpu_allocation_post PARAMETERS: N/A REQUEST BODY: Content-Type: application/json Schema: #/components/schemas/GPUAllocationRequest RESPONSES: 200: Successful Response (Schema: #/components/schemas/GPUAllocationResponse) 422: Validation Error (Schema: #/components/schemas/HTTPValidationError) ``` -------------------------------- ### User Login API Endpoint (POST /users/login) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Authenticates a user and provides access. Requires login credentials in the request body. ```APIDOC Path: /users/login Method: POST Summary: Login Operation ID: login_users_login_post Request Body: Content: application/json: Schema: #/components/schemas/LoginUserDto Required: true Responses: 200: Description: Successful Response Content: application/json: Schema: {} 422: Description: Validation Error Content: application/json: Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### Transfer User Credits API (APIDOC) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint for initiating a credit transfer between users. Requires a TransferCreditsDto payload. ```APIDOC Path: /users/me/transfer-credits Method: POST Summary: Transfer Credits Operation ID: transfer_credits_users_me_transfer_credits_post Request Body: Content: application/json Schema: #/components/schemas/TransferCreditsDto Required: true Responses: 200: Description: Successful Response Content: application/json Schema: {} 422: Description: Validation Error Content: application/json Schema: #/components/schemas/HTTPValidationError Security: - JwtAccessBearer ``` -------------------------------- ### API Schema: RigResponse DTO Source: https://celiumcompute.ai/api/openapi.json/api/openapi Defines the structure for a Rig response, including a label and GPU power. This schema is used to convey information about a rig's status or capabilities. ```APIDOC RigResponse: type: object title: RigResponse required: - label - gpu_power properties: label: type: string title: Label gpu_power: type: number title: Gpu Power ``` -------------------------------- ### Retrieve All Templates API Endpoint Source: https://celiumcompute.ai/api/openapi.json/api/openapi This API endpoint allows you to retrieve a list of all available templates. It requires JWT access bearer token for authentication and returns a list of Template objects upon successful response. ```APIDOC Path: /templates Method: get Summary: Find All Templates Operation ID: find_all_templates_templates_get Tags: Support API Key Authentication Security: JwtAccessBearer Responses: 200: Description: Successful Response Content: application/json, Schema: #/components/schemas/Template 422: Description: Validation Error Content: application/json, Schema: #/components/schemas/HTTPValidationError ``` -------------------------------- ### Rent Executor API (APIDOC) Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to rent a specific executor machine using its UUID. This operation is part of the support API key authentication. ```APIDOC Path: /executors/{executor_uuid}/rent Method: POST Summary: Rent executor Description: Endpoint to rent executor machine with the provided details. Operation ID: rent_executors__executor_uuid__rent_post Security: - JwtAccessBearer ``` -------------------------------- ### API: Find My SSH Keys Source: https://celiumcompute.ai/api/openapi.json/api/openapi Endpoint to retrieve all SSH keys associated with the authenticated user. Requires `JwtAccessBearer` authentication. ```APIDOC Path: /ssh-keys/me Method: get Tags: Support API Key Authentication Summary: Find My Ssh Keys Operation ID: find_my_ssh_keys_ssh_keys_me_get Responses: 200: description: Successful Response content: application/json: schema: {} Security: - JwtAccessBearer: [] ```