Cash Management API

Endpoint Index

ActionEndpoint
Fetch a cash balanceGET /cashBalances/{cashBalanceLocator}
Transfer funds from one cash balance to anotherPATCH /cashBalances/{sourceCashBalanceLocator}
Create a disbursementPOST /cashBalances/{cashBalanceLocator}/disbursements
Update or issue a disbursementPATCH /disbursements/{disbursementLocator}
Fetch a disbursementGET /disbursements/{disbursementLocator}
Fetch disbursementsGET /disbursements
Issue a catch-upPOST /cashBalances/{cashBalanceLocator}/invoices
Write off a catch-upPATCH /catchUps/{catchupLocator}/writeOff
Invalidate a catch-upPATCH /catchUps/{catchupLocator}/invalidate
Fetch a catch-upGET /catchUps/{catchupLocator}
Fetch catch-upsGET /catchUps
Fetch cash balance recordsGET /cashBalanceLog/records
Fetch attributed cash balance recordsGET /cashBalanceLog/attributedRecords

Cash Balances

Fetch a cash balance
GET /cashBalances/{cashBalanceLocator}
    Request:
    NamePositionTypeRequired
    cashBalanceLocatorpathstringrequired
CashBalanceResponse
required
locator string
policyholderLocator string
policyLocator string
amount number
currency 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}
CashBalanceTransferRequest
required
name string
amount number
targetCashBalanceLocator string

optional
details string
CashBalanceTransferResponse
required
amount number
newSourceCashBalanceAmount number
newTargetCashBalanceAmount number
previousSourceCashBalanceAmount number
previousTargetCashBalanceAmount number
sourceCashBalanceLocator string
targetCashBalanceLocator string

Payments

See the Payments API.

Disbursements

Create a disbursement
POST /cashBalances/{cashBalanceLocator}/disbursements
DisbursementCreateRequest
required
amount number

optional
fieldValues map<string,[string]>
DisbursementResponse
required
locator string
displayId string
policyLocator string
state string draft | issued | discarded
createdTimestamp timestamp
updatedTimestamp timestamp
fieldValues map<string,[string]>
amount number
amountCurrency string
cashBalanceLocator string
mediaByLocator map<string,Media>

optional
issuedTimestamp timestamp
Update or issue a disbursement
PATCH /disbursements/{disbursementLocator}
DisbursementActionRequest
optional
action string issue | discard
disbursementUpdate DisbursementUpdateRequest
Fetch a disbursement
GET /disbursements/{disbursementLocator}
    Request:
    NamePositionTypeRequired
    disbursementLocatorpathstringrequired
Fetch disbursements
GET /disbursements
    Request:
    NamePositionTypeRequired
    amountquerystringoptional
    cashBalanceLocatorquerystringoptional
    pageSizequerystringoptional
    pagingTokenquerystringoptional
    policyholderLocatorquerystringoptional
    policyLocatorquerystringoptional
DisbursementsPagedResponse
required
disbursements [DisbursementResponse]

optional
pagingToken string

Catch-Up Invoices

Issue a catch-up
POST /cashBalances/{cashBalanceLocator}/invoices
CatchUpInvoiceIssueRequest
required
dueTimestamp timestamp
totalDue number
CatchUpInvoiceResponse
required
locator string
displayId string
policyLocator string
createdTimestamp timestamp
updatedTimestamp timestamp
dueTimestamp timestamp
totalDue number
invoiceType string
settlementStatus string outstanding | settled
totalDueCurrency string
transactionIssued boolean

optional
settlementType string paid | writtenOff | zeroDue | invalidated | carriedForward
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
    Request:
    NamePositionTypeRequired
    cashBalanceLocatorquerystringoptional
    pageSizequerystringoptional
    pagingTokenquerystringoptional
    policyholderLocatorquerystringoptional
    policyLocatorquerystringoptional
    totalDuequerystringoptional
CatchUpPagedResponse
required

optional
pagingToken string

Cash Balance Log

Fetch cash balance records
GET /cashBalanceLog/records
    Request:
    NamePositionTypeRequired
    cashBalanceLocatorquerystringoptional
    endTimestampquerytimestampoptional
    eventTypequerystringoptional
    pageSizequeryintegeroptional
    pagingTokenquerystringoptional
    startTimestampquerytimestampoptional
Fetch attributed cash balance records
GET /cashBalanceLog/attributedRecords
    Request:
    NamePositionTypeRequired
    cashBalanceLocatorquerystringoptional
    endTimestampquerytimestampoptional
    eventTypequerystringoptional
    pageSizequeryintegeroptional
    pagingTokenquerystringoptional
    startTimestampquerytimestampoptional
CashBalanceLogsPagedResponse
required
cashBalanceLogs [CashBalanceLogResponse]

optional
pagingToken string
CashBalanceLogResponse
required
id string
timestamp timestamp
data CashBalanceLogData
type string

optional
username 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
}