Environment Changes
6 operations.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers | Register a durable change consumer at the current baseline |
| DELETE | /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId} | Remove a durable change consumer |
| POST | /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}/acknowledgements | Acknowledge processed changes |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}/events | Long-poll changes from the last acknowledged cursor |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}/stream | Stream changes from the last acknowledged cursor |
| GET | /api/v1/projects/{projectId}/environments/{environmentId}/changes/position | Read the published Environment change position |
Register a durable change consumer at the current baseline
POST /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers
Choose a stable UUID to retry registration safely. Query current state after registration, then consume and explicitly acknowledge changes. Registrations retain unread changes until removed.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Register a durable change consumer at the current baseline. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Register a durable change consumer at the current baseline. |
Request body
Required — Request body for: Register a durable change consumer at the current baseline.
application/json
| Name | Type | Required | Description |
|---|---|---|---|
consumerId | string | required |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — consumerId: string (required); cursor: string (required); position: string (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) |
Remove a durable change consumer
DELETE /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Remove a durable change consumer. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Remove a durable change consumer. |
consumerId | string | required | Identifies a durable change consumer owned by the authenticated user. Applies to Remove a durable change consumer. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — removed: true (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) |
Acknowledge processed changes
POST /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}/acknowledgements
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Acknowledge processed changes. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Acknowledge processed changes. |
consumerId | string | required | Identifies a durable change consumer owned by the authenticated user. Applies to Acknowledge processed changes. |
Request body
Required — Request body for: Acknowledge processed changes.
application/json
| Name | Type | Required | Description |
|---|---|---|---|
cursor | string | required |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — acknowledged: true (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) |
Long-poll changes from the last acknowledged cursor
GET /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}/events
An interrupted response is replayed. Acknowledge the returned cursor only after processing the complete page. A 409 requires a new baseline.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Long-poll changes from the last acknowledged cursor. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Long-poll changes from the last acknowledged cursor. |
consumerId | string | required | Identifies a durable change consumer owned by the authenticated user. Applies to Long-poll changes from the last acknowledged cursor. |
query
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to Long-poll changes from the last acknowledged cursor. |
waitMs | integer | optional | Sets the maximum long-poll wait for newly published changes, in milliseconds. Applies to Long-poll changes from the last acknowledged cursor. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — changes: array<object> (required); cursor: string (required); position: string (required); hasMore: boolean (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) |
Stream changes from the last acknowledged cursor
GET /api/v1/projects/{projectId}/environments/{environmentId}/changes/consumers/{consumerId}/stream
SSE changes frames contain the same page as long polling. Acknowledge a page only after processing it. Streams close after 30 seconds; reconnect from durable acknowledgement. Last-Event-ID never acknowledges changes. A rebaseline frame requires a fresh consumer and state query; an error frame closes the stream.
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Stream changes from the last acknowledged cursor. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Stream changes from the last acknowledged cursor. |
consumerId | string | required | Identifies a durable change consumer owned by the authenticated user. Applies to Stream changes from the last acknowledged cursor. |
query
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | optional | Sets the maximum number of resources returned in this page. Applies to Stream changes from the last acknowledged cursor. |
Responses
| Status | Description | Body |
|---|---|---|
200 | text/event-stream | text/event-stream — string |
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) |
Read the published Environment change position
GET /api/v1/projects/{projectId}/environments/{environmentId}/changes/position
Parameters
path
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | required | Identifies the Project that owns the addressed resource. Applies to Read the published Environment change position. |
environmentId | string | required | Identifies the Project environment addressed by the operation. Applies to Read the published Environment change position. |
Responses
| Status | Description | Body |
|---|---|---|
200 | Response for status 200 | application/json — object — position: string (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) |