/ladders

Base URL
https://api.babylon.app/v1


GET /ladders

List all ladder identifiers.

Query parameters

  • (none)

Example request

GET /v1/ladders

Example response — 200

{
  "ladders"=["USDLadder", "GBPLadder"]
}

GET /ladders/{ladder}

Fetch all rows (deposits) in a single ladder.

Path parameters

  • ladder — ladder identifier (case-preserving)

Query parameters

  • format (optional)json (default) or csv
  • columns (optional) — comma-separated field names; subset + order applied to JSON and CSV

Example request (JSON, all fields)

GET /v1/ladders/MyCashLadder

Example response — 200 (JSON, columnar)

{
  "ladderId":         ["MyCashLadder","MyCashLadder"],
  "accountAlias":     ["Aldermore-Sep28","NSI-Aug27"],
  "type":             ["Income","Accumulation"],
  "principal":        [10000.00,8000.00],
  "couponRate":       [0.042,0.039],
  "startDate":        ["2025-09-01","2025-08-15"],
  "maturityDate":     ["2028-09-01","2027-08-15"],
  "frequency":        ["6M","12M"],
  "currency":         ["GBP","GBP"],
  "daycount":         ["ACT/365F",null],
  "paymentCalendar":  ["GB",null],
  "paymentConvention":["MODFOLLOWING","FOLLOWING"],
  "comments":         ["Ladder rung 1","Reinvests coupons"]
}

Example request (JSON with columns)

GET /v1/ladders/MyCashLadder?columns=accountAlias,principal,couponRate,maturityDate

Example response — 200 (JSON, ordered subset)

{
  "accountAlias": ["Aldermore-Sep28","NSI-Aug27"],
  "principal":    [10000.00,8000.00],
  "couponRate":   [0.042,0.039],
  "maturityDate": ["2028-09-01","2027-08-15"]
}

Example request (CSV with columns)

GET /v1/ladders/MyCashLadder?format=csv&columns=accountAlias,principal,couponRate,maturityDate

Example response — 200 (CSV, ordered subset)

accountAlias,principal,couponRate,maturityDate
Aldermore-Sep28,10000.00,0.042,2028-09-01
NSI-Aug27,8000.00,0.039,2027-08-15

POST /ladders

Append rows (deposits) to a ladder.

Body

  • { "data": <columnar JSON object | CSV string> }

Example request (columnar JSON)

POST /v1/ladders
{
  "data": {
    "ladderId":         ["MyCashLadder"],
    "accountAlias":     ["Aldermore-Sep28"],
    "type":             ["Income"],
    "principal":        [10000.00],
    "couponRate":       [0.042],
    "startDate":        ["2025-09-01"],
    "maturityDate":     ["2028-09-01"],
    "frequency":        ["6M"],
    "currency":         ["GBP"],
    "daycount":         ["ACT/365F"],
    "paymentCalendar":  ["GB"],
    "paymentConvention": ["MODFOLLOWING"],
    "comments":         ["Ladder rung 1"]
  }
}

Example response — 201

{
  "status": "created",
  "ladderId": "MyCashLadder"
}

Example request (CSV string in data)

POST /v1/ladders
{
  "data": "ladder,accountAlias,type,principal,couponRate,startDate,maturityDate,frequency,currency,daycount,paymentCalendar,paymentConvention,comments\nMyCashLadder,Aldermore-Sep28,Income,10000.00,0.042,2025-09-01,2028-09-01,6M,GBP,ACT/365F,GB,MODFOLLOWING,Ladder rung 1"
}

Example response — 201

{
  "status": "created",
  "ladderId": "MyCashLadder"
}

PUT /ladders/{ladder}

Create or fully replace a ladder at this end point.

Path parameters

  • ladder — ladder to create or replace

Semantics

  • 201 Created if new
  • 200 OK if replaced

Body

  • { "data": <columnar JSON | CSV string> }

Example request (columnar JSON)

PUT /v1/ladders/MyCashLadder
{
  "data": {
    "ladderId":         ["MyCashLadder","MyCashLadder"],
    "accountAlias":     ["Aldermore-Sep28","NSI-Aug27"],
    "type":             ["Income","Accumulation"],
    "principal":        [10000.00,8000.00],
    "couponRate":       [0.042,0.039],
    "startDate":        ["2025-09-01","2025-08-15"],
    "maturityDate":     ["2028-09-01","2027-08-15"],
    "frequency":        ["6M","12M"],
    "currency":         ["GBP","GBP"],
    "daycount":         ["ACT/365F",null],
    "paymentCalendar":  ["GB",null],
    "paymentConvention":["MODFOLLOWING","FOLLOWING"],
    "comments":         ["Ladder rung 1","Reinvests coupons"]
  }
}

Example response — 200/201

{
  "status": "ok",
  "ladderId": "MyCashLadder",
  "rows": 2
}

Example request (CSV string)

PUT /v1/ladders/MyCashLadder
{
  "data": "ladderId,accountAlias,type,principal,couponRate,startDate,maturityDate,frequency,currency,daycount,paymentCalendar,paymentConvention,comments\nMyCashLadder,Aldermore-Sep28,Income,10000.00,0.042,2025-09-01,2028-09-01,6M,GBP,ACT/365F,GB,MODFOLLOWING,Ladder rung 1\nMyCashLadder,NSI-Aug27,Accumulation,8000.00,0.039,2025-08-15,2027-08-15,12M,GBP,,,FOLLOWING,Reinvests coupons"
}

Example response — 200/201

{
  "status": "ok",
  "ladderId": "MyCashLadder",
  "rows": 2
}

DELETE /ladders/{ladder}

Delete a ladder.

Example request

DELETE /v1/ladders/MyCashLadder

Example response — 200

{
  "status": "deleted",
  "ladder": "MyCashLadder"
}

← Back to API