The Depot APIs are collections of endpoints that grant access to the underlying architecture and primitives. The APIs use Connect, offering multiprotocol support for gRPC and HTTP JSON.
Depot CI has its own API for working with workflows programmatically: dispatching and rerunning workflows, listing runs, checking status, fetching logs and metrics, retrying and cancelling jobs, and downloading artifacts. See the Depot CI API reference for all endpoints and examples.
Organizations can manage projects, acquire BuildKit endpoints, and run image builds for their applications or services programmatically. Depot provides the following SDKs for interacting with the Container Builds API:
For detailed documentation on all available endpoints, parameters, and examples, see the SDK Reference.
If you're using the Container Builds API to build untrusted code, you need one Depot project per customer entity in your organization. A separate project per customer ensures secure cache isolation so that one customer's build can't access another customer's build cache.
The Sandbox SDK is in private beta. Methods might change before the SDK becomes generally available. Sandboxes are billed per vCPU-second at the Depot CI compute rate. Contact us to request access for your organization.
Run untrusted or agent-generated code in isolated, ephemeral sandboxes: create a sandbox, run commands and stream their output, and work with the sandbox file system through a node:fs/promises-shaped interface. Depot provides the following SDK for interacting with the Sandbox API:
For detailed documentation on all available methods, parameters, and examples, see the Sandbox SDK reference.
Sandboxes are billed by compute usage, at the same per-second rate as Depot CI compute: the number of vCPUs you request x how long the sandbox runs, with no one-minute minimum. See the Depot CI sandbox table on the pricing page for details.
Authenticate to the API using an Authorization header with an Organization Token that you generate in your organization settings. See the Authentication docs for more details.