Skip to navigation

Changes, retries and usage

The change feed is bounded by published events and an immutable release high water. Filters can exclude every event on a scanned page while its cursor still advances. After retention expiry, a 410 requires resynchronizing from a named release. It is not an instruction to reset canonical data.

Stable retries

Supported keyed JSON operations retain the first result body, cursor and release for 24 hours, subject to current access and budgets. Use an Idempotency-Key that is stable for one logical operation. A different canonical request under the same key returns 409. An expired replay returns 410.

Keys are scoped to principal, channel and operation. Requests without a stable key are independent operations. A lost response can be retried with the same key; do not generate a new key merely because the acknowledgement was lost.

Metering semantics

Separate HTTP attempts consume request quota. A ready logical result contributes data units once. Retried acknowledgement of the same durable attempt does not consume quota twice. Cancellations and failures remain transport outcomes; a TCP flush is not proof that the remote client received the bytes.

Measured transport rows/bytes and durable attempt outcomes are separate from resource-cost estimates and future pricing rules. Shared-process CPU and RAM are not exact attribution to one parallel request. Shadow metering does not create monetary charges. Shared paid cache and 304 billing paths are disabled.

With subscription access enabled, one allowance unit is consumed when a successful logical result is committed. A retry in the same subscription period does not consume a second allowance unit; transport rate limits still apply. After a subscription period changes, use a new idempotency key for a new operation. An old committed result cannot be delivered as a free request in the next period.

On 429 use the server’s retry guidance and bounded backoff. On 401 or 403 correct credentials or entitlements. Avoid retry fan-out and stop retrying malformed input.