---
title: "Deploy a static site"
method: POST
path: "/v1/deploys"
---

# Deploy a static site

`POST /v1/deploys`

## Request

- Base URL: `https://api.buildcheap.host`
- URL: `https://api.buildcheap.host/v1/deploys`
- Auth: none declared

Multipart upload of site files. Each part is named "files" with the
file's site-relative path as its filename. index.html is required.
Without auth the deploy is anonymous (expires in 1 hour, claimable).
With Authorization: Bearer bc_live_... the deploy is permanent under
the key owner's account; pass ?slug= to update an existing project.

## Query parameters

- `slug` string

## Response `201`

Deployed

- object
  - `slug` string
  - `url` string
  - `expires_at` string, nullable
  - `claim_url` string, nullable
  - `deploy_token` string, nullable

## Other responses

- `400`: Validation failed (missing index.html
- `401`: Invalid or revoked API key
- `413`: Payload too large
- `429`: Rate limited

---

[API](https://skmtc.dev/buildcheap/apis/buildcheap-instant-deploy-api.md) · [All operations](https://skmtc.dev/buildcheap/apis/buildcheap-instant-deploy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/buildcheap/apis/buildcheap-instant-deploy-api/revisions/658e256c3374?raw)
