The Event Financials API allows you to manage financial transactions and reserves for events (claims and incidents). This includes creating payments, tracking reserves, and viewing financial totals across events.
Key Concepts:
- Transactions: Financial records associated with events (payments, invoices)
- Reserves: Expected costs set aside for future payments
- Transaction Types: Categories like
indemnity_invoice (loss payments) and alae_invoice (allocated loss adjustment expenses)
- Amounts in cents: Most endpoints return amounts in cents (multiply by 100 from dollars)
API Endpoints
Transaction Management
Reserves & Totals
Transaction Types
Transaction types are configurable per company. Common built-in types include:
| Type | Description |
|---|
indemnity_invoice | Loss payments (indemnity) |
alae_invoice | Allocated Loss Adjustment Expenses |
Use the GET /transaction-categories endpoint to see all available transaction types for your company.
Itemized vs Non-Itemized
Transaction types can be either:
- Non-itemized: Single amount per transaction (e.g.,
indemnity_invoice)
- Itemized: Multiple line items per transaction (e.g.,
alae_invoice)
When creating transactions, use the appropriate field:
- Non-itemized:
amount field (required), lineItems forbidden
- Itemized:
lineItems array (required), amount forbidden
Transaction Status
| Status | Description |
|---|
owed | Payment is pending/due |
paid | Payment has been made |
approved | Transaction is approved but not yet paid |
void | Transaction has been voided |
Amount Conventions
Important: Different endpoints use different units:
| Endpoint | Unit |
|---|
| GET transactions | Cents |
| GET reserves | Cents |
| GET totals | Cents |
| POST transactions | Cents |
| PATCH expected-totals | Dollars |
The PATCH expected-totals endpoint uses dollars for historical compatibility.
Reserves vs Expected Totals
- Expected Total: The anticipated total cost for a category (set by user/adjuster)
- Reserves: Calculated as
expectedTotal - paid - owed
- Owed: Total amount of pending transactions
- Paid: Total amount of completed transactions
Example:
Expected Total: $15,000
Paid: $5,000
Owed: $2,000
Reserves: $8,000 (15000 - 5000 - 2000)
Permissions
| Operation | Permission |
|---|
| List/Get Transactions | company.event:export |
| Create Transactions | company.payment:create |
| Get Reserves | company.payment:read |
| Update Expected Totals | company.claim:update / company.incident:update |
| List Financial Totals | company.payment:read |
Example: Creating a Payment
// POST /events/{eventId}/financials/transactions
{
"transactionType": "indemnity_invoice",
"transactionDate": "2025-01-15",
"amount": 500000,
"payeeId": "550e8400-e29b-41d4-a716-446655440050",
"description": "Initial claim payment",
"status": "paid",
"paidDate": "2025-01-20"
}
Response:
{
"id": "550e8400-e29b-41d4-a716-446655440010"
}
Example: Updating Reserves
// PATCH /events/{eventId}/financials/expected-totals
{
"type": "claim",
"categoryId": "indemnity_invoice",
"expectedTotal": 15000
}
Response:
{
"eventId": "550e8400-e29b-41d4-a716-446655440001",
"categoryId": "indemnity_invoice",
"expectedTotal": 15000,
"reserves": 10000
}
The type field (claim/incident) is required for permission resolution. The event type must match the value provided.
Nullable Fields
| Field | When null |
|---|
payeeId | No payee associated with transaction |
invoiceNumber | No invoice number assigned |
invoiceDate | No invoice date set |
dueDate | No due date set |
paidDate | Transaction is not paid |
description | No description provided |
voidReason | Transaction is not voided |
reserves | Category doesn’t support reserves |
updatedAt | Transaction has never been updated |