OpenAPI reference
按业务操作生成的 OpenAPI reference 入口。
curl -X GET "https://example.com/bootstrap/auth/status"{
"bootstrapRequired": true,
"firstAdminConfigured": true,
"organizationConfigured": true,
"loginMethods": [
{
"key": "local-password",
"configured": true,
"enabled": true,
"reason": "string"
}
],
"firstAdminEmail": "string",
"loginUrl": "string",
"organizationId": "string",
"organizationSlug": "string",
"nextSteps": [
"string"
]
}/bootstrap/auth/first-adminRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/bootstrap/auth/first-admin" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "displayName": "string" }'{
"bootstrapRequired": false,
"created": true,
"email": "string",
"loginMethods": [
{
"key": "local-password",
"configured": true,
"enabled": true,
"reason": "string"
}
],
"organizationId": "string",
"organizationSlug": "string",
"userId": "string",
"generatedPassword": "string",
"loginUrl": "string"
}/capabilities/queryRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/capabilities/query" \ -H "Content-Type: application/json" \ -d '{ "queries": [ { "operationKey": "string" } ] }'{
"capabilities": [
{
"operationKey": "string",
"allowed": true,
"mode": "unrestricted",
"hint": "string",
"reason": "string",
"details": {
"property1": null,
"property2": null
}
}
]
}/entitlements/queryRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/entitlements/query" \ -H "Content-Type: application/json" \ -d '{ "queries": [ { "capabilityKey": "string" } ] }'{
"entitlements": [
{
"capabilityKey": "string",
"entitled": true,
"status": "entitled",
"mode": "restricted",
"hint": "string",
"reason": "string",
"source": "string",
"details": {
"property1": null,
"property2": null
}
}
]
}/usage-intentsQuery Parameters
1 <= length1 <= length1 <= length1 <= length1 <= length0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/usage-intents"{
"records": [
{
"schemaVersion": "usage-intent.record/v1",
"id": "string",
"idempotencyKey": "string",
"capabilityKey": "string",
"status": "accepted",
"reason": "string",
"source": "string",
"tenantId": "string",
"accountId": "string",
"organizationId": "string",
"actor": {
"kind": "string",
"id": "string",
"userId": "string",
"email": "string"
},
"resourceRefs": {
"organizationId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string",
"property1": "string",
"property2": "string"
},
"quantity": {
"value": 1,
"unit": "string"
},
"occurredAt": "string",
"recordedAt": "string",
"attributes": {
"property1": null,
"property2": null
},
"details": {
"property1": null,
"property2": null
}
}
]
}/usage-intentsRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/usage-intents" \ -H "Content-Type: application/json" \ -d '{ "idempotencyKey": "string", "capabilityKey": "string", "source": "string" }'{
"result": {
"idempotencyKey": "string",
"capabilityKey": "string",
"accepted": true,
"duplicate": true,
"status": "accepted",
"reason": "string",
"source": "string",
"record": {
"schemaVersion": "usage-intent.record/v1",
"id": "string",
"idempotencyKey": "string",
"capabilityKey": "string",
"status": "accepted",
"reason": "string",
"source": "string",
"tenantId": "string",
"accountId": "string",
"organizationId": "string",
"actor": {
"kind": "string",
"id": "string",
"userId": "string",
"email": "string"
},
"resourceRefs": {
"organizationId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string",
"property1": "string",
"property2": "string"
},
"quantity": {
"value": 1,
"unit": "string"
},
"occurredAt": "string",
"recordedAt": "string",
"attributes": {
"property1": null,
"property2": null
},
"details": {
"property1": null,
"property2": null
}
},
"details": {
"property1": null,
"property2": null
}
}
}/deployment-overlaysQuery Parameters
1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/deployment-overlays"{
"records": [
{
"schemaVersion": "deployment-overlay.decision/v1",
"id": "string",
"operationKey": "string",
"decision": "enabled",
"reason": "string",
"source": "string",
"tenantId": "string",
"accountId": "string",
"organizationId": "string",
"actor": {
"kind": "string",
"id": "string",
"userId": "string",
"email": "string"
},
"resourceRefs": {
"organizationId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string",
"property1": "string",
"property2": "string"
},
"capabilityKey": "string",
"decidedAt": "string",
"attributes": {
"property1": null,
"property2": null
},
"details": {
"property1": null,
"property2": null
}
}
]
}/deployment-overlaysRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployment-overlays" \ -H "Content-Type: application/json" \ -d '{ "operationKey": "string", "source": "string" }'{
"result": {
"operationKey": "string",
"decision": "enabled",
"allowed": true,
"reason": "string",
"source": "string",
"record": {
"schemaVersion": "deployment-overlay.decision/v1",
"id": "string",
"operationKey": "string",
"decision": "enabled",
"reason": "string",
"source": "string",
"tenantId": "string",
"accountId": "string",
"organizationId": "string",
"actor": {
"kind": "string",
"id": "string",
"userId": "string",
"email": "string"
},
"resourceRefs": {
"organizationId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string",
"property1": "string",
"property2": "string"
},
"capabilityKey": "string",
"decidedAt": "string",
"attributes": {
"property1": null,
"property2": null
},
"details": {
"property1": null,
"property2": null
}
},
"details": {
"property1": null,
"property2": null
}
}
}/route-surfacesQuery Parameters
1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/route-surfaces"{
"records": [
{
"schemaVersion": "route-surface.decision/v1",
"id": "string",
"operationKey": "string",
"decision": "enabled",
"reason": "string",
"source": "string",
"surfaceKind": "string",
"tenantId": "string",
"accountId": "string",
"organizationId": "string",
"actor": {
"kind": "string",
"id": "string",
"userId": "string",
"email": "string"
},
"resourceRefs": {
"organizationId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"domainId": "string",
"routeId": "string",
"staticArtifactId": "string",
"property1": "string",
"property2": "string"
},
"capabilityKey": "string",
"decidedAt": "string",
"attributes": {
"property1": null,
"property2": null
},
"details": {
"property1": null,
"property2": null
}
}
]
}/route-surfacesRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/route-surfaces" \ -H "Content-Type: application/json" \ -d '{ "operationKey": "string", "source": "string", "surfaceKind": "string" }'{
"result": {
"operationKey": "string",
"decision": "enabled",
"allowed": true,
"reason": "string",
"source": "string",
"surfaceKind": "string",
"record": {
"schemaVersion": "route-surface.decision/v1",
"id": "string",
"operationKey": "string",
"decision": "enabled",
"reason": "string",
"source": "string",
"surfaceKind": "string",
"tenantId": "string",
"accountId": "string",
"organizationId": "string",
"actor": {
"kind": "string",
"id": "string",
"userId": "string",
"email": "string"
},
"resourceRefs": {
"organizationId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"domainId": "string",
"routeId": "string",
"staticArtifactId": "string",
"property1": "string",
"property2": "string"
},
"capabilityKey": "string",
"decidedAt": "string",
"attributes": {
"property1": null,
"property2": null
},
"details": {
"property1": null,
"property2": null
}
},
"details": {
"property1": null,
"property2": null
}
}
}/deploy-tokensQuery Parameters
1 <= length"active" | "revoked"1 <= length1 <= length0 < value <= 100Response Body
application/json
curl -X GET "https://example.com/deploy-tokens?organizationId=string"{
"items": [
{
"tokenId": "string",
"organizationId": "string",
"displayName": "string",
"status": "active",
"secretSuffix": "string",
"scope": {
"deploymentTargetIds": [
"string"
],
"environmentIds": [
"string"
],
"projectIds": [
"string"
],
"repositoryFullNames": [
"string"
],
"resourceIds": [
"string"
],
"workflowCommands": [
"source-link-deploy"
]
},
"createdAt": "string",
"expiresAt": "string",
"lastUsedAt": "string",
"rotatedAt": "string",
"revokedAt": "string"
}
]
}/deploy-tokensRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deploy-tokens" \ -H "Content-Type: application/json" \ -d '{ "organizationId": "string", "displayName": "string", "scope": { "workflowCommands": [ "preview-cleanup" ] } }'{
"tokenId": "string",
"token": "string",
"organizationId": "string",
"displayName": "string",
"secretSuffix": "string",
"scopes": {
"deploymentTargetIds": [
"string"
],
"environmentIds": [
"string"
],
"projectIds": [
"string"
],
"repositoryFullNames": [
"string"
],
"resourceIds": [
"string"
],
"workflowCommands": [
"source-link-deploy"
]
},
"createdAt": "string",
"expiresAt": "string"
}/deploy-tokens/{tokenId}Path Parameters
1 <= lengthQuery Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/deploy-tokens/string?organizationId=string"{
"tokenId": "string",
"organizationId": "string",
"displayName": "string",
"status": "active",
"secretSuffix": "string",
"scope": {
"deploymentTargetIds": [
"string"
],
"environmentIds": [
"string"
],
"projectIds": [
"string"
],
"repositoryFullNames": [
"string"
],
"resourceIds": [
"string"
],
"workflowCommands": [
"source-link-deploy"
]
},
"createdAt": "string",
"expiresAt": "string",
"lastUsedAt": "string",
"rotatedAt": "string",
"revokedAt": "string"
}/deploy-tokens/{tokenId}/rotatePath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deploy-tokens/string/rotate" \ -H "Content-Type: application/json" \ -d '{ "organizationId": "string", "confirmation": { "tokenId": "string" } }'{
"tokenId": "string",
"token": "string",
"rotatedAt": "string",
"scopes": {
"deploymentTargetIds": [
"string"
],
"environmentIds": [
"string"
],
"projectIds": [
"string"
],
"repositoryFullNames": [
"string"
],
"resourceIds": [
"string"
],
"workflowCommands": [
"source-link-deploy"
]
}
}/deploy-tokens/{tokenId}/revokePath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deploy-tokens/string/revoke" \ -H "Content-Type: application/json" \ -d '{ "organizationId": "string", "confirmation": { "tokenId": "string" } }'{
"tokenId": "string",
"revokedAt": "string"
}curl -X GET "https://example.com/account/profile"{
"userId": "string",
"email": "string",
"displayName": "string",
"avatarUrl": "string",
"emailVerified": true,
"createdAt": "string",
"updatedAt": "string"
}/account/profileRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/account/profile" \ -H "Content-Type: application/json" \ -d '{}'{
"userId": "string",
"email": "string",
"displayName": "string",
"avatarUrl": "string",
"emailVerified": true,
"createdAt": "string",
"updatedAt": "string"
}curl -X GET "https://example.com/account/sessions"{
"items": [
{
"sessionId": "string",
"userId": "string",
"clientKind": "web",
"displayName": "string",
"createdAt": "string",
"expiresAt": "string",
"ipAddress": "string",
"userAgent": "string",
"current": true,
"lastActiveAt": "string"
}
],
"nextCursor": "string"
}/account/sessions/{sessionId}/revokePath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/account/sessions/string/revoke" \ -H "Content-Type: application/json" \ -d '{}'{
"sessionId": "string",
"revokedAt": "string"
}/accountRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/account" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "userId": "string" } }'{
"userId": "string",
"deletedAt": "string"
}curl -X GET "https://example.com/organizations/current-context"{
"user": {
"userId": "string",
"email": "string",
"displayName": "string",
"avatarUrl": "string"
},
"currentOrganization": {
"organizationId": "string",
"name": "string",
"slug": "string",
"role": "admin"
},
"organizations": [
{
"organizationId": "string",
"name": "string",
"slug": "string",
"role": "admin"
}
],
"loginMethods": [
{
"key": "local-password",
"configured": true,
"enabled": true,
"reason": "string"
}
],
"permissions": {
"canInviteMembers": true,
"canListMembers": true,
"canManageDeployTokens": true,
"canRemoveMembers": true,
"canTransferOwnership": true,
"canUpdateMemberRoles": true
}
}/organizations/{organizationId}/profilePath Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/organizations/string/profile"{
"organizationId": "string",
"name": "string",
"slug": "string",
"role": "admin",
"permissions": {
"canInviteMembers": true,
"canListMembers": true,
"canManageDeployTokens": true,
"canRemoveMembers": true,
"canTransferOwnership": true,
"canUpdateMemberRoles": true
},
"logoUrl": "string",
"createdAt": "string",
"updatedAt": "string"
}/organizations/{organizationId}/profilePath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/organizations/string/profile" \ -H "Content-Type: application/json" \ -d '{}'{
"organizationId": "string",
"name": "string",
"slug": "string",
"role": "admin",
"permissions": {
"canInviteMembers": true,
"canListMembers": true,
"canManageDeployTokens": true,
"canRemoveMembers": true,
"canTransferOwnership": true,
"canUpdateMemberRoles": true
},
"logoUrl": "string",
"createdAt": "string",
"updatedAt": "string"
}/organizations/{organizationId}Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/organizations/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "organizationId": "string" } }'{
"organizationId": "string",
"deletedAt": "string"
}/organizations/current-context/switchRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/organizations/current-context/switch" \ -H "Content-Type: application/json" \ -d '{ "organizationId": "string" }'{
"user": {
"userId": "string",
"email": "string",
"displayName": "string",
"avatarUrl": "string"
},
"currentOrganization": {
"organizationId": "string",
"name": "string",
"slug": "string",
"role": "admin"
},
"organizations": [
{
"organizationId": "string",
"name": "string",
"slug": "string",
"role": "admin"
}
],
"loginMethods": [
{
"key": "local-password",
"configured": true,
"enabled": true,
"reason": "string"
}
],
"permissions": {
"canInviteMembers": true,
"canListMembers": true,
"canManageDeployTokens": true,
"canRemoveMembers": true,
"canTransferOwnership": true,
"canUpdateMemberRoles": true
}
}/organizations/{organizationId}/membersPath Parameters
1 <= lengthQuery Parameters
1 <= length0 < value <= 250Response Body
application/json
curl -X GET "https://example.com/organizations/string/members"{
"items": [
{
"memberId": "string",
"userId": "string",
"role": "admin",
"joinedAt": "string",
"avatarUrl": "string",
"displayName": "string",
"email": "string",
"status": "active"
}
],
"nextCursor": "string"
}/organizations/{organizationId}/invitationsPath Parameters
1 <= lengthQuery Parameters
"accepted" | "expired" | "pending" | "revoked"1 <= length0 < value <= 250Response Body
application/json
curl -X GET "https://example.com/organizations/string/invitations"{
"items": [
{
"invitationId": "string",
"organizationId": "string",
"email": "string",
"role": "admin",
"status": "accepted",
"createdAt": "string",
"expiresAt": "string",
"inviter": {
"userId": "string",
"displayName": "string",
"email": "string"
}
}
],
"nextCursor": "string"
}/organizations/{organizationId}/invitationsPath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/organizations/string/invitations" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "role": "admin" }'{
"invitationId": "string",
"organizationId": "string",
"email": "string",
"role": "admin",
"status": "accepted",
"createdAt": "string",
"expiresAt": "string",
"inviter": {
"userId": "string",
"displayName": "string",
"email": "string"
}
}/organizations/{organizationId}/members/{memberId}/rolePath Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/organizations/string/members/string/role" \ -H "Content-Type: application/json" \ -d '{ "role": "admin" }'{
"memberId": "string",
"userId": "string",
"role": "admin",
"joinedAt": "string",
"avatarUrl": "string",
"displayName": "string",
"email": "string",
"status": "active"
}/organizations/{organizationId}/members/{memberId}Path Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/organizations/string/members/string" \ -H "Content-Type: application/json" \ -d '{}'{
"memberId": "string",
"organizationId": "string",
"removedAt": "string"
}/organizations/{organizationId}/owner-transferPath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/organizations/string/owner-transfer" \ -H "Content-Type: application/json" \ -d '{ "fromMemberId": "string", "toMemberId": "string" }'{
"fromMember": {
"memberId": "string",
"userId": "string",
"role": "admin",
"joinedAt": "string",
"avatarUrl": "string",
"displayName": "string",
"email": "string",
"status": "active"
},
"toMember": {
"memberId": "string",
"userId": "string",
"role": "admin",
"joinedAt": "string",
"avatarUrl": "string",
"displayName": "string",
"email": "string",
"status": "active"
},
"transferredAt": "string"
}curl -X GET "https://example.com/projects/count"{
"count": 0
}curl -X GET "https://example.com/projects"{
"items": [
{
"id": "string",
"organizationId": "string",
"name": "string",
"slug": "string",
"description": "string",
"lifecycleStatus": "active",
"archivedAt": "string",
"archiveReason": "string",
"createdAt": "string"
}
]
}/projectsRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/projects" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string"
}/projects/{projectId}Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/projects/string"{
"id": "string",
"organizationId": "string",
"name": "string",
"slug": "string",
"description": "string",
"lifecycleStatus": "active",
"archivedAt": "string",
"archiveReason": "string",
"createdAt": "string"
}/projects/{projectId}Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/projects/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "projectId": "string" } }'{
"id": "string"
}/projects/{projectId}/renameRead, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/projects/string/rename" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string"
}/projects/{projectId}/descriptionRead, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/projects/string/description" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/projects/{projectId}/archiveRead, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/projects/string/archive" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/projects/{projectId}/restoreRead, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X POST "https://example.com/projects/string/restore"{
"id": "string"
}/projects/{projectId}/delete-checkRead, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/projects/string/delete-check"{
"schemaVersion": "projects.delete-check/v1",
"projectId": "string",
"lifecycleStatus": "active",
"eligible": true,
"blockers": [
{
"kind": "active-project",
"relatedEntityId": "string",
"relatedEntityType": "string",
"count": 0
}
],
"checkedAt": "string"
}curl -X GET "https://example.com/servers/count"{
"count": 0
}curl -X GET "https://example.com/servers"{
"items": [
{
"id": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"targetKind": "single-server",
"lifecycleStatus": "active",
"deactivatedAt": "string",
"deactivationReason": "string",
"edgeProxy": {
"kind": "none",
"status": "pending",
"lastAttemptAt": "string",
"lastSucceededAt": "string",
"lastErrorCode": "string",
"lastErrorMessage": "string"
},
"credential": {
"kind": "local-ssh-agent",
"credentialId": "string",
"credentialName": "string",
"username": "string",
"publicKeyConfigured": true,
"privateKeyConfigured": true
},
"createdAt": "string"
}
]
}/serversRegisters a deployment target. Docker Swarm targets are accepted when the runtime backend is available. Public docs: /docs/servers/register-connect/#docker-swarm-runtime-target
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "host": "string", "providerKey": "string" }'{
"id": "string"
}/servers/{serverId}Reads one deployment target with proxy status and usage rollups. Public docs: /docs/servers/register-connect/#server-deployment-target
Path Parameters
1 <= lengthQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/servers/string"{
"schemaVersion": "servers.show/v1",
"server": {
"id": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"targetKind": "single-server",
"lifecycleStatus": "active",
"deactivatedAt": "string",
"deactivationReason": "string",
"edgeProxy": {
"kind": "none",
"status": "pending",
"lastAttemptAt": "string",
"lastSucceededAt": "string",
"lastErrorCode": "string",
"lastErrorMessage": "string"
},
"credential": {
"kind": "local-ssh-agent",
"credentialId": "string",
"credentialName": "string",
"username": "string",
"publicKeyConfigured": true,
"privateKeyConfigured": true
},
"createdAt": "string"
},
"rollups": {
"resources": {
"total": 0,
"deployedResourceIds": [
"string"
]
},
"deployments": {
"total": 0,
"statusCounts": [
{
"status": "created",
"count": 0
}
],
"latestDeploymentId": "string",
"latestDeploymentStatus": "created"
},
"domains": {
"total": 0,
"statusCounts": [
{
"status": "requested",
"count": 0
}
],
"latestDomainBindingId": "string",
"latestDomainBindingStatus": "requested"
}
},
"generatedAt": "string"
}/servers/{serverId}Deletes an inactive deployment target only after delete-safety blockers are clear. Public docs: /docs/servers/register-connect/#server-deployment-target
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/servers/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "serverId": "string" } }'{
"id": "string"
}/servers/{serverId}/capacityInspects disk, inode, Docker, memory, CPU, and Appaloft runtime capacity without pruning or mutating server state. Public docs: /docs/observe/diagnostics/#runtime-target-capacity-inspect
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/servers/string/capacity"{
"schemaVersion": "servers.capacity.inspect/v1",
"server": {
"id": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"targetKind": "string"
},
"inspectedAt": "string",
"disk": [
{
"path": "string",
"mount": "string",
"size": 0,
"used": 0,
"available": 0,
"usePercent": 0
}
],
"inodes": [
{
"path": "string",
"mount": "string",
"used": 0,
"free": 0,
"usePercent": 0
}
],
"docker": {
"imagesSize": 0,
"reclaimableImagesSize": 0,
"buildCacheSize": 0,
"reclaimableBuildCacheSize": 0,
"containersSize": 0,
"volumesSize": 0
},
"memory": {
"total": 0,
"available": 0,
"used": 0,
"usePercent": 0
},
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0
},
"appaloftRuntime": {
"runtimeRoot": {
"path": "string",
"size": 0,
"detectable": true
},
"stateRoot": {
"path": "string",
"size": 0,
"detectable": true
},
"sourceWorkspace": {
"path": "string",
"size": 0,
"detectable": true
}
},
"appaloftContainers": [
{
"id": "string",
"name": "string",
"running": true,
"status": "string",
"writableBytes": 0,
"deploymentId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"artifactKind": "string"
}
],
"appaloftWorkspaces": [
{
"deploymentId": "string",
"path": "string",
"bytes": 0,
"activeMarker": true,
"rollbackCandidateMarker": true
}
],
"safeReclaimableEstimate": {
"stoppedContainersSize": 0,
"danglingImagesSize": 0,
"oldBuildCacheSize": 0,
"oldPreviewWorkspaceCandidatesSize": 0,
"total": 0
},
"warnings": [
{
"code": "full-disk",
"message": "string",
"path": "string",
"mount": "string",
"resource": "disk"
}
],
"partial": true
}/servers/{serverId}/capacity/pruneDry-runs or prunes safe Appaloft-managed stopped containers and runtime workspaces without deleting volumes, state roots, or rollback candidates. Public docs: /docs/observe/diagnostics/#runtime-target-capacity-inspect
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/string/capacity/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "servers.capacity.prune/v1",
"server": {
"id": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"targetKind": "string"
},
"before": "string",
"categories": [
"stopped-containers"
],
"dryRun": true,
"prunedAt": "string",
"summary": {
"inspectedCount": 0,
"matchedCount": 0,
"prunedCount": 0,
"skippedCount": 0,
"excludedCount": 0,
"reclaimedBytes": 0,
"reportedCandidateCount": 0,
"omittedCandidateCount": 0,
"outputLimit": 0
},
"candidates": [
{
"id": "string",
"category": "stopped-containers",
"target": "string",
"updatedAt": "string",
"size": 0,
"action": "matched",
"skippedReason": "active-runtime"
}
],
"warnings": [
{
"code": "full-disk",
"message": "string",
"path": "string",
"mount": "string",
"resource": "disk"
}
]
}/servers/capacity/policiesLists safe scheduled runtime prune policy records with optional target and scope filters. Public docs: /docs/observe/diagnostics/#scheduled-runtime-prune-policy
Query Parameters
1 <= length"defaults" | "system" | "organization" | "project" | "environment" | "deployment-snapshot"Response Body
application/json
curl -X GET "https://example.com/servers/capacity/policies"{
"schemaVersion": "scheduled-runtime-prune-policies.list/v1",
"items": [
{
"schemaVersion": "scheduled-runtime-prune-policies.policy/v1",
"id": "string",
"version": "string",
"scope": "defaults",
"serverId": "string",
"retentionDays": 0,
"destructive": true,
"categories": [
"stopped-containers"
],
"categoryCount": 0,
"retryOnFailure": true,
"enabled": true,
"updatedAt": "string"
}
]
}/servers/capacity/policiesConfigures a scheduled runtime prune policy used by scheduler readback and worker handoff. Public docs: /docs/observe/diagnostics/#scheduled-runtime-prune-policy
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/capacity/policies" \ -H "Content-Type: application/json" \ -d '{ "scope": "defaults", "retentionDays": 1 }'{
"id": "string"
}/servers/capacity/policies/{policyId}Reads one safe scheduled runtime prune policy record by id. Public docs: /docs/observe/diagnostics/#scheduled-runtime-prune-policy
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/servers/capacity/policies/string"{
"schemaVersion": "scheduled-runtime-prune-policies.show/v1",
"policy": {
"schemaVersion": "scheduled-runtime-prune-policies.policy/v1",
"id": "string",
"version": "string",
"scope": "defaults",
"serverId": "string",
"retentionDays": 0,
"destructive": true,
"categories": [
"stopped-containers"
],
"categoryCount": 0,
"retryOnFailure": true,
"enabled": true,
"updatedAt": "string"
}
}/servers/{serverId}/renameRenames the display label for one deployment target without changing its identity. Public docs: /docs/servers/register-connect/#server-deployment-target
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/string/rename" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string"
}/servers/{serverId}/edge-proxy/configurationConfigures the desired edge proxy kind for future server access routing. Public docs: /docs/servers/operations/proxy-and-terminal/#server-proxy-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/string/edge-proxy/configuration" \ -H "Content-Type: application/json" \ -d '{ "proxyKind": "none" }'{
"id": "string",
"edgeProxy": {
"kind": "none",
"status": "pending"
}
}/servers/{serverId}/deactivateMarks one deployment target inactive so it cannot receive new work. Public docs: /docs/servers/register-connect/#server-deployment-target
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/string/deactivate" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/servers/{serverId}/delete-checkPreviews whether a deployment target can be safely deleted. Public docs: /docs/servers/register-connect/#server-deployment-target
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/servers/string/delete-check"{
"schemaVersion": "servers.delete-check/v1",
"serverId": "string",
"lifecycleStatus": "active",
"eligible": true,
"blockers": [
{
"kind": "active-server",
"relatedEntityId": "string",
"relatedEntityType": "string",
"count": 0
}
],
"checkedAt": "string"
}/servers/{serverId}/credentialsConfigures the SSH credential Appaloft uses for server connectivity and deployment. Public docs: /docs/servers/credentials/ssh-keys/#server-ssh-credential-path
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/string/credentials" \ -H "Content-Type: application/json" \ -d '{ "credential": { "kind": "local-ssh-agent" } }'null/servers/{serverId}/connectivity-testsTests whether Appaloft can reach and inspect a server. Public docs: /docs/servers/register-connect/#server-connectivity-test
Path Parameters
1 <= lengthResponse Body
application/json
curl -X POST "https://example.com/servers/string/connectivity-tests"{
"serverId": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"checkedAt": "string",
"status": "healthy",
"checks": [
{
"name": "string",
"status": "passed",
"message": "string",
"durationMs": 0,
"metadata": {
"property1": "string",
"property2": "string"
}
}
]
}/servers/connectivity-testsTests whether Appaloft can reach and inspect a server. Public docs: /docs/servers/register-connect/#server-connectivity-test
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/connectivity-tests" \ -H "Content-Type: application/json" \ -d '{ "server": { "host": "string", "providerKey": "string" } }'{
"serverId": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"checkedAt": "string",
"status": "healthy",
"checks": [
{
"name": "string",
"status": "passed",
"message": "string",
"durationMs": 0,
"metadata": {
"property1": "string",
"property2": "string"
}
}
]
}/servers/{serverId}/edge-proxy/bootstrapRepairs or bootstraps provider-owned edge proxy infrastructure. Public docs: /docs/servers/operations/proxy-and-terminal/#server-proxy-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/servers/string/edge-proxy/bootstrap" \ -H "Content-Type: application/json" \ -d '{}'{
"serverId": "string",
"attemptId": "string"
}/runtime-usage/inspectInspects runtime usage attribution for one scope without pruning, quota enforcement, sample persistence, or state mutation. Public docs: /docs/observe/diagnostics/#runtime-usage-inspect
Query Parameters
"current"truetrue1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/runtime-usage/inspect"{
"schemaVersion": "runtime-usage.inspect/v1",
"scope": {
"kind": "server",
"serverId": "string"
},
"generatedAt": "string",
"observedAt": "string",
"freshness": "live",
"partial": true,
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"byProject": [
{
"scope": {
"kind": "server",
"serverId": "string"
},
"ownership": "attributed",
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"currentDeploymentId": "string",
"currentRuntimeId": "string",
"artifactCount": 0,
"warnings": [
{
"code": "partial-diagnostic",
"message": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"resource": "cpu"
}
]
}
],
"byEnvironment": [
{
"scope": {
"kind": "server",
"serverId": "string"
},
"ownership": "attributed",
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"currentDeploymentId": "string",
"currentRuntimeId": "string",
"artifactCount": 0,
"warnings": [
{
"code": "partial-diagnostic",
"message": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"resource": "cpu"
}
]
}
],
"byResource": [
{
"scope": {
"kind": "server",
"serverId": "string"
},
"ownership": "attributed",
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"currentDeploymentId": "string",
"currentRuntimeId": "string",
"artifactCount": 0,
"warnings": [
{
"code": "partial-diagnostic",
"message": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"resource": "cpu"
}
]
}
],
"byDeployment": [
{
"scope": {
"kind": "server",
"serverId": "string"
},
"ownership": "attributed",
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"currentDeploymentId": "string",
"currentRuntimeId": "string",
"artifactCount": 0,
"warnings": [
{
"code": "partial-diagnostic",
"message": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"resource": "cpu"
}
]
}
],
"artifacts": [
{
"kind": "active-runtime",
"ownership": "attributed",
"serverId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"deploymentId": "string",
"destinationId": "string",
"runtimeId": "string",
"bytes": 0,
"inodeCount": 0,
"observedAt": "string",
"evidence": [
{
"source": "label",
"key": "string"
}
],
"reclaimable": "yes",
"reclaimBlockedReason": "string",
"warnings": [
{
"code": "partial-diagnostic",
"message": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"resource": "cpu"
}
]
}
],
"warnings": [
{
"code": "partial-diagnostic",
"message": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"resource": "cpu"
}
],
"sourceErrors": [
{
"source": "runtime-target",
"code": "string",
"message": "string",
"retriable": true
}
]
}/runtime-monitoring/samplesLists retained runtime monitoring samples for one scope without collecting fresh data or mutating runtime targets. Public docs: /docs/observe/diagnostics/#runtime-monitoring-samples-and-rollups
Query Parameters
3001 <= value <= 7201 <= length^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/runtime-monitoring/samples"{
"schemaVersion": "runtime-monitoring.samples.list/v1",
"scope": {
"kind": "server",
"serverId": "string"
},
"from": "string",
"to": "string",
"generatedAt": "string",
"freshness": "live",
"partial": true,
"retention": {
"rawRetentionHours": 0,
"retainedFrom": "string",
"retainedTo": "string"
},
"samples": [
{
"sampleId": "string",
"observedAt": "string",
"collectedAt": "string",
"scopeEvidence": {
"scope": {
"kind": "server",
"serverId": "string"
},
"serverId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"deploymentId": "string"
},
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"freshness": "live",
"partial": true,
"labels": {
"providerKey": "string",
"artifactKind": "active-runtime",
"runtimeId": "string"
},
"warnings": [
{
"code": "missing-samples",
"message": "string",
"signal": "cpu",
"scope": {
"kind": "server",
"serverId": "string"
}
}
],
"sourceErrors": [
{
"source": "monitoring-store",
"code": "string",
"message": "string",
"retriable": true
}
]
}
],
"warnings": [
{
"code": "missing-samples",
"message": "string",
"signal": "cpu",
"scope": {
"kind": "server",
"serverId": "string"
}
}
],
"sourceErrors": [
{
"source": "monitoring-store",
"code": "string",
"message": "string",
"retriable": true
}
]
}/runtime-monitoring/rollupReads retained runtime monitoring rollups and deployment markers for one scope without causal claims or runtime mutation. Public docs: /docs/observe/diagnostics/#runtime-monitoring-samples-and-rollups
Query Parameters
"minute" | "five-minute" | "hour"truetrue1 <= length^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/runtime-monitoring/rollup?bucket=minute"{
"schemaVersion": "runtime-monitoring.rollup/v1",
"scope": {
"kind": "server",
"serverId": "string"
},
"from": "string",
"to": "string",
"bucket": "minute",
"generatedAt": "string",
"freshness": "live",
"partial": true,
"retention": {
"rawRetentionHours": 0,
"retainedFrom": "string",
"retainedTo": "string"
},
"series": [
{
"signal": "cpu",
"points": [
{
"from": "string",
"to": "string",
"sampleCount": 0,
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
}
}
]
}
],
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"topContributors": [
{
"scope": {
"kind": "server",
"serverId": "string"
},
"totals": {
"cpu": {
"logicalCores": 0,
"loadAverage1m": 0,
"loadAverage5m": 0,
"loadAverage15m": 0,
"containerCpuPercent": 0
},
"memory": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"containerUsedBytes": 0
},
"disk": {
"totalBytes": 0,
"usedBytes": 0,
"availableBytes": 0,
"attributedBytes": 0
},
"inode": {
"total": 0,
"used": 0,
"available": 0
},
"docker": {
"imageBytes": 0,
"buildCacheBytes": 0,
"containerWritableBytes": 0
},
"network": {
"rxBytes": 0,
"txBytes": 0
}
},
"sampleCount": 0
}
],
"deploymentMarkers": [
{
"deploymentId": "string",
"resourceId": "string",
"environmentId": "string",
"observedAt": "string",
"status": "string",
"label": "string",
"correlation": "time"
}
],
"warnings": [
{
"code": "missing-samples",
"message": "string",
"signal": "cpu",
"scope": {
"kind": "server",
"serverId": "string"
}
}
],
"sourceErrors": [
{
"source": "monitoring-store",
"code": "string",
"message": "string",
"retriable": true
}
]
}/runtime-monitoring/thresholdsReads non-enforcing runtime monitoring threshold state from retained samples without runtime mutation. Public docs: /docs/observe/diagnostics/#runtime-monitoring-thresholds
Query Parameters
1 <= length1 <= length^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/runtime-monitoring/thresholds"{
"schemaVersion": "runtime-monitoring-thresholds.show/v1",
"scope": {
"kind": "server",
"serverId": "string"
},
"generatedAt": "string",
"policy": {
"schemaVersion": "runtime-monitoring-thresholds.policy/v1",
"policyId": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"rules": [
{
"ruleId": "string",
"signal": "cpu",
"metric": "containerCpuPercent",
"warning": 0,
"critical": 0,
"comparator": "greater-than-or-equal"
}
],
"enabled": true,
"updatedAt": "string",
"updatedByActorId": "string",
"updatedByActorKind": "deploy-token"
},
"evaluation": {
"state": "ok",
"evaluatedAt": "string",
"sourceSampleId": "string",
"crossed": [
{
"ruleId": "string",
"signal": "cpu",
"metric": "containerCpuPercent",
"severity": "warning",
"observedValue": 0,
"boundary": 0
}
],
"nextActions": [
"inspect-runtime-usage"
],
"sourceErrors": [
{
"source": "monitoring-store",
"code": "string",
"message": "string",
"retriable": true
}
]
}
}/runtime-monitoring/thresholdsConfigures non-enforcing runtime monitoring threshold policy without runtime mutation. Public docs: /docs/observe/diagnostics/#runtime-monitoring-thresholds
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/runtime-monitoring/thresholds" \ -H "Content-Type: application/json" \ -d '{ "scope": { "kind": "server", "serverId": "string" }, "rules": [ { "signal": "cpu", "metric": "containerCpuPercent" } ] }'{
"policy": {
"schemaVersion": "runtime-monitoring-thresholds.policy/v1",
"policyId": "string",
"scope": {
"kind": "server",
"serverId": "string"
},
"rules": [
{
"ruleId": "string",
"signal": "cpu",
"metric": "containerCpuPercent",
"warning": 0,
"critical": 0,
"comparator": "greater-than-or-equal"
}
],
"enabled": true,
"updatedAt": "string",
"updatedByActorId": "string",
"updatedByActorKind": "deploy-token"
}
}/retention-defaultsLists safe retention default policy records without retained history payloads. Public docs: /docs/reference/errors-statuses/#operator-retention-defaults
Query Parameters
"organization" | "system"1 <= length"audit-rows" | "deployment-logs" | "domain-event-streams" | "process-attempts" | "provider-job-logs" | "resource-runtime-log-archives" | "runtime-monitoring-samples"Response Body
application/json
curl -X GET "https://example.com/retention-defaults"{
"schemaVersion": "retention-defaults.list/v1",
"items": [
{
"schemaVersion": "retention-defaults.policy/v1",
"id": "string",
"scope": "organization",
"organizationId": "string",
"category": "audit-rows",
"retentionDays": 0,
"dryRunSchedulingEnabled": true,
"destructiveSchedulingEnabled": true,
"enabled": true,
"updatedAt": "string",
"updatedByActorId": "string",
"updatedByActorKind": "deploy-token"
}
]
}/retention-defaultsConfigures non-executing retention defaults for governed history categories. Public docs: /docs/reference/errors-statuses/#operator-retention-defaults
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/retention-defaults" \ -H "Content-Type: application/json" \ -d '{ "category": "audit-rows", "retentionDays": 1 }'{
"id": "string"
}/retention-defaults/{category}Reads one safe retention default policy record by category. Public docs: /docs/reference/errors-statuses/#operator-retention-defaults
Path Parameters
"audit-rows" | "deployment-logs" | "domain-event-streams" | "process-attempts" | "provider-job-logs" | "resource-runtime-log-archives" | "runtime-monitoring-samples"Query Parameters
"system""organization" | "system"1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/retention-defaults/audit-rows"{
"schemaVersion": "retention-defaults.show/v1",
"policy": {
"schemaVersion": "retention-defaults.policy/v1",
"id": "string",
"scope": "organization",
"organizationId": "string",
"category": "audit-rows",
"retentionDays": 0,
"dryRunSchedulingEnabled": true,
"destructiveSchedulingEnabled": true,
"enabled": true,
"updatedAt": "string",
"updatedByActorId": "string",
"updatedByActorKind": "deploy-token"
}
}curl -X GET "https://example.com/credentials/ssh"{
"items": [
{
"id": "string",
"name": "string",
"kind": "ssh-private-key",
"username": "string",
"publicKeyConfigured": true,
"privateKeyConfigured": true,
"createdAt": "string",
"rotatedAt": "string"
}
]
}/credentials/sshCreates a reusable SSH credential from a private key input. Public docs: /docs/servers/credentials/ssh-keys/#server-ssh-credential-path
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/credentials/ssh" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "kind": "ssh-private-key", "privateKey": "string" }'{
"id": "string"
}/credentials/ssh/{credentialId}Reads one reusable SSH credential with masked detail and server usage visibility. Public docs: /docs/servers/credentials/ssh-keys/#server-ssh-credential-path
Path Parameters
1 <= lengthQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/credentials/ssh/string"{
"schemaVersion": "credentials.show/v1",
"credential": {
"id": "string",
"name": "string",
"kind": "ssh-private-key",
"username": "string",
"publicKeyConfigured": true,
"privateKeyConfigured": true,
"createdAt": "string",
"rotatedAt": "string"
},
"usage": {
"totalServers": 0,
"activeServers": 0,
"inactiveServers": 0,
"servers": [
{
"serverId": "string",
"serverName": "string",
"lifecycleStatus": "active",
"providerKey": "string",
"host": "string",
"username": "string"
}
]
},
"generatedAt": "string"
}/credentials/ssh/{credentialId}Deletes one reusable SSH credential only when no visible active or inactive server uses it. Public docs: /docs/servers/credentials/ssh-keys/#server-ssh-credential-path
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/credentials/ssh/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "credentialId": "string" } }'{
"id": "string"
}/credentials/ssh/{credentialId}/rotateRotates one reusable SSH credential in place after usage visibility and acknowledgement checks. Public docs: /docs/servers/credentials/ssh-keys/#server-ssh-credential-path
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/credentials/ssh/string/rotate" \ -H "Content-Type: application/json" \ -d '{ "privateKey": "string", "confirmation": { "credentialId": "string" } }'{
"schemaVersion": "credentials.rotate-ssh/v1",
"credential": {
"id": "string",
"kind": "ssh-private-key",
"usernameConfigured": true,
"publicKeyConfigured": true,
"privateKeyConfigured": true,
"rotatedAt": "string"
},
"affectedUsage": {
"totalServers": 0,
"activeServers": 0,
"inactiveServers": 0,
"servers": [
{
"serverId": "string",
"serverName": "string",
"lifecycleStatus": "active",
"providerKey": "string",
"host": "string",
"username": "string"
}
]
}
}curl -X GET "https://example.com/environments/count"{
"count": 0
}/environmentsQuery Parameters
0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/environments"{
"items": [
{
"id": "string",
"projectId": "string",
"name": "string",
"kind": "local",
"parentEnvironmentId": "string",
"lifecycleStatus": "active",
"lockedAt": "string",
"lockReason": "string",
"archivedAt": "string",
"archiveReason": "string",
"createdAt": "string",
"maskedVariables": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
}
]
}
]
}/environmentsRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "name": "string", "kind": "local" }'{
"id": "string"
}/environments/{environmentId}Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/environments/string"{
"id": "string",
"projectId": "string",
"name": "string",
"kind": "local",
"parentEnvironmentId": "string",
"lifecycleStatus": "active",
"lockedAt": "string",
"lockReason": "string",
"archivedAt": "string",
"archiveReason": "string",
"createdAt": "string",
"maskedVariables": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
}
]
}/environments/{environmentId}/lockLocks one environment to block mutable work while keeping it readable. Public docs: /docs/environments/model/#environment-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments/string/lock" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/environments/{environmentId}/unlockUnlocks one environment so mutable work can resume. Public docs: /docs/environments/model/#environment-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X POST "https://example.com/environments/string/unlock"{
"id": "string"
}/environments/{environmentId}/archiveArchives one environment while keeping deployment history readable. Public docs: /docs/environments/model/#environment-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments/string/archive" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/environments/{environmentId}/cloneClones one active environment into a new environment in the same project. Public docs: /docs/environments/model/#environment-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments/string/clone" \ -H "Content-Type: application/json" \ -d '{ "targetName": "string" }'{
"id": "string"
}/environments/{environmentId}/renameRenames one active environment without changing configuration or deployments. Public docs: /docs/environments/model/#environment-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments/string/rename" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string"
}/environments/{environmentId}/variablesSets an environment variable with explicit kind, exposure, scope, and secret handling. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments/string/variables" \ -H "Content-Type: application/json" \ -d '{ "key": "string", "value": "string", "kind": "plain-config", "exposure": "build-time" }'null/environments/{environmentId}/variables/{key}Removes an environment variable in a specific exposure and optional scope. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/environments/string/variables/string" \ -H "Content-Type: application/json" \ -d '{ "exposure": "build-time" }'null/environments/{environmentId}/effective-precedenceReads masked environment variables after environment precedence resolution. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/environments/string/effective-precedence"{
"schemaVersion": "environments.effective-precedence/v1",
"environmentId": "string",
"projectId": "string",
"ownedEntries": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string",
"updatedAt": "string"
}
],
"effectiveEntries": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string",
"updatedAt": "string"
}
],
"precedence": [
"string"
],
"generatedAt": "string"
}/environments/{environmentId}/promotePromotes one environment configuration set into another. Public docs: /docs/environments/changes/diff-promote/#environment-diff
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/environments/string/promote" \ -H "Content-Type: application/json" \ -d '{ "targetName": "string", "targetKind": "local" }'{
"id": "string"
}/environments/{environmentId}/diff/{otherEnvironmentId}Compares two environment configuration sets. Public docs: /docs/environments/changes/diff-promote/#environment-diff
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/environments/string/diff/string"[
{
"key": "string",
"exposure": "build-time",
"left": {
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
},
"right": {
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
},
"change": "added"
}
]/default-access-domain-policiesLists persisted default access policy records. Public docs: /docs/access/generated-routes/#default-access-policy
Response Body
application/json
curl -X GET "https://example.com/default-access-domain-policies"{
"schemaVersion": "default-access-domain-policies.list/v1",
"items": [
{
"schemaVersion": "default-access-domain-policies.policy/v1",
"id": "string",
"scope": {
"kind": "system"
},
"mode": "disabled",
"providerKey": "string",
"templateRef": "string",
"updatedAt": "string"
}
]
}/default-access-domain-policiesConfigures generated access routes for deployed resources. Public docs: /docs/access/generated-routes/#default-access-policy
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/default-access-domain-policies" \ -H "Content-Type: application/json" \ -d '{ "scope": { "kind": "system" }, "mode": "disabled" }'{
"id": "string"
}/default-access-domain-policies/showReads one persisted default access policy scope. Public docs: /docs/access/generated-routes/#default-access-policy
Query Parameters
"system""system" | "deployment-target"1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/default-access-domain-policies/show"{
"schemaVersion": "default-access-domain-policies.show/v1",
"scope": {
"kind": "system"
},
"policy": {
"schemaVersion": "default-access-domain-policies.policy/v1",
"id": "string",
"scope": {
"kind": "system"
},
"mode": "disabled",
"providerKey": "string",
"templateRef": "string",
"updatedAt": "string"
}
}/resources/countQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/resources/count"{
"count": 0
}/resourcesQuery Parameters
0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/resources"{
"items": [
{
"id": "string",
"projectId": "string",
"environmentId": "string",
"destinationId": "string",
"name": "string",
"slug": "string",
"kind": "application",
"description": "string",
"createdAt": "string",
"services": [
{
"name": "string",
"kind": "web"
}
],
"networkProfile": {
"internalPort": 1,
"upstreamProtocol": "http",
"exposureMode": "none",
"targetServiceName": "string",
"hostPort": 1
},
"accessProfile": {
"generatedAccessMode": "inherit",
"pathPrefix": "/"
},
"deploymentCount": 0,
"lastDeploymentId": "string",
"lastDeploymentStatus": "created",
"latestRuntimeControl": {
"runtimeControlAttemptId": "string",
"operation": "stop",
"status": "accepted",
"startedAt": "string",
"completedAt": "string",
"runtimeState": "starting",
"blockedReason": "resource-archived",
"errorCode": "string",
"phases": [
{
"phase": "stop",
"status": "pending",
"errorCode": "string"
}
]
},
"accessSummary": {
"plannedGeneratedAccessRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1
},
"latestGeneratedAccessRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"latestDurableDomainRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"latestServerAppliedDomainRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"proxyRouteStatus": "unknown",
"lastRouteRealizationDeploymentId": "string",
"latestAccessFailureDiagnostic": {
"schemaVersion": "resource-access-failure/v1",
"requestId": "string",
"generatedAt": "string",
"code": "resource_access_route_not_found",
"category": "infra",
"phase": "edge-request-routing",
"httpStatus": 404,
"retriable": true,
"ownerHint": "platform",
"nextAction": "check-health",
"affected": {
"url": "string",
"hostname": "string",
"path": "string",
"method": "string"
},
"route": {
"host": "string",
"pathPrefix": "string",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"providerKey": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"routeStatus": "string"
},
"causeCode": "string",
"correlationId": "string",
"causationId": "string"
}
}
}
]
}/resourcesRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "environmentId": "string", "name": "string" }'{
"id": "string"
}/resources/{resourceId}Reads one resource profile with optional diagnostics for profile drift. Public docs: /docs/resources/profiles/source-runtime/#resource-profile-drift
Path Parameters
1 <= lengthQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/resources/string"{
"schemaVersion": "resources.show/v1",
"resource": {
"id": "string",
"projectId": "string",
"environmentId": "string",
"destinationId": "string",
"name": "string",
"slug": "string",
"kind": "application",
"description": "string",
"createdAt": "string",
"services": [
{
"name": "string",
"kind": "web"
}
],
"deploymentCount": 0,
"lastDeploymentId": "string",
"lastDeploymentStatus": "created"
},
"source": {
"kind": "local-folder",
"locator": "string",
"displayName": "string",
"sourceBindingFingerprint": "string",
"gitRef": "string",
"commitSha": "string",
"baseDirectory": "string",
"originalLocator": "string",
"repositoryId": "string",
"repositoryFullName": "string",
"defaultBranch": "string",
"imageName": "string",
"imageTag": "string",
"imageDigest": "string",
"metadata": {
"property1": "string",
"property2": "string"
}
},
"autoDeployPolicy": {
"status": "enabled",
"triggerKind": "git-push",
"refs": [
"string"
],
"eventKinds": [
"push"
],
"sourceBindingFingerprint": "string",
"blockedReason": "source-binding-changed",
"genericWebhookSecretRef": "string",
"dedupeWindowSeconds": 1,
"updatedAt": "string"
},
"runtimeProfile": {
"strategy": "auto",
"installCommand": "string",
"buildCommand": "string",
"startCommand": "string",
"runtimeName": "string",
"publishDirectory": "string",
"dockerfilePath": "string",
"dockerComposeFilePath": "string",
"buildTarget": "string",
"healthCheckPath": "string",
"healthCheck": {
"enabled": true,
"type": "http",
"intervalSeconds": 1,
"timeoutSeconds": 1,
"retries": 1,
"startPeriodSeconds": 0,
"http": {
"method": "GET",
"scheme": "http",
"host": "string",
"port": 1,
"path": "string",
"expectedStatusCode": 100,
"expectedResponseText": "string"
}
}
},
"networkProfile": {
"internalPort": 1,
"upstreamProtocol": "http",
"exposureMode": "none",
"targetServiceName": "string",
"hostPort": 1
},
"accessProfile": {
"generatedAccessMode": "inherit",
"pathPrefix": "/"
},
"healthPolicy": {
"enabled": true,
"type": "http",
"intervalSeconds": 1,
"timeoutSeconds": 1,
"retries": 1,
"startPeriodSeconds": 0,
"http": {
"method": "GET",
"scheme": "http",
"host": "string",
"port": 1,
"path": "string",
"expectedStatusCode": 100,
"expectedResponseText": "string"
}
},
"storageAttachments": [
{
"id": "string",
"storageVolumeId": "string",
"storageVolumeName": "string",
"storageVolumeKind": "named-volume",
"destinationPath": "string",
"mountMode": "read-write",
"attachedAt": "string"
}
],
"accessSummary": {
"plannedGeneratedAccessRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1
},
"latestGeneratedAccessRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"latestDurableDomainRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"latestServerAppliedDomainRoute": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"proxyRouteStatus": "unknown",
"lastRouteRealizationDeploymentId": "string",
"latestAccessFailureDiagnostic": {
"schemaVersion": "resource-access-failure/v1",
"requestId": "string",
"generatedAt": "string",
"code": "resource_access_route_not_found",
"category": "infra",
"phase": "edge-request-routing",
"httpStatus": 404,
"retriable": true,
"ownerHint": "platform",
"nextAction": "check-health",
"affected": {
"url": "string",
"hostname": "string",
"path": "string",
"method": "string"
},
"route": {
"host": "string",
"pathPrefix": "string",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"providerKey": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"routeStatus": "string"
},
"causeCode": "string",
"correlationId": "string",
"causationId": "string"
}
},
"latestDeployment": {
"id": "string",
"status": "created",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"serverId": "string",
"destinationId": "string"
},
"lifecycle": {
"status": "active",
"archivedAt": "string",
"deletedAt": "string"
},
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"path": "string",
"section": "source",
"fieldPath": "string",
"configKey": "string",
"configExposure": "build-time",
"configKind": "deployment-strategy",
"configScope": "defaults",
"configSource": "resource",
"comparison": "resource-vs-entry-profile",
"resourceValue": {
"state": "present",
"displayValue": "string",
"valueHash": "string"
},
"entryProfileValue": {
"state": "present",
"displayValue": "string",
"valueHash": "string"
},
"deploymentSnapshotValue": {
"state": "present",
"displayValue": "string",
"valueHash": "string"
},
"latestDeploymentId": "string",
"configPointer": "string",
"blocksDeploymentAdmission": true,
"suggestedCommand": "resources.configure-source"
}
],
"generatedAt": "string"
}/resources/{resourceId}Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/resources/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "resourceSlug": "string" } }'{
"id": "string"
}/resources/{resourceId}/archivePath Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/archive" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/resources/{resourceId}/health-policyConfigures readiness and health checks used during verification. Public docs: /docs/resources/profiles/health-network/#resource-health-profile
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/health-policy" \ -H "Content-Type: application/json" \ -d '{ "healthCheck": {} }'{
"id": "string"
}/resources/{resourceId}/health-policy/resetResets the reusable resource health policy without deploying or restarting runtime. Public docs: /docs/resources/profiles/health-network/#resource-health-profile
Path Parameters
1 <= lengthResponse Body
application/json
curl -X POST "https://example.com/resources/string/health-policy/reset"{
"id": "string"
}/resources/{resourceId}/network-profileConfigures ports, protocols, and exposure behavior for resource access. Public docs: /docs/resources/profiles/health-network/#resource-network-profile
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/network-profile" \ -H "Content-Type: application/json" \ -d '{ "networkProfile": { "internalPort": 1 } }'{
"id": "string"
}/resources/{resourceId}/access-profileConfigures resource participation in generated default access route planning. Public docs: /docs/access/generated-routes/#resource-access-profile
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/access-profile" \ -H "Content-Type: application/json" \ -d '{ "accessProfile": {} }'{
"id": "string"
}/resources/{resourceId}/auto-deployConfigures a Resource-owned auto-deploy policy for trusted source events. Public docs: /docs/deploy/sources/#source-auto-deploy-setup
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/auto-deploy" \ -H "Content-Type: application/json" \ -d '{ "mode": "enable" }'{
"resourceId": "string",
"status": "enabled",
"triggerKind": "git-push",
"refs": [
"string"
],
"eventKinds": [
"push"
],
"sourceBindingFingerprint": "string",
"blockedReason": "source-binding-changed"
}/resources/{resourceId}/storage-attachmentsAttaches an existing storage volume to a resource at a validated destination path. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/storage-attachments" \ -H "Content-Type: application/json" \ -d '{ "storageVolumeId": "string", "destinationPath": "string" }'{
"id": "string"
}/resources/{resourceId}/storage-attachments/{attachmentId}Detaches storage from a resource without deleting the underlying volume. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X DELETE "https://example.com/resources/string/storage-attachments/string"{
"id": "string"
}/resources/{resourceId}/runtime-profileConfigures runtime settings such as strategy, commands, and publish directory. Public docs: /docs/resources/profiles/source-runtime/#resource-runtime-profile
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/runtime-profile" \ -H "Content-Type: application/json" \ -d '{ "runtimeProfile": {} }'{
"id": "string"
}/resources/{resourceId}/sourceConfigures the source profile used by later deployment detect and plan stages. Public docs: /docs/resources/profiles/source-runtime/#resource-source-profile
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/source" \ -H "Content-Type: application/json" \ -d '{ "source": { "kind": "local-folder", "locator": "./apps/web", "displayName": "Web console", "baseDirectory": ".", "metadata": { "framework": "sveltekit" } }, "idempotencyKey": "configure-source-res-web-console" }'{
"id": "string"
}/resources/{resourceId}/variablesSets one resource-scoped variable or secret override. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/variables" \ -H "Content-Type: application/json" \ -d '{ "key": "string", "value": "string", "exposure": "build-time" }'null/resources/{resourceId}/secretsLists masked resource-owned secret references for one resource. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthQuery Parameters
"runtime""build-time" | "runtime"Response Body
application/json
curl -X GET "https://example.com/resources/string/secrets"{
"schemaVersion": "resources.secrets.list/v1",
"resourceId": "string",
"items": [
{
"resourceId": "string",
"key": "string",
"value": "****",
"scope": "resource",
"exposure": "build-time",
"isSecret": true,
"kind": "secret",
"updatedAt": "string"
}
],
"generatedAt": "string"
}/resources/{resourceId}/secretsCreates one resource-owned runtime secret reference without exposing its value on reads. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/secrets" \ -H "Content-Type: application/json" \ -d '{ "key": "string", "value": "string" }'{
"resourceId": "string",
"key": "string",
"exposure": "build-time"
}/resources/{resourceId}/secrets/{key}Reads one masked resource-owned secret reference. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= length1 <= lengthQuery Parameters
"runtime""build-time" | "runtime"Response Body
application/json
curl -X GET "https://example.com/resources/string/secrets/string"{
"schemaVersion": "resources.secrets.show/v1",
"secret": {
"resourceId": "string",
"key": "string",
"value": "****",
"scope": "resource",
"exposure": "build-time",
"isSecret": true,
"kind": "secret",
"updatedAt": "string"
},
"generatedAt": "string"
}/resources/{resourceId}/secrets/{key}Rotates the value of one existing resource-owned secret reference. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/secrets/string" \ -H "Content-Type: application/json" \ -d '{ "value": "string" }'{
"resourceId": "string",
"key": "string",
"exposure": "build-time"
}/resources/{resourceId}/secrets/{key}Deletes one existing resource-owned secret reference. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/resources/string/secrets/string" \ -H "Content-Type: application/json" \ -d '{}'{
"resourceId": "string",
"key": "string",
"exposure": "build-time"
}/resources/{resourceId}/variables/importImports pasted .env content into resource-scoped variables and secrets. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/variables/import" \ -H "Content-Type: application/json" \ -d '{ "content": "string", "exposure": "build-time" }'{
"resourceId": "string",
"importedEntries": [
{
"key": "string",
"value": "string",
"exposure": "build-time",
"kind": "plain-config",
"isSecret": true,
"action": "created",
"sourceLine": 1
}
],
"duplicateOverrides": [
{
"key": "string",
"exposure": "build-time",
"firstLine": 1,
"lastLine": 1,
"rule": "last-wins"
}
],
"existingOverrides": [
{
"key": "string",
"exposure": "build-time",
"previousScope": "resource",
"rule": "resource-entry-replaced"
}
]
}/resources/{resourceId}/variables/{key}Removes one resource-scoped variable override. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/resources/string/variables/string" \ -H "Content-Type: application/json" \ -d '{ "exposure": "build-time" }'null/resources/{resourceId}/effective-configReads the masked effective configuration for one resource. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/string/effective-config"{
"schemaVersion": "resources.effective-config/v1",
"resourceId": "string",
"environmentId": "string",
"ownedEntries": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string",
"updatedAt": "string"
}
],
"effectiveEntries": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string",
"updatedAt": "string"
}
],
"overrides": [],
"precedence": [
"string"
],
"generatedAt": "string"
}/resources/{resourceId}/diagnostic-summaryReturns a support-safe diagnostic summary. Public docs: /docs/observe/diagnostics/#diagnostic-summary-copy-support-payload
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= length1 <= length200 <= value <= 501 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/string/diagnostic-summary"{
"schemaVersion": "resources.diagnostic-summary/v1",
"generatedAt": "string",
"focus": {
"resourceId": "string",
"requestedDeploymentId": "string",
"deploymentId": "string"
},
"context": {
"projectId": "string",
"environmentId": "string",
"resourceName": "string",
"resourceSlug": "string",
"resourceKind": "application",
"destinationId": "string",
"serverId": "string",
"runtimeStrategy": "docker-container",
"buildStrategy": "dockerfile",
"packagingMode": "split-deploy",
"targetKind": "single-server",
"targetProviderKey": "string",
"services": [
{
"name": "string",
"kind": "web"
}
],
"networkProfile": {
"internalPort": 1,
"upstreamProtocol": "http",
"exposureMode": "none",
"targetServiceName": "string",
"hostPort": 1
},
"observationWindow": {
"from": "string",
"to": "string"
}
},
"deployment": {
"id": "string",
"status": "created",
"lifecyclePhase": "created",
"runtimePlanId": "string",
"sourceKind": "local-folder",
"sourceDisplayName": "string",
"serverId": "string",
"destinationId": "string",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"logCount": 0,
"lastError": {
"timestamp": "string",
"phase": "detect",
"message": "string"
}
},
"access": {
"status": "available",
"generatedUrl": "string",
"durableUrl": "string",
"serverAppliedUrl": "string",
"plannedUrl": "string",
"latestAccessFailure": {
"schemaVersion": "resource-access-failure/v1",
"requestId": "string",
"generatedAt": "string",
"code": "resource_access_route_not_found",
"category": "infra",
"phase": "edge-request-routing",
"httpStatus": 404,
"retriable": true,
"ownerHint": "platform",
"nextAction": "check-health",
"affected": {
"url": "string",
"hostname": "string",
"path": "string",
"method": "string"
},
"route": {
"host": "string",
"pathPrefix": "string",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"providerKey": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"routeStatus": "string"
},
"causeCode": "string",
"correlationId": "string",
"causationId": "string"
},
"selectedRoute": {
"schemaVersion": "route-intent-status/v1",
"routeId": "string",
"diagnosticId": "string",
"source": "generated-default-access",
"intent": {
"host": "string",
"pathPrefix": "string",
"protocol": "http",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301
},
"context": {
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"destinationId": "string",
"runtimeTargetKind": "string"
},
"proxy": {
"intent": "not-required",
"applied": "not-configured",
"providerKey": "string"
},
"domainVerification": "not-applicable",
"tls": "not-applicable",
"runtimeHealth": "healthy",
"latestObservation": {
"source": "resource-access-summary",
"observedAt": "string",
"requestId": "string",
"deploymentId": "string"
},
"blockingReason": "runtime_not_ready",
"recommendedAction": "none",
"copySafeSummary": {
"status": "available",
"code": "string",
"phase": "string",
"message": "string"
}
},
"routeIntentStatuses": [
{
"schemaVersion": "route-intent-status/v1",
"routeId": "string",
"diagnosticId": "string",
"source": "generated-default-access",
"intent": {
"host": "string",
"pathPrefix": "string",
"protocol": "http",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301
},
"context": {
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"destinationId": "string",
"runtimeTargetKind": "string"
},
"proxy": {
"intent": "not-required",
"applied": "not-configured",
"providerKey": "string"
},
"domainVerification": "not-applicable",
"tls": "not-applicable",
"runtimeHealth": "healthy",
"latestObservation": {
"source": "resource-access-summary",
"observedAt": "string",
"requestId": "string",
"deploymentId": "string"
},
"blockingReason": "runtime_not_ready",
"recommendedAction": "none",
"copySafeSummary": {
"status": "available",
"code": "string",
"phase": "string",
"message": "string"
}
}
],
"proxyRouteStatus": "unknown",
"lastRouteRealizationDeploymentId": "string",
"reasonCode": "string",
"phase": "string"
},
"proxy": {
"status": "available",
"providerKey": "string",
"proxyRouteStatus": "unknown",
"configurationIncluded": true,
"configurationStatus": "not-configured",
"configurationGeneratedAt": "string",
"routeCount": 0,
"sectionCount": 0,
"sections": [
{
"id": "string",
"title": "string",
"format": "docker-labels",
"redacted": true,
"source": "provider-rendered"
}
],
"tlsRoutes": [
{
"hostname": "string",
"pathPrefix": "string",
"tlsMode": "auto",
"scheme": "http",
"automation": "disabled",
"certificateSource": "none",
"appaloftCertificateManaged": true,
"message": "string"
}
],
"warnings": [
{
"code": "string",
"message": "string",
"details": {
"property1": "string",
"property2": "string"
}
}
],
"reasonCode": "string",
"phase": "string"
},
"deploymentLogs": {
"status": "available",
"tailLimit": 0,
"lineCount": 0,
"lines": [
{
"timestamp": "string",
"source": "appaloft",
"phase": "detect",
"level": "debug",
"stream": "stdout",
"serviceName": "string",
"message": "string",
"masked": true
}
],
"reasonCode": "string",
"phase": "string"
},
"runtimeLogs": {
"status": "available",
"tailLimit": 0,
"lineCount": 0,
"lines": [
{
"timestamp": "string",
"source": "appaloft",
"phase": "detect",
"level": "debug",
"stream": "stdout",
"serviceName": "string",
"message": "string",
"masked": true
}
],
"reasonCode": "string",
"phase": "string"
},
"system": {
"entrypoint": "cli",
"requestId": "string",
"locale": "string",
"readinessStatus": "ready",
"databaseDriver": "string",
"databaseMode": "string"
},
"sourceErrors": [
{
"source": "deployment",
"code": "string",
"category": "string",
"phase": "string",
"retryable": true,
"relatedEntityId": "string",
"relatedState": "string",
"message": "string"
}
],
"redaction": {
"policy": "deployment-environment-secrets",
"masked": true,
"maskedValueCount": 0
},
"copy": {
"json": "string",
"markdown": "string",
"plainText": "string"
}
}/resource-access-failures/{requestId}Looks up short-retention, support-safe access failure evidence by request id. Public docs: /docs/observe/diagnostics/#access-failure-request-id-lookup
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resource-access-failures/string"{
"schemaVersion": "resources.access-failure-evidence.lookup/v1",
"requestId": "string",
"generatedAt": "string",
"filters": {
"resourceId": "string",
"hostname": "string",
"path": "string"
},
"status": "found",
"matchedSource": "short-retention-evidence-read-model",
"evidence": {
"schemaVersion": "resource-access-failure/v1",
"requestId": "string",
"generatedAt": "string",
"code": "resource_access_route_not_found",
"category": "infra",
"phase": "edge-request-routing",
"httpStatus": 404,
"retriable": true,
"ownerHint": "platform",
"nextAction": "check-health",
"affected": {
"url": "string",
"hostname": "string",
"path": "string",
"method": "string"
},
"route": {
"host": "string",
"pathPrefix": "string",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"providerKey": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"routeStatus": "string"
},
"causeCode": "string",
"correlationId": "string",
"causationId": "string"
},
"relatedIds": {
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"routeId": "string"
},
"nextAction": "check-health",
"capturedAt": "string",
"expiresAt": "string"
}/resources/{resourceId}/healthReads current resource health. Public docs: /docs/observe/logs-health/#observe-health-summary
Path Parameters
1 <= lengthQuery Parameters
"cached""cached" | "live"Response Body
application/json
curl -X GET "https://example.com/resources/string/health"{
"schemaVersion": "resources.health/v1",
"resourceId": "string",
"generatedAt": "string",
"observedAt": "string",
"overall": "healthy",
"latestDeployment": {
"id": "string",
"status": "created",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"serverId": "string",
"destinationId": "string",
"lastError": {
"timestamp": "string",
"phase": "detect",
"message": "string"
}
},
"runtime": {
"lifecycle": "not-deployed",
"health": "healthy",
"observedAt": "string",
"runtimeKind": "docker-container",
"reasonCode": "string",
"message": "string"
},
"latestRuntimeControl": {
"runtimeControlAttemptId": "string",
"operation": "stop",
"status": "accepted",
"startedAt": "string",
"completedAt": "string",
"runtimeState": "starting",
"blockedReason": "resource-archived",
"errorCode": "string",
"phases": [
{
"phase": "stop",
"status": "pending",
"errorCode": "string"
}
]
},
"healthPolicy": {
"status": "configured",
"enabled": true,
"type": "http",
"path": "string",
"port": 0,
"expectedStatusCode": 0,
"intervalSeconds": 0,
"timeoutSeconds": 0,
"retries": 0,
"startPeriodSeconds": 0,
"reasonCode": "string"
},
"publicAccess": {
"status": "ready",
"url": "string",
"kind": "durable-domain",
"reasonCode": "string",
"phase": "string",
"routeIntentStatus": {
"schemaVersion": "route-intent-status/v1",
"routeId": "string",
"diagnosticId": "string",
"source": "generated-default-access",
"intent": {
"host": "string",
"pathPrefix": "string",
"protocol": "http",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301
},
"context": {
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"destinationId": "string",
"runtimeTargetKind": "string"
},
"proxy": {
"intent": "not-required",
"applied": "not-configured",
"providerKey": "string"
},
"domainVerification": "not-applicable",
"tls": "not-applicable",
"runtimeHealth": "healthy",
"latestObservation": {
"source": "resource-access-summary",
"observedAt": "string",
"requestId": "string",
"deploymentId": "string"
},
"blockingReason": "runtime_not_ready",
"recommendedAction": "none",
"copySafeSummary": {
"status": "available",
"code": "string",
"phase": "string",
"message": "string"
}
},
"latestAccessFailure": {
"schemaVersion": "resource-access-failure/v1",
"requestId": "string",
"generatedAt": "string",
"code": "resource_access_route_not_found",
"category": "infra",
"phase": "edge-request-routing",
"httpStatus": 404,
"retriable": true,
"ownerHint": "platform",
"nextAction": "check-health",
"affected": {
"url": "string",
"hostname": "string",
"path": "string",
"method": "string"
},
"route": {
"host": "string",
"pathPrefix": "string",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"providerKey": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"routeStatus": "string"
},
"causeCode": "string",
"correlationId": "string",
"causationId": "string"
}
},
"proxy": {
"status": "ready",
"providerKey": "string",
"lastRouteRealizationDeploymentId": "string",
"reasonCode": "string"
},
"checks": [
{
"name": "string",
"target": "runtime",
"status": "passed",
"observedAt": "string",
"durationMs": 0,
"statusCode": 0,
"exitCode": 0,
"message": "string",
"reasonCode": "string",
"phase": "string",
"retriable": true,
"metadata": {
"property1": "string",
"property2": "string"
}
}
],
"sourceErrors": [
{
"source": "deployment",
"code": "string",
"category": "string",
"phase": "string",
"retriable": true,
"relatedEntityId": "string",
"relatedState": "string",
"message": "string"
}
]
}/resources/{resourceId}/health-historyReads retained resource health observations for a bounded time window. Public docs: /docs/observe/logs-health/#observe-health-summary
Path Parameters
1 <= lengthQuery Parameters
2001 <= value <= 720^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-timeResponse Body
application/json
curl -X GET "https://example.com/resources/string/health-history"{
"schemaVersion": "resources.health-history/v1",
"resourceId": "string",
"from": "string",
"to": "string",
"generatedAt": "string",
"observations": [
{
"observationId": "string",
"observedAt": "string",
"overall": "healthy",
"runtimeLifecycle": "not-deployed",
"runtimeHealth": "healthy",
"publicAccessStatus": "ready",
"proxyStatus": "ready",
"healthPolicyStatus": "configured",
"latestDeploymentId": "string",
"summary": {
"schemaVersion": "resources.health/v1",
"resourceId": "string",
"generatedAt": "string",
"observedAt": "string",
"overall": "healthy",
"latestDeployment": {
"id": "string",
"status": "created",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"serverId": "string",
"destinationId": "string",
"lastError": {
"timestamp": "string",
"phase": "detect",
"message": "string"
}
},
"runtime": {
"lifecycle": "not-deployed",
"health": "healthy",
"observedAt": "string",
"runtimeKind": "docker-container",
"reasonCode": "string",
"message": "string"
},
"latestRuntimeControl": {
"runtimeControlAttemptId": "string",
"operation": "stop",
"status": "accepted",
"startedAt": "string",
"completedAt": "string",
"runtimeState": "starting",
"blockedReason": "resource-archived",
"errorCode": "string",
"phases": [
{
"phase": "stop",
"status": "pending",
"errorCode": "string"
}
]
},
"healthPolicy": {
"status": "configured",
"enabled": true,
"type": "http",
"path": "string",
"port": 0,
"expectedStatusCode": 0,
"intervalSeconds": 0,
"timeoutSeconds": 0,
"retries": 0,
"startPeriodSeconds": 0,
"reasonCode": "string"
},
"publicAccess": {
"status": "ready",
"url": "string",
"kind": "durable-domain",
"reasonCode": "string",
"phase": "string",
"routeIntentStatus": {
"schemaVersion": "route-intent-status/v1",
"routeId": "string",
"diagnosticId": "string",
"source": "generated-default-access",
"intent": {
"host": "string",
"pathPrefix": "string",
"protocol": "http",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301
},
"context": {
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"destinationId": "string",
"runtimeTargetKind": "string"
},
"proxy": {
"intent": "not-required",
"applied": "not-configured",
"providerKey": "string"
},
"domainVerification": "not-applicable",
"tls": "not-applicable",
"runtimeHealth": "healthy",
"latestObservation": {
"source": "resource-access-summary",
"observedAt": "string",
"requestId": "string",
"deploymentId": "string"
},
"blockingReason": "runtime_not_ready",
"recommendedAction": "none",
"copySafeSummary": {
"status": "available",
"code": "string",
"phase": "string",
"message": "string"
}
},
"latestAccessFailure": {
"schemaVersion": "resource-access-failure/v1",
"requestId": "string",
"generatedAt": "string",
"code": "resource_access_route_not_found",
"category": "infra",
"phase": "edge-request-routing",
"httpStatus": 404,
"retriable": true,
"ownerHint": "platform",
"nextAction": "check-health",
"affected": {
"url": "string",
"hostname": "string",
"path": "string",
"method": "string"
},
"route": {
"host": "string",
"pathPrefix": "string",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"providerKey": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"routeStatus": "string"
},
"causeCode": "string",
"correlationId": "string",
"causationId": "string"
}
},
"proxy": {
"status": "ready",
"providerKey": "string",
"lastRouteRealizationDeploymentId": "string",
"reasonCode": "string"
},
"checks": [
{
"name": "string",
"target": "runtime",
"status": "passed",
"observedAt": "string",
"durationMs": 0,
"statusCode": 0,
"exitCode": 0,
"message": "string",
"reasonCode": "string",
"phase": "string",
"retriable": true,
"metadata": {
"property1": "string",
"property2": "string"
}
}
],
"sourceErrors": [
{
"source": "deployment",
"code": "string",
"category": "string",
"phase": "string",
"retriable": true,
"relatedEntityId": "string",
"relatedState": "string",
"message": "string"
}
]
}
}
],
"sourceErrors": [
{
"source": "deployment",
"code": "string",
"category": "string",
"phase": "string",
"retriable": true,
"relatedEntityId": "string",
"relatedState": "string",
"message": "string"
}
]
}/resources/{resourceId}/proxy-configurationPreviews generated proxy configuration for a resource. Public docs: /docs/resources/profiles/health-network/#resource-network-profile
Path Parameters
1 <= lengthQuery Parameters
1 <= length"latest""planned" | "latest" | "deployment-snapshot"falseResponse Body
application/json
curl -X GET "https://example.com/resources/string/proxy-configuration"{
"resourceId": "string",
"deploymentId": "string",
"providerKey": "string",
"routeScope": "planned",
"status": "not-configured",
"generatedAt": "string",
"lastAppliedDeploymentId": "string",
"stale": true,
"routes": [
{
"hostname": "string",
"scheme": "http",
"url": "string",
"pathPrefix": "string",
"tlsMode": "auto",
"targetPort": 1,
"source": "generated-default",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301,
"appliedRouteContext": {
"schemaVersion": "applied-route-context/v1",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"hostname": "string",
"pathPrefix": "string",
"proxyKind": "none",
"providerKey": "string",
"appliedAt": "string",
"observedAt": "string"
}
}
],
"sections": [
{
"id": "string",
"title": "string",
"format": "docker-labels",
"language": "string",
"readonly": true,
"redacted": true,
"content": "string",
"source": "provider-rendered"
}
],
"warnings": [
{
"code": "string",
"message": "string",
"details": {
"property1": "string",
"property2": "string"
}
}
],
"diagnostics": {
"providerKey": "string",
"routeCount": 0,
"networkName": "string",
"tlsRoutes": [
{
"hostname": "string",
"pathPrefix": "string",
"tlsMode": "auto",
"scheme": "http",
"automation": "disabled",
"certificateSource": "none",
"appaloftCertificateManaged": true,
"message": "string",
"details": {
"property1": "string",
"property2": "string"
}
}
],
"appliedRouteContexts": [
{
"schemaVersion": "applied-route-context/v1",
"resourceId": "string",
"deploymentId": "string",
"domainBindingId": "string",
"serverId": "string",
"destinationId": "string",
"routeId": "string",
"diagnosticId": "string",
"routeSource": "generated-default",
"hostname": "string",
"pathPrefix": "string",
"proxyKind": "none",
"providerKey": "string",
"appliedAt": "string",
"observedAt": "string"
}
],
"metadata": {
"property1": "string",
"property2": "string"
}
}
}/resources/{resourceId}/runtime-logsReads resource runtime logs. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= length1000 <= value <= 10001 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/string/runtime-logs"{
"resourceId": "string",
"deploymentId": "string",
"logs": [
{
"resourceId": "string",
"deploymentId": "string",
"serviceName": "string",
"runtimeKind": "string",
"runtimeInstanceId": "string",
"stream": "stdout",
"timestamp": "string",
"sequence": 0,
"cursor": "string",
"message": "string",
"masked": true
}
]
}/resources/{resourceId}/runtime-logs/streamReads resource runtime logs. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= length1000 <= value <= 10001 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/string/runtime-logs/stream"null/resources/{resourceId}/runtime-log-archivesCaptures a bounded redacted resource runtime log archive snapshot. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/runtime-log-archives" \ -H "Content-Type: application/json" \ -d '{}'{
"schemaVersion": "resources.runtime-logs.archive/v1",
"archive": {
"archiveId": "string",
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"serviceName": "string",
"runtimeKind": "string",
"capturedAt": "string",
"lineCount": 0,
"retentionStatus": "retained",
"reason": "string",
"lines": [
{
"resourceId": "string",
"deploymentId": "string",
"serviceName": "string",
"runtimeKind": "string",
"runtimeInstanceId": "string",
"stream": "stdout",
"timestamp": "string",
"sequence": 0,
"cursor": "string",
"message": "string",
"masked": true
}
]
}
}/resources/runtime-log-archivesLists retained Appaloft-owned resource runtime log archive snapshots. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Query Parameters
1 <= length1 <= length1 <= length1 <= length500 < value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/runtime-log-archives"{
"schemaVersion": "resources.runtime-log-archives.list/v1",
"items": [
{
"archiveId": "string",
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"serviceName": "string",
"runtimeKind": "string",
"capturedAt": "string",
"lineCount": 0,
"retentionStatus": "retained",
"reason": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/resources/runtime-log-archives/{archiveId}Shows one retained Appaloft-owned resource runtime log archive snapshot. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/runtime-log-archives/string"{
"schemaVersion": "resources.runtime-log-archives.show/v1",
"archive": {
"archiveId": "string",
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"serviceName": "string",
"runtimeKind": "string",
"capturedAt": "string",
"lineCount": 0,
"retentionStatus": "retained",
"reason": "string",
"lines": [
{
"resourceId": "string",
"deploymentId": "string",
"serviceName": "string",
"runtimeKind": "string",
"runtimeInstanceId": "string",
"stream": "stdout",
"timestamp": "string",
"sequence": 0,
"cursor": "string",
"message": "string",
"masked": true
}
]
}
}/resources/runtime-log-archives/pruneDry-runs or prunes retained resource runtime log archive snapshots. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/runtime-log-archives/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "resources.runtime-log-archives.prune/v1",
"before": "string",
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"serviceName": "string",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"affectedResourceCount": 0,
"prunedAt": "string"
}/resources/{resourceId}/runtime/stopStops, starts, or restarts the current resource runtime without creating a deployment attempt. Public docs: /docs/observe/logs-health/#resource-runtime-controls
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/runtime/stop" \ -H "Content-Type: application/json" \ -d '{}'{
"runtimeControlAttemptId": "string",
"operation": "stop",
"status": "accepted",
"startedAt": "string",
"completedAt": "string",
"runtimeState": "starting",
"blockedReason": "resource-archived",
"errorCode": "string",
"phases": [
{
"phase": "stop",
"status": "pending",
"errorCode": "string"
}
]
}/resources/{resourceId}/runtime/startStops, starts, or restarts the current resource runtime without creating a deployment attempt. Public docs: /docs/observe/logs-health/#resource-runtime-controls
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/runtime/start" \ -H "Content-Type: application/json" \ -d '{}'{
"runtimeControlAttemptId": "string",
"operation": "stop",
"status": "accepted",
"startedAt": "string",
"completedAt": "string",
"runtimeState": "starting",
"blockedReason": "resource-archived",
"errorCode": "string",
"phases": [
{
"phase": "stop",
"status": "pending",
"errorCode": "string"
}
]
}/resources/{resourceId}/runtime/restartStops, starts, or restarts the current resource runtime without creating a deployment attempt. Public docs: /docs/observe/logs-health/#resource-runtime-controls
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/runtime/restart" \ -H "Content-Type: application/json" \ -d '{}'{
"runtimeControlAttemptId": "string",
"operation": "stop",
"status": "accepted",
"startedAt": "string",
"completedAt": "string",
"runtimeState": "starting",
"blockedReason": "resource-archived",
"errorCode": "string",
"phases": [
{
"phase": "stop",
"status": "pending",
"errorCode": "string"
}
]
}/resources/{resourceId}/dependency-bindingsLists safe dependency binding summaries for one resource without exposing raw connection secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/string/dependency-bindings"{
"schemaVersion": "resources.dependency-bindings.list/v1",
"items": [
{
"id": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"dependencyResourceId": "string",
"dependencyResourceName": "string",
"dependencyResourceSlug": "string",
"kind": "postgres",
"sourceMode": "appaloft-managed",
"providerKey": "string",
"providerManaged": true,
"lifecycleStatus": "provisioning",
"target": {
"targetName": "string",
"scope": "environment",
"injectionMode": "env",
"secretRef": "string"
},
"secretRotation": {
"secretRef": "string",
"secretVersion": "string",
"rotatedAt": "string",
"previousSecretVersion": "string"
},
"connection": {
"host": "string",
"port": 0,
"databaseName": "string",
"maskedConnection": "string",
"secretRef": "string"
},
"bindingReadiness": {
"status": "ready",
"reason": "string"
},
"snapshotReadiness": {
"status": "deferred",
"reason": "string"
},
"status": "active",
"createdAt": "string",
"removedAt": "string"
}
],
"generatedAt": "string"
}/resources/{resourceId}/dependency-bindingsBinds a ready Postgres dependency resource to a resource using safe control-plane metadata only. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/dependency-bindings" \ -H "Content-Type: application/json" \ -d '{ "dependencyResourceId": "string", "targetName": "string" }'{
"id": "string"
}/resources/{resourceId}/dependency-bindings/{bindingId}Reads one safe dependency binding summary for a resource without exposing raw connection secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/resources/string/dependency-bindings/string"{
"schemaVersion": "resources.dependency-bindings.show/v1",
"binding": {
"id": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"dependencyResourceId": "string",
"dependencyResourceName": "string",
"dependencyResourceSlug": "string",
"kind": "postgres",
"sourceMode": "appaloft-managed",
"providerKey": "string",
"providerManaged": true,
"lifecycleStatus": "provisioning",
"target": {
"targetName": "string",
"scope": "environment",
"injectionMode": "env",
"secretRef": "string"
},
"secretRotation": {
"secretRef": "string",
"secretVersion": "string",
"rotatedAt": "string",
"previousSecretVersion": "string"
},
"connection": {
"host": "string",
"port": 0,
"databaseName": "string",
"maskedConnection": "string",
"secretRef": "string"
},
"bindingReadiness": {
"status": "ready",
"reason": "string"
},
"snapshotReadiness": {
"status": "deferred",
"reason": "string"
},
"status": "active",
"createdAt": "string",
"removedAt": "string"
},
"generatedAt": "string"
}/resources/{resourceId}/dependency-bindings/{bindingId}Removes a resource dependency binding without deleting the dependency resource or external database. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X DELETE "https://example.com/resources/string/dependency-bindings/string"{
"id": "string"
}/resources/{resourceId}/dependency-bindings/{bindingId}/secret-rotationsRotates the safe secret reference used by a resource dependency binding for future deployments. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= length1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/dependency-bindings/string/secret-rotations" \ -H "Content-Type: application/json" \ -d '{ "confirmHistoricalSnapshotsRemainUnchanged": true }'{
"id": "string",
"rotatedAt": "string",
"secretVersion": "string"
}/static-artifacts/publicationsQuery Parameters
1 <= length1 <= length0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/static-artifacts/publications"{
"schemaVersion": "static-artifacts.publications.list/v1",
"items": [
{
"publicationId": "string",
"projectId": "string",
"resourceId": "string",
"artifactId": "string",
"manifestDigest": "string",
"fileCount": 0,
"totalBytes": 0,
"storageRef": "string",
"storageProviderKey": "string",
"routeUrl": "string",
"routeProviderKey": "string",
"publishedAt": "string",
"metadata": {
"property1": "string",
"property2": "string"
}
}
]
}/static-artifacts/publishRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/static-artifacts/publish" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "resourceId": "string", "sourcePath": "string" }'{
"schemaVersion": "static-artifacts.publish/v1",
"publicationId": "string",
"projectId": "string",
"resourceId": "string",
"artifactId": "string",
"manifestDigest": "string",
"fileCount": 0,
"totalBytes": 0,
"files": [
{
"pathDigest": "string",
"contentDigest": "string",
"sizeBytes": 0,
"mimeType": "string"
}
],
"storageRef": "string",
"storageProviderKey": "string",
"routeUrl": "string",
"routeProviderKey": "string"
}/static-artifacts/publish-archiveRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/static-artifacts/publish-archive" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "resourceId": "string", "archiveBase64": "string" }'{
"schemaVersion": "static-artifacts.publish/v1",
"publicationId": "string",
"projectId": "string",
"resourceId": "string",
"artifactId": "string",
"manifestDigest": "string",
"fileCount": 0,
"totalBytes": 0,
"files": [
{
"pathDigest": "string",
"contentDigest": "string",
"sizeBytes": 0,
"mimeType": "string"
}
],
"storageRef": "string",
"storageProviderKey": "string",
"routeUrl": "string",
"routeProviderKey": "string"
}/static-artifacts/publish-payloadRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/static-artifacts/publish-payload" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "resourceId": "string", "files": [ { "path": "string", "mimeType": "string", "contentBase64": "string" } ] }'{
"schemaVersion": "static-artifacts.publish/v1",
"publicationId": "string",
"projectId": "string",
"resourceId": "string",
"artifactId": "string",
"manifestDigest": "string",
"fileCount": 0,
"totalBytes": 0,
"files": [
{
"pathDigest": "string",
"contentDigest": "string",
"sizeBytes": 0,
"mimeType": "string"
}
],
"storageRef": "string",
"storageProviderKey": "string",
"routeUrl": "string",
"routeProviderKey": "string"
}/storage-volumesLists storage volumes with safe resource attachment summaries. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Query Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/storage-volumes"{
"schemaVersion": "storage-volumes.list/v1",
"items": [
{
"id": "string",
"projectId": "string",
"environmentId": "string",
"name": "string",
"slug": "string",
"kind": "named-volume",
"sourcePath": "string",
"description": "string",
"lifecycleStatus": "active",
"backupRelationship": {
"retentionRequired": true,
"reason": "string"
},
"attachmentCount": 0,
"attachments": [
{
"attachmentId": "string",
"resourceId": "string",
"resourceName": "string",
"resourceSlug": "string",
"destinationPath": "string",
"mountMode": "read-write",
"attachedAt": "string"
}
],
"createdAt": "string",
"deletedAt": "string"
}
],
"generatedAt": "string"
}/storage-volumesCreates provider-neutral durable storage metadata for a named volume or bind mount. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/storage-volumes" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "environmentId": "string", "name": "string", "kind": "named-volume" }'{
"id": "string"
}/storage-volumes/{storageVolumeId}Reads one storage volume with safe resource attachment summaries. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/storage-volumes/string"{
"schemaVersion": "storage-volumes.show/v1",
"storageVolume": {
"id": "string",
"projectId": "string",
"environmentId": "string",
"name": "string",
"slug": "string",
"kind": "named-volume",
"sourcePath": "string",
"description": "string",
"lifecycleStatus": "active",
"backupRelationship": {
"retentionRequired": true,
"reason": "string"
},
"attachmentCount": 0,
"attachments": [
{
"attachmentId": "string",
"resourceId": "string",
"resourceName": "string",
"resourceSlug": "string",
"destinationPath": "string",
"mountMode": "read-write",
"attachedAt": "string"
}
],
"createdAt": "string",
"deletedAt": "string"
},
"generatedAt": "string"
}/storage-volumes/{storageVolumeId}Deletes only unattached storage volumes that are not blocked by backup retention metadata. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X DELETE "https://example.com/storage-volumes/string"{
"id": "string"
}/storage-volumes/{storageVolumeId}/renameRenames one storage volume without changing resource attachments or runtime state. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/storage-volumes/string/rename" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string"
}/storage-volumes/{storageVolumeId}/runtime-cleanupDry-runs or explicitly removes safe Appaloft-owned runtime volume realizations for one storage volume on one server. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/storage-volumes/string/runtime-cleanup" \ -H "Content-Type: application/json" \ -d '{ "serverId": "string", "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "storage-volumes.cleanup-runtime/v1",
"storageVolume": {
"id": "string",
"name": "string",
"kind": "named-volume"
},
"server": {
"id": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string",
"targetKind": "string"
},
"before": "string",
"dryRun": true,
"cleanedAt": "string",
"summary": {
"inspectedCount": 0,
"matchedCount": 0,
"cleanedCount": 0,
"skippedCount": 0,
"blockedCount": 0
},
"candidates": [
{
"id": "string",
"kind": "named-volume",
"target": "string",
"updatedAt": "string",
"action": "matched",
"blockedReason": "active-attachment"
}
],
"warnings": [
{
"code": "string",
"message": "string",
"target": "string"
}
]
}/scheduled-tasksLists Resource-owned scheduled task definitions by project, environment, resource, status, cursor, and limit. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Query Parameters
1 <= length1 <= length1 <= length"enabled" | "disabled"1 <= value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/scheduled-tasks"{
"schemaVersion": "scheduled-tasks.list/v1",
"items": [
{
"taskId": "string",
"resourceId": "string",
"schedule": "string",
"timezone": "string",
"commandIntent": "string",
"timeoutSeconds": 0,
"retryLimit": 0,
"concurrencyPolicy": "forbid",
"status": "enabled",
"createdAt": "string",
"updatedAt": "string",
"latestRun": {
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
}
}
],
"nextCursor": "string",
"generatedAt": "string"
}/scheduled-tasksCreates a Resource-owned scheduled task definition without creating a deployment attempt. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/scheduled-tasks" \ -H "Content-Type: application/json" \ -d '{ "resourceId": "string", "schedule": "string", "timezone": "string", "commandIntent": "string", "timeoutSeconds": 1, "retryLimit": 0 }'{
"schemaVersion": "scheduled-tasks.command/v1",
"task": {
"taskId": "string",
"resourceId": "string",
"schedule": "string",
"timezone": "string",
"commandIntent": "string",
"timeoutSeconds": 0,
"retryLimit": 0,
"concurrencyPolicy": "forbid",
"status": "enabled",
"createdAt": "string",
"updatedAt": "string",
"latestRun": {
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
}
}
}/scheduled-tasks/{taskId}Reads one Resource-owned scheduled task definition with latest run summary. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Path Parameters
1 <= lengthQuery Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/scheduled-tasks/string"{
"schemaVersion": "scheduled-tasks.show/v1",
"task": {
"taskId": "string",
"resourceId": "string",
"schedule": "string",
"timezone": "string",
"commandIntent": "string",
"timeoutSeconds": 0,
"retryLimit": 0,
"concurrencyPolicy": "forbid",
"status": "enabled",
"createdAt": "string",
"updatedAt": "string",
"latestRun": {
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
}
},
"generatedAt": "string"
}/scheduled-tasks/{taskId}Configures schedule, command, timeout, retry, or enabled state for one scheduled task. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/scheduled-tasks/string" \ -H "Content-Type: application/json" \ -d '{ "resourceId": "string" }'{
"schemaVersion": "scheduled-tasks.command/v1",
"task": {
"taskId": "string",
"resourceId": "string",
"schedule": "string",
"timezone": "string",
"commandIntent": "string",
"timeoutSeconds": 0,
"retryLimit": 0,
"concurrencyPolicy": "forbid",
"status": "enabled",
"createdAt": "string",
"updatedAt": "string",
"latestRun": {
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
}
}
}/scheduled-tasks/{taskId}Deletes one scheduled task definition without deleting the Resource or deployment history. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/scheduled-tasks/string" \ -H "Content-Type: application/json" \ -d '{ "resourceId": "string" }'{
"schemaVersion": "scheduled-tasks.delete/v1",
"taskId": "string",
"resourceId": "string",
"status": "deleted",
"deletedAt": "string"
}/scheduled-tasks/{taskId}/runsAccepts one immediate scheduled task run and returns before task execution completes. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/scheduled-tasks/string/runs" \ -H "Content-Type: application/json" \ -d '{ "resourceId": "string" }'{
"schemaVersion": "scheduled-tasks.run-now/v1",
"run": {
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
}
}/scheduled-task-runsLists scheduled task run attempts by task, resource, status, trigger kind, cursor, and limit. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Query Parameters
1 <= length1 <= length"accepted" | "running" | "succeeded" | "failed" | "skipped""manual" | "scheduled"1 <= value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/scheduled-task-runs"{
"schemaVersion": "scheduled-task-runs.list/v1",
"items": [
{
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/scheduled-task-runs/{runId}Reads one scheduled task run attempt with safe status and terminal details. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/scheduled-task-runs/string"{
"schemaVersion": "scheduled-task-runs.show/v1",
"run": {
"runId": "string",
"taskId": "string",
"resourceId": "string",
"triggerKind": "manual",
"status": "accepted",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"exitCode": 0,
"failureSummary": "string",
"skippedReason": "concurrency-forbidden"
},
"generatedAt": "string"
}/scheduled-task-runs/{runId}/logsReads run-scoped scheduled task logs without mixing them into deployment or resource runtime logs. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= length1 <= length1 <= value <= 100Response Body
application/json
curl -X GET "https://example.com/scheduled-task-runs/string/logs"{
"schemaVersion": "scheduled-task-runs.logs/v1",
"runId": "string",
"taskId": "string",
"resourceId": "string",
"entries": [
{
"timestamp": "string",
"stream": "stdout",
"message": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/dependency-resources/provisioning/planCreates a safe dependency resource provisioning plan for create or reuse mode without mutating provider resources. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/provisioning/plan" \ -H "Content-Type: application/json" \ -d '{ "mode": "create", "create": { "kind": "postgres", "projectId": "string", "environmentId": "string", "name": "string" } }'{
"schemaVersion": "dependency-resource-provisioning.plan/v1",
"plan": {
"id": "string",
"mode": "create",
"status": "planned",
"kind": "postgres",
"projectId": "string",
"environmentId": "string",
"name": "string",
"providerKey": "string",
"serverId": "string",
"endpoint": "string",
"capabilities": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"description": "string"
}
],
"requiresAcceptance": true,
"requestedAt": "string",
"acceptedAt": "string",
"completedAt": "string",
"dependencyResourceId": "string",
"failureCode": "string",
"failureMessage": "string",
"summary": [
"string"
]
},
"generatedAt": "string"
}/dependency-resources/provisioning/{planId}/acceptAccepts a dependency resource provisioning plan and then performs the planned create or reuse mutation. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/provisioning/string/accept" \ -H "Content-Type: application/json" \ -d '{ "acknowledgeMutation": true }'{
"schemaVersion": "dependency-resource-provisioning.plan/v1",
"plan": {
"id": "string",
"mode": "create",
"status": "planned",
"kind": "postgres",
"projectId": "string",
"environmentId": "string",
"name": "string",
"providerKey": "string",
"serverId": "string",
"endpoint": "string",
"capabilities": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"description": "string"
}
],
"requiresAcceptance": true,
"requestedAt": "string",
"acceptedAt": "string",
"completedAt": "string",
"dependencyResourceId": "string",
"failureCode": "string",
"failureMessage": "string",
"summary": [
"string"
]
},
"generatedAt": "string"
}/dependency-resources/provisioning/{planId}Reads dependency resource provisioning plan status and safe realization readback. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/dependency-resources/provisioning/string"{
"schemaVersion": "dependency-resource-provisioning.plan/v1",
"plan": {
"id": "string",
"mode": "create",
"status": "planned",
"kind": "postgres",
"projectId": "string",
"environmentId": "string",
"name": "string",
"providerKey": "string",
"serverId": "string",
"endpoint": "string",
"capabilities": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"description": "string"
}
],
"requiresAcceptance": true,
"requestedAt": "string",
"acceptedAt": "string",
"completedAt": "string",
"dependencyResourceId": "string",
"failureCode": "string",
"failureMessage": "string",
"summary": [
"string"
]
},
"generatedAt": "string"
}/dependency-resources/countLists dependency resources with ownership, masked connection, binding readiness, and backup relationship summaries. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Query Parameters
1 <= length1 <= length"postgres" | "redis" | "mysql" | "clickhouse" | "object-storage" | "opensearch"Response Body
application/json
curl -X GET "https://example.com/dependency-resources/count"{
"count": 0
}/dependency-resources/provisionProvisions an Appaloft-managed dependency resource of the requested kind through the configured provider capability. When serverId is supplied, the default shell provider realizes Docker-backed infrastructure on that single-server target. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/provision" \ -H "Content-Type: application/json" \ -d '{ "kind": "postgres", "projectId": "string", "environmentId": "string", "name": "string" }'{
"id": "string"
}/dependency-resources/importImports external dependency resource metadata while keeping raw connection secrets outside list and show responses. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/import" \ -H "Content-Type: application/json" \ -d '{ "kind": "postgres", "projectId": "string", "environmentId": "string", "name": "string", "connectionUrl": "string" }'{
"id": "string"
}/dependency-resourcesLists dependency resources with ownership, masked connection, binding readiness, and backup relationship summaries. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Query Parameters
1 <= length1 <= length"postgres" | "redis" | "mysql" | "clickhouse" | "object-storage" | "opensearch"0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/dependency-resources"{
"schemaVersion": "dependency-resources.list/v1",
"items": [
{
"id": "string",
"projectId": "string",
"environmentId": "string",
"name": "string",
"slug": "string",
"kind": "postgres",
"sourceMode": "appaloft-managed",
"providerKey": "string",
"providerManaged": true,
"description": "string",
"lifecycleStatus": "provisioning",
"connection": {
"host": "string",
"port": 0,
"databaseName": "string",
"maskedConnection": "string",
"secretRef": "string"
},
"providerRealization": {
"status": "pending",
"attemptId": "string",
"attemptedAt": "string",
"providerResourceHandle": "string",
"realizedAt": "string",
"failedAt": "string",
"failureCode": "string",
"failureMessage": "string"
},
"desiredCapabilities": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"description": "string"
}
],
"capabilityReadbacks": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"status": "satisfied",
"evidence": [
"string"
],
"version": "string",
"checkedAt": "string"
}
],
"bindingReadiness": {
"status": "ready",
"reason": "string"
},
"backupRelationship": {
"retentionRequired": true,
"reason": "string"
},
"deleteSafety": {
"blockers": [
{
"kind": "resource-binding",
"relatedEntityId": "string",
"relatedEntityType": "string",
"count": 0
}
]
},
"createdAt": "string",
"deletedAt": "string"
}
],
"generatedAt": "string"
}/dependency-resources/{dependencyResourceId}Reads one dependency resource with masked connection and delete-safety metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/dependency-resources/string"{
"schemaVersion": "dependency-resources.show/v1",
"dependencyResource": {
"id": "string",
"projectId": "string",
"environmentId": "string",
"name": "string",
"slug": "string",
"kind": "postgres",
"sourceMode": "appaloft-managed",
"providerKey": "string",
"providerManaged": true,
"description": "string",
"lifecycleStatus": "provisioning",
"connection": {
"host": "string",
"port": 0,
"databaseName": "string",
"maskedConnection": "string",
"secretRef": "string"
},
"providerRealization": {
"status": "pending",
"attemptId": "string",
"attemptedAt": "string",
"providerResourceHandle": "string",
"realizedAt": "string",
"failedAt": "string",
"failureCode": "string",
"failureMessage": "string"
},
"desiredCapabilities": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"description": "string"
}
],
"capabilityReadbacks": [
{
"type": "postgres-extension",
"name": "string",
"required": true,
"status": "satisfied",
"evidence": [
"string"
],
"version": "string",
"checkedAt": "string"
}
],
"bindingReadiness": {
"status": "ready",
"reason": "string"
},
"backupRelationship": {
"retentionRequired": true,
"reason": "string"
},
"deleteSafety": {
"blockers": [
{
"kind": "resource-binding",
"relatedEntityId": "string",
"relatedEntityType": "string",
"count": 0
}
]
},
"createdAt": "string",
"deletedAt": "string"
},
"generatedAt": "string"
}/dependency-resources/{dependencyResourceId}Deletes only dependency resources that are not blocked by bindings, backup relationships, provider-managed unsafe state, or snapshot references. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X DELETE "https://example.com/dependency-resources/string"{
"id": "string"
}/dependency-resources/{dependencyResourceId}/renameRenames one dependency resource without changing provider ownership, bindings, or connection secret boundaries. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/string/rename" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"id": "string"
}/dependency-resources/{dependencyResourceId}/backupsLists dependency resource backups without exposing provider-native artifact secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthQuery Parameters
"pending" | "ready" | "failed"Response Body
application/json
curl -X GET "https://example.com/dependency-resources/string/backups"{
"schemaVersion": "dependency-resources.backups.list/v1",
"items": [
{
"id": "string",
"dependencyResourceId": "string",
"projectId": "string",
"environmentId": "string",
"dependencyKind": "postgres",
"providerKey": "string",
"status": "pending",
"attemptId": "string",
"requestedAt": "string",
"retentionStatus": "retained",
"providerArtifactHandle": "string",
"completedAt": "string",
"failedAt": "string",
"failureCode": "string",
"failureMessage": "string",
"latestRestoreAttempt": {
"attemptId": "string",
"status": "pending",
"requestedAt": "string",
"completedAt": "string",
"failedAt": "string",
"failureCode": "string",
"failureMessage": "string"
},
"createdAt": "string"
}
],
"generatedAt": "string"
}/dependency-resources/{dependencyResourceId}/backupsCreates a dependency resource backup through the selected provider while recording safe artifact metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/string/backups" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/dependency-resources/backups/{backupId}Reads one dependency resource backup with latest restore attempt metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/dependency-resources/backups/string"{
"schemaVersion": "dependency-resources.backups.show/v1",
"backup": {
"id": "string",
"dependencyResourceId": "string",
"projectId": "string",
"environmentId": "string",
"dependencyKind": "postgres",
"providerKey": "string",
"status": "pending",
"attemptId": "string",
"requestedAt": "string",
"retentionStatus": "retained",
"providerArtifactHandle": "string",
"completedAt": "string",
"failedAt": "string",
"failureCode": "string",
"failureMessage": "string",
"latestRestoreAttempt": {
"attemptId": "string",
"status": "pending",
"requestedAt": "string",
"completedAt": "string",
"failedAt": "string",
"failureCode": "string",
"failureMessage": "string"
},
"createdAt": "string"
},
"generatedAt": "string"
}/dependency-resources/backups/{backupId}/restoreRestores a ready dependency resource backup after explicit data-overwrite acknowledgements. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/backups/string/restore" \ -H "Content-Type: application/json" \ -d '{ "acknowledgeDataOverwrite": true, "acknowledgeRuntimeNotRestarted": true }'{
"id": "string"
}/dependency-resources/backup-policiesLists scheduled dependency backup policies and due-run metadata without exposing provider secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Query Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/dependency-resources/backup-policies"{
"schemaVersion": "dependency-resource-backup-policies.list/v1",
"items": [
{
"schemaVersion": "dependency-resource-backup-policies.policy/v1",
"id": "string",
"version": "string",
"dependencyResourceId": "string",
"retentionDays": 0,
"scheduleIntervalHours": 0,
"providerKey": "string",
"retryOnFailure": true,
"enabled": true,
"lastRunAt": "string",
"nextRunAt": "string",
"updatedAt": "string"
}
]
}/dependency-resources/backup-policiesConfigures an opt-in scheduled dependency backup policy used by the scheduler handoff. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/dependency-resources/backup-policies" \ -H "Content-Type: application/json" \ -d '{ "dependencyResourceId": "string", "retentionDays": 1, "scheduleIntervalHours": 1 }'{
"id": "string"
}/dependency-resources/backup-policies/{policyId}Reads one scheduled dependency backup policy and its last/next run metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/dependency-resources/backup-policies/string"{
"schemaVersion": "dependency-resource-backup-policies.show/v1",
"policy": {
"schemaVersion": "dependency-resource-backup-policies.policy/v1",
"id": "string",
"version": "string",
"dependencyResourceId": "string",
"retentionDays": 0,
"scheduleIntervalHours": 0,
"providerKey": "string",
"retryOnFailure": true,
"enabled": true,
"lastRunAt": "string",
"nextRunAt": "string",
"updatedAt": "string"
}
}/terminal-sessionsLists, shows, closes, or expires active terminal sessions without exposing terminal output. Public docs: /docs/servers/operations/proxy-and-terminal/#server-terminal-session
Query Parameters
"server" | "resource"1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/terminal-sessions"{
"schemaVersion": "terminal-sessions.list/v1",
"items": [
{
"sessionId": "string",
"scope": "server",
"serverId": "string",
"resourceId": "string",
"deploymentId": "string",
"transport": {
"kind": "websocket",
"path": "string"
},
"providerKey": "string",
"workingDirectory": "string",
"createdAt": "string",
"status": "active"
}
]
}/terminal-sessionsOpens a controlled terminal session for server or resource troubleshooting. Public docs: /docs/servers/operations/proxy-and-terminal/#server-terminal-session
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/terminal-sessions" \ -H "Content-Type: application/json" \ -d '{ "scope": { "kind": "server", "serverId": "string" } }'{
"sessionId": "string",
"scope": "server",
"serverId": "string",
"resourceId": "string",
"deploymentId": "string",
"transport": {
"kind": "websocket",
"path": "string"
},
"providerKey": "string",
"workingDirectory": "string",
"createdAt": "string"
}/terminal-sessions/{sessionId}Lists, shows, closes, or expires active terminal sessions without exposing terminal output. Public docs: /docs/servers/operations/proxy-and-terminal/#server-terminal-session
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/terminal-sessions/string"{
"schemaVersion": "terminal-sessions.show/v1",
"item": {
"sessionId": "string",
"scope": "server",
"serverId": "string",
"resourceId": "string",
"deploymentId": "string",
"transport": {
"kind": "websocket",
"path": "string"
},
"providerKey": "string",
"workingDirectory": "string",
"createdAt": "string",
"status": "active"
}
}/terminal-sessions/{sessionId}/closeLists, shows, closes, or expires active terminal sessions without exposing terminal output. Public docs: /docs/servers/operations/proxy-and-terminal/#server-terminal-session
Path Parameters
1 <= lengthResponse Body
application/json
curl -X POST "https://example.com/terminal-sessions/string/close"{
"sessionId": "string",
"closed": true,
"status": "closed"
}/terminal-sessions/expireLists, shows, closes, or expires active terminal sessions without exposing terminal output. Public docs: /docs/servers/operations/proxy-and-terminal/#server-terminal-session
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/terminal-sessions/expire" \ -H "Content-Type: application/json" \ -d '{}'{
"expiredCount": 0,
"sessionIds": [
"string"
]
}/domain-bindingsQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/domain-bindings"{
"items": [
{
"id": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"domainName": "string",
"pathPrefix": "string",
"proxyKind": "none",
"tlsMode": "auto",
"redirectTo": "string",
"redirectStatus": 301,
"certificatePolicy": "auto",
"status": "requested",
"dnsObservation": {
"status": "pending",
"expectedTargets": [
"string"
],
"observedTargets": [
"string"
],
"checkedAt": "string",
"message": "string"
},
"verificationAttemptCount": 0,
"createdAt": "string"
}
]
}/domain-bindingsCreates a custom domain binding for a resource. Public docs: /docs/access/domains/custom-domains/#domain-binding-purpose
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/domain-bindings" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "environmentId": "string", "resourceId": "string", "serverId": "string", "destinationId": "string", "domainName": "string", "proxyKind": "none" }'{
"id": "string"
}/domain-bindings/{domainBindingId}Reads custom domain binding ownership, route readiness, proxy readiness, diagnostics, and certificate readiness. Public docs: /docs/access/domains/custom-domains/#domain-binding-purpose
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/domain-bindings/string"{
"binding": {
"id": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"domainName": "string",
"pathPrefix": "string",
"proxyKind": "none",
"tlsMode": "auto",
"redirectTo": "string",
"redirectStatus": 301,
"certificatePolicy": "auto",
"status": "requested",
"dnsObservation": {
"status": "pending",
"expectedTargets": [
"string"
],
"observedTargets": [
"string"
],
"checkedAt": "string",
"message": "string"
},
"verificationAttemptCount": 0,
"createdAt": "string"
},
"routeReadiness": {
"status": "ready",
"routeBehavior": "serve",
"selectedRoute": {
"schemaVersion": "route-intent-status/v1",
"routeId": "string",
"diagnosticId": "string",
"source": "generated-default-access",
"intent": {
"host": "string",
"pathPrefix": "string",
"protocol": "http",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301
},
"context": {
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"destinationId": "string",
"runtimeTargetKind": "string"
},
"proxy": {
"intent": "not-required",
"applied": "not-configured",
"providerKey": "string"
},
"domainVerification": "not-applicable",
"tls": "not-applicable",
"runtimeHealth": "healthy",
"latestObservation": {
"source": "resource-access-summary",
"observedAt": "string",
"requestId": "string",
"deploymentId": "string"
},
"blockingReason": "runtime_not_ready",
"recommendedAction": "none",
"copySafeSummary": {
"status": "available",
"code": "string",
"phase": "string",
"message": "string"
}
},
"contextRoutes": [
{
"schemaVersion": "route-intent-status/v1",
"routeId": "string",
"diagnosticId": "string",
"source": "generated-default-access",
"intent": {
"host": "string",
"pathPrefix": "string",
"protocol": "http",
"routeBehavior": "serve",
"redirectTo": "string",
"redirectStatus": 301
},
"context": {
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"destinationId": "string",
"runtimeTargetKind": "string"
},
"proxy": {
"intent": "not-required",
"applied": "not-configured",
"providerKey": "string"
},
"domainVerification": "not-applicable",
"tls": "not-applicable",
"runtimeHealth": "healthy",
"latestObservation": {
"source": "resource-access-summary",
"observedAt": "string",
"requestId": "string",
"deploymentId": "string"
},
"blockingReason": "runtime_not_ready",
"recommendedAction": "none",
"copySafeSummary": {
"status": "available",
"code": "string",
"phase": "string",
"message": "string"
}
}
]
},
"generatedAccessFallback": {
"url": "string",
"hostname": "string",
"scheme": "http",
"providerKey": "string",
"deploymentId": "string",
"deploymentStatus": "created",
"pathPrefix": "string",
"proxyKind": "none",
"targetPort": 1,
"updatedAt": "string"
},
"proxyReadiness": "unknown",
"certificates": [
{
"id": "string",
"domainBindingId": "string",
"domainName": "string",
"status": "pending",
"source": "managed",
"providerKey": "string",
"challengeType": "string",
"issuedAt": "string",
"expiresAt": "string",
"fingerprint": "string",
"notBefore": "string",
"issuer": "string",
"keyAlgorithm": "string",
"subjectAlternativeNames": [
"string"
],
"latestAttempt": {
"id": "string",
"status": "requested",
"reason": "issue",
"providerKey": "string",
"challengeType": "string",
"requestedAt": "string",
"issuedAt": "string",
"expiresAt": "string",
"failedAt": "string",
"errorCode": "string",
"failurePhase": "string",
"failureMessage": "string",
"retriable": true,
"retryAfter": "string"
},
"attempts": [
{
"id": "string",
"status": "requested",
"reason": "issue",
"providerKey": "string",
"challengeType": "string",
"requestedAt": "string",
"issuedAt": "string",
"expiresAt": "string",
"failedAt": "string",
"errorCode": "string",
"failurePhase": "string",
"failureMessage": "string",
"retriable": true,
"retryAfter": "string"
}
],
"createdAt": "string"
}
],
"deleteSafety": {
"domainBindingId": "string",
"safeToDelete": true,
"blockers": [
{
"kind": "active-certificate",
"severity": "blocking",
"message": "string",
"relatedEntityType": "string",
"relatedEntityId": "string",
"count": 0
}
],
"warnings": [
{
"kind": "active-certificate",
"severity": "blocking",
"message": "string",
"relatedEntityType": "string",
"relatedEntityId": "string",
"count": 0
}
],
"preservesGeneratedAccess": true,
"preservesDeploymentSnapshots": true,
"preservesServerAppliedRouteAudit": true
}
}/domain-bindings/{domainBindingId}Deletes custom domain binding route intent while preserving generated access, deployment snapshots, and server-applied route audit. Public docs: /docs/access/domains/custom-domains/#domain-binding-purpose
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/domain-bindings/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "domainBindingId": "string" } }'{
"id": "string"
}/domain-bindings/{domainBindingId}/routeConfigures whether a custom domain binding serves traffic or redirects to a canonical binding. Public docs: /docs/access/domains/custom-domains/#domain-binding-purpose
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/domain-bindings/string/route" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/domain-bindings/{domainBindingId}/ownership-confirmationsConfirms that a user controls the custom domain. Public docs: /docs/access/domains/ownership/#domain-binding-ownership-check
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/domain-bindings/string/ownership-confirmations" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"verificationAttemptId": "string"
}/domain-bindings/{domainBindingId}/delete-checkChecks whether a custom domain binding can be deleted without revoking certificates or erasing history. Public docs: /docs/access/domains/custom-domains/#domain-binding-purpose
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/domain-bindings/string/delete-check"{
"domainBindingId": "string",
"safeToDelete": true,
"blockers": [
{
"kind": "active-certificate",
"severity": "blocking",
"message": "string",
"relatedEntityType": "string",
"relatedEntityId": "string",
"count": 0
}
],
"warnings": [
{
"kind": "active-certificate",
"severity": "blocking",
"message": "string",
"relatedEntityType": "string",
"relatedEntityId": "string",
"count": 0
}
],
"preservesGeneratedAccess": true,
"preservesDeploymentSnapshots": true,
"preservesServerAppliedRouteAudit": true
}/domain-bindings/{domainBindingId}/verification-retriesStarts a new domain ownership verification attempt without retrying certificate issuance. Public docs: /docs/access/domains/ownership/#domain-binding-ownership-check
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/domain-bindings/string/verification-retries" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"verificationAttemptId": "string"
}/certificates/importImports a manual certificate for a domain binding. Public docs: /docs/access/tls/certificates/#certificate-readiness
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/certificates/import" \ -H "Content-Type: application/json" \ -d '{ "domainBindingId": "string", "certificateChain": "string", "privateKey": "string" }'{
"certificateId": "string",
"attemptId": "string"
}curl -X GET "https://example.com/certificates"{
"items": [
{
"id": "string",
"domainBindingId": "string",
"domainName": "string",
"status": "pending",
"source": "managed",
"providerKey": "string",
"challengeType": "string",
"issuedAt": "string",
"expiresAt": "string",
"fingerprint": "string",
"notBefore": "string",
"issuer": "string",
"keyAlgorithm": "string",
"subjectAlternativeNames": [
"string"
],
"latestAttempt": {
"id": "string",
"status": "requested",
"reason": "issue",
"providerKey": "string",
"challengeType": "string",
"requestedAt": "string",
"issuedAt": "string",
"expiresAt": "string",
"failedAt": "string",
"errorCode": "string",
"failurePhase": "string",
"failureMessage": "string",
"retriable": true,
"retryAfter": "string"
},
"attempts": [
{
"id": "string",
"status": "requested",
"reason": "issue",
"providerKey": "string",
"challengeType": "string",
"requestedAt": "string",
"issuedAt": "string",
"expiresAt": "string",
"failedAt": "string",
"errorCode": "string",
"failurePhase": "string",
"failureMessage": "string",
"retriable": true,
"retryAfter": "string"
}
],
"createdAt": "string"
}
]
}/certificates/{certificateId}Reads safe certificate metadata and attempt history. Public docs: /docs/access/tls/certificates/#certificate-readiness
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/certificates/string"{
"id": "string",
"domainBindingId": "string",
"domainName": "string",
"status": "pending",
"source": "managed",
"providerKey": "string",
"challengeType": "string",
"issuedAt": "string",
"expiresAt": "string",
"fingerprint": "string",
"notBefore": "string",
"issuer": "string",
"keyAlgorithm": "string",
"subjectAlternativeNames": [
"string"
],
"latestAttempt": {
"id": "string",
"status": "requested",
"reason": "issue",
"providerKey": "string",
"challengeType": "string",
"requestedAt": "string",
"issuedAt": "string",
"expiresAt": "string",
"failedAt": "string",
"errorCode": "string",
"failurePhase": "string",
"failureMessage": "string",
"retriable": true,
"retryAfter": "string"
},
"attempts": [
{
"id": "string",
"status": "requested",
"reason": "issue",
"providerKey": "string",
"challengeType": "string",
"requestedAt": "string",
"issuedAt": "string",
"expiresAt": "string",
"failedAt": "string",
"errorCode": "string",
"failurePhase": "string",
"failureMessage": "string",
"retriable": true,
"retryAfter": "string"
}
],
"createdAt": "string"
}/certificates/{certificateId}Removes a non-active certificate from visible active lifecycle while retaining audit history. Public docs: /docs/access/tls/certificates/#certificate-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/certificates/string" \ -H "Content-Type: application/json" \ -d '{ "confirmation": { "certificateId": "string" } }'{
"certificateId": "string"
}/certificates/issue-or-renewRequests certificate issuance or renewal for a domain binding. Public docs: /docs/access/tls/certificates/#certificate-readiness
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/certificates/issue-or-renew" \ -H "Content-Type: application/json" \ -d '{ "domainBindingId": "string" }'{
"certificateId": "string",
"attemptId": "string"
}/certificates/{certificateId}/retriesCreates a new retry attempt for a retryable provider-issued certificate failure. Public docs: /docs/access/tls/certificates/#certificate-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/certificates/string/retries" \ -H "Content-Type: application/json" \ -d '{}'{
"certificateId": "string",
"attemptId": "string"
}/certificates/{certificateId}/revokeStops Appaloft from using a certificate for managed TLS. Public docs: /docs/access/tls/certificates/#certificate-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/certificates/string/revoke" \ -H "Content-Type: application/json" \ -d '{}'{
"certificateId": "string"
}/deployments/countQuery Parameters
false"created" | "planning" | "planned" | "running" | "cancel-requested" | "succeeded" | "failed" | "canceled" | "rolled-back"Response Body
application/json
curl -X GET "https://example.com/deployments/count"{
"count": 0
}/deploymentsQuery Parameters
false0 < value <= 500Response Body
application/json
curl -X GET "https://example.com/deployments"{
"items": [
{
"id": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"status": "created",
"triggerKind": "create",
"sourceDeploymentId": "string",
"rollbackCandidateDeploymentId": "string",
"sourceCommitSha": "string",
"runtimePlan": {
"id": "string",
"source": {
"kind": "local-folder",
"locator": "string",
"displayName": "string",
"integrationKey": "string",
"inspection": {
"runtimeFamily": "custom",
"framework": "actix-web",
"packageManager": "bun",
"applicationShape": "static",
"runtimeVersion": "string",
"projectName": "string",
"detectedFiles": [
"angular-json"
],
"detectedScripts": [
"build"
],
"dockerfilePath": "string",
"composeFilePath": "string",
"jarPath": "string"
},
"metadata": {
"property1": "string",
"property2": "string"
}
},
"buildStrategy": "dockerfile",
"packagingMode": "split-deploy",
"runtimeArtifact": {
"kind": "image",
"intent": "build-image",
"image": "string",
"composeFile": "string",
"metadata": {
"property1": "string",
"property2": "string"
}
},
"execution": {
"kind": "docker-container",
"workingDirectory": "string",
"installCommand": "string",
"buildCommand": "string",
"startCommand": "string",
"healthCheckPath": "string",
"healthCheck": {
"enabled": true,
"type": "http",
"intervalSeconds": 1,
"timeoutSeconds": 1,
"retries": 1,
"startPeriodSeconds": 0,
"http": {
"method": "GET",
"scheme": "http",
"host": "string",
"port": 1,
"path": "string",
"expectedStatusCode": 100,
"expectedResponseText": "string"
}
},
"port": 1,
"image": "string",
"dockerfilePath": "string",
"composeFile": "string",
"accessRoutes": [
{
"proxyKind": "none",
"domains": [
"string"
],
"pathPrefix": "string",
"tlsMode": "auto",
"targetPort": 1
}
],
"verificationSteps": [
{
"kind": "internal-http",
"label": "string"
}
],
"metadata": {
"property1": "string",
"property2": "string"
}
},
"target": {
"kind": "single-server",
"providerKey": "string",
"serverIds": [
"string"
],
"metadata": {
"property1": "string",
"property2": "string"
}
},
"detectSummary": "string",
"steps": [
"string"
],
"generatedAt": "string"
},
"environmentSnapshot": {
"id": "string",
"environmentId": "string",
"createdAt": "string",
"precedence": [
"string"
],
"variables": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
}
]
},
"dependencyBindingReferences": [
{
"bindingId": "string",
"dependencyResourceId": "string",
"kind": "postgres",
"targetName": "string",
"scope": "environment",
"injectionMode": "env",
"snapshotReadiness": {
"status": "ready",
"reason": "string"
}
}
],
"logs": [
{
"timestamp": "string",
"source": "appaloft",
"phase": "detect",
"level": "debug",
"message": "string",
"masked": true
}
],
"logCount": 0,
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"archivedAt": "string",
"rollbackOfDeploymentId": "string"
}
]
}/deploymentsCreates a deployment from an explicit project, server, environment, and resource context. Public docs: /docs/deploy/sources/#deployment-source
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "serverId": "string", "environmentId": "string", "resourceId": "string" }'{
"id": "string"
}/deployments/cleanup-previewCleans preview-scoped runtime, route, and source-link state by source fingerprint. Public docs: /docs/deploy/recovery/#deployment-preview-cleanup
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/cleanup-preview" \ -H "Content-Type: application/json" \ -d '{ "sourceFingerprint": "string" }'{
"sourceFingerprint": "string",
"status": "cleaned",
"cleanedRuntime": true,
"cleanedArtifacts": true,
"removedServerAppliedRoute": true,
"removedSourceLink": true,
"removedDependencyBindings": 0,
"deletedDependencyResources": 0,
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"deploymentId": "string"
}/deployments/{deploymentId}/retryReads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/string/retry" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/resources/{resourceId}/redeployReads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/resources/string/redeploy" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string"
}/deployments/{deploymentId}/rollbackReads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/string/rollback" \ -H "Content-Type: application/json" \ -d '{ "rollbackCandidateDeploymentId": "string" }'{
"id": "string"
}/deployments/{deploymentId}/cancelCancels an active deployment attempt after explicit deployment id confirmation. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/string/cancel" \ -H "Content-Type: application/json" \ -d '{ "confirm": "string" }'{
"id": "string",
"status": "canceled",
"canceledAt": "string"
}/deployments/{deploymentId}/archiveArchives a terminal deployment attempt without deleting logs, events, runtime artifacts, or retained operator evidence. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/string/archive" \ -H "Content-Type: application/json" \ -d '{ "confirm": "string" }'{
"id": "string",
"archivedAt": "string"
}/deployments/pruneDry-runs or prunes archived terminal deployment attempts when no retained references guard them. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "deployments.prune/v1",
"before": "string",
"deploymentId": "string",
"resourceId": "string",
"serverId": "string",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"guardedCount": 0,
"affectedDeploymentIds": [
"string"
],
"guardedDeploymentIds": [
"string"
],
"prunedAt": "string"
}/deployments/planPreviews detected deployment evidence and the execution plan without creating or running a deployment. Public docs: /docs/deploy/lifecycle/#deployment-plan-preview
Query Parameters
1 <= length1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/deployments/plan?projectId=string&environmentId=string&resourceId=string&serverId=string"{
"schemaVersion": "deployments.plan/v1",
"context": {
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"projectName": "string",
"environmentName": "string",
"resourceName": "string",
"serverName": "string"
},
"readiness": {
"status": "ready",
"ready": true,
"reasonCodes": [
"resource-source-missing"
]
},
"source": {
"kind": "local-folder",
"displayName": "string",
"locator": "string",
"runtimeFamily": "string",
"framework": "string",
"packageManager": "string",
"applicationShape": "string",
"runtimeVersion": "string",
"projectName": "string",
"detectedFiles": [
"string"
],
"detectedScripts": [
"string"
],
"dockerfilePath": "string",
"composeFilePath": "string",
"jarPath": "string",
"reasoning": [
"string"
]
},
"planner": {
"plannerKey": "string",
"supportTier": "first-class",
"buildStrategy": "dockerfile",
"packagingMode": "split-deploy",
"targetKind": "single-server",
"targetProviderKey": "string"
},
"buildpack": {
"status": "selected",
"supportTier": "buildpack-accelerated",
"evidence": {
"platformFiles": [
"string"
],
"languageFamilies": [
"string"
],
"frameworkHints": [
"string"
],
"builderEvidence": [
"string"
],
"detectedBuildpacks": [
{
"id": "string",
"version": "string"
}
]
},
"builderPolicy": {
"defaultBuilder": "string",
"requestedBuilder": "string",
"override": "none",
"blockedBuilders": [
"string"
]
},
"artifactIntent": "build-image",
"limitations": [
{
"code": "string",
"message": "string",
"fixPath": "string"
}
]
},
"artifact": {
"kind": "dockerfile-image",
"runtimeArtifactKind": "image",
"runtimeArtifactIntent": "build-image",
"image": "string",
"composeFile": "string",
"metadata": {
"property1": "string",
"property2": "string"
}
},
"commands": [
{
"kind": "install",
"command": "string",
"source": "resource-runtime-profile"
}
],
"network": {
"internalPort": 1,
"upstreamProtocol": "http",
"exposureMode": "none",
"hostPort": 1,
"targetServiceName": "string"
},
"health": {
"enabled": true,
"kind": "http",
"path": "string",
"port": 1
},
"access": {
"routeSource": "string",
"hostname": "string",
"scheme": "http",
"routeCount": 0,
"routeGroupCount": 0
},
"dependencyBindings": {
"status": "ready",
"references": [
{
"bindingId": "string",
"dependencyResourceId": "string",
"kind": "postgres",
"targetName": "string",
"scope": "environment",
"injectionMode": "env",
"snapshotReadiness": {
"status": "ready",
"reason": "string"
}
}
],
"runtimeInjection": {
"status": "ready",
"reason": "string"
}
},
"warnings": [
{
"code": "resource-source-missing",
"reasonCode": "resource-source-missing",
"category": "blocked",
"phase": "string",
"message": "string",
"recommendation": "string",
"evidence": [
{
"kind": "string",
"label": "string",
"value": "string",
"source": "string"
}
],
"fixPath": [
{
"kind": "query",
"targetOperation": "string",
"label": "string",
"profileField": "string",
"docsAnchor": "string",
"safeByDefault": true
}
],
"overridePath": [
{
"kind": "query",
"targetOperation": "string",
"label": "string",
"profileField": "string",
"docsAnchor": "string",
"safeByDefault": true
}
],
"affectedProfileField": "string",
"relatedEntityId": "string",
"relatedEntityType": "string"
}
],
"unsupportedReasons": [
{
"code": "resource-source-missing",
"reasonCode": "resource-source-missing",
"category": "blocked",
"phase": "string",
"message": "string",
"recommendation": "string",
"evidence": [
{
"kind": "string",
"label": "string",
"value": "string",
"source": "string"
}
],
"fixPath": [
{
"kind": "query",
"targetOperation": "string",
"label": "string",
"profileField": "string",
"docsAnchor": "string",
"safeByDefault": true
}
],
"overridePath": [
{
"kind": "query",
"targetOperation": "string",
"label": "string",
"profileField": "string",
"docsAnchor": "string",
"safeByDefault": true
}
],
"affectedProfileField": "string",
"relatedEntityId": "string",
"relatedEntityType": "string"
}
],
"nextActions": [
{
"kind": "query",
"targetOperation": "string",
"label": "string",
"safeByDefault": true,
"blockedReasonCode": "resource-source-missing"
}
],
"generatedAt": "string"
}/deployments/{deploymentId}Path Parameters
1 <= lengthQuery Parameters
Response Body
application/json
curl -X GET "https://example.com/deployments/string"{
"schemaVersion": "deployments.show/v1",
"deployment": {
"id": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"status": "created",
"triggerKind": "create",
"sourceDeploymentId": "string",
"rollbackCandidateDeploymentId": "string",
"sourceCommitSha": "string",
"runtimePlan": {
"id": "string",
"source": {
"kind": "local-folder",
"locator": "string",
"displayName": "string",
"integrationKey": "string",
"inspection": {
"runtimeFamily": "custom",
"framework": "actix-web",
"packageManager": "bun",
"applicationShape": "static",
"runtimeVersion": "string",
"projectName": "string",
"detectedFiles": [
"angular-json"
],
"detectedScripts": [
"build"
],
"dockerfilePath": "string",
"composeFilePath": "string",
"jarPath": "string"
},
"metadata": {
"property1": "string",
"property2": "string"
}
},
"buildStrategy": "dockerfile",
"packagingMode": "split-deploy",
"runtimeArtifact": {
"kind": "image",
"intent": "build-image",
"image": "string",
"composeFile": "string",
"metadata": {
"property1": "string",
"property2": "string"
}
},
"execution": {
"kind": "docker-container",
"workingDirectory": "string",
"installCommand": "string",
"buildCommand": "string",
"startCommand": "string",
"healthCheckPath": "string",
"healthCheck": {
"enabled": true,
"type": "http",
"intervalSeconds": 1,
"timeoutSeconds": 1,
"retries": 1,
"startPeriodSeconds": 0,
"http": {
"method": "GET",
"scheme": "http",
"host": "string",
"port": 1,
"path": "string",
"expectedStatusCode": 100,
"expectedResponseText": "string"
}
},
"port": 1,
"image": "string",
"dockerfilePath": "string",
"composeFile": "string",
"accessRoutes": [
{
"proxyKind": "none",
"domains": [
"string"
],
"pathPrefix": "string",
"tlsMode": "auto",
"targetPort": 1
}
],
"verificationSteps": [
{
"kind": "internal-http",
"label": "string"
}
],
"metadata": {
"property1": "string",
"property2": "string"
}
},
"target": {
"kind": "single-server",
"providerKey": "string",
"serverIds": [
"string"
],
"metadata": {
"property1": "string",
"property2": "string"
}
},
"detectSummary": "string",
"steps": [
"string"
],
"generatedAt": "string"
},
"environmentSnapshot": {
"id": "string",
"environmentId": "string",
"createdAt": "string",
"precedence": [
"string"
],
"variables": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
}
]
},
"dependencyBindingReferences": [
{
"bindingId": "string",
"dependencyResourceId": "string",
"kind": "postgres",
"targetName": "string",
"scope": "environment",
"injectionMode": "env",
"snapshotReadiness": {
"status": "ready",
"reason": "string"
}
}
],
"logCount": 0,
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"archivedAt": "string",
"rollbackOfDeploymentId": "string"
},
"status": {
"current": "created",
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"rollbackOfDeploymentId": "string"
},
"relatedContext": {
"project": {
"id": "string",
"name": "string",
"slug": "string"
},
"environment": {
"id": "string",
"name": "string",
"kind": "local"
},
"resource": {
"id": "string",
"name": "string",
"slug": "string",
"kind": "application"
},
"server": {
"id": "string",
"name": "string",
"host": "string",
"port": 0,
"providerKey": "string"
},
"destination": {
"id": "string"
}
},
"snapshot": {
"runtimePlan": {
"id": "string",
"source": {
"kind": "local-folder",
"locator": "string",
"displayName": "string",
"integrationKey": "string",
"inspection": {
"runtimeFamily": "custom",
"framework": "actix-web",
"packageManager": "bun",
"applicationShape": "static",
"runtimeVersion": "string",
"projectName": "string",
"detectedFiles": [
"angular-json"
],
"detectedScripts": [
"build"
],
"dockerfilePath": "string",
"composeFilePath": "string",
"jarPath": "string"
},
"metadata": {
"property1": "string",
"property2": "string"
}
},
"buildStrategy": "dockerfile",
"packagingMode": "split-deploy",
"runtimeArtifact": {
"kind": "image",
"intent": "build-image",
"image": "string",
"composeFile": "string",
"metadata": {
"property1": "string",
"property2": "string"
}
},
"execution": {
"kind": "docker-container",
"workingDirectory": "string",
"installCommand": "string",
"buildCommand": "string",
"startCommand": "string",
"healthCheckPath": "string",
"healthCheck": {
"enabled": true,
"type": "http",
"intervalSeconds": 1,
"timeoutSeconds": 1,
"retries": 1,
"startPeriodSeconds": 0,
"http": {
"method": "GET",
"scheme": "http",
"host": "string",
"port": 1,
"path": "string",
"expectedStatusCode": 100,
"expectedResponseText": "string"
}
},
"port": 1,
"image": "string",
"dockerfilePath": "string",
"composeFile": "string",
"accessRoutes": [
{
"proxyKind": "none",
"domains": [
"string"
],
"pathPrefix": "string",
"tlsMode": "auto",
"targetPort": 1
}
],
"verificationSteps": [
{
"kind": "internal-http",
"label": "string"
}
],
"metadata": {
"property1": "string",
"property2": "string"
}
},
"target": {
"kind": "single-server",
"providerKey": "string",
"serverIds": [
"string"
],
"metadata": {
"property1": "string",
"property2": "string"
}
},
"detectSummary": "string",
"steps": [
"string"
],
"generatedAt": "string"
},
"environmentSnapshot": {
"id": "string",
"environmentId": "string",
"createdAt": "string",
"precedence": [
"string"
],
"variables": [
{
"key": "string",
"value": "string",
"scope": "string",
"exposure": "build-time",
"isSecret": true,
"kind": "string"
}
]
},
"dependencyBindings": {
"status": "ready",
"references": [
{
"bindingId": "string",
"dependencyResourceId": "string",
"kind": "postgres",
"targetName": "string",
"scope": "environment",
"injectionMode": "env",
"snapshotReadiness": {
"status": "ready",
"reason": "string"
}
}
],
"runtimeInjection": {
"status": "ready",
"reason": "string"
}
}
},
"timeline": {
"createdAt": "string",
"startedAt": "string",
"finishedAt": "string",
"logCount": 0
},
"latestFailure": {
"timestamp": "string",
"source": "appaloft",
"phase": "detect",
"level": "debug",
"message": "string"
},
"recoverySummary": {
"source": "deployments.recovery-readiness",
"retryable": true,
"redeployable": true,
"rollbackReady": true,
"rollbackCandidateCount": 0,
"blockedReasonCodes": [
"string"
]
},
"nextActions": [
"logs"
],
"sectionErrors": [
{
"section": "related-context",
"code": "string",
"category": "string",
"phase": "string",
"retriable": true,
"relatedEntityId": "string",
"relatedState": "string"
}
],
"generatedAt": "string"
}/deployments/{deploymentId}/recovery-readinessReads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness
Path Parameters
1 <= lengthQuery Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/deployments/string/recovery-readiness"{
"schemaVersion": "deployments.recovery-readiness/v1",
"deploymentId": "string",
"resourceId": "string",
"generatedAt": "string",
"stateVersion": "string",
"recoverable": true,
"retryable": true,
"redeployable": true,
"rollbackReady": true,
"rollbackCandidateCount": 0,
"retry": {
"allowed": true,
"commandActive": true,
"reasons": [
{
"code": "attempt-not-terminal",
"category": "allowed",
"phase": "string",
"relatedDeploymentId": "string",
"relatedEntityId": "string",
"relatedEntityType": "string",
"retriable": true,
"recommendation": "string"
}
],
"targetOperation": "deployments.retry"
},
"redeploy": {
"allowed": true,
"commandActive": true,
"reasons": [
{
"code": "attempt-not-terminal",
"category": "allowed",
"phase": "string",
"relatedDeploymentId": "string",
"relatedEntityId": "string",
"relatedEntityType": "string",
"retriable": true,
"recommendation": "string"
}
],
"targetOperation": "deployments.retry"
},
"rollback": {
"allowed": true,
"commandActive": true,
"reasons": [
{
"code": "attempt-not-terminal",
"category": "allowed",
"phase": "string",
"relatedDeploymentId": "string",
"relatedEntityId": "string",
"relatedEntityType": "string",
"retriable": true,
"recommendation": "string"
}
],
"candidates": [
{
"deploymentId": "string",
"finishedAt": "string",
"status": "succeeded",
"sourceSummary": "string",
"artifactSummary": "string",
"environmentSnapshotId": "string",
"runtimeTargetSummary": "string",
"rollbackReady": true,
"reasons": [
{
"code": "attempt-not-terminal",
"category": "allowed",
"phase": "string",
"relatedDeploymentId": "string",
"relatedEntityId": "string",
"relatedEntityType": "string",
"retriable": true,
"recommendation": "string"
}
]
}
],
"recommendedCandidateId": "string"
},
"recommendedActions": [
{
"kind": "query",
"targetOperation": "deployments.show",
"label": "string",
"safeByDefault": true,
"blockedReasonCode": "attempt-not-terminal",
"commandActive": true
}
]
}/deployments/streamRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/stream" \ -H "Content-Type: application/json" \ -d '{ "projectId": "string", "serverId": "string", "environmentId": "string", "resourceId": "string" }'null/deployments/{deploymentId}/logsReads deployment logs. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/deployments/string/logs"{
"deploymentId": "string",
"logs": [
{
"timestamp": "string",
"source": "appaloft",
"phase": "detect",
"level": "debug",
"message": "string",
"masked": true
}
]
}/deployments/logs/pruneDry-runs or prunes old embedded deployment log entries without deleting deployment rows. Public docs: /docs/observe/logs-health/#observe-runtime-logs
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/deployments/logs/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "deployments.logs.prune/v1",
"before": "string",
"deploymentId": "string",
"resourceId": "string",
"serverId": "string",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"affectedDeploymentCount": 0,
"prunedAt": "string"
}/deployments/{deploymentId}/eventsPath Parameters
1 <= lengthQuery Parameters
1 <= length1000 <= value <= 200Response Body
application/json
curl -X GET "https://example.com/deployments/string/events"{
"deploymentId": "string",
"envelopes": [
{
"schemaVersion": "deployments.stream-events/v1",
"kind": "event",
"event": {
"deploymentId": "string",
"sequence": 1,
"cursor": "string",
"emittedAt": "string",
"source": "domain-event",
"eventType": "deployment-requested",
"phase": "detect",
"status": "string",
"retriable": true,
"summary": "string"
}
}
]
}/deployments/{deploymentId}/events/streamPath Parameters
1 <= lengthQuery Parameters
1 <= length1000 <= value <= 200Response Body
application/json
curl -X GET "https://example.com/deployments/string/events/stream"null/operator-workReads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Query Parameters
"deployment" | "proxy-bootstrap" | "certificate" | "remote-state" | "route-realization" | "runtime-maintenance" | "system""pending" | "running" | "retry-scheduled" | "succeeded" | "failed" | "canceled" | "dead-lettered" | "unknown"Response Body
application/json
curl -X GET "https://example.com/operator-work"{
"schemaVersion": "operator-work.list/v1",
"items": [
{
"id": "string",
"kind": "deployment",
"status": "pending",
"operationKey": "string",
"phase": "string",
"step": "string",
"projectId": "string",
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"domainBindingId": "string",
"certificateId": "string",
"startedAt": "string",
"updatedAt": "string",
"finishedAt": "string",
"errorCode": "string",
"errorCategory": "string",
"retriable": true,
"nextActions": [
"diagnostic"
],
"safeDetails": {
"property1": "string",
"property2": "string"
}
}
],
"generatedAt": "string"
}/operator-work/{workId}Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/operator-work/string"{
"schemaVersion": "operator-work.show/v1",
"item": {
"id": "string",
"kind": "deployment",
"status": "pending",
"operationKey": "string",
"phase": "string",
"step": "string",
"projectId": "string",
"resourceId": "string",
"deploymentId": "string",
"serverId": "string",
"domainBindingId": "string",
"certificateId": "string",
"startedAt": "string",
"updatedAt": "string",
"finishedAt": "string",
"errorCode": "string",
"errorCategory": "string",
"retriable": true,
"nextActions": [
"diagnostic"
],
"safeDetails": {
"property1": "string",
"property2": "string"
}
},
"generatedAt": "string"
}/operator-work/{workId}/mark-recoveredReads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/operator-work/string/mark-recovered" \ -H "Content-Type: application/json" \ -d '{}'{
"workId": "string",
"status": "succeeded",
"recoveredAt": "string"
}/operator-work/{workId}/dead-letterReads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/operator-work/string/dead-letter" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{
"workId": "string",
"status": "dead-lettered",
"deadLetteredAt": "string"
}/operator-work/{workId}/cancelReads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/operator-work/string/cancel" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{
"workId": "string",
"status": "canceled",
"canceledAt": "string"
}/operator-work/{workId}/retryReads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/operator-work/string/retry" \ -H "Content-Type: application/json" \ -d '{}'{
"workId": "string",
"status": "pending",
"retryOfWorkId": "string",
"retriedAt": "string"
}/operator-work/pruneReads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/operator-work/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"prunedCount": 0,
"matchedCount": 0,
"dryRun": true,
"before": "string",
"statuses": [
"succeeded"
],
"countsByStatus": {
"succeeded": 0,
"failed": 0,
"canceled": 0,
"dead-lettered": 0
},
"prunedAt": "string"
}/source-eventsLists safe source event deliveries for a project or resource. Public docs: /docs/deploy/sources/#source-auto-deploy-dedupe
Query Parameters
1 <= length1 <= length"accepted" | "deduped" | "ignored" | "blocked" | "dispatched" | "failed""github" | "gitlab" | "generic-signed"0 < value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/source-events"{
"items": [
{
"sourceEventId": "string",
"projectId": "string",
"resourceIds": [
"string"
],
"sourceKind": "github",
"eventKind": "push",
"ref": "string",
"revision": "string",
"status": "accepted",
"dedupeStatus": "new",
"ignoredReasons": [
"no-matching-policy"
],
"createdDeploymentIds": [
"string"
],
"receivedAt": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/source-events/{sourceEventId}Reads one safe source event delivery with dedupe, policy, and dispatch details. Public docs: /docs/deploy/sources/#source-auto-deploy-ignored-events
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/source-events/string"{
"sourceEventId": "string",
"projectId": "string",
"matchedResourceIds": [
"string"
],
"sourceKind": "github",
"eventKind": "push",
"sourceIdentity": {
"locator": "string",
"providerRepositoryId": "string",
"repositoryFullName": "string"
},
"ref": "string",
"revision": "string",
"verification": {
"status": "verified",
"method": "provider-signature",
"keyVersion": "string"
},
"status": "accepted",
"dedupeOfSourceEventId": "string",
"policyResults": [
{
"resourceId": "string",
"status": "matched",
"reason": "ref-not-matched",
"deploymentId": "string",
"errorCode": "string"
}
],
"createdDeploymentIds": [
"string"
],
"receivedAt": "string"
}/source-events/{sourceEventId}/replayReplays one retained safe source event delivery through current auto-deploy policy matching. Public docs: /docs/deploy/sources/#source-auto-deploy-recovery
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/source-events/string/replay" \ -H "Content-Type: application/json" \ -d '{}'{
"schemaVersion": "source-events.replay/v1",
"sourceEventId": "string",
"status": "accepted",
"matchedResourceIds": [
"string"
],
"createdDeploymentIds": [
"string"
],
"ignoredReasons": [
"no-matching-policy"
],
"replayedAt": "string"
}/source-events/pruneDry-runs or prunes retained safe source event deliveries by cutoff and optional scope filters. Public docs: /docs/deploy/sources/#source-auto-deploy-retention
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/source-events/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "source-events.prune/v1",
"before": "string",
"projectId": "string",
"resourceId": "string",
"status": "accepted",
"sourceKind": "github",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"countsByStatus": {
"property1": 0,
"property2": 0
},
"countsBySourceKind": {
"property1": 0,
"property2": 0
},
"prunedAt": "string"
}/audit-eventsLists safe audit events for one aggregate without exposing raw sensitive payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Query Parameters
1 <= length1 <= length0 < value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/audit-events"{
"schemaVersion": "audit-events.list/v1",
"items": [
{
"auditEventId": "string",
"aggregateId": "string",
"eventType": "string",
"createdAt": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/audit-events/exportExports bounded redacted audit events for one aggregate without mutating retention. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Query Parameters
1 <= length1 <= length^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time1000 < value <= 500Response Body
application/json
curl -X GET "https://example.com/audit-events/export"{
"schemaVersion": "audit-events.export/v1",
"aggregateId": "string",
"filters": {
"eventType": "string",
"from": "string",
"to": "string",
"limit": 0
},
"items": [
{
"auditEventId": "string",
"aggregateId": "string",
"eventType": "string",
"createdAt": "string",
"payload": {
"property1": "string",
"property2": "string"
},
"redactedFields": [
"string"
]
}
],
"itemCount": 0,
"truncated": true,
"generatedAt": "string"
}/audit-events/export-globalExports bounded redacted audit events across aggregates without mutating retention. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Query Parameters
1 <= length1 <= length^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time1000 < value <= 500Response Body
application/json
curl -X GET "https://example.com/audit-events/export-global?from=2019-08-24T14%3A15%3A22Z&to=2019-08-24T14%3A15%3A22Z"{
"schemaVersion": "audit-events.export-global/v1",
"filters": {
"aggregateId": "string",
"eventType": "string",
"from": "string",
"to": "string",
"limit": 0
},
"items": [
{
"auditEventId": "string",
"aggregateId": "string",
"eventType": "string",
"createdAt": "string",
"payload": {
"property1": "string",
"property2": "string"
},
"redactedFields": [
"string"
]
}
],
"itemCount": 0,
"truncated": true,
"generatedAt": "string"
}/audit-events/{auditEventId}Reads one safe audit event with redacted payload fields. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Path Parameters
1 <= lengthQuery Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/audit-events/string"{
"schemaVersion": "audit-events.show/v1",
"event": {
"auditEventId": "string",
"aggregateId": "string",
"eventType": "string",
"createdAt": "string",
"payload": {
"property1": "string",
"property2": "string"
},
"redactedFields": [
"string"
]
}
}/audit-events/pruneDry-runs or prunes old retained audit rows while preserving rows matched by active legal holds or retained archives. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/audit-events/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "audit-events.prune/v1",
"before": "string",
"aggregateId": "string",
"eventType": "string",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"heldCount": 0,
"archiveRetainedCount": 0,
"countsByEventType": {
"property1": 0,
"property2": 0
},
"heldCountsByEventType": {
"property1": 0,
"property2": 0
},
"archiveRetainedCountsByEventType": {
"property1": 0,
"property2": 0
},
"activeHoldIds": [
"string"
],
"activeArchiveIds": [
"string"
],
"prunedAt": "string"
}/audit-events/archivesLists safe immutable audit archive summaries without archived item payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Query Parameters
1 <= length1 <= length^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$date-time500 < value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/audit-events/archives"{
"schemaVersion": "audit-events.archives.list/v1",
"items": [
{
"archiveId": "string",
"archiveSchemaVersion": "audit-events.archive/v1",
"source": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"itemCount": 0,
"truncated": true,
"contentDigest": "string",
"retainSourceRows": true,
"createdAt": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/audit-events/archivesCreates an immutable redacted audit archive snapshot for an aggregate or bounded global window. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/audit-events/archives" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{
"schemaVersion": "audit-events.archives.archive/v1",
"archive": {
"archiveId": "string",
"archiveSchemaVersion": "audit-events.archive/v1",
"source": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"itemCount": 0,
"truncated": true,
"contentDigest": "string",
"retainSourceRows": true,
"createdAt": "string"
}
}/audit-events/archives/{archiveId}Reads one immutable audit archive with stored redacted items and digest metadata. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/audit-events/archives/string"{
"schemaVersion": "audit-events.archives.show/v1",
"archive": {
"archiveId": "string",
"archiveSchemaVersion": "audit-events.archive/v1",
"source": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"itemCount": 0,
"truncated": true,
"contentDigest": "string",
"retainSourceRows": true,
"createdAt": "string",
"items": [
{
"auditEventId": "string",
"aggregateId": "string",
"eventType": "string",
"createdAt": "string",
"payload": {
"property1": "string",
"property2": "string"
},
"redactedFields": [
"string"
]
}
]
},
"generatedAt": "string"
}/audit-events/archives/pruneDry-runs or deletes retained audit archive records without deleting source audit rows. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/audit-events/archives/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "audit-events.archives.prune/v1",
"before": "string",
"aggregateId": "string",
"eventType": "string",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"countsBySourceKind": {
"property1": 0,
"property2": 0
},
"countsByEventType": {
"property1": 0,
"property2": 0
},
"prunedAt": "string"
}/audit-events/legal-holdsLists safe audit event legal hold metadata without audit payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Query Parameters
"active" | "released"1 <= length1 <= length500 < value <= 1001 <= lengthResponse Body
application/json
curl -X GET "https://example.com/audit-events/legal-holds"{
"schemaVersion": "audit-events.legal-holds.list/v1",
"items": [
{
"holdId": "string",
"status": "active",
"scope": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"requestedBy": "string",
"createdAt": "string",
"releasedAt": "string",
"releaseReason": "string",
"releasedBy": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/audit-events/legal-holdsRecords an active legal hold that blocks audit row prune for an aggregate or bounded global window. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/audit-events/legal-holds" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{
"schemaVersion": "audit-events.legal-holds.hold/v1",
"hold": {
"holdId": "string",
"status": "active",
"scope": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"requestedBy": "string",
"createdAt": "string",
"releasedAt": "string",
"releaseReason": "string",
"releasedBy": "string"
}
}/audit-events/legal-holds/{holdId}Reads one safe audit event legal hold record without audit payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/audit-events/legal-holds/string"{
"schemaVersion": "audit-events.legal-holds.show/v1",
"hold": {
"holdId": "string",
"status": "active",
"scope": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"requestedBy": "string",
"createdAt": "string",
"releasedAt": "string",
"releaseReason": "string",
"releasedBy": "string"
},
"generatedAt": "string"
}/audit-events/legal-holds/{holdId}/releaseMarks an audit event legal hold released while keeping hold history readable. Public docs: /docs/reference/errors-statuses/#operator-audit-events
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/audit-events/legal-holds/string/release" \ -H "Content-Type: application/json" \ -d '{ "releaseReason": "string" }'{
"schemaVersion": "audit-events.legal-holds.hold/v1",
"hold": {
"holdId": "string",
"status": "active",
"scope": {
"kind": "aggregate",
"aggregateId": "string",
"from": "string",
"to": "string"
},
"eventType": "string",
"reason": "string",
"requestedBy": "string",
"createdAt": "string",
"releasedAt": "string",
"releaseReason": "string",
"releasedBy": "string"
}
}/provider-job-logs/pruneDry-runs or prunes old retained provider job log rows by cutoff and optional deployment, provider, resource, or server filters. Public docs: /docs/reference/errors-statuses/#operator-provider-job-logs
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/provider-job-logs/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "provider-job-logs.prune/v1",
"before": "string",
"deploymentId": "string",
"providerKey": "string",
"resourceId": "string",
"serverId": "string",
"dryRun": true,
"matchedCount": 0,
"prunedCount": 0,
"countsByProviderKey": {
"property1": 0,
"property2": 0
},
"prunedAt": "string"
}/domain-events/pruneDry-runs or prunes old retained domain event stream rows by cutoff and optional event, aggregate, or deployment filters. Public docs: /docs/reference/errors-statuses/#operator-domain-events
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/domain-events/prune" \ -H "Content-Type: application/json" \ -d '{ "before": "2019-08-24T14:15:22Z" }'{
"schemaVersion": "domain-events.prune/v1",
"before": "string",
"eventType": "string",
"aggregateId": "string",
"aggregateType": "string",
"deploymentId": "string",
"limit": 0,
"dryRun": true,
"inspectedCount": 0,
"candidateCount": 0,
"prunedCount": 0,
"skippedCount": 0,
"countsByEventType": {
"property1": 0,
"property2": 0
},
"skippedCountsByReason": {
"property1": 0,
"property2": 0
},
"prunedAt": "string"
}/source-linksLists source fingerprint links for deployment identity diagnostics. Public docs: /docs/deploy/sources/#deployment-source
Query Parameters
1 <= length1 <= length1 <= length500 < value <= 200Response Body
application/json
curl -X GET "https://example.com/source-links"{
"schemaVersion": "source-links.list/v1",
"items": [
{
"sourceFingerprint": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"updatedAt": "string",
"reason": "string"
}
]
}/source-links/{sourceFingerprint}Reads one source fingerprint link for deployment identity diagnostics. Public docs: /docs/deploy/sources/#deployment-source
Path Parameters
1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/source-links/string"{
"schemaVersion": "source-links.show/v1",
"sourceLink": {
"sourceFingerprint": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"updatedAt": "string",
"reason": "string"
}
}/source-links/{sourceFingerprint}Deletes one source fingerprint link so later config deploys must resolve identity again. Public docs: /docs/deploy/sources/#deployment-source
Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X DELETE "https://example.com/source-links/string" \ -H "Content-Type: application/json" \ -d '{}'{
"sourceFingerprint": "string",
"deleted": true
}/source-links/relinkMoves a source fingerprint link to an explicit project, environment, resource, and optional deployment target. Public docs: /docs/deploy/sources/#deployment-source
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/source-links/relink" \ -H "Content-Type: application/json" \ -d '{ "sourceFingerprint": "string", "projectId": "string", "environmentId": "string", "resourceId": "string" }'{
"sourceFingerprint": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string"
}/preview-policiesConfigures product-grade preview policy for a project or resource scope. Public docs: /docs/deploy/previews/#product-grade-preview-deployments
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/preview-policies" \ -H "Content-Type: application/json" \ -d '{ "scope": { "kind": "project", "projectId": "string" } }'{
"id": "string"
}/preview-policies/showReads effective product-grade preview policy for a project or resource scope. Public docs: /docs/deploy/previews/#product-grade-preview-deployments
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/preview-policies/show" \ -H "Content-Type: application/json" \ -d '{ "scope": { "kind": "project", "projectId": "string" } }'{
"schemaVersion": "preview-policies.show/v1",
"policy": {
"id": "string",
"scope": {
"kind": "project",
"projectId": "string"
},
"settings": {
"sameRepositoryPreviews": true,
"forkPreviews": "disabled",
"secretBackedPreviews": true,
"maxActivePreviews": 1,
"previewTtlHours": 1
},
"source": "default",
"updatedAt": "string"
},
"generatedAt": "string"
}/preview-environmentsLists durable preview environments with source, ownership, status, and expiry summaries. Public docs: /docs/deploy/previews/#product-grade-preview-deployments
Query Parameters
1 <= length1 <= length1 <= length"active" | "cleanup-requested"1 <= length0 < value <= 90071992547409911 <= lengthResponse Body
application/json
curl -X GET "https://example.com/preview-environments"{
"schemaVersion": "preview-environments.list/v1",
"items": [
{
"previewEnvironmentId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"source": {
"provider": "github",
"repositoryFullName": "string",
"headRepositoryFullName": "string",
"pullRequestNumber": 1,
"baseRef": "string",
"headSha": "string",
"sourceBindingFingerprint": "string"
},
"status": "active",
"createdAt": "string",
"updatedAt": "string",
"expiresAt": "string"
}
],
"nextCursor": "string",
"generatedAt": "string"
}/preview-environments/{previewEnvironmentId}Reads one durable preview environment with safe source, ownership, status, and expiry detail. Public docs: /docs/deploy/previews/#product-grade-preview-deployments
Path Parameters
1 <= lengthQuery Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X GET "https://example.com/preview-environments/string"{
"schemaVersion": "preview-environments.show/v1",
"previewEnvironment": {
"previewEnvironmentId": "string",
"projectId": "string",
"environmentId": "string",
"resourceId": "string",
"serverId": "string",
"destinationId": "string",
"source": {
"provider": "github",
"repositoryFullName": "string",
"headRepositoryFullName": "string",
"pullRequestNumber": 1,
"baseRef": "string",
"headSha": "string",
"sourceBindingFingerprint": "string"
},
"status": "active",
"createdAt": "string",
"updatedAt": "string",
"expiresAt": "string"
},
"generatedAt": "string"
}/resources/{resourceId}/preview-environments/{previewEnvironmentId}Requests cleanup for one preview environment while preserving deployment history and audit. Public docs: /docs/deploy/previews/#product-grade-preview-deployments
Path Parameters
1 <= length1 <= lengthResponse Body
application/json
curl -X DELETE "https://example.com/resources/string/preview-environments/string"{
"status": "cleaned",
"attemptId": "string",
"previewEnvironmentId": "string",
"resourceId": "string",
"sourceBindingFingerprint": "string",
"previewEnvironmentStatus": "cleanup-requested",
"cleanedRuntime": true,
"removedRoute": true,
"removedSourceLink": true,
"removedProviderMetadata": true,
"updatedFeedback": true,
"errorCode": "string",
"retryable": true,
"failurePhase": "string",
"nextRetryAt": "string"
}curl -X GET "https://example.com/providers"{
"items": [
{
"key": "string",
"title": "string",
"category": "cloud-provider",
"capabilities": [
"string"
],
"capabilityDetails": [
{
"key": "string",
"title": "string",
"enabled": true,
"description": "string"
}
],
"configuration": {
"status": "configured",
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"documentationHref": "string"
}
]
}
}
]
}curl -X GET "https://example.com/plugins"{
"items": [
{
"name": "string",
"displayName": "string",
"description": "string",
"version": "string",
"kind": "user-extension",
"capabilities": [
"string"
],
"capabilityDetails": [
{
"key": "string",
"title": "string",
"enabled": true,
"description": "string"
}
],
"compatible": true,
"configuration": {
"status": "configured",
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"documentationHref": "string"
}
]
}
}
]
}/system/doctorReads local readiness, provider/plugin diagnostics, and configured maintenance worker activation without starting or ticking workers.
Response Body
application/json
curl -X GET "https://example.com/system/doctor"{
"readiness": {
"status": "ready",
"checks": {
"database": true,
"migrations": true
},
"details": {
"property1": "string",
"property2": "string"
}
},
"providers": [
{
"key": "string",
"title": "string",
"category": "cloud-provider",
"capabilities": [
"string"
],
"capabilityDetails": [
{
"key": "string",
"title": "string",
"enabled": true,
"description": "string"
}
],
"configuration": {
"status": "configured",
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"documentationHref": "string"
}
]
}
}
],
"plugins": [
{
"name": "string",
"displayName": "string",
"description": "string",
"version": "string",
"kind": "user-extension",
"capabilities": [
"string"
],
"capabilityDetails": [
{
"key": "string",
"title": "string",
"enabled": true,
"description": "string"
}
],
"compatible": true,
"configuration": {
"status": "configured",
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"documentationHref": "string"
}
]
}
}
],
"maintenanceWorkers": [
{
"key": "certificate-retry-scheduler",
"label": "string",
"enabled": true,
"activation": "disabled-by-config",
"safetyMode": "certificate-retry",
"intervalSeconds": 1,
"batchSize": 1,
"defaultRetryDelaySeconds": 1,
"rawRetentionHours": 1,
"configurationKeys": [
"string"
],
"operationKeys": [
"string"
]
}
]
}curl -X GET "https://example.com/integrations"{
"items": [
{
"key": "string",
"title": "string",
"capabilities": [
"string"
],
"defaultConnectionModeKey": "string",
"connectionModes": [
{
"key": "user-oauth",
"title": "string",
"audience": "end-user",
"externalSetup": "none",
"createsExternalResources": true,
"secretMaterialRequired": true,
"description": "string"
}
],
"setup": {
"providerApp": {
"installUrl": "string",
"callbackUrl": "string",
"webhookUrl": "string"
}
},
"configuration": {
"status": "configured",
"diagnostics": [
{
"code": "string",
"severity": "info",
"message": "string",
"documentationHref": "string"
}
]
}
}
]
}curl -X GET "https://example.com/integrations/github/app-connection"{
"accountLogin": "string",
"accountType": "string",
"callbackUrl": "string",
"configurationStatus": "configured",
"connected": true,
"installUrl": "string",
"installationId": "string",
"repositoryCount": 0,
"repositoriesSelection": "all",
"suspendedAt": "string",
"tenantId": "string",
"updatedAt": "string",
"webhookUrl": "string"
}curl -X GET "https://example.com/integrations/github/repositories"{
"items": [
{
"id": "string",
"name": "string",
"fullName": "string",
"ownerLogin": "string",
"description": "string",
"private": true,
"defaultBranch": "string",
"htmlUrl": "string",
"cloneUrl": "string",
"updatedAt": "string"
}
]
}curl -X POST "https://example.com/integrations/github/source-events"curl -X GET "https://example.com/instance-upgrade/check"curl -X POST "https://example.com/instance-upgrade/apply"