# Coreload - [Docs](https://docs.coreload.com/index.md): Coreload documentation: runners and labels, caching (no Coreload cache yet), limits, billing, security, and troubleshooting for GitHub Actions jobs. - [Quickstart: your first job on Coreload](https://docs.coreload.com/quickstart.md): Run your first GitHub Actions job on Coreload: install the GitHub App, change runs-on to your label, and watch the job run. - [Migrate from Blacksmith](https://docs.coreload.com/migrate-from-blacksmith.md): Move a GitHub Actions job from Blacksmith to Coreload: install the App, change one runs-on line, and map each Blacksmith size to ours. - [Runner sizes](https://docs.coreload.com/sizes.md): Coreload's runner sizes and their runs-on labels: vCPU and memory for each size, and the machines they run on. - [Runners and labels](https://docs.coreload.com/runners.md): How Coreload runs GitHub Actions jobs: a fresh VM for every job, the runs-on labels, and what the runner image includes. - [Languages and tools](https://docs.coreload.com/languages.md): Node.js, pnpm, Go, Rust and Python jobs on Coreload: the setup actions verified on Coreload runners, and what isn't supported yet. - [Caching](https://docs.coreload.com/caching.md): Caching on Coreload: no Coreload cache for customer jobs yet; dedicated machines first, then the shared pool, both coming soon. - [Limits](https://docs.coreload.com/limits.md): Coreload's limits for GitHub Actions jobs: who can use Coreload, what each job gets, and what you may run. - [Pricing](https://docs.coreload.com/pricing.md): Coreload pricing for GitHub Actions runners, by size. During the beta, pricing is published before we bill anything. - [Billing](https://docs.coreload.com/billing.md): How Coreload bills GitHub Actions jobs: usage, sizes and the beta. Pricing is published before we bill anything. - [Security model](https://docs.coreload.com/security.md): Coreload's security model: a fresh VM per job, what the GitHub App can do, your secrets, logs, and where jobs run. - [Troubleshooting](https://docs.coreload.com/troubleshooting.md): Fix common Coreload problems: jobs that wait for a runner, labels that don't match, and setup steps that fail. - [Questions](https://docs.coreload.com/faq.md): Answers to the questions developers ask about Coreload: switching runners, sizes, where jobs run, accounts and pricing. - [API reference (beta)](https://docs.coreload.com/api.md): The Coreload sandbox API: create short-lived sandboxes, run commands in them and move files in and out. In beta; how a call works. - [Get a ticket for a box](https://docs.coreload.com/api-reference/access/get-a-ticket-for-a-box.md): Checks your API key at the edge and returns a short-lived ticket for one box: the box's URL, the TLS server name to check, and the `authorization` header to send it. Call the box at `url` with that header until `expiresAt` (at most a minute). The ticket is bound to your address. - [List your sandboxes](https://docs.coreload.com/api-reference/sandboxes/list-your-sandboxes.md): Your live sandboxes on this box, oldest first. Other callers' sandboxes are never listed. - [Create a sandbox](https://docs.coreload.com/api-reference/sandboxes/create-a-sandbox.md): Makes a fresh sandbox that is deleted at its TTL. With `waitMs` the answer comes once the sandbox is ready; if that wait fails, a sandbox made without an idempotency key is destroyed. A retry with the same `idempotencyKey` returns the first sandbox. - [Get a sandbox](https://docs.coreload.com/api-reference/sandboxes/get-a-sandbox.md): The sandbox with its current status. Another caller's sandbox is `not_found`, the same answer as an unknown id. - [Destroy a sandbox](https://docs.coreload.com/api-reference/sandboxes/destroy-a-sandbox.md): Stops the sandbox's tasks and deletes it and everything in it. - [Lock a sandbox's egress](https://docs.coreload.com/api-reference/sandboxes/lock-a-sandboxs-egress.md): Limits the sandbox's outbound network to the agent relay. One-way and idempotent: it is never unlocked. - [Run a command](https://docs.coreload.com/api-reference/runs/run-a-command.md): Starts a command in a ready sandbox and answers with its run record. A command that exits nonzero, times out or cannot start is a result, not an error. - [Get a run's result](https://docs.coreload.com/api-reference/runs/get-a-runs-result.md): The run's state and, once it is done, its outcome. While it runs, the outcome fields are null and the output so far is what the logs route returns. - [Get a run's output so far](https://docs.coreload.com/api-reference/runs/get-a-runs-output-so-far.md): The run's output so far, also while it is still running. - [Download a file](https://docs.coreload.com/api-reference/files/download-a-file.md): The file's bytes. A file over the download cap answers 502 (`backend_error`), naming the cap. - [Upload a file](https://docs.coreload.com/api-reference/files/upload-a-file.md): Writes the request body to the path, making its parent directories. - [Open an SSH tunnel](https://docs.coreload.com/api-reference/tunnels/open-an-ssh-tunnel.md): An HTTP Upgrade (the Upgrade header below) to a byte tunnel to the sandbox's SSH server, on images that have one. `coreload ssh` uses it. - [Open a desktop tunnel](https://docs.coreload.com/api-reference/tunnels/open-a-desktop-tunnel.md): An HTTP Upgrade (the Upgrade header below) to a byte tunnel to the desktop image's noVNC. - [Open a credential relay tunnel](https://docs.coreload.com/api-reference/tunnels/open-a-credential-relay-tunnel.md): An HTTP Upgrade to an idle reverse tunnel for the sandbox's outbound connections: the sandbox's proxy requests are paired with it, so your side answers them and the box only passes bytes. `coreload agent run` uses it. The 101 answer names the proxy address the sandbox uses (`x-coreload-relay-proxy`)… ## OpenAPI Specs - [openapi](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.