Project Environment Webhooks
9 operations.
List environment webhook subscriptions
GET /api/v1/projects/{projectId}/environments/{environmentId}/webhooks
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to List environment webhook subscriptions. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to List environment webhook subscriptions. |
query
| Name | Type | Required | Description |
|---|---|---|---|
cursor | string | optional | Opaque cursor returned by the previous page; omit it to read the first page. Applies to List environment webhook subscriptions. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to List environment webhook subscriptions. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required); pagination: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Create an environment webhook subscription
POST /api/v1/projects/{projectId}/environments/{environmentId}/webhooks
Creates a live subscription. A dedicated installation permits only installation-configured private HTTPS destinations when event delivery is enabled. Other destinations return 409 with details.conflictReason outbound_webhooks_unsupported and create nothing.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Create an environment webhook subscription. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Create an environment webhook subscription. |
Request body
Required — Request body for: Create an environment webhook subscription.
application/json
| Name | Type | Required | Description |
|---|---|---|---|
endpointUrl | string | required | |
eventTypes | array<"operation.approval.status_changed" | "operation.invocation.status_changed" | "deployment.queued" | "deployment.validating" | "deployment.provisioning" | "deployment.materializing" | "deployment.ready" | "deployment.failed" | "deployment.canceled" | "activation.changed" | "run.created" | "run.started" | "run.completed" | "run.failed" | "run.canceled" | "run.expired" | "system_agent.published" | "system_agent.policy_changed" | "domain.entity.created" | "domain.entity.updated" | "domain.entity.transitioned" | "domain.entity.deleted"> | required |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Get an environment webhook subscription
GET /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Get an environment webhook subscription. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Get an environment webhook subscription. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to Get an environment webhook subscription. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Update an environment webhook subscription
PATCH /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}
Setting enabled to true returns the subscription to live delivery. In a dedicated installation, enabling or editing a live subscription requires an installation-configured private HTTPS destination and enabled event delivery; otherwise the update returns 409 with details.conflictReason outbound_webhooks_unsupported and changes nothing. Pausing and editing a paused subscription stay available.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Update an environment webhook subscription. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Update an environment webhook subscription. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to Update an environment webhook subscription. |
Request body
Required — Request body for: Update an environment webhook subscription.
application/json
| Name | Type | Required | Description |
|---|---|---|---|
endpointUrl | string | optional | |
eventTypes | array<"operation.approval.status_changed" | "operation.invocation.status_changed" | "deployment.queued" | "deployment.validating" | "deployment.provisioning" | "deployment.materializing" | "deployment.ready" | "deployment.failed" | "deployment.canceled" | "activation.changed" | "run.created" | "run.started" | "run.completed" | "run.failed" | "run.canceled" | "run.expired" | "system_agent.published" | "system_agent.policy_changed" | "domain.entity.created" | "domain.entity.updated" | "domain.entity.transitioned" | "domain.entity.deleted"> | optional | |
enabled | boolean | optional |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Delete an environment webhook subscription
DELETE /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Delete an environment webhook subscription. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Delete an environment webhook subscription. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to Delete an environment webhook subscription. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
List environment webhook deliveries
GET /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}/deliveries
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to List environment webhook deliveries. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to List environment webhook deliveries. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to List environment webhook deliveries. |
query
| Name | Type | Required | Description |
|---|---|---|---|
cursor | string | optional | Opaque cursor returned by the previous page; omit it to read the first page. Applies to List environment webhook deliveries. |
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to List environment webhook deliveries. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required); pagination: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Replay an environment webhook delivery
POST /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}/deliveries/{deliveryId}/replays
Creates a new durable delivery for an existing, unexpired delivery using a required printable ASCII Idempotency-Key (1–64 characters). The replay is scoped to this Organization, Project, Environment, and webhook; a completed matching key returns its original result, while a mismatched key returns 409 and missing, foreign, or expired deliveries return 404. Signing secrets are never exposed.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Replay an environment webhook delivery. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Replay an environment webhook delivery. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to Replay an environment webhook delivery. |
deliveryId | string | required | Identifies the webhook delivery being addressed. Applies to Replay an environment webhook delivery. |
header
| Name | Type | Required | Description |
|---|---|---|---|
Idempotency-Key | string | required |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Retry a dead environment webhook delivery
POST /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}/deliveries/{deliveryId}/retry
Resets a dead-letter delivery to pending with a fresh attempt count of zero. Only dead-letter deliveries are eligible; pending, in-flight, retrying, and delivered deliveries return 409, while a missing or foreign delivery returns 404. No Idempotency-Key is required.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Retry a dead environment webhook delivery. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Retry a dead environment webhook delivery. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to Retry a dead environment webhook delivery. |
deliveryId | string | required | Identifies the webhook delivery being addressed. Applies to Retry a dead environment webhook delivery. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |
Rotate an environment webhook secret
POST /api/v1/projects/{projectId}/environments/{environmentId}/webhooks/{webhookId}/secrets
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Rotate an environment webhook secret. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Rotate an environment webhook secret. |
webhookId | string | required | Identifies the Project webhook being addressed. Applies to Rotate an environment webhook secret. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — data: object (required) |
400 | The request is malformed or cannot be processed. | application/json — PublicApiError — error: object (required) |
401 | Authentication failed. The Authorization header is missing, or the credential is invalid or expired. | application/json — PublicApiError — error: object (required) |
403 | Access denied. The authenticated user does not have permission to perform this action. | application/json — PublicApiError — error: object (required) |
404 | Resource not found. | application/json — PublicApiError — error: object (required) |
409 | Request conflicts with current state of the resource, including safe deployment conflict classifications. | application/json — PublicApiError — error: object (required) |
422 | Request validation failed. Check the request body, query parameters, or path parameters. | application/json — PublicApiError — error: object (required) |
429 | Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying. | application/json — PublicApiError — error: object (required) |
500 | The server could not complete the request. | application/json — PublicApiError — error: object (required) |
503 | Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff. | application/json — PublicApiError — error: object (required) |