{"openapi":"3.1.0","info":{"title":"RunCompute API","version":"1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/signup":{"post":{"summary":"Signup","operationId":"signup_v1_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signup"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/offers":{"get":{"summary":"Offers","operationId":"offers_v1_offers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/quote":{"post":{"summary":"Quote","operationId":"quote_v1_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSpec"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs":{"post":{"summary":"Submit","operationId":"submit_v1_jobs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSpec"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Jobs","operationId":"list_jobs_v1_jobs_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me":{"get":{"summary":"Me","operationId":"me_v1_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{jid}":{"get":{"summary":"Get Job","operationId":"get_job_v1_jobs__jid__get","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{jid}/events":{"get":{"summary":"Job Events","operationId":"job_events_v1_jobs__jid__events_get","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}},{"name":"after","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"After"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{jid}/logs":{"get":{"summary":"Job Logs","operationId":"job_logs_v1_jobs__jid__logs_get","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}},{"name":"tail","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Tail"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{jid}/outputs":{"get":{"summary":"Job Outputs","operationId":"job_outputs_v1_jobs__jid__outputs_get","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{jid}/cancel":{"post":{"summary":"Cancel","operationId":"cancel_v1_jobs__jid__cancel_post","parameters":[{"name":"jid","in":"path","required":true,"schema":{"type":"string","title":"Jid"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stats":{"get":{"summary":"Stats","operationId":"stats_v1_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Landing","operationId":"landing__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/console":{"get":{"summary":"Console","operationId":"console_console_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JobSpec":{"properties":{"name":{"type":"string","title":"Name","default":"job"},"image":{"type":"string","title":"Image","default":"pytorch/pytorch:latest"},"command":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"Command","default":"python train.py"},"gpu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gpu"},"min_vram":{"type":"integer","title":"Min Vram","default":16},"gpu_count":{"type":"integer","maximum":8.0,"minimum":1.0,"title":"Gpu Count","default":1},"work_units":{"type":"number","exclusiveMinimum":0.0,"title":"Work Units","description":"A100-hours of compute needed","default":4.0},"budget":{"type":"number","exclusiveMinimum":0.0,"title":"Budget","default":50.0},"max_price_hr":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Price Hr"},"allow_spot":{"type":"boolean","title":"Allow Spot","default":true},"checkpoint_every":{"type":"number","exclusiveMinimum":0.0,"title":"Checkpoint Every","description":"simulated hours","default":0.25}},"type":"object","title":"JobSpec"},"Signup":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"Signup"},"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"}}}}