Skip to main content
GET
/
v1
/
reports
/
liability
Get liability report
curl --request GET \
  --url https://api.scrip.dev/v1/reports/liability \
  --header 'X-API-Key: <api-key>'
{
  "as_of": "2026-06-30T23:59:59Z",
  "data": [
    {
      "asset_id": "550e8400-e29b-41d4-a716-446655440000",
      "asset_name": "Loyalty Points",
      "asset_symbol": "POINTS",
      "balance": "625000.00",
      "bucket": "AVAILABLE",
      "program_id": "550e8400-e29b-41d4-a716-446655440001",
      "program_name": "Premium Rewards",
      "scale": 2
    }
  ],
  "pagination": {
    "has_more": true,
    "next_cursor": "YWJjMTIz"
  }
}
Returns outstanding liability as of a point in time, broken down by asset and program. Each row carries asset_id, asset_symbol, and scale. Pass as_of to report on a past moment (omit it for now), and by_bucket=true to split rows into AVAILABLE, HELD, and DEFERRED. Because the ledger is immutable, the same as_of always returns the same answer.
To explain why liability changed over a period, use the liability rollforward. For usage patterns, see the Reporting guide.

Authorizations

X-API-Key
string
header
required

API key passed in the X-API-Key header.

Query Parameters

as_of
string<date-time>

Report liability as of this point in time (inclusive, RFC3339). Defaults to now.

program_id
string<uuid>

Filter to liability attributed to a specific program

asset_id
string<uuid>

Filter to a specific asset

by_bucket
boolean
default:false

When true, break each asset x program row down by bucket (AVAILABLE/HELD/DEFERRED)

Response

Liability report

Point-in-time liability report results

as_of
string

The point in time this report reflects (RFC 3339). Echoes the as_of parameter, or the server time used when as_of was omitted.

Example:

"2026-06-30T23:59:59Z"

data
object[]

Liability rows, one per asset x program (x bucket when by_bucket=true) with activity at or before as_of

pagination
object

Pagination metadata for list responses