> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trepzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors, idempotency, and quota

> Stable public error codes plus idempotency, CAS, cursor, and quota.

# Errors, idempotency, and quota

[Intro](#intro)

<h2 id="intro">
  Intro
</h2>

Public errors use snake\_case codes such as `authentication_failed`, `forbidden`, `not_found`, and `validation_failed`. Responses never return raw database rows. `retrieveParticipation` is a read of `participation_ref`: idempotency `none`, CAS `none`, cursor `none`. The public `operation_id` stays `retrieveParticipation`.

See the [changelog](./changelog#intro) and [reference](./reference#openapi-reference).

```ts theme={null}
const operationId: string = 'retrieveParticipation'
const idempotency: string = 'none'
const cas: string = 'none'
```

<h2 id="idempotency">
  Idempotency
</h2>

Creates send `Idempotency-Key`. Existing-resource mutations also send `If-Match` when the binding declares CAS. Replay with the same key and body returns the same result. A different body with the same key fails. Quota is declared per operation; undeclared quota on a read is `none`.
