{"openapi":"3.1.0","info":{"title":"compute.md","version":"2.1.0","description":"The COMPUTE.md skill with your limits written in, a lever catalog, a plan checker, and read-only sizing estimates and accelerator specs. No key, no prices, nothing stored. Provided as is; information may not be current or accurate; use at your own risk.","license":{"name":"MIT","identifier":"MIT"},"termsOfService":"https://compute.md/terms"},"servers":[{"url":"https://compute.md"}],"paths":{"/compute.md":{"get":{"operationId":"computeSkill","summary":"The COMPUTE.md skill. Add a preset or any setting to get a version with Your rules and Your stack written in. Every setting is a number or a fixed choice; the value unset clears an optional one.","parameters":[{"name":"preset","in":"query","required":false,"description":"A starting point, applied first; each lever you pass overrides it. Presets fill optional levers only, never budget, approvals or stop rules.","schema":{"type":"string","enum":["core","recommended","locked","web_app","inference","gpu_job","data_pipeline","dev_box","static_site"]}},{"name":"budget_usd","in":"query","required":false,"description":"Budget per task, in US dollars, 1 to 1000000. Default 50.","schema":{"type":"number"}},{"name":"approval_usd","in":"query","required":false,"description":"Ask before any spend over, in US dollars, 0 to 1000000. Default 10.","schema":{"type":"number"}},{"name":"max_hourly_usd","in":"query","required":false,"description":"Most per hour, everything running, in US dollars, 0.1 to 100000. Default 25.","schema":{"type":"number"}},{"name":"model_budget_usd","in":"query","required":false,"description":"Model calls per task, in US dollars, 0 to 1000000. Default 5.","schema":{"type":"number"}},{"name":"monthly_usd","in":"query","required":false,"description":"Monthly cap, all tasks, in US dollars, 1 to 10000000.","schema":{"type":"number"}},{"name":"alert_pct","in":"query","required":false,"description":"Warn at this share of a budget, in percent, 10 to 100.","schema":{"type":"number"}},{"name":"commitments","in":"query","required":false,"description":"Reserved or prepaid capacity: never = Never; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"marketplace","in":"query","required":false,"description":"Paid add-ons and licenses: never = Never; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"stop_hours","in":"query","required":false,"description":"Hard stop after, in hours, 0.25 to 720. Default 4.","schema":{"type":"number"}},{"name":"idle_minutes","in":"query","required":false,"description":"Shut down when idle for, in minutes, 5 to 1440. Default 30.","schema":{"type":"number"}},{"name":"spot","in":"query","required":false,"description":"Spot or interruptible: never = Never; checkpointed = Only with checkpoints; preferred = Prefer it when work can resume. Default checkpointed.","schema":{"type":"string","enum":["never","checkpointed","preferred"]}},{"name":"checkpoint_minutes","in":"query","required":false,"description":"Checkpoint every, in minutes, 5 to 240. Default 30.","schema":{"type":"number"}},{"name":"long_running","in":"query","required":false,"description":"Long-running services: never = Never; ask = Ask first; allowed = Allowed.","schema":{"type":"string","enum":["never","ask","allowed"]}},{"name":"teardown","in":"query","required":false,"description":"When a task ends: keep_outputs = Keep outputs, delete the rest; delete_all = Delete everything; ask = Ask before deleting.","schema":{"type":"string","enum":["keep_outputs","delete_all","ask"]}},{"name":"workload","in":"query","required":false,"description":"What runs: web_app = Web app; api = API service; worker = Background worker; batch = Batch job; training = Model training; fine_tune = Fine-tuning; inference = Model inference; database = Database; static_site = Static site; dev_box = Dev machine; pipeline = Data pipeline.","schema":{"type":"string","enum":["web_app","api","worker","batch","training","fine_tune","inference","database","static_site","dev_box","pipeline"]}},{"name":"environment","in":"query","required":false,"description":"Environment: production = Production; staging = Staging; development = Development; ephemeral = Temporary, per task.","schema":{"type":"string","enum":["production","staging","development","ephemeral"]}},{"name":"replicas_min","in":"query","required":false,"description":"Replicas, at least, in replicas, 0 to 1000.","schema":{"type":"number"}},{"name":"replicas_max","in":"query","required":false,"description":"Replicas, at most, in replicas, 1 to 10000.","schema":{"type":"number"}},{"name":"uptime","in":"query","required":false,"description":"Uptime target: 99 = 99%; 99.9 = 99.9%; 99.95 = 99.95%; 99.99 = 99.99%.","schema":{"type":"string","enum":["99","99.9","99.95","99.99"]}},{"name":"availability","in":"query","required":false,"description":"Availability: single = Single zone; multi_zone = Survive a zone failure; multi_region = Survive a region failure.","schema":{"type":"string","enum":["single","multi_zone","multi_region"]}},{"name":"instance_class","in":"query","required":false,"description":"Machine class: general = General purpose; compute = Compute-optimized; memory = Memory-optimized; storage = Storage-optimized; shared_cpu = Shared CPU (burstable); gpu = GPU; bare_metal = Bare metal.","schema":{"type":"string","enum":["general","compute","memory","storage","shared_cpu","gpu","bare_metal"]}},{"name":"vcpus","in":"query","required":false,"description":"vCPUs per instance, in vCPUs, 0.25 to 1024.","schema":{"type":"number"}},{"name":"cpu_cores","in":"query","required":false,"description":"CPU cores: dedicated = Dedicated; shared = Shared is fine.","schema":{"type":"string","enum":["dedicated","shared"]}},{"name":"arch","in":"query","required":false,"description":"CPU architecture: x86 = x86-64; arm = ARM64; either = Either.","schema":{"type":"string","enum":["x86","arm","either"]}},{"name":"tenancy","in":"query","required":false,"description":"Shared or dedicated: shared = Shared is fine; dedicated = Dedicated (single-tenant); bare_metal = Bare metal only.","schema":{"type":"string","enum":["shared","dedicated","bare_metal"]}},{"name":"hardware","in":"query","required":false,"description":"Hardware grade: server = Server-grade only; consumer = Consumer-grade is fine.","schema":{"type":"string","enum":["server","consumer"]}},{"name":"max_vcpus","in":"query","required":false,"description":"Most vCPUs at once, all machines, in vCPUs, 1 to 1000000.","schema":{"type":"number"}},{"name":"max_instances","in":"query","required":false,"description":"Most instances at once, in instances, 1 to 100000.","schema":{"type":"number"}},{"name":"memory_gb","in":"query","required":false,"description":"RAM per instance, in GB, 0.125 to 24576.","schema":{"type":"number"}},{"name":"memory_type","in":"query","required":false,"description":"Memory type: ddr5 = DDR5; ddr4 = DDR4 or newer.","schema":{"type":"string","enum":["ddr5","ddr4"]}},{"name":"ecc","in":"query","required":false,"description":"ECC memory: required = Required.","schema":{"type":"string","enum":["required"]}},{"name":"max_memory_gb","in":"query","required":false,"description":"Most RAM at once, all machines, in GB, 1 to 10000000.","schema":{"type":"number"}},{"name":"gpu_count","in":"query","required":false,"description":"GPUs per node, in GPUs, 0 to 64.","schema":{"type":"number"}},{"name":"gpu_memory_gb","in":"query","required":false,"description":"GPU memory, at least, in GB, 4 to 1024.","schema":{"type":"number"}},{"name":"gpu_class","in":"query","required":false,"description":"GPU class: data_center = Data-center; workstation = Workstation; consumer = Consumer is fine.","schema":{"type":"string","enum":["data_center","workstation","consumer"]}},{"name":"gpu_interconnect","in":"query","required":false,"description":"GPU interconnect: pcie = PCIe is fine; fabric = High-bandwidth fabric; multi_node = Fabric plus RDMA between nodes.","schema":{"type":"string","enum":["pcie","fabric","multi_node"]}},{"name":"gpu_precision","in":"query","required":false,"description":"Must support: bf16 = BF16; fp8 = FP8; fp4 = FP4.","schema":{"type":"string","enum":["bf16","fp8","fp4"]}},{"name":"gpu_sharing","in":"query","required":false,"description":"GPU sharing: whole = Whole GPUs only; fractional = Fractional is fine.","schema":{"type":"string","enum":["whole","fractional"]}},{"name":"nodes","in":"query","required":false,"description":"Nodes, in nodes, 1 to 4096.","schema":{"type":"number"}},{"name":"accelerators","in":"query","required":false,"description":"Accelerator type: gpu_only = GPUs only; any = Any AI accelerator.","schema":{"type":"string","enum":["gpu_only","any"]}},{"name":"max_gpus","in":"query","required":false,"description":"Most GPUs at once, in GPUs, 0 to 100000.","schema":{"type":"number"}},{"name":"boot_disk_gb","in":"query","required":false,"description":"Boot disk, in GB, 4 to 65536.","schema":{"type":"number"}},{"name":"disk_type","in":"query","required":false,"description":"Disk type: nvme = NVMe SSD; ssd = SSD; hdd = HDD; local_nvme = Local NVMe (ephemeral).","schema":{"type":"string","enum":["nvme","ssd","hdd","local_nvme"]}},{"name":"volume_gb","in":"query","required":false,"description":"Block storage volume, in GB, 1 to 10000000.","schema":{"type":"number"}},{"name":"iops","in":"query","required":false,"description":"IOPS, at least, in IOPS, 100 to 10000000.","schema":{"type":"number"}},{"name":"throughput_mbps","in":"query","required":false,"description":"Disk throughput, at least, in MB/s, 10 to 1000000.","schema":{"type":"number"}},{"name":"object_storage_gb","in":"query","required":false,"description":"Object storage, in GB, 1 to 1000000000.","schema":{"type":"number"}},{"name":"object_tier","in":"query","required":false,"description":"Object storage tier: hot = Hot; cool = Infrequent access; archive = Archive.","schema":{"type":"string","enum":["hot","cool","archive"]}},{"name":"file_share_gb","in":"query","required":false,"description":"Shared file system, in GB, 1 to 100000000.","schema":{"type":"number"}},{"name":"backups","in":"query","required":false,"description":"Backups: daily = Daily; pitr = Point-in-time recovery; none = None needed.","schema":{"type":"string","enum":["daily","pitr","none"]}},{"name":"cold_after_days","in":"query","required":false,"description":"Move to cold storage after, in days, 1 to 3650.","schema":{"type":"number"}},{"name":"max_storage_gb","in":"query","required":false,"description":"Most storage per task, in GB, 1 to 1000000000.","schema":{"type":"number"}},{"name":"fast_storage","in":"query","required":false,"description":"Fast storage (NVMe, provisioned IOPS): ask = Ask first; allowed = Allowed; never = Never.","schema":{"type":"string","enum":["ask","allowed","never"]}},{"name":"retention_days","in":"query","required":false,"description":"Keep task data for, in days, 1 to 3650.","schema":{"type":"number"}},{"name":"db_engine","in":"query","required":false,"description":"Database type: sql = Relational (SQL); key_value = Key-value; document = Document; vector = Vector; time_series = Time-series; search = Full-text search; graph = Graph.","schema":{"type":"string","enum":["sql","key_value","document","vector","time_series","search","graph"]}},{"name":"databases","in":"query","required":false,"description":"Database hosting: managed = Managed; self = Self-hosted; ask = Ask first.","schema":{"type":"string","enum":["managed","self","ask"]}},{"name":"db_vcpus","in":"query","required":false,"description":"Database vCPUs, in vCPUs, 0.25 to 512.","schema":{"type":"number"}},{"name":"db_memory_gb","in":"query","required":false,"description":"Database RAM, in GB, 0.25 to 24576.","schema":{"type":"number"}},{"name":"db_storage_gb","in":"query","required":false,"description":"Database storage, in GB, 1 to 1000000.","schema":{"type":"number"}},{"name":"db_ha","in":"query","required":false,"description":"Database failover: single = Single instance; standby = Standby with failover; cluster = Multi-node cluster.","schema":{"type":"string","enum":["single","standby","cluster"]}},{"name":"db_replicas","in":"query","required":false,"description":"Read replicas, in replicas, 0 to 64.","schema":{"type":"number"}},{"name":"db_pooling","in":"query","required":false,"description":"Connection pooling: on = On.","schema":{"type":"string","enum":["on"]}},{"name":"cache_gb","in":"query","required":false,"description":"In-memory cache, in GB, 0.25 to 10000.","schema":{"type":"number"}},{"name":"queue","in":"query","required":false,"description":"Queue or stream: queue = Message queue; stream = Event stream.","schema":{"type":"string","enum":["queue","stream"]}},{"name":"min_network_gbps","in":"query","required":false,"description":"Network bandwidth, at least, in Gbps, 0.1 to 10000.","schema":{"type":"number"}},{"name":"transfer_tb","in":"query","required":false,"description":"Data out per month, in TB, 0 to 1000000.","schema":{"type":"number"}},{"name":"static_ip_count","in":"query","required":false,"description":"Static IPs needed, in IPs, 0 to 256.","schema":{"type":"number"}},{"name":"ipv6","in":"query","required":false,"description":"IP versions: dual = IPv4 and IPv6; ipv6_only = IPv6 only; ipv4_only = IPv4 only.","schema":{"type":"string","enum":["dual","ipv6_only","ipv4_only"]}},{"name":"load_balancer","in":"query","required":false,"description":"Load balancer: http = HTTP(S); tcp = TCP/UDP.","schema":{"type":"string","enum":["http","tcp"]}},{"name":"protocol","in":"query","required":false,"description":"Traffic: http = HTTP(S); websockets = HTTP and WebSockets; grpc = gRPC; tcp = Raw TCP/UDP.","schema":{"type":"string","enum":["http","websockets","grpc","tcp"]}},{"name":"tls_certs","in":"query","required":false,"description":"TLS certificates: managed = Managed, auto-renewed; own = Bring your own.","schema":{"type":"string","enum":["managed","own"]}},{"name":"custom_domain","in":"query","required":false,"description":"Custom domain: yes = Yes.","schema":{"type":"string","enum":["yes"]}},{"name":"cdn","in":"query","required":false,"description":"CDN: prefer = Prefer for public files; allowed = Allowed; never = Never.","schema":{"type":"string","enum":["prefer","allowed","never"]}},{"name":"cdn_cache_hours","in":"query","required":false,"description":"CDN cache lifetime, in hours, 0 to 8760.","schema":{"type":"number"}},{"name":"cdn_scope","in":"query","required":false,"description":"CDN edge locations: global = Global; regional = Allowed regions only.","schema":{"type":"string","enum":["global","regional"]}},{"name":"edge_protection","in":"query","required":false,"description":"Public endpoint protection: rate_limits = Rate limits; waf = Firewall and rate limits.","schema":{"type":"string","enum":["rate_limits","waf"]}},{"name":"egress_gb","in":"query","required":false,"description":"Most data out per task, in GB, 0 to 1000000000.","schema":{"type":"number"}},{"name":"exposure","in":"query","required":false,"description":"Internet exposure: private = Private only; https = HTTPS only; ask = Ask first.","schema":{"type":"string","enum":["private","https","ask"]}},{"name":"static_ip","in":"query","required":false,"description":"Reserving static IPs: never = Never; ask = Ask first; allowed = Allowed.","schema":{"type":"string","enum":["never","ask","allowed"]}},{"name":"outbound","in":"query","required":false,"description":"Outbound internet: restricted = Allowlist only; none = None; open = Open.","schema":{"type":"string","enum":["restricted","none","open"]}},{"name":"remote_access","in":"query","required":false,"description":"Remote access: tunnel = Tunnel or bastion only; keys = SSH keys, never passwords; none = None.","schema":{"type":"string","enum":["tunnel","keys","none"]}},{"name":"private_links","in":"query","required":false,"description":"VPNs and peering: ask = Ask first; never = Never.","schema":{"type":"string","enum":["ask","never"]}},{"name":"dns","in":"query","required":false,"description":"DNS changes: ask = Ask first; never = Never.","schema":{"type":"string","enum":["ask","never"]}},{"name":"os","in":"query","required":false,"description":"Operating system: linux = Linux; linux_deb = Linux, deb-based; linux_rpm = Linux, RPM-based; linux_minimal = Linux, minimal for containers; linux_lts = Linux, LTS release; windows = Windows.","schema":{"type":"string","enum":["linux","linux_deb","linux_rpm","linux_minimal","linux_lts","windows"]}},{"name":"os_version","in":"query","required":false,"description":"OS version: lts = Long-term support; latest = Latest stable.","schema":{"type":"string","enum":["lts","latest"]}},{"name":"images","in":"query","required":false,"description":"Machine images: official = Official images; hardened = Hardened images; own = Our own images.","schema":{"type":"string","enum":["official","hardened","own"]}},{"name":"ml_image","in":"query","required":false,"description":"ML-ready image: yes = Drivers and frameworks preinstalled.","schema":{"type":"string","enum":["yes"]}},{"name":"patching","in":"query","required":false,"description":"Patching: auto = Automatic security updates; rebuild = Rebuild, never patch in place.","schema":{"type":"string","enum":["auto","rebuild"]}},{"name":"runtime","in":"query","required":false,"description":"Runtime: managed = Serverless and managed first; containers = Containers; machines = VMs or bare metal.","schema":{"type":"string","enum":["managed","containers","machines"]}},{"name":"orchestration","in":"query","required":false,"description":"Orchestration: none = None; single_host = Single host; cluster = Orchestrated cluster.","schema":{"type":"string","enum":["none","single_host","cluster"]}},{"name":"model_task","in":"query","required":false,"description":"Model task: chat = Chat and text generation; embeddings = Embeddings; rerank = Reranking; speech_to_text = Speech to text; text_to_speech = Text to speech; vision = Vision; image_gen = Image generation; video_gen = Video generation; classification = Classification.","schema":{"type":"string","enum":["chat","embeddings","rerank","speech_to_text","text_to_speech","vision","image_gen","video_gen","classification"]}},{"name":"model_params_b","in":"query","required":false,"description":"Model size, in B params, 0.01 to 20000.","schema":{"type":"number"}},{"name":"context_k","in":"query","required":false,"description":"Context per request, in K tokens, 1 to 10000.","schema":{"type":"number"}},{"name":"ttft_ms","in":"query","required":false,"description":"First token within, in ms, 10 to 120000.","schema":{"type":"number"}},{"name":"tokens_per_s","in":"query","required":false,"description":"Speed per stream, at least, in tokens/s, 1 to 100000.","schema":{"type":"number"}},{"name":"concurrency","in":"query","required":false,"description":"Concurrent requests, in requests, 1 to 100000.","schema":{"type":"number"}},{"name":"endpoint_access","in":"query","required":false,"description":"Endpoint access: protected = Token required; private = Private network only; public = Public.","schema":{"type":"string","enum":["protected","private","public"]}},{"name":"quantize","in":"query","required":false,"description":"Quantization, self-hosted: native = Published precision; fp8 = 8-bit is fine; int4 = 4-bit is fine.","schema":{"type":"string","enum":["native","fp8","int4"]}},{"name":"serving","in":"query","required":false,"description":"Idle model serving: scale_to_zero = Scale to zero; warm = Keep one warm.","schema":{"type":"string","enum":["scale_to_zero","warm"]}},{"name":"model_source","in":"query","required":false,"description":"Where models run: hosted = Hosted APIs; open = Open weights; self = Self-hosted only.","schema":{"type":"string","enum":["hosted","open","self"]}},{"name":"model_data","in":"query","required":false,"description":"Prompt and output handling: no_training = No training on our data; zero_retention = Zero retention.","schema":{"type":"string","enum":["no_training","zero_retention"]}},{"name":"model_tier","in":"query","required":false,"description":"Largest model tier: small = Small; mid = Up to mid-tier; top = Any tier.","schema":{"type":"string","enum":["small","mid","top"]}},{"name":"model_tokens_m","in":"query","required":false,"description":"Most tokens per task, in M tokens, 0.01 to 1000000.","schema":{"type":"number"}},{"name":"model_calls","in":"query","required":false,"description":"Most model calls per task, in calls, 1 to 1000000000.","schema":{"type":"number"}},{"name":"model_parallel","in":"query","required":false,"description":"Most calls in flight, in calls, 1 to 100000.","schema":{"type":"number"}},{"name":"media","in":"query","required":false,"description":"Image, audio, video generation: ask = Ask first; never = Never.","schema":{"type":"string","enum":["ask","never"]}},{"name":"monitoring","in":"query","required":false,"description":"Observability: basic = Basic metrics; full = Metrics, logs and traces.","schema":{"type":"string","enum":["basic","full"]}},{"name":"alerts","in":"query","required":false,"description":"Alerts: on = On.","schema":{"type":"string","enum":["on"]}},{"name":"uptime_checks","in":"query","required":false,"description":"Uptime checks: on = On.","schema":{"type":"string","enum":["on"]}},{"name":"log_days","in":"query","required":false,"description":"Keep logs for, in days, 1 to 3650.","schema":{"type":"number"}},{"name":"encryption","in":"query","required":false,"description":"Encryption at rest: provider = Provider-managed keys; customer = Customer-managed keys; external = Keys held outside.","schema":{"type":"string","enum":["provider","customer","external"]}},{"name":"transit","in":"query","required":false,"description":"Encryption in transit: tls12 = TLS 1.2 or newer; tls13 = TLS 1.3; mtls = Mutual TLS.","schema":{"type":"string","enum":["tls12","tls13","mtls"]}},{"name":"confidential","in":"query","required":false,"description":"Confidential computing: required = Required; prefer = Preferred.","schema":{"type":"string","enum":["required","prefer"]}},{"name":"secrets","in":"query","required":false,"description":"Secrets: manager = Secrets manager; env = Environment variables.","schema":{"type":"string","enum":["manager","env"]}},{"name":"scanning","in":"query","required":false,"description":"Vulnerability scanning: block = Block criticals; report = Report only.","schema":{"type":"string","enum":["block","report"]}},{"name":"providers","in":"query","required":false,"description":"Providers: existing = Only accounts already set up; ask = Ask before any new provider. Default existing.","schema":{"type":"string","enum":["existing","ask"]}},{"name":"approver","in":"query","required":false,"description":"Who approves: user = The user; owner = The project owner; requester = Whoever started the task. Default user.","schema":{"type":"string","enum":["user","owner","requester"]}},{"name":"credentials","in":"query","required":false,"description":"Credentials: short_lived = Short-lived only; existing = Existing only.","schema":{"type":"string","enum":["short_lived","existing"]}},{"name":"admin","in":"query","required":false,"description":"Admin or root: never = Never; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"iam","in":"query","required":false,"description":"Users, roles and policies: never = Never change; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"production","in":"query","required":false,"description":"Production: none = Never touch; read = Read-only; ask = Ask first; allowed = Allowed.","schema":{"type":"string","enum":["none","read","ask","allowed"]}},{"name":"approvals","in":"query","required":false,"description":"Also ask before: shared = Changing what it didn't create; every = Every change.","schema":{"type":"string","enum":["shared","every"]}},{"name":"regions","in":"query","required":false,"description":"Regions: any = Any; data = Same region as the data; us = United States; eu = European Union; uk = United Kingdom; ca = Canada; au = Australia; jp = Japan; in = India. Default any.","schema":{"type":"string","enum":["any","data","us","eu","uk","ca","au","jp","in"]}},{"name":"data_class","in":"query","required":false,"description":"Most sensitive data: internal = Internal; confidential = Confidential; regulated = Regulated.","schema":{"type":"string","enum":["internal","confidential","regulated"]}},{"name":"personal_data","in":"query","required":false,"description":"Personal data: none = None; minimal = Only what's needed.","schema":{"type":"string","enum":["none","minimal"]}},{"name":"provisioning","in":"query","required":false,"description":"How to provision: iac = Infrastructure as code; cli = CLI or API, logged.","schema":{"type":"string","enum":["iac","cli"]}}],"responses":{"200":{"description":"The skill as Markdown","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/api/v1/levers":{"get":{"operationId":"listLevers","summary":"The lever catalog: groups, every lever with its kind, unit, range, options and default, and the presets.","parameters":[],"responses":{"200":{"description":"JSON result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/v1/limits":{"get":{"operationId":"buildLimits","summary":"Build Your rules and Your stack from a preset and settings: the settings as JSON, the Markdown sections, a link to the skill with them written in, and notes on anything clamped or ignored. Nothing is stored.","parameters":[{"name":"preset","in":"query","required":false,"description":"A starting point, applied first; each lever you pass overrides it. Presets fill optional levers only, never budget, approvals or stop rules.","schema":{"type":"string","enum":["core","recommended","locked","web_app","inference","gpu_job","data_pipeline","dev_box","static_site"]}},{"name":"format","in":"query","required":false,"description":"json (default) or markdown for just the sections.","schema":{"type":"string","enum":["json","markdown"]}},{"name":"budget_usd","in":"query","required":false,"description":"Budget per task, in US dollars, 1 to 1000000. Default 50.","schema":{"type":"number"}},{"name":"approval_usd","in":"query","required":false,"description":"Ask before any spend over, in US dollars, 0 to 1000000. Default 10.","schema":{"type":"number"}},{"name":"max_hourly_usd","in":"query","required":false,"description":"Most per hour, everything running, in US dollars, 0.1 to 100000. Default 25.","schema":{"type":"number"}},{"name":"model_budget_usd","in":"query","required":false,"description":"Model calls per task, in US dollars, 0 to 1000000. Default 5.","schema":{"type":"number"}},{"name":"monthly_usd","in":"query","required":false,"description":"Monthly cap, all tasks, in US dollars, 1 to 10000000.","schema":{"type":"number"}},{"name":"alert_pct","in":"query","required":false,"description":"Warn at this share of a budget, in percent, 10 to 100.","schema":{"type":"number"}},{"name":"commitments","in":"query","required":false,"description":"Reserved or prepaid capacity: never = Never; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"marketplace","in":"query","required":false,"description":"Paid add-ons and licenses: never = Never; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"stop_hours","in":"query","required":false,"description":"Hard stop after, in hours, 0.25 to 720. Default 4.","schema":{"type":"number"}},{"name":"idle_minutes","in":"query","required":false,"description":"Shut down when idle for, in minutes, 5 to 1440. Default 30.","schema":{"type":"number"}},{"name":"spot","in":"query","required":false,"description":"Spot or interruptible: never = Never; checkpointed = Only with checkpoints; preferred = Prefer it when work can resume. Default checkpointed.","schema":{"type":"string","enum":["never","checkpointed","preferred"]}},{"name":"checkpoint_minutes","in":"query","required":false,"description":"Checkpoint every, in minutes, 5 to 240. Default 30.","schema":{"type":"number"}},{"name":"long_running","in":"query","required":false,"description":"Long-running services: never = Never; ask = Ask first; allowed = Allowed.","schema":{"type":"string","enum":["never","ask","allowed"]}},{"name":"teardown","in":"query","required":false,"description":"When a task ends: keep_outputs = Keep outputs, delete the rest; delete_all = Delete everything; ask = Ask before deleting.","schema":{"type":"string","enum":["keep_outputs","delete_all","ask"]}},{"name":"workload","in":"query","required":false,"description":"What runs: web_app = Web app; api = API service; worker = Background worker; batch = Batch job; training = Model training; fine_tune = Fine-tuning; inference = Model inference; database = Database; static_site = Static site; dev_box = Dev machine; pipeline = Data pipeline.","schema":{"type":"string","enum":["web_app","api","worker","batch","training","fine_tune","inference","database","static_site","dev_box","pipeline"]}},{"name":"environment","in":"query","required":false,"description":"Environment: production = Production; staging = Staging; development = Development; ephemeral = Temporary, per task.","schema":{"type":"string","enum":["production","staging","development","ephemeral"]}},{"name":"replicas_min","in":"query","required":false,"description":"Replicas, at least, in replicas, 0 to 1000.","schema":{"type":"number"}},{"name":"replicas_max","in":"query","required":false,"description":"Replicas, at most, in replicas, 1 to 10000.","schema":{"type":"number"}},{"name":"uptime","in":"query","required":false,"description":"Uptime target: 99 = 99%; 99.9 = 99.9%; 99.95 = 99.95%; 99.99 = 99.99%.","schema":{"type":"string","enum":["99","99.9","99.95","99.99"]}},{"name":"availability","in":"query","required":false,"description":"Availability: single = Single zone; multi_zone = Survive a zone failure; multi_region = Survive a region failure.","schema":{"type":"string","enum":["single","multi_zone","multi_region"]}},{"name":"instance_class","in":"query","required":false,"description":"Machine class: general = General purpose; compute = Compute-optimized; memory = Memory-optimized; storage = Storage-optimized; shared_cpu = Shared CPU (burstable); gpu = GPU; bare_metal = Bare metal.","schema":{"type":"string","enum":["general","compute","memory","storage","shared_cpu","gpu","bare_metal"]}},{"name":"vcpus","in":"query","required":false,"description":"vCPUs per instance, in vCPUs, 0.25 to 1024.","schema":{"type":"number"}},{"name":"cpu_cores","in":"query","required":false,"description":"CPU cores: dedicated = Dedicated; shared = Shared is fine.","schema":{"type":"string","enum":["dedicated","shared"]}},{"name":"arch","in":"query","required":false,"description":"CPU architecture: x86 = x86-64; arm = ARM64; either = Either.","schema":{"type":"string","enum":["x86","arm","either"]}},{"name":"tenancy","in":"query","required":false,"description":"Shared or dedicated: shared = Shared is fine; dedicated = Dedicated (single-tenant); bare_metal = Bare metal only.","schema":{"type":"string","enum":["shared","dedicated","bare_metal"]}},{"name":"hardware","in":"query","required":false,"description":"Hardware grade: server = Server-grade only; consumer = Consumer-grade is fine.","schema":{"type":"string","enum":["server","consumer"]}},{"name":"max_vcpus","in":"query","required":false,"description":"Most vCPUs at once, all machines, in vCPUs, 1 to 1000000.","schema":{"type":"number"}},{"name":"max_instances","in":"query","required":false,"description":"Most instances at once, in instances, 1 to 100000.","schema":{"type":"number"}},{"name":"memory_gb","in":"query","required":false,"description":"RAM per instance, in GB, 0.125 to 24576.","schema":{"type":"number"}},{"name":"memory_type","in":"query","required":false,"description":"Memory type: ddr5 = DDR5; ddr4 = DDR4 or newer.","schema":{"type":"string","enum":["ddr5","ddr4"]}},{"name":"ecc","in":"query","required":false,"description":"ECC memory: required = Required.","schema":{"type":"string","enum":["required"]}},{"name":"max_memory_gb","in":"query","required":false,"description":"Most RAM at once, all machines, in GB, 1 to 10000000.","schema":{"type":"number"}},{"name":"gpu_count","in":"query","required":false,"description":"GPUs per node, in GPUs, 0 to 64.","schema":{"type":"number"}},{"name":"gpu_memory_gb","in":"query","required":false,"description":"GPU memory, at least, in GB, 4 to 1024.","schema":{"type":"number"}},{"name":"gpu_class","in":"query","required":false,"description":"GPU class: data_center = Data-center; workstation = Workstation; consumer = Consumer is fine.","schema":{"type":"string","enum":["data_center","workstation","consumer"]}},{"name":"gpu_interconnect","in":"query","required":false,"description":"GPU interconnect: pcie = PCIe is fine; fabric = High-bandwidth fabric; multi_node = Fabric plus RDMA between nodes.","schema":{"type":"string","enum":["pcie","fabric","multi_node"]}},{"name":"gpu_precision","in":"query","required":false,"description":"Must support: bf16 = BF16; fp8 = FP8; fp4 = FP4.","schema":{"type":"string","enum":["bf16","fp8","fp4"]}},{"name":"gpu_sharing","in":"query","required":false,"description":"GPU sharing: whole = Whole GPUs only; fractional = Fractional is fine.","schema":{"type":"string","enum":["whole","fractional"]}},{"name":"nodes","in":"query","required":false,"description":"Nodes, in nodes, 1 to 4096.","schema":{"type":"number"}},{"name":"accelerators","in":"query","required":false,"description":"Accelerator type: gpu_only = GPUs only; any = Any AI accelerator.","schema":{"type":"string","enum":["gpu_only","any"]}},{"name":"max_gpus","in":"query","required":false,"description":"Most GPUs at once, in GPUs, 0 to 100000.","schema":{"type":"number"}},{"name":"boot_disk_gb","in":"query","required":false,"description":"Boot disk, in GB, 4 to 65536.","schema":{"type":"number"}},{"name":"disk_type","in":"query","required":false,"description":"Disk type: nvme = NVMe SSD; ssd = SSD; hdd = HDD; local_nvme = Local NVMe (ephemeral).","schema":{"type":"string","enum":["nvme","ssd","hdd","local_nvme"]}},{"name":"volume_gb","in":"query","required":false,"description":"Block storage volume, in GB, 1 to 10000000.","schema":{"type":"number"}},{"name":"iops","in":"query","required":false,"description":"IOPS, at least, in IOPS, 100 to 10000000.","schema":{"type":"number"}},{"name":"throughput_mbps","in":"query","required":false,"description":"Disk throughput, at least, in MB/s, 10 to 1000000.","schema":{"type":"number"}},{"name":"object_storage_gb","in":"query","required":false,"description":"Object storage, in GB, 1 to 1000000000.","schema":{"type":"number"}},{"name":"object_tier","in":"query","required":false,"description":"Object storage tier: hot = Hot; cool = Infrequent access; archive = Archive.","schema":{"type":"string","enum":["hot","cool","archive"]}},{"name":"file_share_gb","in":"query","required":false,"description":"Shared file system, in GB, 1 to 100000000.","schema":{"type":"number"}},{"name":"backups","in":"query","required":false,"description":"Backups: daily = Daily; pitr = Point-in-time recovery; none = None needed.","schema":{"type":"string","enum":["daily","pitr","none"]}},{"name":"cold_after_days","in":"query","required":false,"description":"Move to cold storage after, in days, 1 to 3650.","schema":{"type":"number"}},{"name":"max_storage_gb","in":"query","required":false,"description":"Most storage per task, in GB, 1 to 1000000000.","schema":{"type":"number"}},{"name":"fast_storage","in":"query","required":false,"description":"Fast storage (NVMe, provisioned IOPS): ask = Ask first; allowed = Allowed; never = Never.","schema":{"type":"string","enum":["ask","allowed","never"]}},{"name":"retention_days","in":"query","required":false,"description":"Keep task data for, in days, 1 to 3650.","schema":{"type":"number"}},{"name":"db_engine","in":"query","required":false,"description":"Database type: sql = Relational (SQL); key_value = Key-value; document = Document; vector = Vector; time_series = Time-series; search = Full-text search; graph = Graph.","schema":{"type":"string","enum":["sql","key_value","document","vector","time_series","search","graph"]}},{"name":"databases","in":"query","required":false,"description":"Database hosting: managed = Managed; self = Self-hosted; ask = Ask first.","schema":{"type":"string","enum":["managed","self","ask"]}},{"name":"db_vcpus","in":"query","required":false,"description":"Database vCPUs, in vCPUs, 0.25 to 512.","schema":{"type":"number"}},{"name":"db_memory_gb","in":"query","required":false,"description":"Database RAM, in GB, 0.25 to 24576.","schema":{"type":"number"}},{"name":"db_storage_gb","in":"query","required":false,"description":"Database storage, in GB, 1 to 1000000.","schema":{"type":"number"}},{"name":"db_ha","in":"query","required":false,"description":"Database failover: single = Single instance; standby = Standby with failover; cluster = Multi-node cluster.","schema":{"type":"string","enum":["single","standby","cluster"]}},{"name":"db_replicas","in":"query","required":false,"description":"Read replicas, in replicas, 0 to 64.","schema":{"type":"number"}},{"name":"db_pooling","in":"query","required":false,"description":"Connection pooling: on = On.","schema":{"type":"string","enum":["on"]}},{"name":"cache_gb","in":"query","required":false,"description":"In-memory cache, in GB, 0.25 to 10000.","schema":{"type":"number"}},{"name":"queue","in":"query","required":false,"description":"Queue or stream: queue = Message queue; stream = Event stream.","schema":{"type":"string","enum":["queue","stream"]}},{"name":"min_network_gbps","in":"query","required":false,"description":"Network bandwidth, at least, in Gbps, 0.1 to 10000.","schema":{"type":"number"}},{"name":"transfer_tb","in":"query","required":false,"description":"Data out per month, in TB, 0 to 1000000.","schema":{"type":"number"}},{"name":"static_ip_count","in":"query","required":false,"description":"Static IPs needed, in IPs, 0 to 256.","schema":{"type":"number"}},{"name":"ipv6","in":"query","required":false,"description":"IP versions: dual = IPv4 and IPv6; ipv6_only = IPv6 only; ipv4_only = IPv4 only.","schema":{"type":"string","enum":["dual","ipv6_only","ipv4_only"]}},{"name":"load_balancer","in":"query","required":false,"description":"Load balancer: http = HTTP(S); tcp = TCP/UDP.","schema":{"type":"string","enum":["http","tcp"]}},{"name":"protocol","in":"query","required":false,"description":"Traffic: http = HTTP(S); websockets = HTTP and WebSockets; grpc = gRPC; tcp = Raw TCP/UDP.","schema":{"type":"string","enum":["http","websockets","grpc","tcp"]}},{"name":"tls_certs","in":"query","required":false,"description":"TLS certificates: managed = Managed, auto-renewed; own = Bring your own.","schema":{"type":"string","enum":["managed","own"]}},{"name":"custom_domain","in":"query","required":false,"description":"Custom domain: yes = Yes.","schema":{"type":"string","enum":["yes"]}},{"name":"cdn","in":"query","required":false,"description":"CDN: prefer = Prefer for public files; allowed = Allowed; never = Never.","schema":{"type":"string","enum":["prefer","allowed","never"]}},{"name":"cdn_cache_hours","in":"query","required":false,"description":"CDN cache lifetime, in hours, 0 to 8760.","schema":{"type":"number"}},{"name":"cdn_scope","in":"query","required":false,"description":"CDN edge locations: global = Global; regional = Allowed regions only.","schema":{"type":"string","enum":["global","regional"]}},{"name":"edge_protection","in":"query","required":false,"description":"Public endpoint protection: rate_limits = Rate limits; waf = Firewall and rate limits.","schema":{"type":"string","enum":["rate_limits","waf"]}},{"name":"egress_gb","in":"query","required":false,"description":"Most data out per task, in GB, 0 to 1000000000.","schema":{"type":"number"}},{"name":"exposure","in":"query","required":false,"description":"Internet exposure: private = Private only; https = HTTPS only; ask = Ask first.","schema":{"type":"string","enum":["private","https","ask"]}},{"name":"static_ip","in":"query","required":false,"description":"Reserving static IPs: never = Never; ask = Ask first; allowed = Allowed.","schema":{"type":"string","enum":["never","ask","allowed"]}},{"name":"outbound","in":"query","required":false,"description":"Outbound internet: restricted = Allowlist only; none = None; open = Open.","schema":{"type":"string","enum":["restricted","none","open"]}},{"name":"remote_access","in":"query","required":false,"description":"Remote access: tunnel = Tunnel or bastion only; keys = SSH keys, never passwords; none = None.","schema":{"type":"string","enum":["tunnel","keys","none"]}},{"name":"private_links","in":"query","required":false,"description":"VPNs and peering: ask = Ask first; never = Never.","schema":{"type":"string","enum":["ask","never"]}},{"name":"dns","in":"query","required":false,"description":"DNS changes: ask = Ask first; never = Never.","schema":{"type":"string","enum":["ask","never"]}},{"name":"os","in":"query","required":false,"description":"Operating system: linux = Linux; linux_deb = Linux, deb-based; linux_rpm = Linux, RPM-based; linux_minimal = Linux, minimal for containers; linux_lts = Linux, LTS release; windows = Windows.","schema":{"type":"string","enum":["linux","linux_deb","linux_rpm","linux_minimal","linux_lts","windows"]}},{"name":"os_version","in":"query","required":false,"description":"OS version: lts = Long-term support; latest = Latest stable.","schema":{"type":"string","enum":["lts","latest"]}},{"name":"images","in":"query","required":false,"description":"Machine images: official = Official images; hardened = Hardened images; own = Our own images.","schema":{"type":"string","enum":["official","hardened","own"]}},{"name":"ml_image","in":"query","required":false,"description":"ML-ready image: yes = Drivers and frameworks preinstalled.","schema":{"type":"string","enum":["yes"]}},{"name":"patching","in":"query","required":false,"description":"Patching: auto = Automatic security updates; rebuild = Rebuild, never patch in place.","schema":{"type":"string","enum":["auto","rebuild"]}},{"name":"runtime","in":"query","required":false,"description":"Runtime: managed = Serverless and managed first; containers = Containers; machines = VMs or bare metal.","schema":{"type":"string","enum":["managed","containers","machines"]}},{"name":"orchestration","in":"query","required":false,"description":"Orchestration: none = None; single_host = Single host; cluster = Orchestrated cluster.","schema":{"type":"string","enum":["none","single_host","cluster"]}},{"name":"model_task","in":"query","required":false,"description":"Model task: chat = Chat and text generation; embeddings = Embeddings; rerank = Reranking; speech_to_text = Speech to text; text_to_speech = Text to speech; vision = Vision; image_gen = Image generation; video_gen = Video generation; classification = Classification.","schema":{"type":"string","enum":["chat","embeddings","rerank","speech_to_text","text_to_speech","vision","image_gen","video_gen","classification"]}},{"name":"model_params_b","in":"query","required":false,"description":"Model size, in B params, 0.01 to 20000.","schema":{"type":"number"}},{"name":"context_k","in":"query","required":false,"description":"Context per request, in K tokens, 1 to 10000.","schema":{"type":"number"}},{"name":"ttft_ms","in":"query","required":false,"description":"First token within, in ms, 10 to 120000.","schema":{"type":"number"}},{"name":"tokens_per_s","in":"query","required":false,"description":"Speed per stream, at least, in tokens/s, 1 to 100000.","schema":{"type":"number"}},{"name":"concurrency","in":"query","required":false,"description":"Concurrent requests, in requests, 1 to 100000.","schema":{"type":"number"}},{"name":"endpoint_access","in":"query","required":false,"description":"Endpoint access: protected = Token required; private = Private network only; public = Public.","schema":{"type":"string","enum":["protected","private","public"]}},{"name":"quantize","in":"query","required":false,"description":"Quantization, self-hosted: native = Published precision; fp8 = 8-bit is fine; int4 = 4-bit is fine.","schema":{"type":"string","enum":["native","fp8","int4"]}},{"name":"serving","in":"query","required":false,"description":"Idle model serving: scale_to_zero = Scale to zero; warm = Keep one warm.","schema":{"type":"string","enum":["scale_to_zero","warm"]}},{"name":"model_source","in":"query","required":false,"description":"Where models run: hosted = Hosted APIs; open = Open weights; self = Self-hosted only.","schema":{"type":"string","enum":["hosted","open","self"]}},{"name":"model_data","in":"query","required":false,"description":"Prompt and output handling: no_training = No training on our data; zero_retention = Zero retention.","schema":{"type":"string","enum":["no_training","zero_retention"]}},{"name":"model_tier","in":"query","required":false,"description":"Largest model tier: small = Small; mid = Up to mid-tier; top = Any tier.","schema":{"type":"string","enum":["small","mid","top"]}},{"name":"model_tokens_m","in":"query","required":false,"description":"Most tokens per task, in M tokens, 0.01 to 1000000.","schema":{"type":"number"}},{"name":"model_calls","in":"query","required":false,"description":"Most model calls per task, in calls, 1 to 1000000000.","schema":{"type":"number"}},{"name":"model_parallel","in":"query","required":false,"description":"Most calls in flight, in calls, 1 to 100000.","schema":{"type":"number"}},{"name":"media","in":"query","required":false,"description":"Image, audio, video generation: ask = Ask first; never = Never.","schema":{"type":"string","enum":["ask","never"]}},{"name":"monitoring","in":"query","required":false,"description":"Observability: basic = Basic metrics; full = Metrics, logs and traces.","schema":{"type":"string","enum":["basic","full"]}},{"name":"alerts","in":"query","required":false,"description":"Alerts: on = On.","schema":{"type":"string","enum":["on"]}},{"name":"uptime_checks","in":"query","required":false,"description":"Uptime checks: on = On.","schema":{"type":"string","enum":["on"]}},{"name":"log_days","in":"query","required":false,"description":"Keep logs for, in days, 1 to 3650.","schema":{"type":"number"}},{"name":"encryption","in":"query","required":false,"description":"Encryption at rest: provider = Provider-managed keys; customer = Customer-managed keys; external = Keys held outside.","schema":{"type":"string","enum":["provider","customer","external"]}},{"name":"transit","in":"query","required":false,"description":"Encryption in transit: tls12 = TLS 1.2 or newer; tls13 = TLS 1.3; mtls = Mutual TLS.","schema":{"type":"string","enum":["tls12","tls13","mtls"]}},{"name":"confidential","in":"query","required":false,"description":"Confidential computing: required = Required; prefer = Preferred.","schema":{"type":"string","enum":["required","prefer"]}},{"name":"secrets","in":"query","required":false,"description":"Secrets: manager = Secrets manager; env = Environment variables.","schema":{"type":"string","enum":["manager","env"]}},{"name":"scanning","in":"query","required":false,"description":"Vulnerability scanning: block = Block criticals; report = Report only.","schema":{"type":"string","enum":["block","report"]}},{"name":"providers","in":"query","required":false,"description":"Providers: existing = Only accounts already set up; ask = Ask before any new provider. Default existing.","schema":{"type":"string","enum":["existing","ask"]}},{"name":"approver","in":"query","required":false,"description":"Who approves: user = The user; owner = The project owner; requester = Whoever started the task. Default user.","schema":{"type":"string","enum":["user","owner","requester"]}},{"name":"credentials","in":"query","required":false,"description":"Credentials: short_lived = Short-lived only; existing = Existing only.","schema":{"type":"string","enum":["short_lived","existing"]}},{"name":"admin","in":"query","required":false,"description":"Admin or root: never = Never; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"iam","in":"query","required":false,"description":"Users, roles and policies: never = Never change; ask = Ask first.","schema":{"type":"string","enum":["never","ask"]}},{"name":"production","in":"query","required":false,"description":"Production: none = Never touch; read = Read-only; ask = Ask first; allowed = Allowed.","schema":{"type":"string","enum":["none","read","ask","allowed"]}},{"name":"approvals","in":"query","required":false,"description":"Also ask before: shared = Changing what it didn't create; every = Every change.","schema":{"type":"string","enum":["shared","every"]}},{"name":"regions","in":"query","required":false,"description":"Regions: any = Any; data = Same region as the data; us = United States; eu = European Union; uk = United Kingdom; ca = Canada; au = Australia; jp = Japan; in = India. Default any.","schema":{"type":"string","enum":["any","data","us","eu","uk","ca","au","jp","in"]}},{"name":"data_class","in":"query","required":false,"description":"Most sensitive data: internal = Internal; confidential = Confidential; regulated = Regulated.","schema":{"type":"string","enum":["internal","confidential","regulated"]}},{"name":"personal_data","in":"query","required":false,"description":"Personal data: none = None; minimal = Only what's needed.","schema":{"type":"string","enum":["none","minimal"]}},{"name":"provisioning","in":"query","required":false,"description":"How to provision: iac = Infrastructure as code; cli = CLI or API, logged.","schema":{"type":"string","enum":["iac","cli"]}}],"responses":{"200":{"description":"JSON result, or the section as Markdown with format=markdown","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/api/v1/check":{"post":{"operationId":"checkPlan","summary":"Check a provider-neutral plan against your limits before launching: a verdict (blocked, needs_approval or within_limits), the findings, totals, and which limits the plan let it check. A clean result is not an approval. Nothing is stored. GET returns usage and an example body.","description":"JSON {\"limits\": {lever: value}, \"limits_url\": \"a compute.md link or query string\", \"plan\": {\"resources\": [...], ...}}. limits wins over limits_url; with neither, the core defaults apply. Only the link's query is read; nothing is fetched. Up to 64 KB. Plan schema: /openapi.json (checkPlan).","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckRequest"}}}},"responses":{"200":{"description":"JSON result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Bad request, with a hint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"413":{"description":"Body over 64 KB"}}}},"/api/v1/fit":{"get":{"operationId":"fitModel","summary":"Size a model or job: memory, which GPUs fit and how many, and estimated speed. Estimates only; no prices.","parameters":[{"name":"model","in":"query","required":false,"description":"Hugging Face repo id (Qwen/Qwen3.6-27B) or a quick pick (gpt-oss-120b). Or pass params_b instead.","schema":{"type":"string"}},{"name":"task","in":"query","required":false,"description":"Default serve.","schema":{"type":"string","enum":["serve","lora","qlora","full"]}},{"name":"precision","in":"query","required":false,"description":"Weight precision. Default native: the checkpoint as published.","schema":{"type":"string","enum":["native","bf16","fp8","int8","int4"]}},{"name":"kv","in":"query","required":false,"description":"KV cache precision. Default bf16.","schema":{"type":"string","enum":["bf16","fp8"]}},{"name":"context","in":"query","required":false,"description":"Tokens per sequence, such as 32768 or 32k. Default 32k serving, 4k training.","schema":{"type":"string"}},{"name":"concurrency","in":"query","required":false,"description":"Sequences in flight when serving, batch size when training. Default 8 or 4.","schema":{"type":"integer"}},{"name":"train_tokens","in":"query","required":false,"description":"Total training tokens (dataset x epochs), such as 50m, for an estimated duration.","schema":{"type":"string"}},{"name":"max_gpus","in":"query","required":false,"description":"Largest device count to consider. Default 8.","schema":{"type":"integer"}},{"name":"gpu","in":"query","required":false,"description":"Only these accelerators, comma-separated: h100-sxm,h200,mi300x.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Options to return. Default 12.","schema":{"type":"integer"}},{"name":"params_b","in":"query","required":false,"description":"Parameters in billions, for a model that isn't on Hugging Face. Add active_b, layers, kv_heads and head_dim for speed and KV cache.","schema":{"type":"number"}}],"responses":{"200":{"description":"JSON result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Bad request, with a hint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Model not found"}}}},"/api/v1/gpus":{"get":{"operationId":"gpuSpecs","summary":"Accelerator specs from vendor datasheets: memory, bandwidth, dense BF16 and FP8 throughput, interconnect. No prices.","parameters":[{"name":"gpu","in":"query","required":false,"description":"Accelerator ids or names, comma-separated: h100, h200, b200, a100, l40s, mi300x, rtx-4090, tpu-v6e.","schema":{"type":"string"}},{"name":"min_memory_gb","in":"query","required":false,"description":"Only accelerators with at least this much memory.","schema":{"type":"number"}},{"name":"vendor","in":"query","required":false,"description":"Only one vendor: NVIDIA, AMD, Google, AWS, Intel, Apple.","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Bad request, with a hint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/v1/models":{"get":{"operationId":"modelSpecs","summary":"Model specs: parameters, active parameters, checkpoint size, attention layout and KV cache per token. Quick picks, or any Hugging Face repo via id.","parameters":[{"name":"id","in":"query","required":false,"description":"Hugging Face repo id. Omit for the quick-pick list.","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON result","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Bad request, with a hint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Model not found"}}}}},"components":{"schemas":{"Limits":{"type":"object","description":"Lever values. Numbers are clamped to their range; unknown choices are ignored with a note.","properties":{"preset":{"type":"string","enum":["core","recommended","locked","web_app","inference","gpu_job","data_pipeline","dev_box","static_site"],"description":"A starting point, applied first; each setting you pass overrides it. Presets never change budget, approvals or stop rules."},"budget_usd":{"type":"number","minimum":1,"maximum":1000000,"description":"Budget per task, in US dollars, 1 to 1000000. Default 50."},"approval_usd":{"type":"number","minimum":0,"maximum":1000000,"description":"Ask before any spend over, in US dollars, 0 to 1000000. Default 10."},"max_hourly_usd":{"type":"number","minimum":0.1,"maximum":100000,"description":"Most per hour, everything running, in US dollars, 0.1 to 100000. Default 25."},"model_budget_usd":{"type":"number","minimum":0,"maximum":1000000,"description":"Model calls per task, in US dollars, 0 to 1000000. Default 5."},"monthly_usd":{"type":"number","minimum":1,"maximum":10000000,"description":"Monthly cap, all tasks, in US dollars, 1 to 10000000."},"alert_pct":{"type":"number","minimum":10,"maximum":100,"description":"Warn at this share of a budget, in percent, 10 to 100."},"commitments":{"type":"string","enum":["never","ask"],"description":"Reserved or prepaid capacity: never = Never; ask = Ask first."},"marketplace":{"type":"string","enum":["never","ask"],"description":"Paid add-ons and licenses: never = Never; ask = Ask first."},"stop_hours":{"type":"number","minimum":0.25,"maximum":720,"description":"Hard stop after, in hours, 0.25 to 720. Default 4."},"idle_minutes":{"type":"number","minimum":5,"maximum":1440,"description":"Shut down when idle for, in minutes, 5 to 1440. Default 30."},"spot":{"type":"string","enum":["never","checkpointed","preferred"],"description":"Spot or interruptible: never = Never; checkpointed = Only with checkpoints; preferred = Prefer it when work can resume. Default checkpointed."},"checkpoint_minutes":{"type":"number","minimum":5,"maximum":240,"description":"Checkpoint every, in minutes, 5 to 240. Default 30."},"long_running":{"type":"string","enum":["never","ask","allowed"],"description":"Long-running services: never = Never; ask = Ask first; allowed = Allowed."},"teardown":{"type":"string","enum":["keep_outputs","delete_all","ask"],"description":"When a task ends: keep_outputs = Keep outputs, delete the rest; delete_all = Delete everything; ask = Ask before deleting."},"workload":{"type":"string","enum":["web_app","api","worker","batch","training","fine_tune","inference","database","static_site","dev_box","pipeline"],"description":"What runs: web_app = Web app; api = API service; worker = Background worker; batch = Batch job; training = Model training; fine_tune = Fine-tuning; inference = Model inference; database = Database; static_site = Static site; dev_box = Dev machine; pipeline = Data pipeline."},"environment":{"type":"string","enum":["production","staging","development","ephemeral"],"description":"Environment: production = Production; staging = Staging; development = Development; ephemeral = Temporary, per task."},"replicas_min":{"type":"number","minimum":0,"maximum":1000,"description":"Replicas, at least, in replicas, 0 to 1000."},"replicas_max":{"type":"number","minimum":1,"maximum":10000,"description":"Replicas, at most, in replicas, 1 to 10000."},"uptime":{"type":"string","enum":["99","99.9","99.95","99.99"],"description":"Uptime target: 99 = 99%; 99.9 = 99.9%; 99.95 = 99.95%; 99.99 = 99.99%."},"availability":{"type":"string","enum":["single","multi_zone","multi_region"],"description":"Availability: single = Single zone; multi_zone = Survive a zone failure; multi_region = Survive a region failure."},"instance_class":{"type":"string","enum":["general","compute","memory","storage","shared_cpu","gpu","bare_metal"],"description":"Machine class: general = General purpose; compute = Compute-optimized; memory = Memory-optimized; storage = Storage-optimized; shared_cpu = Shared CPU (burstable); gpu = GPU; bare_metal = Bare metal."},"vcpus":{"type":"number","minimum":0.25,"maximum":1024,"description":"vCPUs per instance, in vCPUs, 0.25 to 1024."},"cpu_cores":{"type":"string","enum":["dedicated","shared"],"description":"CPU cores: dedicated = Dedicated; shared = Shared is fine."},"arch":{"type":"string","enum":["x86","arm","either"],"description":"CPU architecture: x86 = x86-64; arm = ARM64; either = Either."},"tenancy":{"type":"string","enum":["shared","dedicated","bare_metal"],"description":"Shared or dedicated: shared = Shared is fine; dedicated = Dedicated (single-tenant); bare_metal = Bare metal only."},"hardware":{"type":"string","enum":["server","consumer"],"description":"Hardware grade: server = Server-grade only; consumer = Consumer-grade is fine."},"max_vcpus":{"type":"number","minimum":1,"maximum":1000000,"description":"Most vCPUs at once, all machines, in vCPUs, 1 to 1000000."},"max_instances":{"type":"number","minimum":1,"maximum":100000,"description":"Most instances at once, in instances, 1 to 100000."},"memory_gb":{"type":"number","minimum":0.125,"maximum":24576,"description":"RAM per instance, in GB, 0.125 to 24576."},"memory_type":{"type":"string","enum":["ddr5","ddr4"],"description":"Memory type: ddr5 = DDR5; ddr4 = DDR4 or newer."},"ecc":{"type":"string","enum":["required"],"description":"ECC memory: required = Required."},"max_memory_gb":{"type":"number","minimum":1,"maximum":10000000,"description":"Most RAM at once, all machines, in GB, 1 to 10000000."},"gpu_count":{"type":"number","minimum":0,"maximum":64,"description":"GPUs per node, in GPUs, 0 to 64."},"gpu_memory_gb":{"type":"number","minimum":4,"maximum":1024,"description":"GPU memory, at least, in GB, 4 to 1024."},"gpu_class":{"type":"string","enum":["data_center","workstation","consumer"],"description":"GPU class: data_center = Data-center; workstation = Workstation; consumer = Consumer is fine."},"gpu_interconnect":{"type":"string","enum":["pcie","fabric","multi_node"],"description":"GPU interconnect: pcie = PCIe is fine; fabric = High-bandwidth fabric; multi_node = Fabric plus RDMA between nodes."},"gpu_precision":{"type":"string","enum":["bf16","fp8","fp4"],"description":"Must support: bf16 = BF16; fp8 = FP8; fp4 = FP4."},"gpu_sharing":{"type":"string","enum":["whole","fractional"],"description":"GPU sharing: whole = Whole GPUs only; fractional = Fractional is fine."},"nodes":{"type":"number","minimum":1,"maximum":4096,"description":"Nodes, in nodes, 1 to 4096."},"accelerators":{"type":"string","enum":["gpu_only","any"],"description":"Accelerator type: gpu_only = GPUs only; any = Any AI accelerator."},"max_gpus":{"type":"number","minimum":0,"maximum":100000,"description":"Most GPUs at once, in GPUs, 0 to 100000."},"boot_disk_gb":{"type":"number","minimum":4,"maximum":65536,"description":"Boot disk, in GB, 4 to 65536."},"disk_type":{"type":"string","enum":["nvme","ssd","hdd","local_nvme"],"description":"Disk type: nvme = NVMe SSD; ssd = SSD; hdd = HDD; local_nvme = Local NVMe (ephemeral)."},"volume_gb":{"type":"number","minimum":1,"maximum":10000000,"description":"Block storage volume, in GB, 1 to 10000000."},"iops":{"type":"number","minimum":100,"maximum":10000000,"description":"IOPS, at least, in IOPS, 100 to 10000000."},"throughput_mbps":{"type":"number","minimum":10,"maximum":1000000,"description":"Disk throughput, at least, in MB/s, 10 to 1000000."},"object_storage_gb":{"type":"number","minimum":1,"maximum":1000000000,"description":"Object storage, in GB, 1 to 1000000000."},"object_tier":{"type":"string","enum":["hot","cool","archive"],"description":"Object storage tier: hot = Hot; cool = Infrequent access; archive = Archive."},"file_share_gb":{"type":"number","minimum":1,"maximum":100000000,"description":"Shared file system, in GB, 1 to 100000000."},"backups":{"type":"string","enum":["daily","pitr","none"],"description":"Backups: daily = Daily; pitr = Point-in-time recovery; none = None needed."},"cold_after_days":{"type":"number","minimum":1,"maximum":3650,"description":"Move to cold storage after, in days, 1 to 3650."},"max_storage_gb":{"type":"number","minimum":1,"maximum":1000000000,"description":"Most storage per task, in GB, 1 to 1000000000."},"fast_storage":{"type":"string","enum":["ask","allowed","never"],"description":"Fast storage (NVMe, provisioned IOPS): ask = Ask first; allowed = Allowed; never = Never."},"retention_days":{"type":"number","minimum":1,"maximum":3650,"description":"Keep task data for, in days, 1 to 3650."},"db_engine":{"type":"string","enum":["sql","key_value","document","vector","time_series","search","graph"],"description":"Database type: sql = Relational (SQL); key_value = Key-value; document = Document; vector = Vector; time_series = Time-series; search = Full-text search; graph = Graph."},"databases":{"type":"string","enum":["managed","self","ask"],"description":"Database hosting: managed = Managed; self = Self-hosted; ask = Ask first."},"db_vcpus":{"type":"number","minimum":0.25,"maximum":512,"description":"Database vCPUs, in vCPUs, 0.25 to 512."},"db_memory_gb":{"type":"number","minimum":0.25,"maximum":24576,"description":"Database RAM, in GB, 0.25 to 24576."},"db_storage_gb":{"type":"number","minimum":1,"maximum":1000000,"description":"Database storage, in GB, 1 to 1000000."},"db_ha":{"type":"string","enum":["single","standby","cluster"],"description":"Database failover: single = Single instance; standby = Standby with failover; cluster = Multi-node cluster."},"db_replicas":{"type":"number","minimum":0,"maximum":64,"description":"Read replicas, in replicas, 0 to 64."},"db_pooling":{"type":"string","enum":["on"],"description":"Connection pooling: on = On."},"cache_gb":{"type":"number","minimum":0.25,"maximum":10000,"description":"In-memory cache, in GB, 0.25 to 10000."},"queue":{"type":"string","enum":["queue","stream"],"description":"Queue or stream: queue = Message queue; stream = Event stream."},"min_network_gbps":{"type":"number","minimum":0.1,"maximum":10000,"description":"Network bandwidth, at least, in Gbps, 0.1 to 10000."},"transfer_tb":{"type":"number","minimum":0,"maximum":1000000,"description":"Data out per month, in TB, 0 to 1000000."},"static_ip_count":{"type":"number","minimum":0,"maximum":256,"description":"Static IPs needed, in IPs, 0 to 256."},"ipv6":{"type":"string","enum":["dual","ipv6_only","ipv4_only"],"description":"IP versions: dual = IPv4 and IPv6; ipv6_only = IPv6 only; ipv4_only = IPv4 only."},"load_balancer":{"type":"string","enum":["http","tcp"],"description":"Load balancer: http = HTTP(S); tcp = TCP/UDP."},"protocol":{"type":"string","enum":["http","websockets","grpc","tcp"],"description":"Traffic: http = HTTP(S); websockets = HTTP and WebSockets; grpc = gRPC; tcp = Raw TCP/UDP."},"tls_certs":{"type":"string","enum":["managed","own"],"description":"TLS certificates: managed = Managed, auto-renewed; own = Bring your own."},"custom_domain":{"type":"string","enum":["yes"],"description":"Custom domain: yes = Yes."},"cdn":{"type":"string","enum":["prefer","allowed","never"],"description":"CDN: prefer = Prefer for public files; allowed = Allowed; never = Never."},"cdn_cache_hours":{"type":"number","minimum":0,"maximum":8760,"description":"CDN cache lifetime, in hours, 0 to 8760."},"cdn_scope":{"type":"string","enum":["global","regional"],"description":"CDN edge locations: global = Global; regional = Allowed regions only."},"edge_protection":{"type":"string","enum":["rate_limits","waf"],"description":"Public endpoint protection: rate_limits = Rate limits; waf = Firewall and rate limits."},"egress_gb":{"type":"number","minimum":0,"maximum":1000000000,"description":"Most data out per task, in GB, 0 to 1000000000."},"exposure":{"type":"string","enum":["private","https","ask"],"description":"Internet exposure: private = Private only; https = HTTPS only; ask = Ask first."},"static_ip":{"type":"string","enum":["never","ask","allowed"],"description":"Reserving static IPs: never = Never; ask = Ask first; allowed = Allowed."},"outbound":{"type":"string","enum":["restricted","none","open"],"description":"Outbound internet: restricted = Allowlist only; none = None; open = Open."},"remote_access":{"type":"string","enum":["tunnel","keys","none"],"description":"Remote access: tunnel = Tunnel or bastion only; keys = SSH keys, never passwords; none = None."},"private_links":{"type":"string","enum":["ask","never"],"description":"VPNs and peering: ask = Ask first; never = Never."},"dns":{"type":"string","enum":["ask","never"],"description":"DNS changes: ask = Ask first; never = Never."},"os":{"type":"string","enum":["linux","linux_deb","linux_rpm","linux_minimal","linux_lts","windows"],"description":"Operating system: linux = Linux; linux_deb = Linux, deb-based; linux_rpm = Linux, RPM-based; linux_minimal = Linux, minimal for containers; linux_lts = Linux, LTS release; windows = Windows."},"os_version":{"type":"string","enum":["lts","latest"],"description":"OS version: lts = Long-term support; latest = Latest stable."},"images":{"type":"string","enum":["official","hardened","own"],"description":"Machine images: official = Official images; hardened = Hardened images; own = Our own images."},"ml_image":{"type":"string","enum":["yes"],"description":"ML-ready image: yes = Drivers and frameworks preinstalled."},"patching":{"type":"string","enum":["auto","rebuild"],"description":"Patching: auto = Automatic security updates; rebuild = Rebuild, never patch in place."},"runtime":{"type":"string","enum":["managed","containers","machines"],"description":"Runtime: managed = Serverless and managed first; containers = Containers; machines = VMs or bare metal."},"orchestration":{"type":"string","enum":["none","single_host","cluster"],"description":"Orchestration: none = None; single_host = Single host; cluster = Orchestrated cluster."},"model_task":{"type":"string","enum":["chat","embeddings","rerank","speech_to_text","text_to_speech","vision","image_gen","video_gen","classification"],"description":"Model task: chat = Chat and text generation; embeddings = Embeddings; rerank = Reranking; speech_to_text = Speech to text; text_to_speech = Text to speech; vision = Vision; image_gen = Image generation; video_gen = Video generation; classification = Classification."},"model_params_b":{"type":"number","minimum":0.01,"maximum":20000,"description":"Model size, in B params, 0.01 to 20000."},"context_k":{"type":"number","minimum":1,"maximum":10000,"description":"Context per request, in K tokens, 1 to 10000."},"ttft_ms":{"type":"number","minimum":10,"maximum":120000,"description":"First token within, in ms, 10 to 120000."},"tokens_per_s":{"type":"number","minimum":1,"maximum":100000,"description":"Speed per stream, at least, in tokens/s, 1 to 100000."},"concurrency":{"type":"number","minimum":1,"maximum":100000,"description":"Concurrent requests, in requests, 1 to 100000."},"endpoint_access":{"type":"string","enum":["protected","private","public"],"description":"Endpoint access: protected = Token required; private = Private network only; public = Public."},"quantize":{"type":"string","enum":["native","fp8","int4"],"description":"Quantization, self-hosted: native = Published precision; fp8 = 8-bit is fine; int4 = 4-bit is fine."},"serving":{"type":"string","enum":["scale_to_zero","warm"],"description":"Idle model serving: scale_to_zero = Scale to zero; warm = Keep one warm."},"model_source":{"type":"string","enum":["hosted","open","self"],"description":"Where models run: hosted = Hosted APIs; open = Open weights; self = Self-hosted only."},"model_data":{"type":"string","enum":["no_training","zero_retention"],"description":"Prompt and output handling: no_training = No training on our data; zero_retention = Zero retention."},"model_tier":{"type":"string","enum":["small","mid","top"],"description":"Largest model tier: small = Small; mid = Up to mid-tier; top = Any tier."},"model_tokens_m":{"type":"number","minimum":0.01,"maximum":1000000,"description":"Most tokens per task, in M tokens, 0.01 to 1000000."},"model_calls":{"type":"number","minimum":1,"maximum":1000000000,"description":"Most model calls per task, in calls, 1 to 1000000000."},"model_parallel":{"type":"number","minimum":1,"maximum":100000,"description":"Most calls in flight, in calls, 1 to 100000."},"media":{"type":"string","enum":["ask","never"],"description":"Image, audio, video generation: ask = Ask first; never = Never."},"monitoring":{"type":"string","enum":["basic","full"],"description":"Observability: basic = Basic metrics; full = Metrics, logs and traces."},"alerts":{"type":"string","enum":["on"],"description":"Alerts: on = On."},"uptime_checks":{"type":"string","enum":["on"],"description":"Uptime checks: on = On."},"log_days":{"type":"number","minimum":1,"maximum":3650,"description":"Keep logs for, in days, 1 to 3650."},"encryption":{"type":"string","enum":["provider","customer","external"],"description":"Encryption at rest: provider = Provider-managed keys; customer = Customer-managed keys; external = Keys held outside."},"transit":{"type":"string","enum":["tls12","tls13","mtls"],"description":"Encryption in transit: tls12 = TLS 1.2 or newer; tls13 = TLS 1.3; mtls = Mutual TLS."},"confidential":{"type":"string","enum":["required","prefer"],"description":"Confidential computing: required = Required; prefer = Preferred."},"secrets":{"type":"string","enum":["manager","env"],"description":"Secrets: manager = Secrets manager; env = Environment variables."},"scanning":{"type":"string","enum":["block","report"],"description":"Vulnerability scanning: block = Block criticals; report = Report only."},"providers":{"type":"string","enum":["existing","ask"],"description":"Providers: existing = Only accounts already set up; ask = Ask before any new provider. Default existing."},"approver":{"type":"string","enum":["user","owner","requester"],"description":"Who approves: user = The user; owner = The project owner; requester = Whoever started the task. Default user."},"credentials":{"type":"string","enum":["short_lived","existing"],"description":"Credentials: short_lived = Short-lived only; existing = Existing only."},"admin":{"type":"string","enum":["never","ask"],"description":"Admin or root: never = Never; ask = Ask first."},"iam":{"type":"string","enum":["never","ask"],"description":"Users, roles and policies: never = Never change; ask = Ask first."},"production":{"type":"string","enum":["none","read","ask","allowed"],"description":"Production: none = Never touch; read = Read-only; ask = Ask first; allowed = Allowed."},"approvals":{"type":"string","enum":["shared","every"],"description":"Also ask before: shared = Changing what it didn't create; every = Every change."},"regions":{"type":"string","enum":["any","data","us","eu","uk","ca","au","jp","in"],"description":"Regions: any = Any; data = Same region as the data; us = United States; eu = European Union; uk = United Kingdom; ca = Canada; au = Australia; jp = Japan; in = India. Default any."},"data_class":{"type":"string","enum":["internal","confidential","regulated"],"description":"Most sensitive data: internal = Internal; confidential = Confidential; regulated = Regulated."},"personal_data":{"type":"string","enum":["none","minimal"],"description":"Personal data: none = None; minimal = Only what's needed."},"provisioning":{"type":"string","enum":["iac","cli"],"description":"How to provision: iac = Infrastructure as code; cli = CLI or API, logged."}}},"Plan":{"type":"object","required":["resources"],"additionalProperties":false,"properties":{"hours":{"type":"number","minimum":0,"description":"Planned runtime in hours for resources that don't give their own."},"resources":{"type":"array","maxItems":200,"description":"What the plan will create or use, described without provider names.","items":{"type":"object","required":["kind"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["machine","container","function","storage","database","load_balancer","ip","cdn","dns","network_link","model_calls","other"],"description":"What this resource is."},"name":{"type":"string","maxLength":60,"description":"A short label, echoed back in findings."},"count":{"type":"number","minimum":0,"description":"How many of these. Default 1."},"hours":{"type":"number","minimum":0,"description":"Runtime in hours. Default: the plan's hours."},"hourly_usd":{"type":"number","minimum":0,"description":"Price per hour for one unit, read from your provider."},"usd":{"type":"number","minimum":0,"description":"Cost not billed by the hour (model calls, a fixed fee, storage for the task)."},"vcpus":{"type":"number","minimum":0,"description":"vCPUs per unit."},"memory_gb":{"type":"number","minimum":0,"description":"Memory (RAM) per unit, GB."},"gpus":{"type":"number","minimum":0,"description":"GPUs or other accelerators per unit."},"gpu_memory_gb":{"type":"number","minimum":0,"description":"Memory per GPU, GB."},"memory_type":{"type":"string","enum":["ddr4","ddr5","other"],"description":"RAM generation."},"ecc":{"type":"boolean","description":"ECC memory."},"cpu_cores":{"type":"string","enum":["dedicated","shared"],"description":"Dedicated or shared CPU cores."},"disk_type":{"type":"string","enum":["nvme","ssd","hdd","local_nvme"],"description":"Disk type; local_nvme is ephemeral."},"hardware":{"type":"string","enum":["server","consumer"],"description":"Hardware grade."},"tenancy":{"type":"string","enum":["shared","dedicated","bare_metal"],"description":"Shared, single-tenant or bare metal."},"arch":{"type":"string","enum":["x86","arm"],"description":"CPU architecture."},"os":{"type":"string","enum":["linux","linux_lts","windows","other"],"description":"Operating system."},"image":{"type":"string","enum":["official","hardened","own","community","marketplace"],"description":"Where the machine image comes from."},"runtime":{"type":"string","enum":["serverless","managed","container","vm","bare_metal"],"description":"How it runs."},"interruptible":{"type":"boolean","description":"Spot or interruptible capacity."},"checkpoint_minutes":{"type":"number","minimum":0,"description":"Minutes between checkpoints to durable storage."},"stop_after_hours":{"type":"number","minimum":0,"description":"Hard stop the provider enforces, in hours."},"idle_stop_minutes":{"type":"number","minimum":0,"description":"Shuts down after this many idle minutes."},"long_running":{"type":"boolean","description":"A service meant to keep running (app, API, database, endpoint)."},"network_gbps":{"type":"number","minimum":0,"description":"Network bandwidth per unit, Gbps."},"storage_gb":{"type":"number","minimum":0,"description":"Storage per unit, GB (disks, buckets, file shares, snapshots, databases)."},"fast_storage":{"type":"boolean","description":"Local NVMe or provisioned IOPS or throughput."},"hosting":{"type":"string","enum":["managed","self"],"description":"Databases: managed service or self-hosted."},"backups":{"type":"string","enum":["none","daily","pitr"],"description":"Backups for databases and persistent volumes."},"availability":{"type":"string","enum":["single","multi_zone","multi_region"],"description":"Redundancy."},"region":{"type":"string","enum":["us","eu","uk","ca","au","jp","in","other"],"description":"Jurisdiction it runs in."},"same_region_as_data":{"type":"boolean","description":"Runs in the same region as the data it reads."},"egress_gb":{"type":"number","minimum":0,"description":"Data out to the internet or other regions, GB."},"public_ip":{"type":"string","enum":["none","ephemeral","static"],"description":"Public IP address."},"inbound":{"type":"string","enum":["none","https","other"],"description":"What the internet can reach: nothing, HTTPS on 443, or other ports."},"public":{"type":"boolean","description":"Readable from the internet without credentials (a public bucket, database or endpoint)."},"outbound":{"type":"string","enum":["none","restricted","open"],"description":"Outbound internet access."},"remote_access":{"type":"string","enum":["none","tunnel","keys","password"],"description":"How people log in."},"encrypted":{"type":"boolean","description":"Encrypted at rest."},"keys":{"type":"string","enum":["provider","customer","external"],"description":"Who manages the encryption keys."},"tls":{"type":"string","enum":["none","1.2","1.3","mtls"],"description":"Encryption in transit."},"confidential":{"type":"boolean","description":"Confidential computing (memory encrypted in use)."},"rate_limited":{"type":"boolean","description":"Public endpoint has rate limits."},"waf":{"type":"boolean","description":"Public endpoint is behind a web application firewall."},"production":{"type":"boolean","description":"Part of, or touches, production."},"created_by_task":{"type":"boolean","description":"Created by this task. False when changing something that already exists. Default true."},"calls":{"type":"number","minimum":0,"description":"Model calls."},"tokens_m":{"type":"number","minimum":0,"description":"Model tokens, millions, input plus output."},"parallel":{"type":"number","minimum":0,"description":"Model calls or subagents in flight at once."},"model_source":{"type":"string","enum":["hosted","open","self"],"description":"Hosted API, open weights from a host, or self-hosted."},"model_tier":{"type":"string","enum":["small","mid","top"],"description":"Model size tier."},"model_data":{"type":"string","enum":["trains","retains","no_training","zero_retention"],"description":"What the model service does with prompts and outputs."},"quantization":{"type":"string","enum":["native","fp8","int8","int4","lower"],"description":"Self-hosted weight precision."},"serving":{"type":"string","enum":["scale_to_zero","warm"],"description":"Idle behavior of model serving."},"media":{"type":"boolean","description":"Generates images, audio or video."}}}},"actions":{"type":"array","maxItems":50,"description":"Account and permission actions the plan takes.","items":{"type":"string","enum":["new_provider","create_account","add_payment_method","buy_commitment","marketplace_subscription","quota_increase","admin_role","iam_change","new_keys","long_lived_keys","dns_change","production_change","production_read","change_unowned","delete_unowned","private_link"],"description":"An action."}},"data_class":{"type":"string","enum":["public","internal","confidential","regulated"],"description":"Most sensitive data the plan touches."},"personal_data":{"type":"boolean","description":"Processes personal data."},"provisioning":{"type":"string","enum":["iac","cli","console"],"description":"How resources get created."},"secrets":{"type":"string","enum":["manager","env","code"],"description":"Where secrets live."},"scanning":{"type":"string","enum":["none","report","block"],"description":"Image and dependency scanning before deploy."},"log_days":{"type":"number","minimum":0,"description":"Days logs and the audit trail are kept."},"teardown":{"type":"string","enum":["keep_outputs","delete_all","ask","none"],"description":"What happens when the task ends."},"monthly_spent_usd":{"type":"number","minimum":0,"description":"Spend so far this calendar month, for the monthly cap."}}},"CheckRequest":{"type":"object","required":["plan"],"properties":{"limits":{"$ref":"#/components/schemas/Limits"},"limits_url":{"type":"string","description":"A compute.md link with levers, or a bare query string. Only its query is read; nothing is fetched."},"plan":{"$ref":"#/components/schemas/Plan"}}},"Problem":{"type":"object","required":["error"],"properties":{"error":{"type":"string"},"hint":{"type":"string"},"docs":{"type":"string"}}}}}}