Appaloft Docs
Reference

OpenAPI reference

Generated OpenAPI reference for Appaloft business operations.

GET/bootstrap/auth/status

Response Body

application/json

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"  ]}
POST/bootstrap/auth/first-admin

Request 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": "[email protected]",    "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"}
POST/capabilities/query

Request 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      }    }  ]}
POST/entitlements/query

Request 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      }    }  ]}
GET/usage-intents

Query Parameters

tenantId?string
Length1 <= length
accountId?string
Length1 <= length
organizationId?string
Length1 <= length
capabilityKey?string
Length1 <= length
source?string
Length1 <= length
limit?integer
Range0 < value <= 500

Response 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      }    }  ]}
POST/usage-intents

Request 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    }  }}
GET/deployment-overlays

Query Parameters

tenantId?string
Length1 <= length
accountId?string
Length1 <= length
organizationId?string
Length1 <= length
operationKey?string
Length1 <= length
capabilityKey?string
Length1 <= length
source?string
Length1 <= length
limit?integer
Range0 < value <= 500

Response 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      }    }  ]}
POST/deployment-overlays

Request 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    }  }}
GET/route-surfaces

Query Parameters

tenantId?string
Length1 <= length
accountId?string
Length1 <= length
organizationId?string
Length1 <= length
operationKey?string
Length1 <= length
capabilityKey?string
Length1 <= length
source?string
Length1 <= length
surfaceKind?string
Length1 <= length
limit?integer
Range0 < value <= 500

Response 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      }    }  ]}
POST/route-surfaces

Request 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    }  }}
GET/deploy-tokens

Query Parameters

organizationId*string
Length1 <= length
status?string

Value in

  • "active"
  • "revoked"
resourceId?string
Length1 <= length
repositoryFullName?string
Length1 <= length
limit?integer
Range0 < value <= 100

Response 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"    }  ]}
POST/deploy-tokens

Request 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"}
GET/deploy-tokens/{tokenId}

Path Parameters

tokenId*string
Length1 <= length

Query Parameters

organizationId*string
Length1 <= length

Response 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"}
POST/deploy-tokens/{tokenId}/rotate

Path Parameters

tokenId*string
Length1 <= length

Request 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"    ]  }}
POST/deploy-tokens/{tokenId}/revoke

Path Parameters

tokenId*string
Length1 <= length

Request 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"}
GET/account/profile

Response Body

application/json

curl -X GET "https://example.com/account/profile"
{  "userId": "string",  "email": "string",  "displayName": "string",  "avatarUrl": "string",  "emailVerified": true,  "createdAt": "string",  "updatedAt": "string"}
POST/account/profile

Request 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"}
GET/account/sessions

Response Body

application/json

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"}
POST/account/sessions/{sessionId}/revoke

Path Parameters

sessionId*string
Length1 <= length

Request 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"}
DELETE/account

Request 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"}
GET/organizations/current-context

Response Body

application/json

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  }}
GET/organizations/{organizationId}/profile

Path Parameters

organizationId*string
Length1 <= length

Response 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"}
POST/organizations/{organizationId}/profile

Path Parameters

organizationId*string
Length1 <= length

Request 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"}
DELETE/organizations/{organizationId}

Path Parameters

organizationId*string
Length1 <= length

Request 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"}
POST/organizations/current-context/switch

Request 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  }}
GET/organizations/{organizationId}/members

Path Parameters

organizationId*string
Length1 <= length

Query Parameters

cursor?string
Length1 <= length
limit?integer
Range0 < value <= 250

Response 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"}
GET/organizations/{organizationId}/invitations

Path Parameters

organizationId*string
Length1 <= length

Query Parameters

status?string

Value in

  • "accepted"
  • "expired"
  • "pending"
  • "revoked"
cursor?string
Length1 <= length
limit?integer
Range0 < value <= 250

Response 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"}
POST/organizations/{organizationId}/invitations

Path Parameters

organizationId*string
Length1 <= length

Request 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": "[email protected]",    "role": "admin"  }'
{  "invitationId": "string",  "organizationId": "string",  "email": "string",  "role": "admin",  "status": "accepted",  "createdAt": "string",  "expiresAt": "string",  "inviter": {    "userId": "string",    "displayName": "string",    "email": "string"  }}
POST/organizations/{organizationId}/members/{memberId}/role

Path Parameters

organizationId*string
Length1 <= length
memberId*string
Length1 <= length

Request 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"}
DELETE/organizations/{organizationId}/members/{memberId}

Path Parameters

organizationId*string
Length1 <= length
memberId*string
Length1 <= length

Request 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"}
POST/organizations/{organizationId}/members/{memberId}/reactivate

Path Parameters

organizationId*string
Length1 <= length
memberId*string
Length1 <= length

Request 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/reactivate" \  -H "Content-Type: application/json" \  -d '{}'
{  "memberId": "string",  "userId": "string",  "role": "admin",  "joinedAt": "string",  "avatarUrl": "string",  "displayName": "string",  "email": "string",  "status": "active"}
POST/organizations/{organizationId}/owner-transfer

Path Parameters

organizationId*string
Length1 <= length

Request 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"}
GET/projects/count

Response Body

application/json

curl -X GET "https://example.com/projects/count"
{  "count": 0}
GET/projects

Query Parameters

limit?integer
Range0 < value <= 500
offset?integer
Range0 <= value <= 9007199254740991
lifecycleStatus?string
Default"active"

Value in

  • "active"
  • "archived"
  • "all"

Response Body

application/json

curl -X GET "https://example.com/projects"
{  "items": [    {      "id": "string",      "organizationId": "string",      "name": "string",      "slug": "string",      "description": "string",      "lifecycleStatus": "active",      "archivedAt": "string",      "archiveReason": "string",      "displayOrder": 0,      "createdAt": "string"    }  ],  "total": 0,  "limit": 1,  "offset": 0}
POST/projects

Request 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"}
GET/projects/{projectId}

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Response 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",  "displayOrder": 0,  "createdAt": "string"}
DELETE/projects/{projectId}

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Request 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"}
POST/projects/{projectId}/rename

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Request 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"}
POST/projects/reorder

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/projects/reorder" \  -H "Content-Type: application/json" \  -d '{    "projectIds": [      "string"    ]  }'
{  "reorderedProjectIds": [    "string"  ]}
POST/projects/{projectId}/description

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Request 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"}
POST/projects/{projectId}/archive

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Request 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"}
POST/projects/{projectId}/restore

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/projects/string/restore"
{  "id": "string"}
GET/projects/{projectId}/delete-check

Read, rename, and archive projects. Public docs: /docs/resources/projects/#project-lifecycle

Path Parameters

projectId*string
Length1 <= length

Response 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"}
GET/blueprints

Response Body

application/json

curl -X GET "https://example.com/blueprints"
{  "items": [    null  ]}
GET/blueprints/{slug}

Path Parameters

slug*string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/blueprints/string"
{  "entry": null,  "manifest": null}
POST/blueprints/{slug}/install-plan

Path Parameters

slug*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/blueprints/string/install-plan" \  -H "Content-Type: application/json" \  -d '{}'
{  "entry": null,  "plan": null,  "applicationBundle": null}
POST/blueprints/{slug}/install

Path Parameters

slug*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/blueprints/string/install" \  -H "Content-Type: application/json" \  -d '{}'
{  "schemaVersion": "string",  "applicationId": "string",  "monitoring": {    "workId": "string",    "workIds": [      "string"    ],    "deploymentId": "string",    "deploymentIds": [      "string"    ],    "commands": {      "showWork": "string",      "listByDeployment": "string",      "followDeploymentTimeline": "string",      "property1": null,      "property2": null    },    "property1": null,    "property2": null  },  "property1": null,  "property2": null}
GET/blueprints/installations/{applicationId}

Path Parameters

applicationId*string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/blueprints/installations/string"
null
GET/servers/count

Response Body

application/json

curl -X GET "https://example.com/servers/count"
{  "count": 0}
GET/servers

Query Parameters

limit?integer
Range0 < value <= 500
offset?integer
Range0 <= value <= 9007199254740991
runtimeAvailability?string
Default"all"

Value in

  • "available"
  • "unavailable"
  • "all"

Response Body

application/json

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"      },      "runtimeAvailability": {        "status": "available",        "reasonCodes": [          "string"        ],        "message": "string"      },      "displayOrder": 0,      "credential": {        "kind": "local-ssh-agent",        "credentialId": "string",        "credentialName": "string",        "username": "string",        "publicKeyConfigured": true,        "privateKeyConfigured": true      },      "createdAt": "string"    }  ],  "total": 0,  "limit": 1,  "offset": 0}
POST/servers

Registers 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"}
GET/servers/{serverId}

Reads one deployment target with proxy status and usage rollups. Public docs: /docs/servers/register-connect/#server-deployment-target

Path Parameters

serverId*string
Length1 <= length

Query Parameters

includeRollups?boolean|string|string

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"    },    "runtimeAvailability": {      "status": "available",      "reasonCodes": [        "string"      ],      "message": "string"    },    "displayOrder": 0,    "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"}
DELETE/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

serverId*string
Length1 <= length

Request 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"}
GET/servers/{serverId}/capacity

Inspects 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

serverId*string
Length1 <= length

Response 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}
POST/servers/{serverId}/capacity/prune

Dry-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

serverId*string
Length1 <= length

Request 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"    }  ]}
GET/servers/capacity/policies

Lists safe scheduled runtime prune policy records with optional target and scope filters. Public docs: /docs/observe/diagnostics/#scheduled-runtime-prune-policy

Query Parameters

serverId?string
Length1 <= length
scope?string

Value in

  • "defaults"
  • "system"
  • "organization"
  • "project"
  • "environment"
  • "deployment-snapshot"
enabledOnly?boolean|string

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"    }  ]}
POST/servers/capacity/policies

Configures 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"}
GET/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

policyId*string
Length1 <= length

Response 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"  }}
POST/servers/{serverId}/rename

Renames the display label for one deployment target without changing its identity. Public docs: /docs/servers/register-connect/#server-deployment-target

Path Parameters

serverId*string
Length1 <= length

Request 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"}
POST/servers/reorder

Reorders deployment targets for server list display without changing runtime placement. Public docs: /docs/servers/register-connect/#server-deployment-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/reorder" \  -H "Content-Type: application/json" \  -d '{    "serverIds": [      "string"    ]  }'
{  "reorderedServerIds": [    "string"  ]}
POST/servers/{serverId}/edge-proxy/configuration

Configures the desired edge proxy kind for future server access routing. Public docs: /docs/servers/operations/proxy-and-terminal/#server-proxy-readiness

Path Parameters

serverId*string
Length1 <= length

Request 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"  }}
POST/servers/{serverId}/deactivate

Marks one deployment target inactive so it cannot receive new work. Public docs: /docs/servers/register-connect/#server-deployment-target

Path Parameters

serverId*string
Length1 <= length

Request 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"}
GET/servers/{serverId}/delete-check

Previews whether a deployment target can be safely deleted. Public docs: /docs/servers/register-connect/#server-deployment-target

Path Parameters

serverId*string
Length1 <= length

Response 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"}
POST/servers/{serverId}/credentials

Configures the SSH credential Appaloft uses for server connectivity and deployment. Public docs: /docs/servers/credentials/ssh-keys/#server-ssh-credential-path

Path Parameters

serverId*string
Length1 <= length

Request 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
POST/servers/{serverId}/connectivity-tests

Tests whether Appaloft can reach and inspect a server. Public docs: /docs/servers/register-connect/#server-connectivity-test

Path Parameters

serverId*string
Length1 <= length

Response 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"      }    }  ]}
POST/servers/connectivity-tests

Tests 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"      }    }  ]}
POST/servers/{serverId}/runtime/prepare

Idempotently prepares Docker, edge proxy, and final deployability checks for a server. Public docs: /docs/servers/operations/proxy-and-terminal/#server-proxy-readiness

Path Parameters

serverId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/servers/string/runtime/prepare" \  -H "Content-Type: application/json" \  -d '{}'
{  "serverId": "string",  "status": "ready",  "preparedAt": "string",  "steps": [    {      "phase": "connectivity-before",      "status": "succeeded",      "message": "string",      "durationMs": 0,      "metadata": {        "property1": "string",        "property2": "string"      },      "checks": [        {          "name": "string",          "status": "passed",          "message": "string",          "durationMs": 0,          "metadata": {            "property1": "string",            "property2": "string"          }        }      ]    }  ]}
POST/servers/{serverId}/edge-proxy/bootstrap

Repairs or bootstraps provider-owned edge proxy infrastructure. Public docs: /docs/servers/operations/proxy-and-terminal/#server-proxy-readiness

Path Parameters

serverId*string
Length1 <= length

Request 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"}
GET/runtime-usage/inspect

Inspects 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

scope?||||
mode?string
Default"current"
includeArtifacts?boolean|string|string
includeWarnings?boolean|string|string
scopeKind?string|string|string|string|string
serverId?string
Length1 <= length
projectId?string
Length1 <= length
environmentId?string
Length1 <= length
resourceId?string
Length1 <= length
deploymentId?string
Length1 <= length
scope.kind?string|string|string|string|string
scope.serverId?string
Length1 <= length
scope.projectId?string
Length1 <= length
scope.environmentId?string
Length1 <= length
scope.resourceId?string
Length1 <= length
scope.deploymentId?string
Length1 <= length

Response 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    }  ]}
GET/runtime-usage/inspect/stream

Inspects 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

scope?||||
mode?string
Default"current"
includeArtifacts?boolean|string|string
includeWarnings?boolean|string|string
scopeKind?string|string|string|string|string
serverId?string
Length1 <= length
projectId?string
Length1 <= length
environmentId?string
Length1 <= length
resourceId?string
Length1 <= length
deploymentId?string
Length1 <= length
scope.kind?string|string|string|string|string
scope.serverId?string
Length1 <= length
scope.projectId?string
Length1 <= length
scope.environmentId?string
Length1 <= length
scope.resourceId?string
Length1 <= length
scope.deploymentId?string
Length1 <= length

Response Body

text/event-stream

curl -X GET "https://example.com/runtime-usage/inspect/stream"
{  "event": "message",  "data": {    "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      }    ]  },  "id": "string",  "retry": 0}
GET/runtime-monitoring/samples

Lists 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

scope?||||
window?
signals?array<>
limit?integer
Range1 <= value <= 720
Default300
scope.kind?string|string|string|string|string
scope.serverId?string
Length1 <= length
window.from?string
Match^(?:(?:\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))$
Formatdate-time
window.to?string
Match^(?:(?:\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))$
Formatdate-time
scope.projectId?string
Length1 <= length
scope.environmentId?string
Length1 <= length
scope.resourceId?string
Length1 <= length
scope.deploymentId?string
Length1 <= length

Response 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    }  ]}
GET/runtime-monitoring/rollup

Reads 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

scope?||||
window?
bucket*string

Value in

  • "minute"
  • "five-minute"
  • "hour"
signals?array<>
includeDeploymentMarkers?boolean|string|string
includeTopContributors?boolean|string|string
scope.kind?string|string|string|string|string
scope.serverId?string
Length1 <= length
window.from?string
Match^(?:(?:\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))$
Formatdate-time
window.to?string
Match^(?:(?:\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))$
Formatdate-time
scope.projectId?string
Length1 <= length
scope.environmentId?string
Length1 <= length
scope.resourceId?string
Length1 <= length
scope.deploymentId?string
Length1 <= length

Response 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    }  ]}
GET/runtime-monitoring/thresholds

Reads non-enforcing runtime monitoring threshold state from retained samples without runtime mutation. Public docs: /docs/observe/diagnostics/#runtime-monitoring-thresholds

Query Parameters

scope?||||
policyId?string
Length1 <= length
window?
scope.kind?string|string|string|string|string
scope.serverId?string
Length1 <= length
window.from?string
Match^(?:(?:\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))$
Formatdate-time
window.to?string
Match^(?:(?:\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))$
Formatdate-time
scope.projectId?string
Length1 <= length
scope.environmentId?string
Length1 <= length
scope.resourceId?string
Length1 <= length
scope.deploymentId?string
Length1 <= length

Response 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      }    ]  }}
POST/runtime-monitoring/thresholds

Configures 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"  }}
GET/retention-defaults

Lists safe retention default policy records without retained history payloads. Public docs: /docs/reference/errors-statuses/#operator-retention-defaults

Query Parameters

scope?string

Value in

  • "organization"
  • "system"
organizationId?string
Length1 <= length
category?string

Value in

  • "audit-rows"
  • "domain-event-streams"
  • "process-attempts"
  • "provider-job-logs"
  • "resource-runtime-log-archives"
  • "runtime-monitoring-samples"
enabledOnly?boolean|string

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"    }  ]}
POST/retention-defaults

Configures 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"}
GET/retention-defaults/{category}

Reads one safe retention default policy record by category. Public docs: /docs/reference/errors-statuses/#operator-retention-defaults

Path Parameters

category*string

Value in

  • "audit-rows"
  • "domain-event-streams"
  • "process-attempts"
  • "provider-job-logs"
  • "resource-runtime-log-archives"
  • "runtime-monitoring-samples"

Query Parameters

scope?string
Default"system"

Value in

  • "organization"
  • "system"
organizationId?string
Length1 <= length

Response 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"  }}
GET/credentials/ssh

Query Parameters

limit?integer
Range0 < value <= 500

Response Body

application/json

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"    }  ]}
POST/credentials/ssh

Creates 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"}
GET/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

credentialId*string
Length1 <= length

Query Parameters

includeUsage?boolean|string|string

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"}
DELETE/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

credentialId*string
Length1 <= length

Request 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"}
POST/credentials/ssh/{credentialId}/rotate

Rotates 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

credentialId*string
Length1 <= length

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/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"      }    ]  }}
GET/environments/count

Query Parameters

projectId?string

Response Body

application/json

curl -X GET "https://example.com/environments/count"
{  "count": 0}
GET/environments

Query Parameters

projectId?string
limit?integer
Range0 < value <= 500

Response 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"        }      ]    }  ]}
POST/environments

Request 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"}
GET/environments/{environmentId}

Path Parameters

environmentId*string
Length1 <= length

Response 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"    }  ]}
POST/environments/{environmentId}/lock

Locks one environment to block mutable work while keeping it readable. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Request 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"}
POST/environments/{environmentId}/unlock

Unlocks one environment so mutable work can resume. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/environments/string/unlock"
{  "id": "string"}
POST/environments/{environmentId}/archive

Archives one environment while keeping deployment history readable. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Request 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"}
POST/environments/{environmentId}/clone

Clones one active environment into a new environment in the same project. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Request 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"}
POST/environments/{environmentId}/rename

Renames one active environment without changing configuration or deployments. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Request 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"}
POST/environments/{environmentId}/variables

Sets an environment variable with explicit kind, exposure, scope, and secret handling. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

environmentId*string
Length1 <= length

Request 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
DELETE/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

environmentId*string
Length1 <= length
key*string
Length1 <= length

Request 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
GET/environments/{environmentId}/effective-precedence

Reads masked environment variables after environment precedence resolution. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

environmentId*string
Length1 <= length

Response 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"}
POST/environments/{environmentId}/promote

Promotes one environment configuration set into another. Public docs: /docs/environments/changes/diff-promote/#environment-diff

Path Parameters

environmentId*string
Length1 <= length

Request 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"}
GET/environments/{environmentId}/diff/{otherEnvironmentId}

Compares two environment configuration sets. Public docs: /docs/environments/changes/diff-promote/#environment-diff

Path Parameters

environmentId*string
Length1 <= length
otherEnvironmentId*string
Length1 <= length

Response 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"  }]
GET/environments/{environmentId}/duplicate-plan

Plans an Environment Profile duplication without mutating the target environment. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Query Parameters

targetName*string
Length1 <= length
targetProjectId?string
Length1 <= length
targetEnvironmentId?string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/environments/string/duplicate-plan?targetName=string"
{  "schemaVersion": "environments.duplicate-plan/v1",  "sourceEnvironment": {    "property1": null,    "property2": null  },  "target": {    "projectId": "string",    "name": "string",    "environmentId": "string",    "existingEnvironmentId": "string",    "existingLifecycleStatus": "string",    "conflict": true  },  "variableCandidates": [    {      "key": "string",      "scope": "string",      "exposure": "string",      "kind": "string",      "isSecret": true,      "maskedValue": "string",      "decisionHint": "copy"    }  ],  "resourceCandidates": [    {      "resourceId": "string",      "name": "string",      "slug": "string",      "kind": "string",      "services": [        {          "property1": null,          "property2": null        }      ],      "networkProfile": {        "property1": null,        "property2": null      },      "accessProfile": {        "property1": null,        "property2": null      },      "decisionHint": "recreate-resource"    }  ],  "dependencyCandidates": [    {      "dependencyResourceId": "string",      "name": "string",      "slug": "string",      "kind": "string",      "sourceMode": "string",      "providerKey": "string",      "providerManaged": true,      "lifecycleStatus": "string",      "desiredCapabilities": [        {          "property1": null,          "property2": null        }      ],      "decisionHint": "create-new-managed",      "reasons": [        "string"      ]    }  ],  "dependencyBindingCandidates": [    {      "bindingId": "string",      "resourceId": "string",      "dependencyResourceId": "string",      "kind": "string",      "target": {        "property1": null,        "property2": null      },      "decisionHint": "rebind-after-dependency-decision"    }  ],  "domainRouteCandidates": [    {      "domainBindingId": "string",      "resourceId": "string",      "domainName": "string",      "pathPrefix": "string",      "proxyKind": "string",      "tlsMode": "string",      "redirectTo": "string",      "redirectStatus": 301,      "status": "string",      "decisionHint": "regenerate",      "reasons": [        "string"      ]    }  ],  "storageDecisionCandidates": [    {      "storageVolumeId": "string",      "storageVolumeName": "string",      "storageVolumeKind": "string",      "resourceId": "string",      "attachmentId": "string",      "destinationPath": "string",      "mountMode": "read-write",      "dataFormat": "string",      "applicationDataLabel": "string",      "decisionHint": "empty",      "reasons": [        "string"      ]    }  ],  "warnings": [    {      "code": "string",      "message": "string"    }  ],  "generatedAt": "string"}
POST/environments/{environmentId}/duplicate-profile

Applies a reviewed Environment Profile duplication plan. Public docs: /docs/environments/model/#environment-lifecycle

Path Parameters

environmentId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/environments/string/duplicate-profile" \  -H "Content-Type: application/json" \  -d '{    "targetName": "string"  }'
{  "schemaVersion": "environments.duplicate-profile/v1",  "sourceEnvironmentId": "string",  "targetEnvironmentId": "string",  "copiedResources": [    {      "sourceResourceId": "string",      "targetResourceId": "string",      "name": "string",      "slug": "string"    }  ],  "appliedDependencies": [    {      "sourceDependencyResourceId": "string",      "targetDependencyResourceId": "string",      "decision": "create-new-managed",      "kind": "string",      "name": "string"    }  ],  "createdDependencyBindings": [    {      "sourceBindingId": "string",      "sourceResourceId": "string",      "targetResourceId": "string",      "sourceDependencyResourceId": "string",      "targetDependencyResourceId": "string",      "targetName": "string",      "scope": "string",      "injectionMode": "string",      "bindingId": "string"    }  ],  "deferredDecisions": [    {      "kind": "resource",      "sourceId": "string",      "decision": "string",      "reason": "string"    }  ],  "warnings": [    {      "code": "string",      "message": "string"    }  ],  "generatedAt": "string"}
GET/environments/{environmentId}/diff-profile/{targetEnvironmentId}

Compares Environment Profile shape, decisions, routes, storage, dependencies, and masked variables. Public docs: /docs/environments/changes/diff-promote/#environment-diff

Path Parameters

environmentId*string
Length1 <= length
targetEnvironmentId*string
Length1 <= length

Query Parameters

includeUnchanged?boolean|string|string

Response Body

application/json

curl -X GET "https://example.com/environments/string/diff-profile/string"
{  "schemaVersion": "environments.diff-profile/v1",  "sourceEnvironment": {    "property1": null,    "property2": null  },  "targetEnvironment": {    "property1": null,    "property2": null  },  "entries": [    {      "section": "variable",      "key": "string",      "change": "added",      "source": {        "property1": null,        "property2": null      },      "target": {        "property1": null,        "property2": null      }    }  ],  "counts": {    "added": 0,    "removed": 0,    "changed": 0,    "unchanged": 0  },  "generatedAt": "string"}
POST/environments/{environmentId}/sync-profile/{targetEnvironmentId}

Synchronizes selected Environment Profile resource shape into an existing target environment. Public docs: /docs/environments/changes/diff-promote/#environment-diff

Path Parameters

environmentId*string
Length1 <= length
targetEnvironmentId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/environments/string/sync-profile/string" \  -H "Content-Type: application/json" \  -d '{    "resourceIds": [      "string"    ]  }'
{  "schemaVersion": "environments.sync-profile/v1",  "sourceEnvironmentId": "string",  "targetEnvironmentId": "string",  "syncedResources": [    {      "sourceResourceId": "string",      "targetResourceId": "string",      "name": "string",      "slug": "string",      "action": "created"    }  ],  "skippedResources": [    {      "sourceResourceId": "string",      "targetResourceId": "string",      "name": "string",      "slug": "string",      "reason": "target-resource-exists"    }  ],  "deferredDecisions": [    {      "kind": "resource",      "sourceId": "string",      "decision": "string",      "reason": "string"    }  ],  "warnings": [    {      "code": "string",      "message": "string"    }  ],  "generatedAt": "string"}
GET/default-access-domain-policies

Lists 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"    }  ]}
POST/default-access-domain-policies

Configures 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"}
GET/default-access-domain-policies/show

Reads one persisted default access policy scope. Public docs: /docs/access/generated-routes/#default-access-policy

Query Parameters

scopeKind?string
Default"system"

Value in

  • "system"
  • "deployment-target"
serverId?string
Length1 <= length

Response 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"  }}
GET/resources/count

Query Parameters

projectId?string
environmentId?string
includePreviewResources?boolean

Response Body

application/json

curl -X GET "https://example.com/resources/count"
{  "count": 0}
GET/resources

Query Parameters

projectId?string
environmentId?string
includePreviewResources?boolean|string|string
lifecycleStatus?string
Default"active"

Value in

  • "active"
  • "archived"
  • "all"
limit?integer
Range0 < value <= 500

Response 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",      "lifecycleStatus": "active",      "archivedAt": "string",      "archiveReason": "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"        },        "latestStaticArtifactRoute": {          "url": "string",          "hostname": "string",          "scheme": "http",          "providerKey": "string",          "targetPort": 0,          "publicationId": "string",          "artifactId": "string",          "pathPrefix": "string",          "fileCount": 0,          "totalBytes": 0,          "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"        }      }    }  ]}
POST/resources

Request 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"}
GET/resources/{resourceId}

Reads one resource profile with optional diagnostics for profile drift. Public docs: /docs/resources/profiles/source-runtime/#resource-profile-drift

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

includeLatestDeployment?boolean|string|string
includeAccessSummary?boolean|string|string
includeProfileDiagnostics?boolean|string|string

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",    "version": "string",    "versionKind": "branch",    "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",    "replicas": 1,    "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",      "dataFormat": "sqlite",      "applicationDataLabel": "string",      "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"    },    "latestStaticArtifactRoute": {      "url": "string",      "hostname": "string",      "scheme": "http",      "providerKey": "string",      "targetPort": 0,      "publicationId": "string",      "artifactId": "string",      "pathPrefix": "string",      "fileCount": 0,      "totalBytes": 0,      "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"}
DELETE/resources/{resourceId}

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/archive

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/restore

Path Parameters

resourceId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/resources/string/restore"
{  "id": "string"}
GET/resources/{resourceId}/delete-check

Path Parameters

resourceId*string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/resources/string/delete-check"
{  "schemaVersion": "resources.delete-check/v1",  "resourceId": "string",  "lifecycleStatus": "active",  "eligible": true,  "blockers": [    {      "kind": "active-resource",      "relatedEntityId": "string",      "relatedEntityType": "string",      "count": 0    }  ],  "checkedAt": "string"}
POST/resources/{resourceId}/health-policy

Configures readiness and health checks used during verification. Public docs: /docs/resources/profiles/health-network/#resource-health-profile

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/health-policy/reset

Resets the reusable resource health policy without deploying or restarting runtime. Public docs: /docs/resources/profiles/health-network/#resource-health-profile

Path Parameters

resourceId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/resources/string/health-policy/reset"
{  "id": "string"}
POST/resources/{resourceId}/network-profile

Configures ports, protocols, and exposure behavior for resource access. Public docs: /docs/resources/profiles/health-network/#resource-network-profile

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/access-profile

Configures resource participation in generated default access route planning. Public docs: /docs/access/generated-routes/#resource-access-profile

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/auto-deploy

Configures a Resource-owned auto-deploy policy for trusted source events. Public docs: /docs/deploy/sources/#source-auto-deploy-setup

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/storage-attachments

Attaches an existing storage volume to a resource at a validated destination path. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
DELETE/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

resourceId*string
Length1 <= length
attachmentId*string
Length1 <= length

Response Body

application/json

curl -X DELETE "https://example.com/resources/string/storage-attachments/string"
{  "id": "string"}
POST/resources/{resourceId}/runtime-profile

Configures runtime settings such as strategy, commands, and publish directory. Public docs: /docs/resources/profiles/source-runtime/#resource-runtime-profile

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/source

Configures the source profile used by later deployment detect and plan stages. Public docs: /docs/resources/profiles/source-runtime/#resource-source-profile

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/variables

Sets one resource-scoped variable or secret override. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length

Request 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
GET/resources/{resourceId}/secrets

Lists masked resource-owned secret references for one resource. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

exposure?string
Default"runtime"

Value in

  • "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"}
POST/resources/{resourceId}/secrets

Creates one resource-owned runtime secret reference without exposing its value on reads. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
GET/resources/{resourceId}/secrets/{key}

Reads one masked resource-owned secret reference. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length
key*string
Length1 <= length

Query Parameters

exposure?string
Default"runtime"

Value in

  • "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"}
POST/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

resourceId*string
Length1 <= length
key*string
Length1 <= length

Request 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"}
DELETE/resources/{resourceId}/secrets/{key}

Deletes one existing resource-owned secret reference. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length
key*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/variables/import

Imports pasted .env content into resource-scoped variables and secrets. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length

Request 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"    }  ]}
DELETE/resources/{resourceId}/variables/{key}

Removes one resource-scoped variable override. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length
key*string
Length1 <= length

Request 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
GET/resources/{resourceId}/effective-config

Reads the masked effective configuration for one resource. Public docs: /docs/environments/variables/precedence/#environment-variable-precedence

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

previewEnvironmentId?string
Length1 <= length

Response 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"}
GET/resources/{resourceId}/diagnostic-summary

Returns a support-safe diagnostic summary. Public docs: /docs/observe/diagnostics/#diagnostic-summary-copy-support-payload

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

previewEnvironmentId?string
Length1 <= length
deploymentId?string
Length1 <= length
observationFrom?string
Length1 <= length
observationTo?string
Length1 <= length
includeDeploymentTimelineTail?boolean|string|string
includeRuntimeLogTail?boolean|string|string
includeProxyConfiguration?boolean|string|string
tailLines?integer
Range0 <= value <= 50
locale?string
Length1 <= length

Response 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",    "timelineCount": 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"  },  "deploymentTimeline": {    "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"  }}
GET/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

requestId*string
Length1 <= length

Query Parameters

resourceId?string
Length1 <= length
hostname?string
Length1 <= length
path?string
Length1 <= length

Response 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"}
GET/resources/{resourceId}/health

Reads current resource health. Public docs: /docs/observe/logs-health/#observe-health-summary

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

previewEnvironmentId?string
Length1 <= length
mode?string

Value in

  • "cached"
  • "live"
includeChecks?boolean|string|string
includePublicAccessProbe?boolean|string|string
includeRuntimeProbe?boolean|string|string

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"    }  ]}
GET/resources/{resourceId}/health-history

Reads retained resource health observations for a bounded time window. Public docs: /docs/observe/logs-health/#observe-health-summary

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

window?
limit?integer
Range1 <= value <= 720
Default200
window.from?string
Match^(?:(?:\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))$
Formatdate-time
window.to?string
Match^(?:(?:\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))$
Formatdate-time

Response 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"    }  ]}
GET/resources/{resourceId}/proxy-configuration

Previews generated proxy configuration for a resource. Public docs: /docs/resources/profiles/health-network/#resource-network-profile

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

deploymentId?string
Length1 <= length
routeScope?string
Default"latest"

Value in

  • "planned"
  • "latest"
  • "deployment-snapshot"
includeDiagnostics?boolean|string|string

Response 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",      "pathHandling": "preserve",      "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"    }  }}
GET/resources/{resourceId}/runtime-logs

Reads resource runtime logs. Public docs: /docs/observe/logs-health/#observe-runtime-logs

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

previewEnvironmentId?string
Length1 <= length
deploymentId?string
Length1 <= length
serviceName?string
Length1 <= length
tailLines?integer
Range0 <= value <= 1000
since?string
Length1 <= length
cursor?string
Length1 <= length
follow?boolean|string|string

Response 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    }  ]}
GET/resources/{resourceId}/runtime-logs/stream

Reads resource runtime logs. Public docs: /docs/observe/logs-health/#observe-runtime-logs

Path Parameters

resourceId*string
Length1 <= length

Query Parameters

previewEnvironmentId?string
Length1 <= length
deploymentId?string
Length1 <= length
serviceName?string
Length1 <= length
tailLines?integer
Range0 <= value <= 1000
since?string
Length1 <= length
cursor?string
Length1 <= length
follow?boolean|string|string

Response Body

text/event-stream

curl -X GET "https://example.com/resources/string/runtime-logs/stream"
{  "event": "message",  "data": {    "kind": "line",    "line": {      "resourceId": "string",      "deploymentId": "string",      "serviceName": "string",      "runtimeKind": "string",      "runtimeInstanceId": "string",      "stream": "stdout",      "timestamp": "string",      "sequence": 0,      "cursor": "string",      "message": "string",      "masked": true    }  },  "id": "string",  "retry": 0}
POST/resources/{resourceId}/runtime-log-archives

Captures a bounded redacted resource runtime log archive snapshot. Public docs: /docs/observe/logs-health/#observe-runtime-logs

Path Parameters

resourceId*string
Length1 <= length

Request 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      }    ]  }}
GET/resources/runtime-log-archives

Lists retained Appaloft-owned resource runtime log archive snapshots. Public docs: /docs/observe/logs-health/#observe-runtime-logs

Query Parameters

resourceId?string
Length1 <= length
deploymentId?string
Length1 <= length
serverId?string
Length1 <= length
serviceName?string
Length1 <= length
limit?integer
Range0 < value <= 100
Default50
cursor?string
Length1 <= length

Response 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"}
GET/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

archiveId*string
Length1 <= length

Response 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      }    ]  }}
POST/resources/runtime-log-archives/prune

Dry-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"}
POST/resources/runtime-control-attempts/prune

Dry-runs or prunes terminal resource runtime control attempt rows. Public docs: /docs/observe/logs-health/#resource-runtime-controls

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-control-attempts/prune" \  -H "Content-Type: application/json" \  -d '{    "before": "2019-08-24T14:15:22Z"  }'
{  "schemaVersion": "resources.runtime-control-attempts.prune/v1",  "before": "string",  "deploymentId": "string",  "resourceId": "string",  "serverId": "string",  "dryRun": true,  "matchedCount": 0,  "prunedCount": 0,  "affectedResourceCount": 0,  "affectedDeploymentCount": 0,  "prunedAt": "string"}
POST/resources/{resourceId}/runtime/stop

Stops, starts, or restarts the current resource runtime without creating a deployment attempt. Public docs: /docs/observe/logs-health/#resource-runtime-controls

Path Parameters

resourceId*string
Length1 <= length

Request 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"    }  ]}
POST/resources/{resourceId}/runtime/start

Stops, starts, or restarts the current resource runtime without creating a deployment attempt. Public docs: /docs/observe/logs-health/#resource-runtime-controls

Path Parameters

resourceId*string
Length1 <= length

Request 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"    }  ]}
POST/resources/{resourceId}/runtime/restart

Stops, starts, or restarts the current resource runtime without creating a deployment attempt. Public docs: /docs/observe/logs-health/#resource-runtime-controls

Path Parameters

resourceId*string
Length1 <= length

Request 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"    }  ]}
GET/resources/{resourceId}/dependency-bindings

Lists safe dependency binding summaries for one resource without exposing raw connection secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

resourceId*string
Length1 <= length

Response 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"}
POST/resources/{resourceId}/dependency-bindings

Binds a ready Postgres dependency resource to a resource using safe control-plane metadata only. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
GET/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

resourceId*string
Length1 <= length
bindingId*string
Length1 <= length

Response 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"}
DELETE/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

resourceId*string
Length1 <= length
bindingId*string
Length1 <= length

Response Body

application/json

curl -X DELETE "https://example.com/resources/string/dependency-bindings/string"
{  "id": "string"}
POST/resources/{resourceId}/dependency-bindings/{bindingId}/secret-rotations

Rotates the safe secret reference used by a resource dependency binding for future deployments. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

resourceId*string
Length1 <= length
bindingId*string
Length1 <= length

Request 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"}
GET/static-artifacts/publications

Query Parameters

projectId?string
Length1 <= length
resourceId?string
Length1 <= length
limit?integer
Range0 < value <= 500

Response 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"      }    }  ]}
POST/static-artifacts/publish

Request 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"}
POST/static-artifacts/publish-archive

Request 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"}
POST/static-artifacts/publish-payload

Request 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"}
GET/storage-volumes

Lists storage volumes with safe resource attachment summaries. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Query Parameters

projectId?string
Length1 <= length
environmentId?string
Length1 <= length

Response 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",          "dataFormat": "sqlite",          "applicationDataLabel": "string",          "attachedAt": "string"        }      ],      "createdAt": "string",      "deletedAt": "string"    }  ],  "generatedAt": "string"}
POST/storage-volumes

Creates 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"}
GET/storage-volumes/{storageVolumeId}

Reads one storage volume with safe resource attachment summaries. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

storageVolumeId*string
Length1 <= length

Response 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",        "dataFormat": "sqlite",        "applicationDataLabel": "string",        "attachedAt": "string"      }    ],    "createdAt": "string",    "deletedAt": "string"  },  "generatedAt": "string"}
DELETE/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

storageVolumeId*string
Length1 <= length

Response Body

application/json

curl -X DELETE "https://example.com/storage-volumes/string"
{  "id": "string"}
POST/storage-volumes/{storageVolumeId}/rename

Renames one storage volume without changing resource attachments or runtime state. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

storageVolumeId*string
Length1 <= length

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/string/rename" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "id": "string"}
POST/storage-volumes/{storageVolumeId}/runtime-cleanup

Dry-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

storageVolumeId*string
Length1 <= length

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/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"    }  ]}
POST/storage-volumes/{storageVolumeId}/backups/plan

Previews storage volume backup source adapter, target provider, retention, and consistency blockers without exposing secrets. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

storageVolumeId*string
Length1 <= length

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/string/backups/plan" \  -H "Content-Type: application/json" \  -d '{    "source": {      "storageVolumeId": "string"    },    "requestedConsistency": "crash-consistent",    "target": {      "providerKey": "local-filesystem",      "targetRef": "string"    },    "retention": {      "maxCount": -9007199254740991    }  }'
{  "schemaVersion": "storage-volumes.backup-plan/v1",  "storageVolumeId": "string",  "sourceAdapterKey": "string",  "targetProviderKey": "local-filesystem",  "consistency": "crash-consistent",  "localOnly": true,  "retention": {    "maxCount": -9007199254740991,    "maxAgeDays": 1,    "maxBytes": 1,    "minFreeBytes": 1  },  "blockers": [    {      "code": "string",      "message": "string"    }  ]}
GET/storage-volumes/{storageVolumeId}/backups

Lists storage volume backup artifacts and restore attempt readback. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

storageVolumeId*string
Length1 <= length

Query Parameters

status?string

Value in

  • "pending"
  • "ready"
  • "failed"
  • "pruned"

Response Body

application/json

curl -X GET "https://example.com/storage-volumes/string/backups"
{  "schemaVersion": "storage-volumes.backups.list/v1",  "items": [    {      "id": "string",      "storageVolumeId": "string",      "projectId": "string",      "environmentId": "string",      "resourceId": "string",      "storageVolumeKind": "named-volume",      "sourceAdapterKey": "string",      "targetProviderKey": "local-filesystem",      "targetRef": "string",      "consistency": "string",      "status": "pending",      "attemptId": "string",      "requestedAt": "string",      "retentionStatus": "retained",      "localOnly": true,      "artifactHandle": "string",      "sizeBytes": 0,      "checksum": "string",      "completedAt": "string",      "failedAt": "string",      "failureCode": "string",      "failureMessage": "string",      "latestRestoreAttempt": {        "attemptId": "string",        "status": "pending",        "requestedAt": "string",        "target": {          "storageVolumeId": "string",          "restoredVolumeId": "string",          "destructiveInPlace": true        },        "completedAt": "string",        "failedAt": "string",        "failureCode": "string",        "failureMessage": "string"      },      "createdAt": "string"    }  ],  "generatedAt": "string"}
POST/storage-volumes/{storageVolumeId}/backups

Creates a storage volume backup through storage source and target provider ports. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

storageVolumeId*string
Length1 <= length

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/string/backups" \  -H "Content-Type: application/json" \  -d '{    "planRequest": {      "source": {        "storageVolumeId": "string"      },      "requestedConsistency": "crash-consistent",      "target": {        "providerKey": "local-filesystem",        "targetRef": "string"      },      "retention": {        "maxCount": -9007199254740991      }    }  }'
{  "id": "string"}
GET/storage-volume-backups/{backupId}

Reads one storage volume backup artifact and restore attempt readback. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

backupId*string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/storage-volume-backups/string"
{  "schemaVersion": "storage-volumes.backups.show/v1",  "backup": {    "id": "string",    "storageVolumeId": "string",    "projectId": "string",    "environmentId": "string",    "resourceId": "string",    "storageVolumeKind": "named-volume",    "sourceAdapterKey": "string",    "targetProviderKey": "local-filesystem",    "targetRef": "string",    "consistency": "string",    "status": "pending",    "attemptId": "string",    "requestedAt": "string",    "retentionStatus": "retained",    "localOnly": true,    "artifactHandle": "string",    "sizeBytes": 0,    "checksum": "string",    "completedAt": "string",    "failedAt": "string",    "failureCode": "string",    "failureMessage": "string",    "latestRestoreAttempt": {      "attemptId": "string",      "status": "pending",      "requestedAt": "string",      "target": {        "storageVolumeId": "string",        "restoredVolumeId": "string",        "destructiveInPlace": true      },      "completedAt": "string",      "failedAt": "string",      "failureCode": "string",      "failureMessage": "string"    },    "createdAt": "string"  },  "generatedAt": "string"}
DELETE/storage-volume-backups/{backupId}

Prunes one storage volume backup artifact after provider retention handling. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

backupId*string
Length1 <= length

Response Body

application/json

curl -X DELETE "https://example.com/storage-volume-backups/string"
{  "id": "string",  "prunedAt": "string"}
POST/storage-volume-backups/{backupId}/restore-plan

Previews a storage volume restore and defaults to restore-to-new-volume safety. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

backupId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/storage-volume-backups/string/restore-plan" \  -H "Content-Type: application/json" \  -d '{}'
{  "schemaVersion": "storage-volumes.restore-plan/v1",  "backupId": "string",  "sourceStorageVolumeId": "string",  "targetMode": "new-volume",  "destructive": true,  "targetStorageVolumeId": "string",  "defaultRestoredVolumeName": "string",  "blockers": [    {      "code": "string",      "message": "string"    }  ]}
POST/storage-volume-backups/{backupId}/restore

Restores a storage volume backup to a new storage volume by default. Public docs: /docs/resources/storage-volumes/#storage-volume-lifecycle

Path Parameters

backupId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/storage-volume-backups/string/restore" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "restoredStorageVolumeId": "string"}
GET/scheduled-tasks

Lists 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

projectId?string
Length1 <= length
environmentId?string
Length1 <= length
resourceId?string
Length1 <= length
status?string

Value in

  • "enabled"
  • "disabled"
limit?integer
Range1 <= value <= 100
cursor?string
Length1 <= length

Response 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",        "scheduledFor": "string",        "createdAt": "string",        "startedAt": "string",        "finishedAt": "string",        "exitCode": 0,        "failureSummary": "string",        "skippedReason": "concurrency-forbidden"      }    }  ],  "nextCursor": "string",  "generatedAt": "string"}
POST/scheduled-tasks

Creates 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",      "scheduledFor": "string",      "createdAt": "string",      "startedAt": "string",      "finishedAt": "string",      "exitCode": 0,      "failureSummary": "string",      "skippedReason": "concurrency-forbidden"    }  }}
GET/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

taskId*string
Length1 <= length

Query Parameters

resourceId?string
Length1 <= length

Response 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",      "scheduledFor": "string",      "createdAt": "string",      "startedAt": "string",      "finishedAt": "string",      "exitCode": 0,      "failureSummary": "string",      "skippedReason": "concurrency-forbidden"    }  },  "generatedAt": "string"}
POST/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

taskId*string
Length1 <= length

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/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",      "scheduledFor": "string",      "createdAt": "string",      "startedAt": "string",      "finishedAt": "string",      "exitCode": 0,      "failureSummary": "string",      "skippedReason": "concurrency-forbidden"    }  }}
DELETE/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

taskId*string
Length1 <= length

Request 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"}
POST/scheduled-tasks/{taskId}/runs

Accepts one immediate scheduled task run and returns before task execution completes. Public docs: /docs/resources/scheduled-tasks/#scheduled-task-resource-lifecycle

Path Parameters

taskId*string
Length1 <= length

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/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",    "scheduledFor": "string",    "createdAt": "string",    "startedAt": "string",    "finishedAt": "string",    "exitCode": 0,    "failureSummary": "string",    "skippedReason": "concurrency-forbidden"  }}
GET/scheduled-task-runs

Lists 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

taskId?string
Length1 <= length
resourceId?string
Length1 <= length
status?string

Value in

  • "accepted"
  • "running"
  • "succeeded"
  • "failed"
  • "skipped"
triggerKind?string

Value in

  • "manual"
  • "scheduled"
limit?integer
Range1 <= value <= 100
cursor?string
Length1 <= length

Response 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",      "scheduledFor": "string",      "createdAt": "string",      "startedAt": "string",      "finishedAt": "string",      "exitCode": 0,      "failureSummary": "string",      "skippedReason": "concurrency-forbidden"    }  ],  "nextCursor": "string",  "generatedAt": "string"}
GET/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

runId*string
Length1 <= length

Query Parameters

taskId?string
Length1 <= length
resourceId?string
Length1 <= length

Response 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",    "scheduledFor": "string",    "createdAt": "string",    "startedAt": "string",    "finishedAt": "string",    "exitCode": 0,    "failureSummary": "string",    "skippedReason": "concurrency-forbidden"  },  "generatedAt": "string"}
GET/scheduled-task-runs/{runId}/logs

Reads 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

runId*string
Length1 <= length

Query Parameters

taskId?string
Length1 <= length
resourceId?string
Length1 <= length
cursor?string
Length1 <= length
limit?integer
Range1 <= value <= 100

Response 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"}
POST/dependency-resources/provisioning/plan

Creates 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"}
POST/dependency-resources/provisioning/{planId}/accept

Accepts a dependency resource provisioning plan and then performs the planned create or reuse mutation. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

planId*string
Length1 <= length

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/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"}
GET/dependency-resources/provisioning/{planId}

Reads dependency resource provisioning plan status and safe realization readback. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

planId*string
Length1 <= length

Response 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"}
GET/dependency-resources/count

Lists dependency resources with ownership, masked connection, binding readiness, and backup relationship summaries. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Query Parameters

projectId?string
Length1 <= length
environmentId?string
Length1 <= length
kind?string

Value in

  • "postgres"
  • "redis"
  • "mysql"
  • "clickhouse"
  • "object-storage"
  • "opensearch"

Response Body

application/json

curl -X GET "https://example.com/dependency-resources/count"
{  "count": 0}
POST/dependency-resources/provision

Provisions 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"}
POST/dependency-resources/import

Imports 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"}
GET/dependency-resources

Lists dependency resources with ownership, masked connection, binding readiness, and backup relationship summaries. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Query Parameters

projectId?string
Length1 <= length
environmentId?string
Length1 <= length
kind?string

Value in

  • "postgres"
  • "redis"
  • "mysql"
  • "clickhouse"
  • "object-storage"
  • "opensearch"
limit?integer
Range0 < value <= 500

Response 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"}
GET/dependency-resources/{dependencyResourceId}

Reads one dependency resource with masked connection and delete-safety metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

dependencyResourceId*string
Length1 <= length

Response 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"}
DELETE/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

dependencyResourceId*string
Length1 <= length

Response Body

application/json

curl -X DELETE "https://example.com/dependency-resources/string"
{  "id": "string"}
POST/dependency-resources/{dependencyResourceId}/rename

Renames one dependency resource without changing provider ownership, bindings, or connection secret boundaries. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

dependencyResourceId*string
Length1 <= length

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/string/rename" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "id": "string"}
GET/dependency-resources/{dependencyResourceId}/backups

Lists dependency resource backups without exposing provider-native artifact secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

dependencyResourceId*string
Length1 <= length

Query Parameters

status?string

Value in

  • "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"}
POST/dependency-resources/{dependencyResourceId}/backups

Creates a dependency resource backup through the selected provider while recording safe artifact metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

dependencyResourceId*string
Length1 <= length

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/string/backups" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string"}
GET/dependency-resources/backups/{backupId}

Reads one dependency resource backup with latest restore attempt metadata. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

backupId*string
Length1 <= length

Response 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"}
POST/dependency-resources/backups/{backupId}/restore

Restores a ready dependency resource backup after explicit data-overwrite acknowledgements. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Path Parameters

backupId*string
Length1 <= length

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/backups/string/restore" \  -H "Content-Type: application/json" \  -d '{    "acknowledgeDataOverwrite": true,    "acknowledgeRuntimeNotRestarted": true  }'
{  "id": "string"}
GET/dependency-resources/backup-policies

Lists scheduled dependency backup policies and due-run metadata without exposing provider secrets. Public docs: /docs/resources/dependencies/#dependency-resource-lifecycle

Query Parameters

dependencyResourceId?string
Length1 <= length
enabledOnly?boolean|string
dueAt?string
Length1 <= length

Response 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"    }  ]}
POST/dependency-resources/backup-policies

Configures 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"}
GET/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

policyId*string
Length1 <= length

Response 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"  }}
GET/terminal-sessions

Lists, shows, closes, or expires active terminal sessions without exposing terminal output. Public docs: /docs/servers/operations/proxy-and-terminal/#server-terminal-session

Query Parameters

scope?string

Value in

  • "server"
  • "resource"
serverId?string
Length1 <= length
resourceId?string
Length1 <= length
deploymentId?string
Length1 <= length
limit?|

Response 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"    }  ]}
POST/terminal-sessions

Opens 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"}
GET/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

sessionId*string
Length1 <= length

Response 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"  }}
POST/terminal-sessions/{sessionId}/close

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

sessionId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/terminal-sessions/string/close"
{  "sessionId": "string",  "closed": true,  "status": "closed"}
POST/terminal-sessions/expire

Lists, 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"  ]}
GET/domain-bindings

Query Parameters

projectId?string
environmentId?string
resourceId?string
limit?integer
Range0 < value <= 500

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",      "pathHandling": "preserve",      "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"    }  ]}
POST/domain-bindings

Creates 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",    "domainName": "string",    "proxyKind": "none"  }'
{  "id": "string"}
GET/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

domainBindingId*string
Length1 <= length

Response 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",    "pathHandling": "preserve",    "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  }}
DELETE/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

domainBindingId*string
Length1 <= length

Request 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"}
POST/domain-bindings/{domainBindingId}/dns-plan

Plans DNS category connector records from a custom domain binding without applying provider changes. Public docs: /docs/access/domains/custom-domains/#domain-binding-purpose

Path Parameters

domainBindingId*string
Length1 <= length

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/string/dns-plan" \  -H "Content-Type: application/json" \  -d '{}'
{  "planId": "string",  "connectorKey": "string",  "capabilityKey": "string",  "riskLevel": "low",  "requiresExplicitAcceptance": true,  "summary": "string",  "effects": [    {      "kind": "string",      "title": "string",      "description": "string"    }  ],  "cleanup": {    "supported": true,    "description": "string"  },  "providerPlan": {    "kind": "string",    "dnsRecords": {      "zoneName": "string",      "records": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ],      "conflicts": [        {          "name": "string",          "requestedType": "A",          "existingType": "A",          "reason": "cname-exclusive",          "existingValue": "string",          "requestedValue": "string"        }      ]    },    "domainConnectSetup": {      "providerKey": "string",      "zoneName": "string",      "hostname": "string",      "serviceId": "string",      "templateId": "string",      "redirectUrl": "string",      "state": "string",      "records": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ]    },    "infrastructureServerProposal": {      "providerKey": "string",      "region": "string",      "size": "string",      "image": "string",      "recommendedServerName": "string",      "osUser": "string",      "sshPort": 1,      "sshPublicKeyRef": "string",      "estimatedMonthlyCostUsd": 0,      "costRiskLevel": "low",      "cleanupSupported": true,      "notes": [        "string"      ],      "tags": [        "string"      ]    },    "notificationMessage": {      "providerKey": "string",      "channelRef": "string",      "subject": "string",      "bodyPreview": "string",      "payloadSensitivity": "normal",      "redactedFields": [        "string"      ],      "metadata": {        "property1": "string",        "property2": "string"      }    },    "sourceRepositoryAccess": {      "providerKey": "string",      "installationId": "string",      "accountLogin": "string",      "repositoriesSelection": "all",      "repositories": [        {          "id": "string",          "name": "string",          "fullName": "string",          "ownerLogin": "string",          "private": true,          "defaultBranch": "string",          "htmlUrl": "string"        }      ],      "tokenLease": {        "providerKey": "string",        "installationId": "string",        "expiresAt": "string",        "redacted": true,        "expired": true,        "permissions": [          "string"        ],        "repositoryFullNames": [          "string"        ]      }    }  }}
POST/domain-bindings/dns-readiness/inspect

Inspect DNS zone authorization, route conflicts, and DNS plan readiness.

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/dns-readiness/inspect" \  -H "Content-Type: application/json" \  -d '{}'
{  "domainBindingId": "string",  "resourceId": "string",  "domainName": "string",  "pathPrefix": "string",  "providerDiscovery": {    "status": "detected",    "hostname": "string",    "baseDomain": "string",    "nameservers": [      "string"    ],    "providerId": "string",    "providerTitle": "string",    "confidence": "high",    "recommendedConnectorKey": "string",    "recommendedConnectorTitle": "string",    "message": "string"  },  "selectedConnector": {    "connectorKey": "string",    "title": "string",    "source": "requested"  },  "zoneMatch": {    "status": "matched",    "connectorKey": "string",    "connectionId": "string",    "providerKey": "string",    "providerAccountId": "string",    "zoneName": "string"  },  "conflict": {    "status": "available",    "conflictingDomainBindingId": "string",    "conflictingResourceId": "string",    "conflictingProjectId": "string",    "domainName": "string",    "pathPrefix": "string"  },  "plan": {    "status": "ready",    "message": "string",    "preview": {      "planId": "string",      "connectorKey": "string",      "capabilityKey": "string",      "riskLevel": "low",      "requiresExplicitAcceptance": true,      "summary": "string",      "effects": [        {          "kind": "string",          "title": "string",          "description": "string"        }      ],      "cleanup": {        "supported": true,        "description": "string"      },      "providerPlan": {        "kind": "string",        "dnsRecords": {          "zoneName": "string",          "records": [            {              "name": "string",              "type": "A",              "value": "string",              "ttl": 1,              "proxied": true,              "purpose": "domain-routing"            }          ],          "conflicts": [            {              "name": "string",              "requestedType": "A",              "existingType": "A",              "reason": "cname-exclusive",              "existingValue": "string",              "requestedValue": "string"            }          ]        },        "domainConnectSetup": {          "providerKey": "string",          "zoneName": "string",          "hostname": "string",          "serviceId": "string",          "templateId": "string",          "redirectUrl": "string",          "state": "string",          "records": [            {              "name": "string",              "type": "A",              "value": "string",              "ttl": 1,              "proxied": true,              "purpose": "domain-routing"            }          ]        },        "infrastructureServerProposal": {          "providerKey": "string",          "region": "string",          "size": "string",          "image": "string",          "recommendedServerName": "string",          "osUser": "string",          "sshPort": 1,          "sshPublicKeyRef": "string",          "estimatedMonthlyCostUsd": 0,          "costRiskLevel": "low",          "cleanupSupported": true,          "notes": [            "string"          ],          "tags": [            "string"          ]        },        "notificationMessage": {          "providerKey": "string",          "channelRef": "string",          "subject": "string",          "bodyPreview": "string",          "payloadSensitivity": "normal",          "redactedFields": [            "string"          ],          "metadata": {            "property1": "string",            "property2": "string"          }        },        "sourceRepositoryAccess": {          "providerKey": "string",          "installationId": "string",          "accountLogin": "string",          "repositoriesSelection": "all",          "repositories": [            {              "id": "string",              "name": "string",              "fullName": "string",              "ownerLogin": "string",              "private": true,              "defaultBranch": "string",              "htmlUrl": "string"            }          ],          "tokenLease": {            "providerKey": "string",            "installationId": "string",            "expiresAt": "string",            "redacted": true,            "expired": true,            "permissions": [              "string"            ],            "repositoryFullNames": [              "string"            ]          }        }      }    }  },  "actions": {    "canApplyDns": true,    "canConnectProvider": true,    "canShowManualDns": true,    "reason": "string"  }}
POST/domain-bindings/{domainBindingId}/route

Configures 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

domainBindingId*string
Length1 <= length

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/string/route" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string"}
POST/domain-bindings/{domainBindingId}/ownership-confirmations

Confirms that a user controls the custom domain. Public docs: /docs/access/domains/ownership/#domain-binding-ownership-check

Path Parameters

domainBindingId*string
Length1 <= length

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/string/ownership-confirmations" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "verificationAttemptId": "string"}
GET/domain-bindings/{domainBindingId}/delete-check

Checks 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

domainBindingId*string
Length1 <= length

Response 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}
POST/domain-bindings/{domainBindingId}/verification-retries

Starts a new domain ownership verification attempt without retrying certificate issuance. Public docs: /docs/access/domains/ownership/#domain-binding-ownership-check

Path Parameters

domainBindingId*string
Length1 <= length

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/string/verification-retries" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "verificationAttemptId": "string"}
POST/certificates/import

Imports 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"}
GET/certificates

Query Parameters

domainBindingId?string
limit?integer
Range0 < value <= 500

Response Body

application/json

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"    }  ]}
GET/certificates/{certificateId}

Reads safe certificate metadata and attempt history. Public docs: /docs/access/tls/certificates/#certificate-readiness

Path Parameters

certificateId*string
Length1 <= length

Response 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"}
DELETE/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

certificateId*string
Length1 <= length

Request 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"}
POST/certificates/issue-or-renew

Requests 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"}
POST/certificates/{certificateId}/retries

Creates a new retry attempt for a retryable provider-issued certificate failure. Public docs: /docs/access/tls/certificates/#certificate-readiness

Path Parameters

certificateId*string
Length1 <= length

Request 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"}
POST/certificates/{certificateId}/revoke

Stops Appaloft from using a certificate for managed TLS. Public docs: /docs/access/tls/certificates/#certificate-readiness

Path Parameters

certificateId*string
Length1 <= length

Request 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"}
GET/deployments/count

Query Parameters

projectId?string
resourceId?string
includeArchived?boolean|string|string
activeResourcesOnly?boolean|string|string
status?string

Value in

  • "created"
  • "planning"
  • "planned"
  • "running"
  • "cancel-requested"
  • "succeeded"
  • "failed"
  • "canceled"
  • "interrupted"
  • "rolled-back"
statuses?array<>

Response Body

application/json

curl -X GET "https://example.com/deployments/count"
{  "count": 0}
GET/deployments

Query Parameters

projectId?string
resourceId?string
includeArchived?boolean|string|string
activeResourcesOnly?boolean|string|string
limit?integer
Range0 < value <= 500

Response Body

application/json

curl -X GET "https://example.com/deployments"
{  "items": [    {      "id": "string",      "projectId": "string",      "environmentId": "string",      "resourceId": "string",      "target": {        "kind": "server-backed",        "serverId": "string",        "destinationId": "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"          },          "version": {            "reference": {              "sourceKind": "git",              "referenceKind": "branch",              "value": "string"            },            "fixedIdentifier": {              "sourceKind": "git",              "referenceKind": "branch",              "value": "string"            },            "aliases": [              {                "sourceKind": "git",                "referenceKind": "branch",                "value": "string"              }            ],            "detected": true          }        },        "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"          }        }      ],      "timeline": [        {          "timestamp": "string",          "source": "appaloft",          "phase": "detect",          "level": "debug",          "message": "string",          "masked": true        }      ],      "timelineCount": 0,      "createdAt": "string",      "startedAt": "string",      "finishedAt": "string",      "archivedAt": "string",      "rollbackOfDeploymentId": "string"    }  ]}
POST/deployments

Creates 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"}
GET/deployments/stale

Query Parameters

projectId?string
Length1 <= length
resourceId?string
Length1 <= length
staleAfterSeconds?integer
Range60 <= value <= 86400
Default900
limit?integer
Range0 < value <= 500

Response Body

application/json

curl -X GET "https://example.com/deployments/stale"
{  "schemaVersion": "deployments.stale-attempts/v1",  "items": [    {      "deploymentId": "string",      "projectId": "string",      "environmentId": "string",      "resourceId": "string",      "status": "created",      "latestActivityAt": "string",      "staleForSeconds": 0,      "staleAfterSeconds": 1,      "stateVersion": "string",      "runtimeCancellationRequired": true    }  ],  "checkedAt": "string",  "staleAfterSeconds": 1}
POST/deployments/cleanup-preview

Cleans 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"}
POST/deployments/{deploymentId}/retry

Reads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

deploymentId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/redeploy

Reads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

resourceId*string
Length1 <= length

Request 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"}
POST/resources/{resourceId}/force-redeploy

Reads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

resourceId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/resources/string/force-redeploy" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string"}
POST/deployments/{deploymentId}/rollback

Reads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

deploymentId*string
Length1 <= length

Request 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"}
POST/deployments/{deploymentId}/cancel

Cancels an active deployment attempt after explicit deployment id confirmation. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

deploymentId*string
Length1 <= length

Request 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"}
POST/deployments/{deploymentId}/reconcile-stale

Path Parameters

deploymentId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/deployments/string/reconcile-stale" \  -H "Content-Type: application/json" \  -d '{    "confirm": "string",    "stateVersion": "string"  }'
{  "id": "string",  "status": "interrupted",  "interruptedAt": "string"}
POST/deployments/{deploymentId}/archive

Archives a terminal deployment attempt without deleting logs, events, runtime artifacts, or retained operator evidence. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

deploymentId*string
Length1 <= length

Request 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"}
POST/deployments/prune

Dry-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"}
GET/deployments/plan

Previews detected deployment evidence and the execution plan without creating or running a deployment. Public docs: /docs/deploy/lifecycle/#deployment-plan-preview

Query Parameters

projectId*string
Length1 <= length
environmentId*string
Length1 <= length
resourceId*string
Length1 <= length
serverId*string
Length1 <= length
destinationId?string
Length1 <= length
includeAccessPlan?boolean|string|string
includeCommandSpecs?boolean|string|string

Response 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"}
GET/deployments/{deploymentId}

Path Parameters

deploymentId*string
Length1 <= length

Query Parameters

includeTimeline?boolean|string|string
includeSnapshot?boolean|string|string
includeRelatedContext?boolean|string|string
includeLatestFailure?boolean|string|string
includeRecoverySummary?boolean|string|string

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",    "target": {      "kind": "server-backed",      "serverId": "string",      "destinationId": "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"        },        "version": {          "reference": {            "sourceKind": "git",            "referenceKind": "branch",            "value": "string"          },          "fixedIdentifier": {            "sourceKind": "git",            "referenceKind": "branch",            "value": "string"          },          "aliases": [            {              "sourceKind": "git",              "referenceKind": "branch",              "value": "string"            }          ],          "detected": true        }      },      "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"        }      }    ],    "timelineCount": 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"        },        "version": {          "reference": {            "sourceKind": "git",            "referenceKind": "branch",            "value": "string"          },          "fixedIdentifier": {            "sourceKind": "git",            "referenceKind": "branch",            "value": "string"          },          "aliases": [            {              "sourceKind": "git",              "referenceKind": "branch",              "value": "string"            }          ],          "detected": true        }      },      "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",    "timelineCount": 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": [    "timeline"  ],  "sectionErrors": [    {      "section": "related-context",      "code": "string",      "category": "string",      "phase": "string",      "retriable": true,      "relatedEntityId": "string",      "relatedState": "string"    }  ],  "generatedAt": "string"}
GET/deployments/{deploymentId}/proof

Path Parameters

deploymentId*string
Length1 <= length

Query Parameters

resourceId?string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/deployments/string/proof"
{  "schemaVersion": "deployments.proof/v1",  "deploymentId": "string",  "resourceId": "string",  "verdict": "verified",  "planned": {    "source": {      "reference": "string",      "revision": "string"    },    "artifact": {      "intent": "build-image",      "reference": "string"    },    "resourceProfile": {      "fingerprint": "string"    },    "configuration": {      "fingerprint": "string"    },    "runtimeTarget": {      "kind": "single-server",      "providerKey": "string"    },    "verificationSteps": [      {        "kind": "internal-http",        "label": "string"      }    ],    "expectedEffects": [      "rebuild-artifact"    ]  },  "observed": {    "available": true,    "observedAt": "string",    "artifact": {      "available": true,      "reference": "string",      "resolvedIdentity": "string",      "reasonCode": "string"    },    "workload": {      "available": true,      "identity": "string",      "generation": "string",      "deploymentId": "string",      "startedAt": "string",      "reasonCode": "string"    },    "configuration": {      "available": true,      "fingerprint": "string",      "generation": "string",      "matchesPlanned": true,      "reasonCode": "string"    },    "health": {      "status": "passed",      "summary": "string",      "reasonCode": "string"    },    "access": {      "status": "passed",      "summary": "string",      "reasonCode": "string",      "routeTargetsWorkload": true    },    "recovery": {      "previousRuntimeRetained": true,      "rollbackCandidateDeploymentId": "string",      "reasonCode": "string"    },    "reasonCode": "string"  },  "mismatches": [    {      "reasonCode": "deployment_not_succeeded",      "severity": "warning",      "expected": "string",      "observed": "string",      "evidence": [        {          "kind": "timeline-entry",          "reference": "string",          "summary": "string",          "observedAt": "string"        }      ],      "recommendedOperations": [        "deployments.retry"      ]    }  ],  "evidence": [    {      "kind": "timeline-entry",      "reference": "string",      "summary": "string",      "observedAt": "string"    }  ],  "unavailableEvidence": [    {      "kind": "artifact",      "reasonCode": "string",      "summary": "string"    }  ],  "generatedAt": "string",  "stateVersion": "string"}
GET/deployments/{deploymentId}/recovery-readiness

Reads retry, redeploy, cancel, rollback, and rollback candidate readiness for one deployment. Public docs: /docs/deploy/recovery/#deployment-recovery-readiness

Path Parameters

deploymentId*string
Length1 <= length

Query Parameters

resourceId?string
Length1 <= length
includeCandidates?boolean|string|string
maxCandidates?|string

Response 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    }  ]}
POST/deployments/stream

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

text/event-stream

curl -X POST "https://example.com/deployments/stream" \  -H "Content-Type: application/json" \  -d '{    "projectId": "string",    "serverId": "string",    "environmentId": "string",    "resourceId": "string"  }'
{  "event": "message",  "data": {    "timestamp": "string",    "source": "appaloft",    "phase": "detect",    "level": "debug",    "message": "string",    "deploymentId": "string",    "status": "running",    "step": {      "current": 0,      "total": 0,      "label": "string"    },    "stream": "stdout"  },  "id": "string",  "retry": 0}
GET/deployments/{deploymentId}/timeline

Reads deployment timeline entries across deployment, command, runtime output, and diagnostics. Public docs: /docs/observe/logs-health/#observe-runtime-logs

Path Parameters

deploymentId*string
Length1 <= length

Query Parameters

cursor?string
Length1 <= length
limit?integer
Range0 <= value <= 500
Default100
kinds?array<>
sources?array<>

Response Body

application/json

curl -X GET "https://example.com/deployments/string/timeline"
{  "schemaVersion": "deployments.timeline/v1",  "deploymentId": "string",  "entries": [    {      "deploymentId": "string",      "sequence": 1,      "cursor": "string",      "occurredAt": "string",      "source": "appaloft",      "kind": "lifecycle",      "phase": "detect",      "level": "debug",      "message": "string",      "status": "running",      "stream": "stdout",      "step": {        "current": 0,        "total": 0,        "label": "string"      },      "metadata": {        "property1": "string",        "property2": "string"      }    }  ],  "nextCursor": "string",  "hasMore": true}
GET/deployments/{deploymentId}/timeline/stream

Streams deployment timeline entries from the same journal used by deployment detail. Public docs: /docs/observe/logs-health/#observe-runtime-logs

Path Parameters

deploymentId*string
Length1 <= length

Query Parameters

cursor?string
Length1 <= length
limit?integer
Range0 <= value <= 500
Default100
kinds?array<>
sources?array<>
follow?boolean|string|string
includeHistory?boolean|string|string
untilTerminal?boolean|string|string

Response Body

text/event-stream

curl -X GET "https://example.com/deployments/string/timeline/stream"
{  "event": "message",  "data": {    "schemaVersion": "deployments.timeline/v1",    "kind": "entry",    "entry": {      "deploymentId": "string",      "sequence": 1,      "cursor": "string",      "occurredAt": "string",      "source": "appaloft",      "kind": "lifecycle",      "phase": "detect",      "level": "debug",      "message": "string",      "status": "running",      "stream": "stdout",      "step": {        "current": 0,        "total": 0,        "label": "string"      },      "metadata": {        "property1": "string",        "property2": "string"      }    }  },  "id": "string",  "retry": 0}
GET/operator-work

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Query Parameters

kind?string

Value in

  • "deployment"
  • "quick-deploy"
  • "blueprint-install"
  • "proxy-bootstrap"
  • "certificate"
  • "remote-state"
  • "route-realization"
  • "runtime-maintenance"
  • "system"
status?string

Value in

  • "pending"
  • "running"
  • "retry-scheduled"
  • "succeeded"
  • "failed"
  • "canceled"
  • "dead-lettered"
  • "unknown"
projectId?string
resourceId?string
serverId?string
deploymentId?string
limit?|

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"}
GET/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

workId*string
Length1 <= length

Response 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"    }  },  "events": [    {      "id": "string",      "sequence": 1,      "kind": "string",      "status": "pending",      "phase": "string",      "step": "string",      "message": "string",      "workerId": "string",      "workerGroup": "string",      "occurredAt": "string",      "safeDetails": {        "property1": "string",        "property2": "string"      }    }  ],  "generatedAt": "string"}
GET/operator-work/{workId}/events

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Path Parameters

workId*string
Length1 <= length

Query Parameters

cursor?string
Length1 <= length
historyLimit?integer
Range0 <= value <= 200
Default100
includeHistory?boolean|string|string
follow?boolean|string|string
untilTerminal?boolean|string|string
pollIntervalMs?integer
Range50 <= value <= 30000
Default1000

Response Body

application/json

curl -X GET "https://example.com/operator-work/string/events"
{  "workId": "string",  "envelopes": [    {      "schemaVersion": "operator-work.stream-events/v1",      "event": {        "workId": "string",        "sequence": 1,        "cursor": "string",        "emittedAt": "string",        "kind": "accepted",        "status": "pending",        "operationKey": "string",        "workKind": "deployment",        "phase": "string",        "step": "string",        "message": "string",        "projectId": "string",        "resourceId": "string",        "deploymentId": "string",        "serverId": "string",        "workerId": "string",        "workerGroup": "string",        "errorCode": "string",        "errorCategory": "string",        "retriable": true,        "safeDetails": {          "property1": "string",          "property2": "string"        }      },      "kind": "accepted"    }  ]}
GET/operator-work/{workId}/events/stream

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Path Parameters

workId*string
Length1 <= length

Query Parameters

cursor?string
Length1 <= length
historyLimit?integer
Range0 <= value <= 200
Default100
includeHistory?boolean|string|string
follow?boolean|string|string
untilTerminal?boolean|string|string
pollIntervalMs?integer
Range50 <= value <= 30000
Default1000

Response Body

text/event-stream

curl -X GET "https://example.com/operator-work/string/events/stream"
{  "event": "message",  "data": {    "schemaVersion": "operator-work.stream-events/v1",    "event": {      "workId": "string",      "sequence": 1,      "cursor": "string",      "emittedAt": "string",      "kind": "accepted",      "status": "pending",      "operationKey": "string",      "workKind": "deployment",      "phase": "string",      "step": "string",      "message": "string",      "projectId": "string",      "resourceId": "string",      "deploymentId": "string",      "serverId": "string",      "workerId": "string",      "workerGroup": "string",      "errorCode": "string",      "errorCategory": "string",      "retriable": true,      "safeDetails": {        "property1": "string",        "property2": "string"      }    },    "kind": "accepted"  },  "id": "string",  "retry": 0}
POST/operator-work/{workId}/mark-recovered

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Path Parameters

workId*string
Length1 <= length

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/string/mark-recovered" \  -H "Content-Type: application/json" \  -d '{}'
{  "workId": "string",  "status": "succeeded",  "recoveredAt": "string"}
POST/operator-work/{workId}/dead-letter

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Path Parameters

workId*string
Length1 <= length

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/string/dead-letter" \  -H "Content-Type: application/json" \  -d '{    "reason": "string"  }'
{  "workId": "string",  "status": "dead-lettered",  "deadLetteredAt": "string"}
POST/operator-work/{workId}/cancel

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Path Parameters

workId*string
Length1 <= length

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/string/cancel" \  -H "Content-Type: application/json" \  -d '{    "reason": "string"  }'
{  "workId": "string",  "status": "canceled",  "canceledAt": "string"}
POST/operator-work/{workId}/retry

Reads background work, failed attempts, and diagnostic next actions without recovery mutation. Public docs: /docs/reference/errors-statuses/#operator-work-ledger

Path Parameters

workId*string
Length1 <= length

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/string/retry" \  -H "Content-Type: application/json" \  -d '{}'
{  "workId": "string",  "status": "pending",  "retryOfWorkId": "string",  "retriedAt": "string"}
POST/operator-work/prune

Reads 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"}
GET/source-events

Lists safe source event deliveries for a project or resource. Public docs: /docs/deploy/sources/#source-auto-deploy-dedupe

Query Parameters

projectId?string
Length1 <= length
resourceId?string
Length1 <= length
status?string

Value in

  • "accepted"
  • "deduped"
  • "ignored"
  • "blocked"
  • "dispatched"
  • "failed"
sourceKind?string

Value in

  • "github"
  • "gitlab"
  • "generic-signed"
limit?integer
Range0 < value <= 100
cursor?string
Length1 <= length

Response 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"}
GET/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

sourceEventId*string
Length1 <= length

Query Parameters

projectId?string
Length1 <= length
resourceId?string
Length1 <= length

Response 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"}
POST/source-events/{sourceEventId}/replay

Replays one retained safe source event delivery through current auto-deploy policy matching. Public docs: /docs/deploy/sources/#source-auto-deploy-recovery

Path Parameters

sourceEventId*string
Length1 <= length

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/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"}
POST/source-events/prune

Dry-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"}
GET/audit-events

Lists safe audit events for one aggregate without exposing raw sensitive payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Query Parameters

aggregateId?string
Length1 <= length
eventType?string
Length1 <= length
limit?integer
Range0 < value <= 100
cursor?string
Length1 <= length

Response 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"}
GET/audit-events/export

Exports bounded redacted audit events for one aggregate without mutating retention. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Query Parameters

aggregateId?string
Length1 <= length
eventType?string
Length1 <= length
from?string
Match^(?:(?:\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))$
Formatdate-time
to?string
Match^(?:(?:\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))$
Formatdate-time
limit?integer
Range0 < value <= 500
Default100

Response 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"}
GET/audit-events/export-global

Exports bounded redacted audit events across aggregates without mutating retention. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Query Parameters

aggregateId?string
Length1 <= length
eventType?string
Length1 <= length
organizationId?string
Length1 <= length
projectId?string
Length1 <= length
action?|array<>
resourceType?|array<>
actorId?|array<>
from*string
Match^(?:(?:\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))$
Formatdate-time
to*string
Match^(?:(?:\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))$
Formatdate-time
limit?integer
Range0 < value <= 500
Default100
cursor?string
Length1 <= length
order?string
Default"asc"

Value in

  • "asc"
  • "desc"

Response 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",    "organizationId": "string",    "projectId": "string",    "action": "string",    "resourceType": "string",    "actorId": "string",    "from": "string",    "to": "string",    "limit": 0,    "cursor": "string",    "order": "asc"  },  "items": [    {      "auditEventId": "string",      "aggregateId": "string",      "eventType": "string",      "createdAt": "string",      "payload": {        "property1": "string",        "property2": "string"      },      "redactedFields": [        "string"      ]    }  ],  "itemCount": 0,  "truncated": true,  "nextCursor": "string",  "generatedAt": "string"}
GET/audit-events/{auditEventId}

Reads one safe audit event with redacted payload fields. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Path Parameters

auditEventId*string
Length1 <= length

Query Parameters

aggregateId?string
Length1 <= length

Response 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"    ]  }}
POST/audit-events/prune

Dry-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"}
GET/audit-events/archives

Lists safe immutable audit archive summaries without archived item payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Query Parameters

aggregateId?string
Length1 <= length
eventType?string
Length1 <= length
from?string
Match^(?:(?:\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))$
Formatdate-time
to?string
Match^(?:(?:\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))$
Formatdate-time
limit?integer
Range0 < value <= 100
Default50
cursor?string
Length1 <= length

Response 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"}
POST/audit-events/archives

Creates 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"  }}
GET/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

archiveId*string
Length1 <= length

Response 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"}
POST/audit-events/archives/prune

Dry-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"}
GET/audit-events/legal-holds

Lists safe audit event legal hold metadata without audit payloads. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Query Parameters

status?string

Value in

  • "active"
  • "released"
aggregateId?string
Length1 <= length
eventType?string
Length1 <= length
limit?integer
Range0 < value <= 100
Default50
cursor?string
Length1 <= length

Response 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"}
POST/audit-events/legal-holds

Records 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"  }}
GET/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

holdId*string
Length1 <= length

Response 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"}
POST/audit-events/legal-holds/{holdId}/release

Marks an audit event legal hold released while keeping hold history readable. Public docs: /docs/reference/errors-statuses/#operator-audit-events

Path Parameters

holdId*string
Length1 <= length

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/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"  }}
POST/provider-job-logs/prune

Dry-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"}
POST/domain-events/prune

Dry-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"}
GET/source-links

Lists source fingerprint links for deployment identity diagnostics. Public docs: /docs/deploy/sources/#deployment-source

Query Parameters

projectId?string
Length1 <= length
resourceId?string
Length1 <= length
serverId?string
Length1 <= length
limit?integer
Range0 < value <= 200
Default50

Response 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"    }  ]}
GET/source-links/{sourceFingerprint}

Reads one source fingerprint link for deployment identity diagnostics. Public docs: /docs/deploy/sources/#deployment-source

Path Parameters

sourceFingerprint*string
Length1 <= length

Response 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"  }}
DELETE/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

sourceFingerprint*string
Length1 <= length

Request 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}
POST/source-links/relink

Moves 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"}
POST/preview-policies

Configures 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"}
POST/preview-policies/show

Reads 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,      "environmentProfileBaseEnvironmentId": "string"    },    "source": "default",    "updatedAt": "string"  },  "generatedAt": "string"}
GET/preview-environments

Lists durable preview environments with source, ownership, status, and expiry summaries. Public docs: /docs/deploy/previews/#product-grade-preview-deployments

Query Parameters

projectId?string
Length1 <= length
environmentId?string
Length1 <= length
resourceId?string
Length1 <= length
status?string

Value in

  • "active"
  • "cleanup-requested"
repositoryFullName?string
Length1 <= length
pullRequestNumber?integer
Range0 < value <= 9007199254740991
limit?|
cursor?string
Length1 <= length

Response 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"}
GET/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

previewEnvironmentId*string
Length1 <= length

Query Parameters

projectId?string
Length1 <= length
resourceId?string
Length1 <= length

Response 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"}
DELETE/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

resourceId*string
Length1 <= length
previewEnvironmentId*string
Length1 <= length

Response 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"}
GET/connections

Query Parameters

owner?
connectorKey?string
Length1 <= length
category?string

Value in

  • "source"
  • "dns"
  • "infrastructure"
  • "notification"
  • "billing"
  • "identity"
  • "observability"
  • "storage"

Response Body

application/json

curl -X GET "https://example.com/connections"
{  "items": [    {      "id": "string",      "connectorKey": "string",      "providerKey": "string",      "category": "source",      "owner": {        "scope": "account",        "id": "string"      },      "displayName": "string",      "status": "pending",      "capabilities": [        "string"      ],      "credentialGrant": {        "kind": "temporary-domain-connect",        "storage": "none",        "redacted": true,        "secretRef": "string",        "externalAccountId": "string",        "externalInstallationId": "string",        "expiresAt": "string"      },      "diagnostics": [        {          "code": "string",          "severity": "info",          "message": "string"        }      ],      "createdAt": "string",      "updatedAt": "string",      "revokedAt": "string"    }  ]}
GET/connections/{connectionId}

Path Parameters

connectionId*string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/connections/string"
{  "id": "string",  "connectorKey": "string",  "providerKey": "string",  "category": "source",  "owner": {    "scope": "account",    "id": "string"  },  "displayName": "string",  "status": "pending",  "capabilities": [    "string"  ],  "credentialGrant": {    "kind": "temporary-domain-connect",    "storage": "none",    "redacted": true,    "secretRef": "string",    "externalAccountId": "string",    "externalInstallationId": "string",    "expiresAt": "string"  },  "diagnostics": [    {      "code": "string",      "severity": "info",      "message": "string"    }  ],  "createdAt": "string",  "updatedAt": "string",  "revokedAt": "string"}
GET/connections/{connectionId}/status

Path Parameters

connectionId*string
Length1 <= length

Response Body

application/json

curl -X GET "https://example.com/connections/string/status"
{  "id": "string",  "connectorKey": "string",  "providerKey": "string",  "category": "source",  "owner": {    "scope": "account",    "id": "string"  },  "displayName": "string",  "status": "pending",  "capabilities": [    "string"  ],  "credentialGrant": {    "kind": "temporary-domain-connect",    "storage": "none",    "redacted": true,    "secretRef": "string",    "externalAccountId": "string",    "externalInstallationId": "string",    "expiresAt": "string"  },  "diagnostics": [    {      "code": "string",      "severity": "info",      "message": "string"    }  ],  "createdAt": "string",  "updatedAt": "string",  "revokedAt": "string"}
POST/connections/connect/start

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/connections/connect/start" \  -H "Content-Type: application/json" \  -d '{    "connectorKey": "string"  }'
{  "connection": {    "id": "string",    "connectorKey": "string",    "providerKey": "string",    "category": "source",    "owner": {      "scope": "account",      "id": "string"    },    "displayName": "string",    "status": "pending",    "capabilities": [      "string"    ],    "credentialGrant": {      "kind": "temporary-domain-connect",      "storage": "none",      "redacted": true,      "secretRef": "string",      "externalAccountId": "string",      "externalInstallationId": "string",      "expiresAt": "string"    },    "diagnostics": [      {        "code": "string",        "severity": "info",        "message": "string"      }    ],    "createdAt": "string",    "updatedAt": "string",    "revokedAt": "string"  },  "authorizationUrl": "string",  "nextAction": "already-connected"}
POST/connections/connect/callback

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/connections/connect/callback" \  -H "Content-Type: application/json" \  -d '{    "connectionId": "string"  }'
{  "connection": {    "id": "string",    "connectorKey": "string",    "providerKey": "string",    "category": "source",    "owner": {      "scope": "account",      "id": "string"    },    "displayName": "string",    "status": "pending",    "capabilities": [      "string"    ],    "credentialGrant": {      "kind": "temporary-domain-connect",      "storage": "none",      "redacted": true,      "secretRef": "string",      "externalAccountId": "string",      "externalInstallationId": "string",      "expiresAt": "string"    },    "diagnostics": [      {        "code": "string",        "severity": "info",        "message": "string"      }    ],    "createdAt": "string",    "updatedAt": "string",    "revokedAt": "string"  }}
POST/connections/{connectionId}/revoke

Path Parameters

connectionId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://example.com/connections/string/revoke"
{  "connection": {    "id": "string",    "connectorKey": "string",    "providerKey": "string",    "category": "source",    "owner": {      "scope": "account",      "id": "string"    },    "displayName": "string",    "status": "pending",    "capabilities": [      "string"    ],    "credentialGrant": {      "kind": "temporary-domain-connect",      "storage": "none",      "redacted": true,      "secretRef": "string",      "externalAccountId": "string",      "externalInstallationId": "string",      "expiresAt": "string"    },    "diagnostics": [      {        "code": "string",        "severity": "info",        "message": "string"      }    ],    "createdAt": "string",    "updatedAt": "string",    "revokedAt": "string"  }}
GET/connections/categories

Response Body

application/json

curl -X GET "https://example.com/connections/categories"
{  "items": [    {      "key": "source",      "title": "string",      "description": "string"    }  ]}
GET/connections/catalog

Query Parameters

category?string

Value in

  • "source"
  • "dns"
  • "infrastructure"
  • "notification"
  • "billing"
  • "identity"
  • "observability"
  • "storage"
includeUnavailable?boolean

Response Body

application/json

curl -X GET "https://example.com/connections/catalog"
{  "items": [    {      "key": "string",      "title": "string",      "category": "source",      "providerKey": "string",      "capabilities": [        {          "key": "string",          "title": "string",          "description": "string",          "implemented": true        }      ],      "grantKinds": [        {          "kind": "temporary-domain-connect",          "title": "string",          "storesLongLivedSecret": true,          "description": "string"        }      ],      "availability": {        "status": "available",        "diagnostics": [          {            "code": "string",            "severity": "info",            "message": "string",            "documentationHref": "string"          }        ]      },      "visibility": "catalog",      "setup": {        "connectHref": "string",        "documentationHref": "string"      }    }  ]}
POST/connections/capabilities/plan

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/connections/capabilities/plan" \  -H "Content-Type: application/json" \  -d '{    "connectorKey": "string",    "capabilityKey": "string"  }'
{  "planId": "string",  "connectorKey": "string",  "capabilityKey": "string",  "riskLevel": "low",  "requiresExplicitAcceptance": true,  "summary": "string",  "effects": [    {      "kind": "string",      "title": "string",      "description": "string"    }  ],  "cleanup": {    "supported": true,    "description": "string"  },  "providerPlan": {    "kind": "string",    "dnsRecords": {      "zoneName": "string",      "records": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ],      "conflicts": [        {          "name": "string",          "requestedType": "A",          "existingType": "A",          "reason": "cname-exclusive",          "existingValue": "string",          "requestedValue": "string"        }      ]    },    "domainConnectSetup": {      "providerKey": "string",      "zoneName": "string",      "hostname": "string",      "serviceId": "string",      "templateId": "string",      "redirectUrl": "string",      "state": "string",      "records": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ]    },    "infrastructureServerProposal": {      "providerKey": "string",      "region": "string",      "size": "string",      "image": "string",      "recommendedServerName": "string",      "osUser": "string",      "sshPort": 1,      "sshPublicKeyRef": "string",      "estimatedMonthlyCostUsd": 0,      "costRiskLevel": "low",      "cleanupSupported": true,      "notes": [        "string"      ],      "tags": [        "string"      ]    },    "notificationMessage": {      "providerKey": "string",      "channelRef": "string",      "subject": "string",      "bodyPreview": "string",      "payloadSensitivity": "normal",      "redactedFields": [        "string"      ],      "metadata": {        "property1": "string",        "property2": "string"      }    },    "sourceRepositoryAccess": {      "providerKey": "string",      "installationId": "string",      "accountLogin": "string",      "repositoriesSelection": "all",      "repositories": [        {          "id": "string",          "name": "string",          "fullName": "string",          "ownerLogin": "string",          "private": true,          "defaultBranch": "string",          "htmlUrl": "string"        }      ],      "tokenLease": {        "providerKey": "string",        "installationId": "string",        "expiresAt": "string",        "redacted": true,        "expired": true,        "permissions": [          "string"        ],        "repositoryFullNames": [          "string"        ]      }    }  }}
POST/connections/capabilities/accept

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/connections/capabilities/accept" \  -H "Content-Type: application/json" \  -d '{    "planId": "string",    "connectorKey": "string",    "capabilityKey": "string",    "riskLevel": "low",    "summary": "string",    "effects": [      {        "kind": "string",        "title": "string"      }    ]  }'
{  "acceptedPlanId": "string",  "planId": "string",  "connectorKey": "string",  "capabilityKey": "string",  "ownerRef": {    "scope": "account",    "id": "string"  },  "acceptedBy": "string",  "acceptedAt": "string",  "riskLevel": "low",  "summary": "string",  "effects": [    {      "kind": "string",      "title": "string",      "description": "string"    }  ],  "cleanup": {    "supported": true,    "description": "string"  }}
POST/connections/capabilities/apply

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/connections/capabilities/apply" \  -H "Content-Type: application/json" \  -d '{    "connectorKey": "string",    "capabilityKey": "string"  }'
{  "operationId": "string",  "connectorKey": "string",  "capabilityKey": "string",  "status": "applied",  "summary": "string",  "effects": [    {      "kind": "string",      "title": "string",      "description": "string",      "providerRecordId": "string",      "managed": true    }  ],  "providerResult": {    "kind": "string",    "dnsRecords": {      "zoneName": "string",      "status": "applied",      "records": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ],      "conflicts": [        {          "name": "string",          "requestedType": "A",          "existingType": "A",          "reason": "cname-exclusive",          "existingValue": "string",          "requestedValue": "string"        }      ],      "missingRecords": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ],      "effects": [        {          "kind": "string",          "title": "string",          "description": "string",          "providerRecordId": "string",          "managed": true        }      ]    },    "domainConnectApply": {      "providerKey": "string",      "zoneName": "string",      "hostname": "string",      "serviceId": "string",      "templateId": "string",      "redirectUrl": "string",      "state": "string",      "records": [        {          "name": "string",          "type": "A",          "value": "string",          "ttl": 1,          "proxied": true,          "purpose": "domain-routing"        }      ],      "status": "applied",      "dnsRecords": {        "zoneName": "string",        "status": "applied",        "records": [          {            "name": "string",            "type": "A",            "value": "string",            "ttl": 1,            "proxied": true,            "purpose": "domain-routing"          }        ],        "conflicts": [          {            "name": "string",            "requestedType": "A",            "existingType": "A",            "reason": "cname-exclusive",            "existingValue": "string",            "requestedValue": "string"          }        ],        "missingRecords": [          {            "name": "string",            "type": "A",            "value": "string",            "ttl": 1,            "proxied": true,            "purpose": "domain-routing"          }        ],        "effects": [          {            "kind": "string",            "title": "string",            "description": "string",            "providerRecordId": "string",            "managed": true          }        ]      }    },    "notificationDelivery": {      "providerKey": "string",      "channelRef": "string",      "subject": "string",      "bodyPreview": "string",      "payloadSensitivity": "normal",      "redactedFields": [        "string"      ],      "metadata": {        "property1": "string",        "property2": "string"      },      "providerMessageId": "string",      "status": "sent"    }  }}
GET/providers

Response Body

application/json

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"          }        ]      }    }  ]}
GET/plugins

Response Body

application/json

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"          }        ]      }    }  ]}
GET/system/doctor

Reads 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": 0,      "batchSize": 1,      "defaultRetryDelaySeconds": 1,      "rawRetentionHours": 1,      "runtimeTopology": {        "mode": "embedded",        "queueBackend": "database",        "workerCount": 0,        "workerGroup": "string",        "workerIds": [          "string"        ],        "coordinationRole": "coordinator",        "slotAssignment": "all-local",        "localWorkerIds": [          "string"        ],        "workerSlot": 1,        "externalBackendKind": "kafka",        "heartbeat": {          "staleAfterSeconds": 1,          "onlineWorkerCount": 0,          "staleWorkerCount": 0,          "lastSeenAt": "string",          "workers": [            {              "workerId": "string",              "workerGroup": "string",              "slot": 0,              "status": "online",              "online": true,              "lastSeenAt": "string"            }          ]        }      },      "observedRuntimeHeartbeats": [        {          "workerGroup": "string",          "workerCount": 0,          "workerIds": [            "string"          ],          "heartbeat": {            "staleAfterSeconds": 1,            "onlineWorkerCount": 0,            "staleWorkerCount": 0,            "lastSeenAt": "string",            "workers": [              {                "workerId": "string",                "workerGroup": "string",                "slot": 0,                "status": "online",                "online": true,                "lastSeenAt": "string"              }            ]          }        }      ],      "configurationKeys": [        "string"      ],      "operationKeys": [        "string"      ]    }  ]}
GET/integrations

Response Body

application/json

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"          }        ]      }    }  ]}
GET/integrations/github/app-connection

Response Body

application/json

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"}
GET/integrations/github/repositories

Query Parameters

search?string

Response Body

application/json

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"    }  ]}
GET/dependency-resources/{dependencyResourceId}/inspect

Path Parameters

dependencyResourceId*string

Response Body

curl -X GET "https://example.com/dependency-resources/string/inspect"
Empty
POST/dependency-resources/{dependencyResourceId}/query

Path Parameters

dependencyResourceId*string

Response Body

curl -X POST "https://example.com/dependency-resources/string/query"
Empty
POST/integrations/github/source-events

Response Body

curl -X POST "https://example.com/integrations/github/source-events"
Empty
GET/instance-upgrade/check

Response Body

curl -X GET "https://example.com/instance-upgrade/check"
Empty
POST/instance-upgrade/apply

Response Body

curl -X POST "https://example.com/instance-upgrade/apply"
Empty