PI Board Items — Endpoints¶
Base URL: https://rest.kendis.io/api/<companyPrefix>/… · Auth: HTTP Basic (email : API key).
Throughout these examples, replace <companyPrefix> with your company prefix (find it in your Kendis login URL, https://<companyPrefix>.kendis.io).
1. List collections¶
GET /api/<companyPrefix>/collections
Retrieves the collections (workspaces) visible to the authenticated user. Run this first to discover collection IDs.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
auth |
string | Yes | Basic auth — username = login email, password = API key |
Example
Response — 200 OK
2. List boards¶
GET /api/<companyPrefix>/boards
Retrieves boards and their state IDs. Optionally filter by one or more collections.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
auth |
string | Yes | Basic auth credentials |
collectionId |
string | No | Comma-separated list of collection IDs |
Example
GET api/<companyPrefix>/boards?collectionId=Col1_Id,Col2_Id
Authorization: Basic {email & API Key as Password}
Response — 200 OK
{
"data": [
{
"id": "your board Id",
"state": {
"id": "your state Id",
"title": "Draft"
},
"title": "Board Name"
}
]
}
3. List board items¶
POST /api/<companyPrefix>/items
Retrieves all items on the board. The request body is raw JSON; boardId is required.
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
boardId |
string | Yes | ID of the Program Board (from List Boards) |
fields |
array | No | Restrict the response to specific fields |
pageStart |
number | No | Page offset index (default 0) |
pageSize |
number | No | Items per page (default 50) |
Example 1 — default fields for a board¶
POST api/<companyPrefix>/items
Authorization: Basic {email & API Key as Password}
Content-Type: application/json
Response — 200 OK (truncated)
{
"data": [
{
"iterationPath": "Iteration-1",
"id": "66a2c76a09da964694561fda",
"azureId": "2",
"estimates": 10.0,
"updatedBy": "user@kendis.io",
"externalKey": "ZTZ-20",
"teamsAndSprints": [
{ "sprint": "Iteration 1", "team": "Team Sk" },
{ "sprint": "Iteration 4", "team": "Team Jup" }
],
"completionByStatus": 0.0,
"updatedOn": "26 Jul, 24",
"status": "Active",
"itemType": "Feature",
"completionByEstimate": 0.0,
"createdOn": "26 Jul, 24",
"summary": "Web 2.0",
"externalUrl": "http://sampleURL.com",
"stories": [
{
"summary": "Test 1",
"id": "66a2c76b09da96469456201c",
"parentId": "66a2c76a09da964694561fda",
"estimates": 10.0,
"status": "New",
"externalKey": "ZTZ-20",
"externalUrl": "http://sampleURL.com"
}
],
"cardType": "Feature",
"createdBy": "demouser1@kendis.io",
"areaPath": "ZAP - Agile\\Team Sky"
}
]
}
Example 2 — paginated, children only¶
Fetch 20 features and their children on the first page.
How pageStart works
pageStart is the item offset. With pageSize 100, the first call (pageStart 0) returns items
0–99; set pageStart to 100 for items 100–199, and so on.
Example 3 — selective fields¶
{
"boardId": "64c0345dd1waf623863d38fc",
"fields": ["createdOn", "cardType", "itemType", "iterationPath"],
"pageStart": 1,
"pageSize": 20
}
Response — 200 OK
{
"data": [
{
"itemType": "Feature",
"id": "your board ID",
"iterationPath": "Iteration-1",
"createdOn": "26 Jul, 24"
}
]
}
4. Sprint metadata¶
POST /api/<companyPrefix>/sprints
Returns the sprints configured on a board so you can resolve sprint IDs from the items response.
Response — 200 OK
{
"data": [
{
"id": "76d7a875-73c6-5681-a4e0-2331298fa132",
"label": "S2",
"title": "Iteration 2",
"isIPSprint": false
}
]
}
5. Team metadata¶
POST /api/<companyPrefix>/teams
Returns the teams on a board, with labels and colours.
Response — 200 OK
{
"data": [
{
"color": "#1991eb",
"id": "66a2c44309da962391161e65",
"label": "SKY",
"title": "Team Sky"
}
]
}
6. Status metadata¶
POST /api/<companyPrefix>/statuses
Returns the parent and child item statuses configured on a board.
Response — 200 OK
{
"parentStatuses": [
{
"id": "64bd1e57e87523ghjD442Fe2",
"rowStatus": 0,
"source": 0,
"title": "Open",
"color": "#f2930c",
"category": "ToDo",
"updated": false
}
],
"childrenStatuses": [
{
"id": "64bd1e57e87523ghjD442Fe2",
"rowStatus": 0,
"source": 0,
"title": "Open",
"color": "#f2930c",
"category": "ToDo",
"updated": false
}
]
}
See the Field reference for the full set of parent and child item properties, and the default fields returned for Features versus Stories.