Raff Apps

Create app service

Create an app service. Provisioning is asynchronous — the service is created in status pending and moves through building and deploying to live; poll GET /api/v1/apps/services/{service_id} for progress.

Choose a service_type: web (public HTTPS URL), private (in-cluster only), worker (long-running, no URL), cron (scheduled), or job (one-off). Pick a source_type: git (a connected GitHub repo), image (a prebuilt image), template (a starter), or compose. Deploy code afterwards with a source upload and a deployment, or set deploy_now for image sources.

post/api/v1/apps/services

Headers

X-Project-IDstring uuid required

Project ID. Required for all mutating operations (create, delete, power actions, resize).

Request body

namestring required
descriptionstring
service_type'web' | 'private' | 'worker' | 'cron' | 'job' required
source_type'git' | 'image' | 'template' | 'compose'
builder'buildpacks' | 'dockerfile' | 'image'
image_refstring

Prebuilt image reference (for source_type image)

repo_full_namestring

GitHub repo (owner/name) for source_type git

repo_branchstring
repo_root_dirstring
dockerfile_pathstring
start_commandstring
tier_idinteger
replicasinteger
autoscaling_enabledboolean
min_replicasinteger
max_replicasinteger
scale_to_zeroboolean
http_portinteger
health_check_pathstring
cron_schedulestring
cron_timezonestring
regionstring
deploy_nowboolean

Queue a deployment immediately (prebuilt-image services)

Response

App service created (status pending while provisioning)

successboolean
deployment_idstring uuid

Set when a deployment was queued at create time

Changes