{"openapi":"3.1.0","info":{"title":"ACP — Agentic Compute Protocol","version":"0.1.0","description":"Control plane for autonomous agents on GPU: durable workflows, compute routing, memory, secure execution and observability. Authenticate with `Authorization: Bearer acp_live_…`."},"servers":[{"url":"https://gpu-sooty.vercel.app/api/v1"}],"security":[{"bearer":[]}],"paths":{"/health":{"get":{"tags":["System"],"summary":"Health check (public)","operationId":"GET_health","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"security":[]}},"/me":{"get":{"tags":["Identity"],"summary":"Current principal and organization","operationId":"GET_me","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/orgs":{"post":{"tags":["Identity"],"summary":"Create an organization (wallet session only)","operationId":"POST_orgs","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/members":{"get":{"tags":["Identity"],"summary":"List members","operationId":"GET_members","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Identity"],"summary":"Add or update a member by wallet","operationId":"POST_members","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/members/{wallet}":{"delete":{"tags":["Identity"],"summary":"Remove a member","operationId":"DELETE_members_wallet","parameters":[{"name":"wallet","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/keys":{"get":{"tags":["Identity"],"summary":"List API keys","operationId":"GET_keys","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Identity"],"summary":"Create an API key (shown once)","operationId":"POST_keys","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/keys/{id}":{"delete":{"tags":["Identity"],"summary":"Revoke an API key","operationId":"DELETE_keys_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/agents":{"get":{"tags":["Agents"],"summary":"List agents with run stats","operationId":"GET_agents","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Agents"],"summary":"Create an agent","operationId":"POST_agents","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRequest"}}}}}},"/agents/{id}":{"get":{"tags":["Agents"],"summary":"Get an agent by id or name","operationId":"GET_agents_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"patch":{"tags":["Agents"],"summary":"Update an agent (config changes bump the version)","operationId":"PATCH_agents_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/agents/{id}/runs":{"post":{"tags":["Runs"],"summary":"Start a run of an agent (supports Idempotency-Key)","operationId":"POST_agents_id_runs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/agents/{id}/{action}":{"post":{"tags":["Agents"],"summary":"Lifecycle: deploy | pause | resume | archive","operationId":"POST_agents_id_action","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"action","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/runs":{"post":{"tags":["Runs"],"summary":"Start a run from an agent or an ad-hoc workflow","operationId":"POST_runs","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunRequest"}}}}},"get":{"tags":["Runs"],"summary":"List runs (cursor pagination)","operationId":"GET_runs","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/runs/{id}":{"get":{"tags":["Runs"],"summary":"Run with its tasks, outputs and child runs","operationId":"GET_runs_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/runs/{id}/{action}":{"post":{"tags":["Runs"],"summary":"Control: pause | resume | cancel | retry","operationId":"POST_runs_id_action","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"action","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/runs/{id}/tasks/{key}/{decision}":{"post":{"tags":["Runs"],"summary":"Approve or reject a task waiting for a human","operationId":"POST_runs_id_tasks_key_decision","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"decision","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/events":{"get":{"tags":["Observability"],"summary":"Search execution events and traces","operationId":"GET_events","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/compute/providers":{"get":{"tags":["Compute"],"summary":"List inference providers with health","operationId":"GET_compute_providers","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Compute"],"summary":"Register a provider or GPU node","operationId":"POST_compute_providers","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/compute/providers/{id}":{"patch":{"tags":["Compute"],"summary":"Update a provider","operationId":"PATCH_compute_providers_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}},"delete":{"tags":["Compute"],"summary":"Remove a provider","operationId":"DELETE_compute_providers_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/compute/providers/{id}/test":{"post":{"tags":["Compute"],"summary":"Health-check one provider","operationId":"POST_compute_providers_id_test","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/compute/routing":{"get":{"tags":["Compute"],"summary":"Routing policy","operationId":"GET_compute_routing","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"put":{"tags":["Compute"],"summary":"Set routing policy","operationId":"PUT_compute_routing","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/compute/route":{"post":{"tags":["Compute"],"summary":"Dry-run: ranked candidates for a model","operationId":"POST_compute_route","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/compute/capacity":{"get":{"tags":["Compute"],"summary":"Capacity and utilization by provider and hardware vendor","operationId":"GET_compute_capacity","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/models":{"get":{"tags":["Compute"],"summary":"Model catalog with pricing","operationId":"GET_models","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/chat/completions":{"post":{"tags":["Compute"],"summary":"OpenAI-compatible chat completion, routed (stream: true for SSE)","operationId":"POST_chat_completions","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/memory/namespaces":{"get":{"tags":["Memory"],"summary":"List namespaces","operationId":"GET_memory_namespaces","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Memory"],"summary":"Create a namespace","operationId":"POST_memory_namespaces","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/memory/namespaces/{id}":{"patch":{"tags":["Memory"],"summary":"Share, retention","operationId":"PATCH_memory_namespaces_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}},"delete":{"tags":["Memory"],"summary":"Delete a namespace","operationId":"DELETE_memory_namespaces_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/memory/namespaces/{id}/items":{"get":{"tags":["Memory"],"summary":"List items or get by ?key=","operationId":"GET_memory_namespaces_id_items","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Memory"],"summary":"Write an item (upsert by key)","operationId":"POST_memory_namespaces_id_items","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/memory/namespaces/{id}/items/{item}":{"delete":{"tags":["Memory"],"summary":"Delete an item","operationId":"DELETE_memory_namespaces_id_items_item","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"item","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/memory/search":{"post":{"tags":["Memory"],"summary":"Hybrid vector + full-text search","operationId":"POST_memory_search","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/memory/usage":{"get":{"tags":["Memory"],"summary":"Storage usage and cache hits","operationId":"GET_memory_usage","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/security/policy":{"get":{"tags":["Security"],"summary":"Organization security policy","operationId":"GET_security_policy","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"put":{"tags":["Security"],"summary":"Set approvals, code execution, egress deny-list, concurrency","operationId":"PUT_security_policy","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/audit":{"get":{"tags":["Security"],"summary":"Audit trail of control-plane changes and approvals","operationId":"GET_audit","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/chain/info":{"get":{"tags":["Escrow"],"summary":"Program, market config and on-chain listings (Solana, public)","operationId":"GET_chain_info","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"security":[]}},"/chain/rentals":{"get":{"tags":["Escrow"],"summary":"Your on-chain rentals and balances (wallet session)","operationId":"GET_chain_rentals","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/chain/provider":{"get":{"tags":["Escrow"],"summary":"Your provider account: stake, reputation, listings, rentals on your machines","operationId":"GET_chain_provider","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/chain/disputes":{"get":{"tags":["Escrow"],"summary":"Disputed rentals (market arbiter only)","operationId":"GET_chain_disputes","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/chain/provider/tx/{action}":{"post":{"tags":["Escrow"],"summary":"Provider transaction: register | stake | unstake | withdraw | list | pause | resume","operationId":"POST_chain_provider_tx_action","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/chain/tx/{action}":{"post":{"tags":["Escrow"],"summary":"Build an unsigned transaction: open | cancel | end | dispute | close | accept | claim | resolve","operationId":"POST_chain_tx_action","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/chain/submit":{"post":{"tags":["Escrow"],"summary":"Relay a wallet-signed transaction to the cluster","operationId":"POST_chain_submit","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/chain/airdrop":{"post":{"tags":["Escrow"],"summary":"1 devnet SOL to your wallet (rate limited)","operationId":"POST_chain_airdrop","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/info":{"get":{"tags":["Payments"],"summary":"Direct-payment market: fee, treasury and provider listings (public)","operationId":"GET_pay_info","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"security":[]}},"/pay/rentals":{"get":{"tags":["Payments"],"summary":"Your paid rentals and wallet balances (wallet session)","operationId":"GET_pay_rentals","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/pay/tx/open":{"post":{"tags":["Payments"],"summary":"Build the payment transaction for a rental: provider share + platform fee","operationId":"POST_pay_tx_open","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/submit":{"post":{"tags":["Payments"],"summary":"Relay the signed payment; the rental is marked paid once confirmed","operationId":"POST_pay_submit","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/access":{"post":{"tags":["Payments"],"summary":"Connection details of your running cloud GPU (Jupyter, SSH)","operationId":"POST_pay_access","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/report":{"post":{"tags":["Payments"],"summary":"Report a problem with a paid rental","operationId":"POST_pay_report","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/provider":{"get":{"tags":["Payments"],"summary":"Your listings, rentals on your machines and earnings","operationId":"GET_pay_provider","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/pay/provider/list":{"post":{"tags":["Payments"],"summary":"List or update a catalogue item you run, with your price","operationId":"POST_pay_provider_list","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/provider/listing":{"post":{"tags":["Payments"],"summary":"Pause or resume one of your listings","operationId":"POST_pay_provider_listing","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/provider/start":{"post":{"tags":["Payments"],"summary":"Confirm the machine is handed over: paid time starts now","operationId":"POST_pay_provider_start","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/pay/disputes":{"get":{"tags":["Payments"],"summary":"Reported rentals (market admin only)","operationId":"GET_pay_disputes","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/pay/resolve":{"post":{"tags":["Payments"],"summary":"Close a reported rental after settling it (market admin only)","operationId":"POST_pay_resolve","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/overview":{"get":{"tags":["Observability"],"summary":"Infrastructure health, active work, 24 h usage","operationId":"GET_overview","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/analytics":{"get":{"tags":["Observability"],"summary":"Time series and breakdowns: latency, throughput, errors, tokens, cost","operationId":"GET_analytics","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/events/stream":{"get":{"tags":["Observability"],"summary":"Live event stream (Server-Sent Events)","operationId":"GET_events_stream","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/webhooks":{"get":{"tags":["Webhooks"],"summary":"List webhooks","operationId":"GET_webhooks","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Webhooks"],"summary":"Create a webhook (signing secret shown once)","operationId":"POST_webhooks","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/webhooks/{id}":{"patch":{"tags":["Webhooks"],"summary":"Update a webhook","operationId":"PATCH_webhooks_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}},"delete":{"tags":["Webhooks"],"summary":"Delete a webhook","operationId":"DELETE_webhooks_id","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/webhooks/{id}/deliveries":{"get":{"tags":["Webhooks"],"summary":"Delivery attempts","operationId":"GET_webhooks_id_deliveries","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/webhooks/{id}/test":{"post":{"tags":["Webhooks"],"summary":"Send a test delivery","operationId":"POST_webhooks_id_test","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}}}},"/openapi.json":{"get":{"tags":["System"],"summary":"This document","operationId":"GET_openapi_json","parameters":[],"responses":{"200":{"description":"OK"},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}},"security":[]}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"acp_live_…"}},"responses":{"Error":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}},"schemas":{"Task":{"type":"object","required":["key","type"],"properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,39}$"},"type":{"type":"string","enum":["llm","http","transform","delay","approval","agent","memory.write","memory.read","memory.search","code"]},"deps":{"type":"array","items":{"type":"string"}},"retries":{"type":"integer","minimum":0,"maximum":10},"timeoutMs":{"type":"integer","minimum":1000,"maximum":280000},"input":{"type":"object","description":"Supports {{input.x}} and {{tasks.<dep>.output…}} templates"}}},"Workflow":{"type":"object","required":["tasks"],"properties":{"tasks":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/Task"}}}},"RunRequest":{"type":"object","properties":{"agent":{"type":"string"},"workflow":{"$ref":"#/components/schemas/Workflow"},"input":{"type":"object"},"idempotencyKey":{"type":"string"}}},"AgentRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"deploy":{"type":"boolean"},"config":{"type":"object","properties":{"model":{"type":"string"},"system":{"type":"string"},"workflow":{"$ref":"#/components/schemas/Workflow"},"permissions":{"type":"object","properties":{"http":{"type":"object","properties":{"allow":{"type":"array","items":{"type":"string"}}}},"tools":{"type":"object","properties":{"code":{"type":"boolean"},"approvalFor":{"type":"array","items":{"type":"string"}}}},"memory":{"type":"array","items":{"type":"string"}}}},"limits":{"type":"object","properties":{"runSeconds":{"type":"integer"},"maxCostUsd":{"type":"number"},"maxTokens":{"type":"integer"}}}}}}}}}}