REST API overview
Base path: /v1 on your Isoward origin (e.g. https://isoward.com/v1). Authenticate with a session cookie or Bearer token: see Authentication.
Services
GET /v1/services: list servicesPOST /v1/services: create serviceGET /v1/services/:id: get servicePATCH /v1/services/:id: update serviceDELETE /v1/services/:id: suspend/deletePOST /v1/services/:id/deploys: trigger deployGET /v1/services/:id/deploys: list deploysPOST /v1/services/:id/rollback: rollbackPOST /v1/services/:id/restart: restart containerGET /v1/services/:id/platform-env: platform env defaultsGET/PUT /v1/services/:id/env-vars: environment variablesPOST /v1/services/:id/source/upload: upload source archive
Custom domains
GET/POST /v1/services/:id/custom-domainsPOST /v1/services/:id/custom-domains/:domainId/verifyDELETE /v1/services/:id/custom-domains/:domainId
Datastores
GET/POST /v1/postgresGET/POST /v1/key-value
Projects & env groups
GET/POST /v1/projectsPOST /v1/environmentsGET/POST /v1/env-groupsPUT /v1/env-groups/:id/env-vars
Blueprints & webhooks
GET/POST /v1/blueprintsPOST /v1/blueprints/:id/syncGET/POST /v1/webhooks
Observability
GET /v1/logs/subscribe: WebSocket log streamGET /v1/metrics/:serviceId/cpu: current CPUGET /v1/metrics/:serviceId/memory: current memoryGET /v1/services/:id/metrics/history: metric historyGET /v1/audit-logsGET /v1/usage
Team, IAM & billing
GET /v1/team-members,PATCH/DELETE /v1/team-members/:idGET/POST /v1/team-invites,POST /v1/team-invites/accept,DELETE /v1/team-invites/:idGET /v1/permissions,GET/POST /v1/roles,PATCH/DELETE /v1/roles/:idGET/POST /v1/api-keys(optionalroleon create),DELETE /v1/api-keys/:idGET /v1/billing/plans,GET /v1/billing/configuredGET /v1/workspaces/:id/cost-estimate
GitHub
GET /v1/github/status,GET /v1/github/reposGET /v1/github/install: start App install flow
Health
GET /api/health: control plane healthGET /status: public status