# List Settled Charges List settled charges (immutable post-invoice/payment state). Settled charges are created when: - A charge is invoiced (settlementType: INVOICED) - A charge is paid directly without invoice (settlementType: DIRECT_PAYMENT) Note: Settled charges are IMMUTABLE. Corrections must be made via ledger adjustments. Endpoint: GET /settledCharges Version: 1.0.0 Security: OAuth2 ## Query parameters: - `status` (string) Filter by settled charge status Enum: "INVOICED", "PARTIALLY_PAID", "PAID", "REFUNDED", "VOID" - `settlement_type` (string) Filter by settlement type Enum: "INVOICED", "DIRECT_PAYMENT" - `billable_entity_id` (string) Filter by billable entity ID - `account_id` (string) Filter by account ID - `invoice_id` (string) Filter by invoice ID - `settled_at_from` (string) Filter settled charges settled on or after this timestamp - `settled_at_to` (string) Filter settled charges settled on or before this timestamp - `page` (integer) Page number (1-indexed) Example: 1 - `page_size` (integer) Number of items per page Example: 50 ## Response 200 fields (application/json): - `results` (array, required) - `results.id` (string, required) - `results.originalChargeId` (string, required) - `results.entityId` (string, required) - `results.billableEntityId` (string, required) - `results.accountId` (string, required) - `results.invoiceId` (string,null) - `results.rateId` (string) Rate used for this charge - `results.quantity` (number) Quantity billed - `results.amount` (integer) Full charge amount before proration (cents) - `results.prorationFactor` (number) Proration factor (0.0-1.0) - `results.proratedAmount` (integer) Amount after proration (cents) - `results.netAmount` (integer) Final amount after discounts (cents) - `results.discountRateIds` (array) Discount rates applied - `results.discountAmounts` (array) Discount amounts in cents (parallel to discountRateIds) - `results.allocationConfigId` (string,null) Allocation configuration used - `results.rateVersion` (integer) Version of rate at settlement time - `results.subscriptionVersion` (integer,null) Version of subscription at settlement time - `results.allocationVersion` (integer,null) Version of allocation config at settlement time - `results.discountRateVersions` (array) Versions of discount rates at settlement time - `results.settlementType` (string, required) How the charge was settled Enum: "INVOICED", "DIRECT_PAYMENT" - `results.status` (string, required) Status of settled (immutable) charge Enum: "INVOICED", "PARTIALLY_PAID", "PAID", "REFUNDED", "VOID" - `results.originalAmount` (integer, required) Original charge amount in cents - `results.resolvedAmount` (integer, required) Amount after allocation resolution in cents - `results.amountPaid` (integer, required) Amount paid so far in cents - `results.amountOutstanding` (integer, required) Remaining amount in cents - `results.resolvedAllocation` (object) Frozen snapshot of allocation at settlement time - `results.resolvedRate` (object) Frozen snapshot of rate at settlement time - `results.consolidatedTags` (object) Tags consolidated from all sources with prefixes: - profile.billableEntity.* - profile.account.* - billing.rate.* - billing.subscription.* - billing.charge.* - `results.settledAt` (string, required) - `results.optimisticLockVersion` (integer) Optimistic locking version (managed by Hibernate @Version). Prevents concurrent update conflicts. - `results.createdAt` (string, required) - `pagination` (object, required) - `pagination.totalRecords` (integer, required) Total number of records across all pages Example: 100 - `pagination.currentPage` (integer, required) Current page number (1-indexed) Example: 1 - `pagination.totalPages` (integer, required) Total number of pages Example: 10 - `pagination.nextPage` (integer,null) Next page number, null if on last page Example: 2 - `pagination.prevPage` (integer,null) Previous page number, null if on first page ## Response 401 fields (application/json): - `result` (object, required) - `result.status` (string, required) Response status (always ERROR for error responses) Enum: "ERROR" - `error` (object, required) - `error.responseCode` (string, required) Response code (numeric or contains numbers, e.g., "404", "409", "500", "ERR001") Example: "404" - `error.responseMessage` (array, required) Array of error message strings for multiple error details Example: ["Charge not found","The requested charge ID does not exist in the system"]