Cash Management API
Endpoint Index
| Action | Endpoint |
|---|---|
| Fetch a cash balance | GET /cashBalances/{cashBalanceLocator} |
| Transfer funds from one cash balance to another | PATCH /cashBalances/{sourceCashBalanceLocator} |
| Create a disbursement | POST /cashBalances/{cashBalanceLocator}/disbursements |
| Update or issue a disbursement | PATCH /disbursements/{disbursementLocator} |
| Fetch a disbursement | GET /disbursements/{disbursementLocator} |
| Fetch disbursements | GET /disbursements |
| Issue a catch-up | POST /cashBalances/{cashBalanceLocator}/invoices |
| Write off a catch-up | PATCH /catchUps/{catchupLocator}/writeOff |
| Invalidate a catch-up | PATCH /catchUps/{catchupLocator}/invalidate |
| Fetch a catch-up | GET /catchUps/{catchupLocator} |
| Fetch catch-ups | GET /catchUps |
| Fetch cash balance records | GET /cashBalanceLog/records |
| Fetch attributed cash balance records | GET /cashBalanceLog/attributedRecords |
Cash Balances
Fetch a cash balance¶
GET /cashBalances/{cashBalanceLocator}Request:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceLocator | path | string | required |
Response:
CashBalanceResponseCashBalanceResponse¶
requiredlocator stringpolicyholderLocator stringpolicyLocator stringamount numbercurrency string
Note
Any existing cash balance for a policy will be included in the PolicyResponse for the policy.
Transfer funds from one cash balance to another¶
PATCH /cashBalances/{sourceCashBalanceLocator}Request:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceTransferRequest | body | CashBalanceTransferRequest | required |
| sourceCashBalanceLocator | path | string | required |
Response:
CashBalanceTransferResponseCashBalanceTransferRequest¶
requiredname stringamount numbertargetCashBalanceLocator stringoptionaldetails string
CashBalanceTransferResponse¶
requiredamount numbernewSourceCashBalanceAmount numbernewTargetCashBalanceAmount numberpreviousSourceCashBalanceAmount numberpreviousTargetCashBalanceAmount numbersourceCashBalanceLocator stringtargetCashBalanceLocator string
Payments
See the Payments API.
Disbursements
Create a disbursement¶
POST /cashBalances/{cashBalanceLocator}/disbursementsRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceLocator | path | string | required |
| request | body | DisbursementCreateRequest | required |
Response:
DisbursementResponseDisbursementCreateRequest¶
requiredamount numberoptionalfieldValues map<string,[string]>
DisbursementResponse¶
requiredlocator stringdisplayId stringpolicyLocator stringstate string draft | issued | discardedcreatedTimestamp timestampupdatedTimestamp timestampdocuments [PolicyDocumentResponse]fieldValues map<string,[string]>amount numberamountCurrency stringcashBalanceLocator stringmediaByLocator map<string,Media>optionalissuedTimestamp timestamp
Update or issue a disbursement¶
PATCH /disbursements/{disbursementLocator}Request:
| Name | Position | Type | Required |
|---|---|---|---|
| disbursementLocator | path | string | required |
| request | body | DisbursementActionRequest | required |
Response:
DisbursementResponseDisbursementActionRequest¶
optionalaction string issue | discarddisbursementUpdate DisbursementUpdateRequest
Fetch a disbursement¶
GET /disbursements/{disbursementLocator}Request:
| Name | Position | Type | Required |
|---|---|---|---|
| disbursementLocator | path | string | required |
Response:
DisbursementResponseFetch disbursements¶
GET /disbursementsRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| amount | query | string | optional |
| cashBalanceLocator | query | string | optional |
| pageSize | query | string | optional |
| pagingToken | query | string | optional |
| policyholderLocator | query | string | optional |
| policyLocator | query | string | optional |
Response:
DisbursementsPagedResponseDisbursementsPagedResponse¶
requireddisbursements [DisbursementResponse]optionalpagingToken string
Catch-Up Invoices
Issue a catch-up¶
POST /cashBalances/{cashBalanceLocator}/invoicesRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceLocator | path | string | required |
| catchUpInvoiceIssueRequest | body | CatchUpInvoiceIssueRequest | required |
Response:
CatchUpInvoiceResponseCatchUpInvoiceIssueRequest¶
requireddueTimestamp timestamptotalDue number
CatchUpInvoiceResponse¶
requiredlocator stringdisplayId stringpolicyLocator stringcreatedTimestamp timestampupdatedTimestamp timestampdueTimestamp timestampdocuments [PolicyDocumentResponse]totalDue numberinvoiceType stringsettlementStatus string outstanding | settledstatuses [PolicyInvoiceStatusAndTimeResponse]totalDueCurrency stringtransactionIssued booleanoptionalpayment PaymentResponsesettlementType string paid | writtenOff | zeroDue | invalidated | carriedForward
Write off a catch-up¶
PATCH /catchUps/{catchupLocator}/writeOffRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| catchupLocator | path | string | required |
Response:
CatchUpInvoiceResponseInvalidate a catch-up¶
PATCH /catchUps/{catchupLocator}/invalidateRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| catchupLocator | path | string | required |
Response:
CatchUpInvoiceResponseFetch a catch-up¶
GET /catchUps/{catchupLocator}Request:
| Name | Position | Type | Required |
|---|---|---|---|
| catchupLocator | path | string | required |
Response:
CatchUpInvoiceResponseFetch catch-ups¶
GET /catchUpsRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceLocator | query | string | optional |
| pageSize | query | string | optional |
| pagingToken | query | string | optional |
| policyholderLocator | query | string | optional |
| policyLocator | query | string | optional |
| totalDue | query | string | optional |
Response:
CatchUpPagedResponseCatchUpPagedResponse¶
requiredcatchUps [CatchUpInvoiceResponse]optionalpagingToken string
Cash Balance Log
Fetch cash balance records¶
GET /cashBalanceLog/recordsRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceLocator | query | string | optional |
| endTimestamp | query | timestamp | optional |
| eventType | query | string | optional |
| pageSize | query | integer | optional |
| pagingToken | query | string | optional |
| startTimestamp | query | timestamp | optional |
Response:
CashBalanceLogsPagedResponseFetch attributed cash balance records¶
GET /cashBalanceLog/attributedRecordsRequest:
| Name | Position | Type | Required |
|---|---|---|---|
| cashBalanceLocator | query | string | optional |
| endTimestamp | query | timestamp | optional |
| eventType | query | string | optional |
| pageSize | query | integer | optional |
| pagingToken | query | string | optional |
| startTimestamp | query | timestamp | optional |
Response:
CashBalanceLogsPagedResponseCashBalanceLogsPagedResponse¶
requiredcashBalanceLogs [CashBalanceLogResponse]optionalpagingToken string
CashBalanceLogResponse¶
requiredid stringtimestamp timestampdata CashBalanceLogDatatype stringoptionalusername string
CashBalanceLogData varies depending on the type of cash balance log entry.
Cash Balance Log Data
disbursementEntry
Event types: disbursement.issue
{
// required
delta: number
newCashBalance: number
disbursementLocator: string
cashBalanceLocator: string
}
invoicePaymentEntry
Event types: payment.pay, payment.reverse, catchUp.pay, catchUp.pay.reverse
{
// required
delta: number
newCashBalance: number
invoiceAmount: number
paymentAmount: number
paymentLocator: string
cashBalanceLocator: string
invoiceLocator: string
// optional
name: string /* included for reversals */
details: string /* included for reversals */
}
cashTransferEntry
Event types: cash.transfer
{
// required
amount: number
sourceCashBalanceLocator: string
newSourceCashBalance: number
targetCashBalanceLocator: string
newTargetCashBalance: number
}
catchUpWriteOffEntry
Event types: catchup.writtenOff
{
// required
delta: number
cashBalanceLocator: string
newCashBalance: number
invoiceLocator: string
}