---
title: "Upload source and build."
method: POST
path: "/v1/build/upload"
tags: ["Build"]
---

# Upload source and build.

`POST /v1/build/upload`

## Request

- Base URL: `https://api.scalix.world`
- URL: `https://api.scalix.world/v1/build/upload`
- Auth: HTTP bearer

Builds from an uploaded source tree instead of a URL, so the source never
has to be reachable from the internet. The request body IS the gzipped
tarball (`Content-Type: application/gzip`); metadata goes in the query
string. Multipart is not accepted.

## Query parameters

- `image_tag` string
- `dockerfile_path` string
- `build_args` string
- `timeout_seconds` integer

## Response `201`

Build started

## Other responses

- `400`: Body is empty, not a gzipped tarball, too large, or build_args is malformed
- `401`: Missing or invalid API key
- `500`: Internal error

---

[API](https://skmtc.dev/scalix/apis/scalix-cloud-api.md) · [All operations](https://skmtc.dev/scalix/apis/scalix-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalix/apis/scalix-cloud-api/revisions/2c04ca0a90bb?raw)
