Schemas
ResourceUsage
cpuPercentSum of per-container CPU usage percentages
memPercentSum of per-container memory usage percentages
memBytesMemory used, in bytes
netRxNetwork receive throughput, bytes/s
netTxNetwork transmit throughput, bytes/s
diskUsedBytesHost disk space used, in bytes
diskPercentHost disk usage percentage
ContainerUsage
containerThe container_name label
cpuPercentmemPercentmemBytesnetRxnetTxdiskUsedBytesHost disk space used, in bytes; zero for container-level readings
diskPercentHost disk usage percentage; zero for container-level readings
LogEntry
timemsgRemaining log fields (labels such as stack, container, level, …)
CreateProjectRequest
nameSlugified server-side: lowercased, accents folded to ASCII, every
other character collapsed to -, truncated to 64. The stored name
may therefore differ from the one submitted. A name that reduces to
an empty slug is rejected with a 400.
sizedisk_gbPersistent disk size in GB for the project's VM. Applied via a
synchronous resize-disk call right after VM boot — full rollback
(DeleteVM + DeleteProject) if either the wait-for-running or the
resize fails. Range mirrors the upstream infra /vps/vm/{id}/resize-disk bounds.
descriptionUpdateProjectRequest
nameSlugified server-side, same rule as CreateProjectRequest.
ResizeProjectRequest
sizeVM size key from GET /projects/sizes (looked up case-insensitively).
disk_sizeTarget disk size in GB. Must be greater than or equal to the current disk_gb.
ResizeAcceptedResponse
activityIdID of the project activity tracking this resize
statusProjectActivity
idproject_idorganization_idtypestatuscreated_atupdated_atcreated_bymessageerrorCreateProjectResponse
idnameorganization_idsizevps_iddisk_gbDisk size in GB applied to the VM.
descriptioncreated_atupdated_atcreated_bydeleted_atsuspended_atUpdateProjectResponse
idnamesizedescriptionupdated_atorganization_idProjectPublicResponse
idnameorganization_idsizedescriptionvps_idcreated_atupdated_atcreated_bystack_countNumber of non-deleted stacks attached to the project.
statusLive VM state resolved at request time. Degrades to stopped
when no VPS is provisioned and to error on infra timeouts.
CreateStackRequest
nameSlugified server-side: lowercased, accents folded to ASCII, every
other character collapsed to -, truncated to 64. The stored name
may therefore differ from the one submitted. A name that reduces to
an empty slug is rejected with a 400.
UpdateStackRequest
nameSlugified server-side, same rule as CreateStackRequest.
docker_composeStackResponse
idnameorganization_idproject_idstack_idInfrastructure stack ID
docker_composefqdnstatussynccreated_atupdated_atcreated_bydeleted_atStackPublicResponse
idnameorganization_idproject_iddocker_composefqdnstatussynccreated_atupdated_atcreated_byDnsResponse
idInternal DNS record UUID
domainDomain name
infraIdBackbone infra id for the domain
CreateProxyRequest
dns_idUUID of the DNS record to link
portPublic port of the expose to attach the proxy to
tls_enableEnable TLS on the proxy
tls_forceForce HTTPS redirect
CreatePortRequest
portInternal port to expose
PortExposeResponse
idstack_idinternal_portinfra_idis_publicpublic_portproxy_iddns_idUUID of the linked DNS record
tls_enabledtls_forcecreated_atCreateSecretRequest
keyvaluemaskedCreateMultiplesSecretsRequest
Secrets to create. Keys must be unique within the payload.
SecretResponse
idstackIdkeyvalueDecrypted secret value. Null/omitted for masked secrets.
maskedcreatedAtupdatedAtSizeResponse
namecpuramdiskTemplate default disk size for this tier (informative). The actual
per-project disk is set independently at CreateProject via disk_gb.
priceCentsPerHourHourly price in cents for the size's vCPU+RAM bundle (sourced
from vm_size_prices). Omitted when no price is configured for
the size. Disk is priced separately — see /projects/metered-prices.
MeteredPriceResponse
kindQualified identifier that encodes the metered unit. Known kinds:
disk_gb_hour. Future kinds (bandwidth, IOPS, snapshot storage)
land in the same table without schema changes.
price_milli_cents_per_unit_hourPrice in milli-cents per unit per hour (1000 = 1 cent). Cost for a
given billing window is computed as
(quantity × milli_cents × billable_seconds) / (3600 × 1000),
with integer truncation (sub-cent residue is in the user's favour).
updated_atLast time the price was set or modified.
ComposeAnalysisRequest
composeRaw docker compose file content (YAML).
ImportModalResponse
need_modalTrue when at least one service needs configuration before import.
total_servicesNumber of services declared in the compose file.
need_config_servicesNumber of services with secrets, suggested secrets, or an env_file.
Services in dependency order (dependencies first). Null when the compose has no service.
ServiceModal
nameCompose service name.
need_env_fileTrue when the service declares one or more env_file entries, which the platform cannot resolve.
detected_asDetected service type (postgres, redis, …), empty when the image and ports match no known signature.
thumbnail_urlLogo for the detected type, served by /thumbnails/{file}. Empty when nothing was detected.
Environment entries declared by the service, sorted by key. Null when the service declares none.
Secrets the detected service type usually needs but that the compose file does not declare. Null when the service type is unknown or everything is already set.
SecretToSet
keyEnvironment variable name as written in the compose service.
env_keyName of the host variable the value interpolates from, when the
value is a single ${VAR} expression. Empty for a literal value
or for a value mixing several interpolations.
seem_to_be_sensibleHeuristic match on key or env_key (password, token, secret, api key, …).
default_valueDefault carried by the compose value — the ${VAR:-default}
fallback, or the literal value itself. Wiped when it looks like a
placeholder (contains "change").
requiredTrue when the value has no usable default — a literal without
interpolation, a ${VAR:?err} expression, or a wiped placeholder.
must_be_set_within_fileTrue when env_key is empty, meaning the value is hardcoded in
the compose file rather than injected from the environment. Such
a secret has to be edited in the compose file itself, it cannot be
supplied as a stack secret.
OrganizationResponse
idnameemaillogo_urlstatusmax_userssettingscreated_atupdated_atOrgMemberResponse
user_idemailfirst_namelast_namerolestatusjoined_atInvitationResponse
idorganization_idemailrolestatusinvited_byexpires_atcreated_atInvitationCreateResponse
tokenInvitation token (only in development mode)
BillingSummaryResponse
org_idbilling_statuscredit_balance_centsDenormalized cache of SUM(ledger). Source of truth is credit_ledger_entries.
low_credit_threshold_centsBelow this balance the org transitions to low_credit_warned then suspended. Default 500.
project_quotaproject_countActive (non-deleted) projects in this org.
low_credit_warned_atCreditLot
idorganization_idlot_typeinitial_amount_centsremaining_amount_centsconsumption_priority1=promo, 2=plan_included, 3=manual, 4=topup. Lower priority is consumed first.
expires_atcreated_atLedgerEntry
idorganization_idamount_centsentry_typebalance_after_centslot_idsource_typesource_idproject_idvm_sizeprice_cents_per_hour_snapshotbillable_secondshour_bucketidempotency_keynotescreated_by_user_idcreated_atMeteringRun
hour_bucketproject_idorganization_idbillable_secondsSeconds the project was running during the hour (clamped to 3600).
vm_sizeprice_cents_per_hour_snapshottotal_cost_centsprocessed_atCreateDomainRequest
managedIf true, allocate a random *.<MANAGED_DOMAIN_BASE> subdomain. If false, dns is required and a CNAME check is performed.
portInternal container port to expose. Must be declared in the compose ports: or carry an fr.composerun.routedPort.<port> label.
dnsCustom domain (required when managed is false). Ignored when managed is true.
originOptional free-text origin label persisted on the DNS row.
tls_enabletls_forceStackActivity
idstackIdorganizationIdtypestatuscreatedAtupdatedAtcreatedBymessageOmitted when empty. For service_action, "
errorOmitted when empty.
