Menu QaldyDocs

Regions and scaling

Where apps run, what is live and what is planned, and each app’s scaling policy (Preview). 4 routes, from the API’s own OpenAPI document.

4 routes. Every path starts at https://cloud-api.qaldy.com. Sign-in, tokens, errors and limits are on the overview.

Routes

MethodPathWhat it does
GET/​v1/​workspaces/​{ws}/​apps/​{appId}/​scalingOne app's scaling policy, the plan default and the limits (Preview)
PUT/​v1/​workspaces/​{ws}/​apps/​{appId}/​scalingSet an app's scaling policy (editors). Checked against the workspace's runs at once. Preview: saved, not applied yet
GET/​v1/​workspaces/​{ws}/​infrastructureProviders, regions, where this workspace sits and how its apps scale
GET/​v1/​workspaces/​{ws}/​residencyWhere this workspace’s data lives: cell, providers, backups, Kazakhstan Planned

Reference

GET /v1/workspaces/{ws}/apps/{appId}/scaling

One app's scaling policy, the plan default and the limits (Preview).

  • Authentication: the console’s session cookie.
  • Token: not available. This route is for a signed-in person in the console (403 console_only for a token).
  • Who: can view the app
ParameterInTypeRequiredNotes
wspathstringyes1 to 128 characters
appIdpathstringyes1 to 128 characters

Response 200

FieldTypeRequiredNotes
appIdstringyesat least 1 characters
policyobjectyes
policy.minWarm0 or 1yes
policy.maxConcurrencyintegeryes1 to 100000
policy.sleepAfterIdleMin1 or 5 or 15 or 30 or 60yes
policy.placement"auto" · "region-pin"yes
policy.burstbooleanyes
source"default" · "custom"yes
defaultsobjectyes
defaults.minWarm0 or 1yes
defaults.maxConcurrencyintegeryes1 to 100000
defaults.sleepAfterIdleMin1 or 5 or 15 or 30 or 60yes
defaults.placement"auto" · "region-pin"yes
defaults.burstbooleanyes
limitsobjectyes
limits.maxConcurrencyintegeryesat least 1
limits.warmAllowedbooleanyes
limits.placements"auto" · "region-pin"[]yes
plan"free" · "maker" · "team" · "business" · "sovereign"yes
canEditbooleanyes
enforcement"preview"yes
notestringyesat least 1 characters

Errors: 400, 401, 403, 404, 409, 429 (the error format is on the overview).

PUT /v1/workspaces/{ws}/apps/{appId}/scaling

Set an app's scaling policy (editors). Checked against the workspace's runs at once. Preview: saved, not applied yet.

  • Authentication: the console’s session cookie.
  • Token: not available. This route is for a signed-in person in the console (403 console_only for a token).
  • Who: editor of the app
ParameterInTypeRequiredNotes
wspathstringyes1 to 128 characters
appIdpathstringyes1 to 128 characters

Request body (application/json)

FieldTypeRequiredNotes
minWarm0 or 1yes
maxConcurrencyintegeryes1 to 100000
sleepAfterIdleMin1 or 5 or 15 or 30 or 60yes
placement"auto" · "region-pin"yes
burstbooleanyes

Response 200

FieldTypeRequiredNotes
appIdstringyesat least 1 characters
policyobjectyes
policy.minWarm0 or 1yes
policy.maxConcurrencyintegeryes1 to 100000
policy.sleepAfterIdleMin1 or 5 or 15 or 30 or 60yes
policy.placement"auto" · "region-pin"yes
policy.burstbooleanyes
source"default" · "custom"yes
defaultsobjectyes
defaults.minWarm0 or 1yes
defaults.maxConcurrencyintegeryes1 to 100000
defaults.sleepAfterIdleMin1 or 5 or 15 or 30 or 60yes
defaults.placement"auto" · "region-pin"yes
defaults.burstbooleanyes
limitsobjectyes
limits.maxConcurrencyintegeryesat least 1
limits.warmAllowedbooleanyes
limits.placements"auto" · "region-pin"[]yes
plan"free" · "maker" · "team" · "business" · "sovereign"yes
canEditbooleanyes
enforcement"preview"yes
notestringyesat least 1 characters

Errors: 400, 401, 403, 404, 409, 429 (the error format is on the overview).

GET /v1/workspaces/{ws}/infrastructure

Providers, regions, where this workspace sits and how its apps scale.

  • Authentication: the console’s session cookie.
  • Token: not available. This route is for a signed-in person in the console (403 console_only for a token).
  • Who: member
ParameterInTypeRequiredNotes
wspathstringyes1 to 128 characters

Response 200

FieldTypeRequiredNotes
providersobject[]yes
providers[].id"cloudflare" · "aws" · "gcp" · "azure" · "alem-ai"yes
providers[].namestringyesat least 1 characters
providers[].status"live" · "deploy-ready" · "planned"yes
providers[].role"edge-runtime" · "control-plane" · "cloud" · "ai-cloud"yes
providers[].summarystringyes1 to 200 characters
regionsobject[]yes
regions[].idstringyes
regions[].citystringyesat least 1 characters
regions[].countrystringyes
regions[].latnumberyes-90 to 90
regions[].lonnumberyes-180 to 180
regions[].precision"city" · "country"yes
regions[].provider"cloudflare" · "aws" · "gcp" · "azure" · "alem-ai" · null or nullyes
regions[].role"edge" · "control-plane" · "residency-cell"yes
regions[].status"live" · "deploy-ready" · "planned"yes
regions[].residencystringyes1 to 260 characters
placementobjectyes
placement.cell"global" · "eu" · "kz"yes
placement.profile"global" · "eu" · "kz-standard" · "kz-strict"yes
placement.controlPlaneRegionIdstringyes
placement.runsAt"edge"yes
placement.residency"planned"yes
scalingobjectyes
scaling.plan"free" · "maker" · "team" · "business" · "sovereign"yes
scaling.concurrencyCapintegeryesat least 1
scaling.defaultsobjectyes
scaling.limitsobjectyes
scaling.spendCapobject or nullyes
scaling.appsobject[]yes

…and 3 more fields. The full schema is in openapi.json.

Errors: 400, 401, 403, 404, 409, 429 (the error format is on the overview).

GET /v1/workspaces/{ws}/residency

Where this workspace’s data lives: cell, providers, backups, Kazakhstan Planned.

  • Authentication: the console’s session cookie.
  • Token: not available. This route is for a signed-in person in the console (403 console_only for a token).
  • Who: member
ParameterInTypeRequiredNotes
wspathstringyes1 to 128 characters

Response 200

FieldTypeRequiredNotes
schema"qaldy.residency-statement/1"yes
generatedAtstring (date-time)yes
checkedAtstring (date)yes
workspaceobjectyes
workspace.idstringyesat least 1 characters
workspace.namestringyesat least 1 characters
workspace.cell"global" · "eu" · "kz"yes
workspace.profile"global" · "eu" · "kz-standard" · "kz-strict"yes
holdsTodayobjectyes
holdsToday.regionIdstringyes
holdsToday.citystringyes
holdsToday.countrystringyes
holdsToday.providerstringyes
requestedobjectyes
requested.cell"global" · "eu" · "kz"yes
requested.regionIdstringyes
requested.availablebooleanyes
residencyobjectyes
residency.status"planned"yes
residency.linestringyesat least 1 characters
dataobject[]yes
data[].id"accounts" · "workspace" · "app_code" · "app_data" · "secrets" · "audit" · "runs" · "billing" · …yes
data[].whatstringyes1 to 200 characters
data[].subprocessorId"cloudflare" · "aws" · "anthropic" · "resend" · "google"yes
data[].regionIdstring or nullyes
data[].personal"yes" · "possible" · "no"yes
data[].activebooleanyes
subprocessorsobject[]yes
subprocessors[].id"cloudflare" · "aws" · "anthropic" · "resend" · "google"yes
subprocessors[].namestringyesat least 1 characters

…and 10 more fields. The full schema is in openapi.json.

Errors: 400, 401, 403, 404, 409, 429 (the error format is on the overview).

Type to search. Up and down to choose, Enter to open, Esc to close.