Skip to main content
Conventional HTTP status codes are returned to indicate the success or failure of an API request. Certain errors are retryable, meaning that re-issuing the same request after a delay could lead to a successful result. Exponential backoff is recommended.
In the context of an S2S append or read session, an error that occurs after a 200 OK status will be a “terminal message” on the response stream. However, pre-flight errors are sent normally.

Standard Errors

A standard error body has the following JSON form:
Requests that fail with 404 or 409 will succeed on a future attempt once the underlying condition changes (e.g., resource is created, or deletion completes).

Structured Errors

Append Condition Failed (412)

See concurrency control for more context.
The current fencing token did not match the expected fencing token, which is returned.

Read Range Not Satisfiable (416)

416 without a Range header? Unconventional, but the shoe fits.See when reads return 416.
The tail field indicates the current end position of the stream.