hosting

POST /api/v1/hosting/apps/{app_id}/storage_resources

Preview-owned storage can be created only while the preview is paused with cleanup complete. Creation and provisioning are fenced against preview teardown.

Request

  • Base URL
    https://composal.com (the document declares no server; this is the origin it was published from)
  • URL
    https://composal.com/api/v1/hosting/apps/{app_id}/storage_resources
  • Auth
    HTTP bearer

Path parameters

app_idstring required

Request body

app_environment_idstring
location_idstring

Required for volume kind. nomad_csi needs a CSI-plugin-enabled location; local_nvme works in any location and pins the volume to that datacenter

slugstring required
namestring required
kind'bucket' | 'volume' required
provider's3' | 'tigris' | 'nomad_csi' | 'local_nvme' | 'local_nvme_authority' required

Storage backend. local_nvme volumes are node-local NVMe caches and are EPHEMERAL by contract — deletable at any time, gone with their node, and safe to lose. They ignore capacity_gb (it is advisory) and are not resizable. local_nvme_authority provisions one pinned single-writer directory and refuses destructive repair or empty replacement after node loss. Remote replication and fenced restoration are required for repository authority durability.

regionstring
access_mode'private' | 'public' | 'internal' required
mount_pathstring
capacity_gbinteger

Enforced for nomad_csi (minimum 10 GB). Advisory only for local_nvme, which claims no reservation

status'provisioning' | 'available' | 'updating' | 'failed' | 'archived' required

Response

App storage resource created

Changes

No recorded changes to this operation across all 3 revisions of this API.