Documentation menu

Environment Changes

6 operations.

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

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Register a durable change consumer at the current baseline.
environmentIdstringrequiredIdentifies 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

NameTypeRequiredDescription
consumerIdstringrequired

Responses

StatusDescriptionBody
200Response for status 200application/json — object — consumerId: string (required); cursor: string (required); position: string (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too 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)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service 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

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Remove a durable change consumer.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Remove a durable change consumer.
consumerIdstringrequiredIdentifies a durable change consumer owned by the authenticated user. Applies to Remove a durable change consumer.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — removed: true (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too 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)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service 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

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Acknowledge processed changes.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Acknowledge processed changes.
consumerIdstringrequiredIdentifies 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

NameTypeRequiredDescription
cursorstringrequired

Responses

StatusDescriptionBody
200Response for status 200application/json — object — acknowledged: true (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too 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)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service 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

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Long-poll changes from the last acknowledged cursor.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Long-poll changes from the last acknowledged cursor.
consumerIdstringrequiredIdentifies a durable change consumer owned by the authenticated user. Applies to Long-poll changes from the last acknowledged cursor.

query

NameTypeRequiredDescription
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to Long-poll changes from the last acknowledged cursor.
waitMsintegeroptionalSets the maximum long-poll wait for newly published changes, in milliseconds. Applies to Long-poll changes from the last acknowledged cursor.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — changes: array<object> (required); cursor: string (required); position: string (required); hasMore: boolean (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too 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)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service 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

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Stream changes from the last acknowledged cursor.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Stream changes from the last acknowledged cursor.
consumerIdstringrequiredIdentifies a durable change consumer owned by the authenticated user. Applies to Stream changes from the last acknowledged cursor.

query

NameTypeRequiredDescription
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to Stream changes from the last acknowledged cursor.

Responses

StatusDescriptionBody
200text/event-streamtext/event-stream — string
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too 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)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service 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

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Read the published Environment change position.
environmentIdstringrequiredIdentifies the Project environment addressed by the operation. Applies to Read the published Environment change position.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — position: string (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too 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)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)