2026-04-29

Added

App Activity API

A new endpoint for retrieving the activity feed of an application:
  • Get App Activity: GET /api/v1/apps/{uuid}/activity (supports page and limit query parameters for pagination)

Container Registry Credentials API

A workspace-scoped CRUD surface for managing registry credentials used by Dockerfile and container deployments:
  • Create: POST /workspaces/{workspace_id}/container_registry_credentials
  • Update: PUT /workspaces/{workspace_id}/container_registry_credentials/{uuid}
  • Delete: DELETE /workspaces/{workspace_id}/container_registry_credentials/{uuid}

Changed

  • App Creation: POST /api/v1/apps now requires the resource_id parameter to identify the target Resource plan. The previous region_id parameter has been removed because it was misleading on a fixed-capacity model.
  • App Domains Path: The path parameter on domain-scoped endpoints has been renamed from uuid to domain_uuid to disambiguate it from the parent app’s uuid. This affects:
    • GET /api/v1/apps/{uuid}/domains/{domain_uuid}
    • PUT /api/v1/apps/{uuid}/domains/{domain_uuid}
    • DELETE /api/v1/apps/{uuid}/domains/{domain_uuid}
  • Replica Endpoints: POST /api/v1/apps/{id}/addons/create_replica and POST /api/v1/services/{id}/create_replica now return the full Addon and Service entities (previously returned a generic Message). The response now includes the new replica’s uuid and name.
  • Cron Job Delete: DELETE on cron job endpoints now returns a Message body alongside the 204 status for consistency with other destroy endpoints.
  • Cron Job Entity: Renamed state to status (running, stopped) and added two new required fields: last_job_name (name of the most recent run) and last_job_status (e.g. running, complete, failed). Clients reading the state field should switch to status.
  • Region Entity: Now exposes a numeric id field in addition to name and code. The id is required.
  • Container Image Overrides: App and addon deployment configs now accept command and args arrays to override the image’s ENTRYPOINT and CMD. Useful for images like Keycloak that print help on a bare run.
2026-03-27

Added

Buckets API (S3-Compatible Object Storage)

A complete set of endpoints for managing S3-compatible storage buckets:
  • List Buckets: GET /api/v1/buckets
  • Create Bucket: POST /api/v1/buckets
  • Get Bucket: GET /api/v1/buckets`/{uuid}`
  • Update Bucket: PUT /api/v1/buckets`/{uuid}`
  • Delete Bucket: DELETE /api/v1/buckets`/{uuid}`
  • Regenerate Credentials: POST /api/v1/buckets`/{uuid}`/regenerate_credentials
  • Update Policy: PUT /api/v1/buckets`/{uuid}`/update_policy
  • Update ACL: PUT /api/v1/buckets`/{uuid}`/update_acl

Bucket Objects API

File and folder management within buckets:
  • List Objects: GET /api/v1/buckets`/{uuid}`/objects/list
  • Get Upload URL: POST /api/v1/buckets`/{uuid}`/objects/upload_url
  • Get Download URL: POST /api/v1/buckets`/{uuid}`/objects/download_url
  • Create Folder: POST /api/v1/buckets`/{uuid}`/objects/create_folder
  • Rename Object: PUT /api/v1/buckets`/{uuid}`/objects/rename
  • Delete Object: DELETE /api/v1/buckets`/{uuid}`/objects/destroy

Database Replication API

New endpoints for managing PostgreSQL streaming replication on both app addons and standalone services:
  • Create Replica: POST /api/v1/apps`/{id}`/addons/create_replica and POST /api/v1/services`/{id}`/create_replica
  • Promote Replica: POST /api/v1/apps`/{id}`/addons/promote_replica and POST /api/v1/services`/{id}`/promote_replica
  • Promote External: POST /api/v1/apps`/{id}`/addons/promote_external and POST /api/v1/services`/{id}`/promote_external
  • Enable Streaming Replication: POST /api/v1/services`/{id}`/enable_streaming_replication
  • Disable Streaming Replication: POST /api/v1/services`/{id}`/disable_streaming_replication

Changed

  • Deploy Endpoint: The POST /api/v1/apps`/{uuid}`/deploy endpoint now supports deploying from GitHub repositories with github_url and github_branch parameters, in addition to the existing commit_sha support.
2026-02-05

Added

App Deployments API

A new set of endpoints for managing the application deployment lifecycle has been introduced:
  • List Deployments: GET /api/v1/apps`/{uuid}`/deployments
  • Get Deployment Details: “GET /api/v1/apps/{uuid}/deployments/{id}
  • Get Build Logs: GET /api/v1/apps`/{uuid}`/deployments`/{id}`/logs
  • Stream Build Logs: GET /api/v1/apps`/{uuid}`/deployments`/{id}`/stream_logs
  • Cancel Deployment: POST /api/v1/apps`/{uuid}`/deployments`/{id}`/cancel
  • Rollback Deployment: POST /api/v1/apps`/{uuid}`/deployments`/{id}`/rollback

App Ports API

Full management of application network ports is now available:
  • List Ports: GET /api/v1/workspaces`/{ws}`/apps`/{app}`/ports
  • Create Port: POST /api/v1/workspaces`/{ws}`/apps`/{app}`/ports
  • Delete Port: “DELETE /api/v1/workspaces/{ws}/apps/{app}/ports/{id}
  • Expose Port Publicly: PATCH /api/v1/workspaces`/{ws}`/apps`/{app}`/ports`/{id}`/expose_publicly
  • Make Port Private: PATCH /api/v1/workspaces`/{ws}`/apps`/{app}`/ports`/{id}`/make_private

Add-on Password Rotation

The new POST /api/v1/apps`/{uuid}`/addons`/{id}`/rotate_password endpoint allows for secure password rotation for supported add-ons, such as databases.

Basic Authentication

The PUT /api/v1/apps`/{uuid}`/security endpoint now supports basic_auth_enabled, basic_auth_username, and basic_auth_password parameters, allowing you to enable and configure Basic Authentication for your application.

Changed

  • Deployment Options: The POST /api/v1/apps`/{uuid}`/deploy endpoint now accepts commit_sha and branch parameters, enabling more precise deployments from Git repositories.
  • Builder Options: The builder parameter in POST /api/v1/apps has been expanded to support auto (automatic buildpack detection) and custom (language-specific builder) in addition to dockerfile.
  • Resource Validation: The “PUT /api/v1/resources/{uuid} endpoint now validates against plan downgrades to prevent assigning a plan with insufficient resources (CPU, RAM, storage).
  • Add-on Deletion Logic: The logic for deleting an add-on (“DELETE /api/v1/apps/{uuid}/addons/{id}) has been refactored into a dedicated service object for improved maintainability.

Removed

  • The POST /api/v1/apps`/{uuid}`/sync_parent_image endpoint has been removed.