{"openapi":"3.1.0","info":{"title":"ComputeNexa API","version":"0.1.0","description":"Launch, check and stop private GPUs from your scripts, CI jobs or platform.\n\nAuthenticate with an API key from the dashboard (API keys): `Authorization: Bearer cnxk_…`. A key acts as the\nperson who created it and spends their team's credits. \"Look only\" keys can call GET operations; \"launch and\nstop\" keys can call all of them. Amounts are US cents; times are ISO 8601 UTC. Every refusal is\n`{\"error\": \"<code>\", \"message\": \"…\", \"request_id\": \"…\"}`. At most 120 requests a minute per key.\n\nGuide: https://app.computenexa.com/help/api"},"servers":[{"url":"https://api.computenexa.com"}],"tags":[{"name":"Instances"},{"name":"Projects"},{"name":"Catalog"},{"name":"Schedules"},{"name":"SSH keys"},{"name":"Account"}],"security":[{"apiKey":[]}],"paths":{"/v1/catalog":{"get":{"tags":["Catalog"],"summary":"GPUs for sale with live prices and stock, the apps (image families) each runs, and regions. ?region=us|ca for one country.","operationId":"getCatalog","parameters":[{"name":"region","in":"query","required":false,"schema":{"type":"string","maxLength":16,"default":"any","title":"Region"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/images/{family}":{"get":{"tags":["Catalog"],"summary":"What's installed in an app's images (family = basic, datascience, chat, imagegen, modelapi or voice): Ubuntu, CUDA, Python, headline libraries, tools and every package with its version. No key needed.","operationId":"getImageFamily","parameters":[{"name":"family","in":"path","required":true,"schema":{"type":"string","title":"Family"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyContents"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/ssh-keys":{"get":{"tags":["SSH keys"],"summary":"The public SSH keys that can log in to your machines.","operationId":"listSshKeys","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SshKeyOut"},"type":"array","title":"Response List Keys V1 Ssh Keys Get"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]},"post":{"tags":["SSH keys"],"summary":"Add a public SSH key: new machines accept it, running ones within a minute.","operationId":"addSshKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshKeyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/ssh-keys/{key_id}":{"delete":{"tags":["SSH keys"],"summary":"Remove an SSH key.","operationId":"deleteSshKey","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/instances":{"post":{"tags":["Instances"],"summary":"Launch a GPU. Charged now for duration_minutes; unused time is refunded when it stops early, all of it if it can't start.","operationId":"launchInstance","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]},"get":{"tags":["Instances"],"summary":"Your machines, newest first. ?status=active|ended; ?whose=everyone for the whole team's (owners and admins).","operationId":"listInstances","parameters":[{"name":"status","in":"query","required":false,"schema":{"enum":["all","active","ended"],"type":"string","default":"all","title":"Status"}},{"name":"whose","in":"query","required":false,"schema":{"enum":["mine","everyone"],"type":"string","default":"mine","title":"Whose"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InstanceOut"},"title":"Response List Instances V1 Instances Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}/save":{"post":{"tags":["Instances"],"summary":"Save a running machine's project now instead of waiting for the next automatic save.","operationId":"saveInstanceProject","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Save Now V1 Instances  Public Id  Save Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}/apps/{app}/open":{"post":{"tags":["Instances"],"summary":"A one-time link that opens one of the machine's browser apps (only for the person who launched it).","operationId":"openInstanceApp","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}},{"name":"app","in":"path","required":true,"schema":{"type":"string","title":"App"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAppOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}/api-key":{"get":{"tags":["Instances"],"summary":"The Model API key of one of your running Model API machines.","operationId":"getInstanceApiKey","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/me/model-api":{"get":{"tags":["Account"],"summary":"Your team's stable Model API address, and the machine it points to now.","operationId":"getModelApiAddress","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelApiOut"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}":{"get":{"tags":["Instances"],"summary":"One machine: its state, SSH command while running, time left, cost so far and how it ended.","operationId":"getInstance","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}/stop":{"post":{"tags":["Instances"],"summary":"Stop a running machine now; unused time goes back to your credits.","operationId":"stopInstance","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}/cancel":{"post":{"tags":["Instances"],"summary":"Cancel a machine that hasn't started yet, with a full refund.","operationId":"cancelInstance","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/instances/{public_id}/extend":{"post":{"tags":["Instances"],"summary":"Add minutes to a running machine at the price it launched with.","operationId":"extendInstance","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/me":{"get":{"tags":["Account"],"summary":"Who the key acts as: email, team and role, the team's balance and GPU limit.","operationId":"getAccount","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeOut"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/balance":{"get":{"tags":["Account"],"summary":"The team's credit balance, in US cents.","operationId":"getBalance","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceOut"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/ledger":{"get":{"tags":["Account"],"summary":"Charges, refunds and top-ups, newest first (owners and admins: the team's; members: their own).","operationId":"listLedgerEntries","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LedgerEntryOut"},"title":"Response Ledger V1 Ledger Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/projects":{"get":{"tags":["Projects"],"summary":"Your projects (saved storage restored into ~/work on GPUs launched with them): size, files, which GPU uses it.","operationId":"listProjects","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProjectOut"},"type":"array","title":"Response List Projects V1 Projects Get"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]},"post":{"tags":["Projects"],"summary":"Create an empty project. Launch with its id as project_id to use it.","operationId":"createProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/projects/{project_id}/models":{"get":{"tags":["Projects"],"summary":"Models already saved in a project for an app, so a launch can skip downloading them.","operationId":"listProjectModels","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"family","in":"query","required":true,"schema":{"type":"string","maxLength":32,"title":"Family"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Response Project Models V1 Projects  Project Id  Models Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/projects/{project_id}":{"delete":{"tags":["Projects"],"summary":"Delete a project and all its files. Refused while a GPU is using it.","operationId":"deleteProject","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/me/usage":{"get":{"tags":["Account"],"summary":"Your GPU usage and spending over the last ?days=30.","operationId":"getUsage","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/me/receipts":{"get":{"tags":["Account"],"summary":"Your finished sessions with what each cost.","operationId":"listReceipts","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":3650,"minimum":1,"default":90,"title":"Days"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"custom range: from (inclusive)","title":"Start"},"description":"custom range: from (inclusive)"},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"custom range: to (exclusive)","title":"End"},"description":"custom range: to (exclusive)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReceiptOut"},"title":"Response My Receipts V1 Me Receipts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]}},"/v1/me/schedules":{"get":{"tags":["Schedules"],"summary":"Your schedules: GPUs that start and stop by themselves on set days and hours.","operationId":"listSchedules","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ScheduleOut"},"type":"array","title":"Response List Schedules V1 Me Schedules Get"}}}}},"x-api-key-scope":"read","security":[{"apiKey":[]}]},"post":{"tags":["Schedules"],"summary":"Create a schedule: project, app, model, GPUs in order of preference, time zone and weekly windows.","operationId":"createSchedule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleIn"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/me/schedules/{schedule_id}":{"put":{"tags":["Schedules"],"summary":"Change a schedule.","operationId":"updateSchedule","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]},"delete":{"tags":["Schedules"],"summary":"Delete a schedule. Machines it already started keep running until their end time.","operationId":"deleteSchedule","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Schedule Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}},"/v1/me/schedules/{schedule_id}/pause":{"post":{"tags":["Schedules"],"summary":"Pause a schedule until a date, or resume it.","operationId":"pauseSchedule","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PauseIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-api-key-scope":"write","security":[{"apiKey":[]}]}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"cnxk_…","description":"An API key from the dashboard (API keys)."}},"schemas":{"ApiKeyOut":{"properties":{"key":{"type":"string","title":"Key"}},"type":"object","required":["key"],"title":"ApiKeyOut"},"AppOut":{"properties":{"app":{"type":"string","title":"App"},"label":{"type":"string","title":"Label"},"port":{"type":"integer","title":"Port"},"custom":{"type":"boolean","title":"Custom","default":false}},"type":"object","required":["app","label","port"],"title":"AppOut"},"BalanceOut":{"properties":{"balance_cents":{"type":"integer","title":"Balance Cents"}},"type":"object","required":["balance_cents"],"title":"BalanceOut"},"CatalogOut":{"properties":{"region":{"type":"string","title":"Region"},"regions":{"items":{"$ref":"#/components/schemas/RegionOut"},"type":"array","title":"Regions"},"gpus":{"items":{"$ref":"#/components/schemas/GpuOut"},"type":"array","title":"Gpus"},"images":{"items":{"$ref":"#/components/schemas/ImageOut"},"type":"array","title":"Images"},"families":{"items":{"$ref":"#/components/schemas/FamilyOut"},"type":"array","title":"Families"},"launch_models":{"additionalProperties":{"$ref":"#/components/schemas/FamilyModelsOut"},"type":"object","title":"Launch Models"}},"type":"object","required":["region","regions","gpus","images","families","launch_models"],"title":"CatalogOut"},"EndReason":{"type":"string","enum":["expired","user_stopped","user_cancelled","admin_stopped","team_stopped","account_suspended","provider_lost","no_capacity","provisioning_timeout","ssh_check_failed","provider_error"],"title":"EndReason"},"ExtendIn":{"properties":{"minutes":{"type":"integer","exclusiveMinimum":0.0,"title":"Minutes"}},"type":"object","required":["minutes"],"title":"ExtendIn"},"FamilyContents":{"properties":{"family":{"type":"string","title":"Family"},"display_name":{"type":"string","title":"Display Name"},"summary":{"type":"string","title":"Summary"},"images":{"items":{"$ref":"#/components/schemas/ImageContents"},"type":"array","title":"Images"}},"type":"object","required":["family","display_name","summary","images"],"title":"FamilyContents"},"FamilyModelsOut":{"properties":{"models":{"items":{"$ref":"#/components/schemas/LaunchModelOut"},"type":"array","title":"Models"},"recommended":{"items":{"prefixItems":[{"type":"integer"},{"type":"string"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Recommended"},"required":{"type":"boolean","title":"Required"}},"type":"object","required":["models","recommended","required"],"title":"FamilyModelsOut"},"FamilyOut":{"properties":{"family":{"type":"string","title":"Family"},"display_name":{"type":"string","title":"Display Name"},"summary":{"type":"string","title":"Summary"},"first_start_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Start Note"},"needs_ssh_key":{"type":"boolean","title":"Needs Ssh Key","default":true},"ready_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ready Seconds"},"ready_seconds_p75":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ready Seconds P75"}},"type":"object","required":["family","display_name","summary","first_start_note"],"title":"FamilyOut"},"GpuOut":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"arch":{"type":"string","title":"Arch"},"vram_gb":{"type":"integer","title":"Vram Gb"},"available":{"type":"boolean","title":"Available"},"status":{"type":"string","enum":["available","sold_out","updating"],"title":"Status"},"price_per_hour_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Per Hour Cents"},"billing_unit":{"type":"string","enum":["minute","hour"],"title":"Billing Unit"},"vcpu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vcpu"},"ram_gb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ram Gb"},"images":{"items":{"type":"string"},"type":"array","title":"Images"},"families":{"additionalProperties":{"type":"string"},"type":"object","title":"Families"},"regions":{"items":{"type":"string"},"type":"array","title":"Regions","default":[]}},"type":"object","required":["slug","display_name","arch","vram_gb","available","status","price_per_hour_cents","billing_unit","vcpu","ram_gb","images","families"],"title":"GpuOut"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageContents":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"cuda_version":{"type":"string","title":"Cuda Version"},"manifest":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Manifest"}},"type":"object","required":["slug","display_name","cuda_version","manifest"],"title":"ImageContents"},"ImageOut":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"cuda_version":{"type":"string","title":"Cuda Version"},"family":{"type":"string","title":"Family"}},"type":"object","required":["slug","display_name","cuda_version","family"],"title":"ImageOut"},"InstanceOut":{"properties":{"id":{"type":"string","title":"Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"state":{"$ref":"#/components/schemas/InstanceState"},"gpu":{"type":"string","title":"Gpu"},"gpu_display_name":{"type":"string","title":"Gpu Display Name"},"gpu_count":{"type":"integer","title":"Gpu Count"},"region":{"type":"string","title":"Region"},"billing_unit":{"type":"string","title":"Billing Unit"},"image":{"type":"string","title":"Image"},"image_display_name":{"type":"string","title":"Image Display Name"},"image_family":{"type":"string","title":"Image Family"},"price_per_hour_cents":{"type":"integer","title":"Price Per Hour Cents"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"requested_at":{"type":"string","format":"date-time","title":"Requested At"},"running_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Running At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"ended_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ended At"},"end_reason":{"anyOf":[{"$ref":"#/components/schemas/EndReason"},{"type":"null"}]},"ssh_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ssh Command"},"ssh_enabled":{"type":"boolean","title":"Ssh Enabled","default":true},"jupyter_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jupyter Command"},"chat_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Command"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"model_chosen":{"type":"boolean","title":"Model Chosen"},"model_phase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Phase"},"startup_progress":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Startup Progress"},"model_progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Model Progress"},"model_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Error"},"apps":{"items":{"$ref":"#/components/schemas/AppOut"},"type":"array","title":"Apps"},"api_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base Url"},"timeline":{"items":{"$ref":"#/components/schemas/TimelineStepOut"},"type":"array","title":"Timeline"},"project":{"anyOf":[{"$ref":"#/components/schemas/ProjectRef"},{"type":"null"}]},"schedule_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Name"},"restored":{"type":"boolean","title":"Restored"},"last_saved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Saved At"},"last_save_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Save Error"},"time_left_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Time Left Seconds"},"charged_cents":{"type":"integer","title":"Charged Cents"},"refunded_cents":{"type":"integer","title":"Refunded Cents"},"cost_so_far_cents":{"type":"integer","title":"Cost So Far Cents"},"launched_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Launched By"},"mine":{"type":"boolean","title":"Mine","default":true}},"type":"object","required":["id","label","state","gpu","gpu_display_name","gpu_count","region","billing_unit","image","image_display_name","image_family","price_per_hour_cents","duration_minutes","requested_at","running_at","expires_at","ended_at","end_reason","ssh_command","jupyter_command","chat_command","model","model_chosen","model_phase","model_progress","model_error","apps","api_base_url","timeline","project","restored","last_saved_at","last_save_error","time_left_seconds","charged_cents","refunded_cents","cost_so_far_cents"],"title":"InstanceOut"},"InstanceState":{"type":"string","enum":["requested","provisioning","running","stopping","terminated","failed"],"title":"InstanceState"},"LaunchIn":{"properties":{"gpu":{"type":"string","title":"Gpu","description":"GPU slug from /catalog, e.g. rtx-4090"},"image_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Family","description":"The app: basic | datascience | chat | imagegen | modelapi | voice (see families in /catalog)"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image","description":"Exact image slug from /catalog, e.g. ubuntu-22.04-cuda12.4"},"duration_minutes":{"type":"integer","exclusiveMinimum":0.0,"title":"Duration Minutes"},"gpu_count":{"type":"integer","title":"Gpu Count","default":1},"label":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Label","description":"Optional name, e.g. 'titanic baseline'"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id","description":"Restore and save this project on the GPU"},"model":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Model","description":"Model to prepare before you start (Private Chat: qwen2.5:14b; Image Generation: <repo>/<file>; Model API: <org>/<name>; see /catalog)"},"region":{"type":"string","maxLength":16,"title":"Region","description":"Keep the GPU in this country: any | us | ca (see /catalog regions)","default":"any"}},"type":"object","required":["gpu","duration_minutes"],"title":"LaunchIn"},"LaunchModelOut":{"properties":{"name":{"type":"string","title":"Name"},"label":{"type":"string","title":"Label"},"size_gb":{"type":"number","title":"Size Gb"},"min_vram_gb":{"type":"integer","title":"Min Vram Gb"},"note":{"type":"string","title":"Note"},"licence":{"type":"string","title":"Licence"},"gated":{"type":"boolean","title":"Gated"}},"type":"object","required":["name","label","size_gb","min_vram_gb","note","licence","gated"],"title":"LaunchModelOut"},"LedgerEntryOut":{"properties":{"created_at":{"type":"string","format":"date-time","title":"Created At"},"kind":{"$ref":"#/components/schemas/LedgerKind"},"amount_cents":{"type":"integer","title":"Amount Cents"},"description":{"type":"string","title":"Description"},"instance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instance"}},"type":"object","required":["created_at","kind","amount_cents","description","instance"],"title":"LedgerEntryOut"},"LedgerKind":{"type":"string","enum":["topup","charge","refund","adjustment"],"title":"LedgerKind"},"MeOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"email_verified":{"type":"boolean","title":"Email Verified"},"role":{"$ref":"#/components/schemas/UserRole"},"max_concurrent_gpus":{"type":"integer","title":"Max Concurrent Gpus"},"balance_cents":{"type":"integer","title":"Balance Cents"},"low_balance_alert_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Low Balance Alert Cents"},"organization":{"$ref":"#/components/schemas/OrgRef"}},"type":"object","required":["id","email","email_verified","role","max_concurrent_gpus","balance_cents","organization"],"title":"MeOut"},"ModelApiOut":{"properties":{"handle":{"type":"string","title":"Handle"},"base_url":{"type":"string","title":"Base Url"},"instance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instance"}},"type":"object","required":["handle","base_url","instance"],"title":"ModelApiOut"},"NamedHoursOut":{"properties":{"name":{"type":"string","title":"Name"},"gpu_hours":{"type":"number","title":"Gpu Hours"}},"type":"object","required":["name","gpu_hours"],"title":"NamedHoursOut"},"OpenAppOut":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"OpenAppOut"},"OrgRef":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"role":{"$ref":"#/components/schemas/OrgRole"},"members":{"type":"integer","title":"Members"}},"type":"object","required":["id","name","role","members"],"title":"OrgRef"},"OrgRole":{"type":"string","enum":["owner","admin","member"],"title":"OrgRole","description":"A member's role in their organization (docs/design/organizations.md)."},"PauseIn":{"properties":{"until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},"type":"object","title":"PauseIn"},"ProjectIn":{"properties":{"name":{"type":"string","maxLength":200,"title":"Name"}},"type":"object","required":["name"],"title":"ProjectIn"},"ProjectOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"bytes_used":{"type":"integer","title":"Bytes Used"},"files":{"type":"integer","title":"Files"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"in_use_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"In Use By"}},"type":"object","required":["id","name","bytes_used","files","created_at","last_used_at","in_use_by"],"title":"ProjectOut"},"ProjectRef":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"ProjectRef"},"ProjectUsageOut":{"properties":{"name":{"type":"string","title":"Name"},"bytes_used":{"type":"integer","title":"Bytes Used"}},"type":"object","required":["name","bytes_used"],"title":"ProjectUsageOut"},"ReceiptOut":{"properties":{"public_id":{"type":"string","title":"Public Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"gpu":{"type":"string","title":"Gpu"},"gpu_count":{"type":"integer","title":"Gpu Count"},"family":{"type":"string","title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"region":{"type":"string","title":"Region"},"requested_at":{"type":"string","format":"date-time","title":"Requested At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ended At"},"used_minutes":{"type":"number","title":"Used Minutes"},"booked_minutes":{"type":"integer","title":"Booked Minutes"},"charged_cents":{"type":"integer","title":"Charged Cents"},"refunded_cents":{"type":"integer","title":"Refunded Cents"},"net_cents":{"type":"integer","title":"Net Cents"},"project":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project"},"outcome":{"type":"string","title":"Outcome"},"ready_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ready Seconds"}},"type":"object","required":["public_id","label","gpu","gpu_count","family","model","region","requested_at","started_at","ended_at","used_minutes","booked_minutes","charged_cents","refunded_cents","net_cents","outcome","ready_seconds"],"title":"ReceiptOut"},"RegionOut":{"properties":{"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code"}},"type":"object","required":["code","name","country_code"],"title":"RegionOut"},"RunOut":{"properties":{"window_start":{"type":"string","format":"date-time","title":"Window Start"},"window_end":{"type":"string","format":"date-time","title":"Window End"},"state":{"type":"string","title":"State"},"instance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instance"},"attempts":{"type":"integer","title":"Attempts"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["window_start","window_end","state","instance","attempts","last_error"],"title":"RunOut"},"ScheduleIn":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"family":{"type":"string","title":"Family"},"model":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Model"},"gpu_slugs":{"items":{"type":"string"},"type":"array","maxItems":5,"minItems":1,"title":"Gpu Slugs"},"region":{"type":"string","title":"Region","default":"any"},"timezone":{"type":"string","maxLength":64,"title":"Timezone"},"windows":{"items":{"$ref":"#/components/schemas/WindowIn"},"type":"array","maxItems":14,"minItems":1,"title":"Windows"},"skip_dates":{"items":{"type":"string","format":"date"},"type":"array","maxItems":60,"title":"Skip Dates"},"lead_minutes":{"type":"integer","title":"Lead Minutes","default":15}},"type":"object","required":["name","project_id","family","gpu_slugs","timezone","windows"],"title":"ScheduleIn"},"ScheduleOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"family":{"type":"string","title":"Family"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"gpu_slugs":{"items":{"type":"string"},"type":"array","title":"Gpu Slugs"},"region":{"type":"string","title":"Region"},"timezone":{"type":"string","title":"Timezone"},"windows":{"items":{"$ref":"#/components/schemas/WindowIn"},"type":"array","title":"Windows"},"skip_dates":{"items":{"type":"string","format":"date"},"type":"array","title":"Skip Dates"},"lead_minutes":{"type":"integer","title":"Lead Minutes"},"paused_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paused Until"},"next_window_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Window Start"},"next_window_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Window End"},"hours_per_month":{"type":"number","title":"Hours Per Month"},"estimated_cents_per_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Cents Per Month"},"runs":{"items":{"$ref":"#/components/schemas/RunOut"},"type":"array","title":"Runs"}},"type":"object","required":["id","name","project_id","family","model","gpu_slugs","region","timezone","windows","skip_dates","lead_minutes","paused_until","next_window_start","next_window_end","hours_per_month","estimated_cents_per_month","runs"],"title":"ScheduleOut"},"SpendDayOut":{"properties":{"day":{"type":"string","title":"Day"},"launches":{"type":"integer","title":"Launches"},"spend_cents":{"type":"integer","title":"Spend Cents"},"gpu_hours":{"type":"number","title":"Gpu Hours"}},"type":"object","required":["day","launches","spend_cents","gpu_hours"],"title":"SpendDayOut"},"SshKeyIn":{"properties":{"name":{"type":"string","title":"Name"},"public_key":{"type":"string","title":"Public Key"}},"type":"object","required":["name","public_key"],"title":"SshKeyIn"},"SshKeyOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"key_type":{"type":"string","title":"Key Type"},"fingerprint":{"type":"string","title":"Fingerprint"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","key_type","fingerprint","created_at"],"title":"SshKeyOut"},"TimelineStepOut":{"properties":{"step":{"type":"string","title":"Step"},"label":{"type":"string","title":"Label"},"at":{"type":"string","format":"date-time","title":"At"},"seconds_from_start":{"type":"integer","title":"Seconds From Start"},"step_seconds":{"type":"integer","title":"Step Seconds"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["step","label","at","seconds_from_start","step_seconds","note"],"title":"TimelineStepOut"},"UsageOut":{"properties":{"days":{"type":"integer","title":"Days"},"balance_cents":{"type":"integer","title":"Balance Cents"},"spend_cents":{"type":"integer","title":"Spend Cents"},"topups_cents":{"type":"integer","title":"Topups Cents"},"sessions":{"type":"integer","title":"Sessions"},"gpu_hours":{"type":"number","title":"Gpu Hours"},"by_gpu":{"items":{"$ref":"#/components/schemas/NamedHoursOut"},"type":"array","title":"By Gpu"},"by_image":{"items":{"$ref":"#/components/schemas/NamedHoursOut"},"type":"array","title":"By Image"},"daily":{"items":{"$ref":"#/components/schemas/SpendDayOut"},"type":"array","title":"Daily"},"projects":{"items":{"$ref":"#/components/schemas/ProjectUsageOut"},"type":"array","title":"Projects"}},"type":"object","required":["days","balance_cents","spend_cents","topups_cents","sessions","gpu_hours","by_gpu","by_image","daily","projects"],"title":"UsageOut"},"UserRole":{"type":"string","enum":["customer","admin"],"title":"UserRole"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WindowIn":{"properties":{"days":{"items":{"type":"integer"},"type":"array","maxItems":7,"minItems":1,"title":"Days"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["days","start","end"],"title":"WindowIn"}}}}