runtm-api
FastAPI control plane for Runtm. See the API docs for endpoint reference.
Hosted API: app.runtm.com
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /v0/deployments |
Create deployment (multipart: manifest + artifact.zip) |
| GET | /v0/deployments/:id |
Get deployment status, URL, timestamps, error |
| GET | /v0/deployments/:id/logs |
Get build/deploy logs |
Creating Deployments
POST /v0/deployments
Creates a new deployment or redeploys an existing one (based on manifest name).
Query Parameters:
new=true- Force creation of new deployment instead of redeploying existingtier=starter|standard|performance- Override machine tier from manifest
Request:
manifest(file) -runtm.yamlmanifest fileartifact(file) -artifact.zipcontaining project files
Headers:
Authorization: Bearer <token>- API authentication tokenIdempotency-Key: <key>- Optional idempotency key for retries
Example:
curl -X POST "http://localhost:8000/v0/deployments?tier=performance" \
-H "Authorization: Bearer $RUNTM_API_KEY" \
-F "manifest=@runtm.yaml" \
-F "artifact=@artifact.zip"
Machine Tiers:
All deployments use auto-stop for cost savings (machines stop when idle and start automatically on traffic).
| Tier | CPUs | Memory | Est. Cost |
|---|---|---|---|
starter (default) |
1 shared | 256MB | ~$2/month* |
standard |
1 shared | 512MB | ~$5/month* |
performance |
2 shared | 1GB | ~$10/month* |
*Costs are estimates for 24/7 operation. With auto-stop, costs are much lower for low-traffic services.
Development
# Install dependencies
pip install -e ".[dev]"
# Run migrations
alembic upgrade head
# Start server
uvicorn runtm_api.main:app --reload --host 0.0.0.0 --port 8000
# Run tests
pytest
Environment Variables
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Required |
REDIS_URL |
Redis connection string | Required |
RUNTM_API_SECRET |
API authentication secret (what server validates against) | Required |
ARTIFACT_STORAGE_PATH |
Local artifact storage path | /artifacts |
ARTIFACT_STORAGE_BACKEND |
Storage backend: local or s3 |
local |
BUCKET_NAME |
S3/Tigris bucket name (when backend=s3) | - |
AWS_ENDPOINT_URL_S3 |
S3 endpoint URL (e.g. https://fly.storage.tigris.dev) |
- |
AUTH_MODE |
Auth mode: single_tenant or multi_tenant |
single_tenant |
Release files for runtm-api 0.2.150
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runtm_api-0.2.150.tar.gz | 63.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runtm_api-0.2.150-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 125.5 kB
Release files / runtm_api-0.2.150.tar.gz
| Download URL | runtm_api-0.2.150.tar.gz |
|---|---|
| Size | 63.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29dbc52aa7e0f695baa0e418dfc8dc2600395391baafe760439298c0f25cec23
|
|
BLAKE2b-256 checksum How to use checksums |
dd83b24cd5082206da82ce6491419ce34e32307aab9cd1851ac17be77859c57a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / runtm_api-0.2.150-py3-none-any.whl
| Download URL | runtm_api-0.2.150-py3-none-any.whl |
|---|---|
| Size | 61.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4efc98c2b5604c7adf7ab6d445124ff68a12f2407fd0ba73e28c7a0ce9743cb9
|
|
BLAKE2b-256 checksum How to use checksums |
3cbe7f65e6b942a10ad35820dd0f53b7c0c9291909e2e40194585875961f8868
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|