Management HTTP API
Documentation version: 858adedd187db2e94614b1dfd389e4bf98e6e202:ac5d527caaa1f97eee9d71262e7c843ae7b24000e01ba5b44931108b2b489c0d
Generated from the canonical OpenAPI 0.1.0 contract. Source SHA256: 764c85e702f4b1b5618d7c4d0dd0dd8159117a25e80950464da1618013a36c45. This describes implemented transport shapes; installation capability, grants and validated profile still govern availability.
POST createProject
POST /v1/tenants/{tenant}/projects
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateProject
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET listProjects
GET /v1/tenants/{tenant}/projects
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
limit | query | No | {"type":"integer","minimum":1,"maximum":200,"default":50} |
cursor | query | No | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Authorized stable keyset page. Empty nextCursor marks the end. | application/json: ProjectPage |
| 400 | Rejected request or unavailable dependency | application/json: Error |
| 401 | Rejected request or unavailable dependency | application/json: Error |
| 403 | Rejected request or unavailable dependency | application/json: Error |
| 404 | Rejected request or unavailable dependency | application/json: Error |
| 503 | Rejected request or unavailable dependency | application/json: Error |
GET getOperation
GET /v1/tenants/{tenant}/operations/{operation}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
operation | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Durable operation state | application/json: Operation |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createDeployment
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/deployments
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateDeployment
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getDeploymentState
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/deployment-state
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Durable operation state | application/json: DeploymentState |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getOperationLog
GET /v1/tenants/{tenant}/operations/{operation}/logs/{kind}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
operation | path | Yes | {"type":"string"} |
kind | path | Yes | {"type":"string","enum":["build","execution"]} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Durable operation state | application/json: OperationLog |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createSourceDeployment
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/source-deployments
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateSourceDeployment
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createDatabase
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/database
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateDatabase
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getDatabaseBinding
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/database
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped native database binding; no administrator credentials | application/json: DatabaseBinding |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createReleasePlan
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/release-plans
Review native schema and permissions against the scoped ready database
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateReleasePlan
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getReleasePlan
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/release-plans/{plan}
Read the immutable reviewed plan and exact approval digest
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
plan | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped review result | application/json: ReleasePlan |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createDomainRegistration
POST /v1/tenants/{tenant}/domains
createDomainRegistration
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateDomainRegistration
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped resource result | application/json: DomainRegistration |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getDomainRegistration
GET /v1/tenants/{tenant}/domains/{domain}
getDomainRegistration
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
domain | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped resource result | application/json: DomainRegistration |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
DELETE deleteDomainRegistration
DELETE /v1/tenants/{tenant}/domains/{domain}
deleteDomainRegistration
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
domain | path | Yes | {"type":"string"} |
Request body (required):
application/json: ExpectedRevision
| Response | Meaning | Body |
|---|---|---|
| 204 | Registration removed after all dependent hostnames are retired; repeated deletion is safe | No documented body |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST verifyDomainRegistration
POST /v1/tenants/{tenant}/domains/{domain}/verify
verifyDomainRegistration
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
domain | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: ExpectedRevision
| Response | Meaning | Body |
|---|---|---|
| 200 | Verified domain registration | application/json: DomainRegistration |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createHostnameBinding
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/hostnames
createHostnameBinding
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateHostnameBinding
| Response | Meaning | Body |
|---|---|---|
| 202 | Scoped resource result | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET listHostnames
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/hostnames
Registered hostname bindings for the exact environment. This is routing-owner state, not an independent reachability or standby-readiness assertion.
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
limit | query | No | {"type":"integer","minimum":1,"maximum":200,"default":50} |
cursor | query | No | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped routing-owner inventory, including pending and retired bindings | application/json: HostnameBindingPage |
| 400 | Rejected request or unavailable dependency | application/json: Error |
| 401 | Rejected request or unavailable dependency | application/json: Error |
| 403 | Rejected request or unavailable dependency | application/json: Error |
| 404 | Rejected request or unavailable dependency | application/json: Error |
| 503 | Rejected request or unavailable dependency | application/json: Error |
GET getHostnameBinding
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/hostnames/{hostname}
getHostnameBinding
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
hostname | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped resource result | application/json: HostnameBinding |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST startWorkspace
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/workspace
startWorkspace
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: StartWorkspace
| Response | Meaning | Body |
|---|---|---|
| 202 | Scoped resource result | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getWorkspace
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/workspace
getWorkspace
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped resource result | application/json: Workspace |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST stopWorkspace
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/workspace/stop
stopWorkspace
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: ExpectedRevision
| Response | Meaning | Body |
|---|---|---|
| 202 | Scoped resource result | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST writeWorkspace
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/workspace/files
Atomically replace one scoped persistent workspace source file
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: WriteWorkspace
| Response | Meaning | Body |
|---|---|---|
| 202 | Scoped resource result | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST retireHostnameBinding
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/hostnames/{hostname}/retire
retireHostnameBinding
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
hostname | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: ExpectedRevision
| Response | Meaning | Body |
|---|---|---|
| 202 | Scoped resource result | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Plan exceeds the registered hierarchical native message budget | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getPlacement
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/placement
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Authorized environment placement | application/json: PlacementState |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST changePlacement
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/placement-operations
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: ChangePlacement
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET listPlacementLocations
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/locations
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Registered locations allowed by this environment policy | application/json: {"type":"array","items":{"$ref":"#/components/schemas/PlacementLocation"}} |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createBuildingBlock
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/building-blocks
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateBuildingBlock
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET listBuildingBlocks
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/building-blocks
List scoped building blocks
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
limit | query | No | {"type":"integer","minimum":1,"maximum":200,"default":50} |
cursor | query | No | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Authorized stable keyset page. Empty nextCursor marks the end. | application/json: BuildingBlockPage |
| 400 | Rejected request or unavailable dependency | application/json: Error |
| 401 | Rejected request or unavailable dependency | application/json: Error |
| 403 | Rejected request or unavailable dependency | application/json: Error |
| 404 | Rejected request or unavailable dependency | application/json: Error |
| 503 | Rejected request or unavailable dependency | application/json: Error |
GET getBuildingBlock
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/building-blocks/{resource}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
resource | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped desired and observed building block | application/json: BuildingBlock |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
POST createJobRun
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/job-runs
Admit one pinned application task through the shared coordinator
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateJobRun
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getServiceBindings
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/service-bindings
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Public resolved environment bindings | application/json: ServiceBindings |
GET getEnvironmentBuildingBlock
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/building-blocks/by-kind/{kind}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
kind | path | Yes | {"type":"string","enum":["identity","storage","jobs"]} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped primary block | application/json: BuildingBlock |
GET getEnvironment
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped current environment | application/json: Environment |
POST updateSchedule
POST /v1/tenants/{tenant}/projects/{project}/environments/{environment}/schedules/{resource}
Update or disable a scoped schedule without replacing its identity
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
resource | path | Yes | {"type":"string"} |
Request body (required):
application/json: UpdateSchedule
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getSchedule
GET /v1/tenants/{tenant}/projects/{project}/environments/{environment}/schedules/{resource}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
environment | path | Yes | {"type":"string"} |
resource | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped desired and observed building block | application/json: Schedule |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getProject
GET /v1/tenants/{tenant}/projects/{project}
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped resource | application/json: Project |
POST createRepository
POST /v1/tenants/{tenant}/projects/{project}/repository
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
Idempotency-Key | header | Yes | {"type":"string","minLength":1,"maxLength":128} |
Request body (required):
application/json: CreateRepository
| Response | Meaning | Body |
|---|---|---|
| 202 | Durably accepted, not provisioned | application/json: Accepted |
| 400 | Invalid input | application/json: Error |
| 401 | Missing or invalid credential | application/json: Error |
| 403 | Missing capability | application/json: Error |
| 404 | Unknown route or scope | application/json: Error |
| 409 | Idempotency conflict | application/json: Error |
| 413 | Body exceeds 16 KiB | application/json: Error |
| 415 | JSON required | application/json: Error |
| 429 | Quota exceeded | application/json: Error |
| 503 | Dependency unavailable | application/json: Error |
GET getRepository
GET /v1/tenants/{tenant}/projects/{project}/repository
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Scoped resource | application/json: Repository |
GET listEnvironments
GET /v1/tenants/{tenant}/projects/{project}/environments
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
limit | query | No | {"type":"integer","minimum":1,"maximum":200,"default":50} |
cursor | query | No | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Authorized stable keyset page. Empty nextCursor marks the end. | application/json: EnvironmentPage |
| 400 | Rejected request or unavailable dependency | application/json: Error |
| 401 | Rejected request or unavailable dependency | application/json: Error |
| 403 | Rejected request or unavailable dependency | application/json: Error |
| 404 | Rejected request or unavailable dependency | application/json: Error |
| 503 | Rejected request or unavailable dependency | application/json: Error |
GET listProjectOperations
GET /v1/tenants/{tenant}/projects/{project}/operations
List scoped project operations
Authentication: managementToken.
| Parameter | Location | Required | Type |
|---|---|---|---|
tenant | path | Yes | {"type":"string"} |
project | path | Yes | {"type":"string"} |
limit | query | No | {"type":"integer","minimum":1,"maximum":200,"default":50} |
cursor | query | No | {"type":"string"} |
| Response | Meaning | Body |
|---|---|---|
| 200 | Authorized stable keyset page. Empty nextCursor marks the end. | application/json: OperationPage |
| 400 | Rejected request or unavailable dependency | application/json: Error |
| 401 | Rejected request or unavailable dependency | application/json: Error |
| 403 | Rejected request or unavailable dependency | application/json: Error |
| 404 | Rejected request or unavailable dependency | application/json: Error |
| 503 | Rejected request or unavailable dependency | application/json: Error |