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.