/ladders
Base URLhttps://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) orcsvcolumns(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"
}