Skip to main content
Every operation follows the same shape.
Assignment is repeatable. Send the same request again to get the same result.

Idempotent notes

idempotency_key is keyword-only and applies only to note creation. The SDK sends it as the Idempotency-Key header.
Reuse the same key with the same body to retry safely. Reusing the key with a different body raises ReconifyConflictError.

Timeouts

The client timeout is 30 seconds. Override it per call, with a number or an httpx.Timeout.

Raw responses

Pass raw=True when you need the status code, headers, or request ID rather than a parsed model.
RawResponse exposes status_code, headers, body, request_id, and json().

Correlate requests

Set request_id on the client to send X-Request-ID with every request. Use it to join your logs to Reconify’s.

Batch limits

The SDK checks the serialized request before sending and raises ReconifyValidationError when it exceeds 5 MiB. A batch holds 1 to 500 events, and each event is limited to 256 KiB.

Bring your own HTTP client

Pass http_client to share a connection pool, set proxies, or install instrumentation.
The SDK does not close a client you supplied.

Models

Request and response models live in reconify.models and are Pydantic v2 classes, so your editor and type checker know every field.
The package ships py.typed, so mypy and pyright check your calls without extra stubs.
Enum values are accepted as plain strings. type="payment.succeeded" and type=EventType.PAYMENT_SUCCEEDED are equivalent. Response models keep an unrecognized value as a string instead of failing, so a new event type added by a later API version does not break your reader.

Next

Read collections page by page in Pagination.