New /ingest endpoint documentation plus read data endpoints for listing and retrieving scoped records.
Endpoints
- Documented /ingest as the primary endpoint for event ingestion.
- Added read data endpoints: GET /api/tables/{table} and GET /api/tables/{table}/{id}.
- Documented allowed read tables for clients, disbursements, payments, operations, purchase links, status history, and derived event rows.
- Clarified required Authorization and Idempotency-Key headers.
- Updated response examples for success, duplicate idempotency, validation, authorization, and server errors.
Payloads
- Focused docs on client, disbursement, payment, and optional operation categories.
- Updated purchase disbursement examples to use purchase_clients and reject legacy client_ids.
- Clarified payment source as optional with default client.
- Clarified that all _date fields accept ISO 8601 date-only or timestamp input.
- Documented purchase payment client_id requirement.
- Documented worker-created disbursement and asset status side effects from accepted parent events.
Documentation UX
- Added Start Here guide for request shape, category choice, and recommended event flow.
- Reworked payload pages with field summaries before long explanations.
- Kept version history available for migration context.
Migration Notes
- Send all new events to /ingest using category and data.
- Use /api/tables/{table} or /api/tables/{table}/{id} to read records scoped to your API key.
- Use disbursement.kind instead of old top-level loan or purchase categories.
- Use payment.status expected events instead of old schedule category.
Payment events require due_date, separating scheduled due dates from optional receipt timestamps.
Payment Events
- Added due_date as a required ISO 8601 date field.
- Kept payment_date as an optional actual receipt timestamp for paid payments.
- Removed write_off and insurance from active examples, validator UI, and FAQ navigation.
- Updated payment examples, payload reference, FAQ documentation, and validator logic.
Migration Notes
- Send due_date on every payment event using ISO 8601 date input, for example "2024-11-20".
- Continue using payment_date for actual payment receipt timestamp when status is paid.
- Use disbursement updates with change_date and change_reason for extension, rebate, and write-off derived rows.
Backend alignment release: synchronous ingest processing, four active top-level categories, disbursement_id child references, and legacy loan/purchase migration into disbursements.
Ingest Categories
- Active /ingest categories are client, disbursement, payment, and operation.
- Added operation documentation for revenue/cost data and optional asset fields.
- Deprecated categories are documented as no longer accepted as top-level ingest categories.
References And Processing
- payment requires disbursement_id; operation can also reference disbursement_id for underlying operation or asset tracking.
- Deprecated entity_type and entity_id fields are tolerated but ignored by new processing.
- API stores and processes events synchronously in the request path.
Migration Notes
- Keep loan and purchase semantics inside disbursement.kind.
- Send operation/asset source data through operation.
- Update child payloads from entity_type/entity_id to disbursement_id.
Major restructuring release. loan and purchase categories are replaced by disbursement with kind, payment gains status/payment_fee/installment_number, and schedule is modeled as expected payments.
Disbursement Category
- Unified entity replaces loan and purchase.
- kind: "loan" requires disbursement_date and maturity_date.
- kind: "purchase" requires operation_date, payment_date, estimated_delivery_date, goods_description, and goods_status.
Payment Category
- Added required status: expected, paid, or canceled.
- Added optional payment_fee and installment_number.
- Use expected payment series to model schedules.
Migration Notes
- Replace loan payloads with disbursement + kind: "loan".
- Replace purchase payloads with disbursement + kind: "purchase".
- Replace schedule payloads with payment events using status: "expected".
Documentation-only update clarifying the installments array structure for Schedule events.
Schedule Documentation
- Documented required installments keys and optional principal_amount.
- Added detailed installments JSON example.
Insurance events gained required percentage field for coverage amount between 0 and 1.
Insurance Events
- Added percentage as required field.
- Default value is 1 for full coverage.
Migration Notes
- When creating or updating Insurance events, include percentage.
- Use 1 for full coverage or a decimal such as 0.75 for partial coverage.
Aligned required field validations, examples, FAQs, and validator behavior with official required fields specification.
Required Fields Updates
- Added step as required for Loan, Restructure, and Client events.
- Corrected required/optional fields across Purchase, Credit Decision, Asset, Goods Status, and Client events.
- Updated validators with corrected required fields.
Migration Notes
- Include newly required fields when sending legacy categories from this version.
Initial API specification with event ingestion, idempotency, API key authentication, rate limiting, JSON validator, and FAQ documentation.
Features
- Event ingestion with idempotency guarantees.
- API key authentication.
- Support for initial event categories and JSON payload validator.