Risk — Endpoints¶
Base URL: https://{yourcompany}.kendis.io/api/v1/… · Auth: HTTP Basic (email : API key). Throughout, acme.kendis.io is the sample subdomain.
1. List risk registers¶
GET /api/v1/riskregister
Returns all risk registers visible to the authenticated user.
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
fields |
string | No | minimal |
Comma-separated field names, or all |
startAt |
int | No | 0 |
Pagination offset |
pageLimit |
int | No | 50 |
Page size (max 50) |
curl -H "Authorization: Basic <token>" \
"https://acme.kendis.io/api/v1/riskregister?fields=all&startAt=0&pageLimit=50"
Response — 200 OK
{
"startAt": 0,
"pageLimit": 50,
"total": 2,
"data": [
{
"key": "RR-PROG",
"title": "Program Risks",
"id": "<register-id-1>",
"createdBy": "owner@acme.com",
"status": { "status": "Active", "id": "<status-id>" }
},
{
"key": "RR-OPS",
"title": "Operations Risks",
"id": "<register-id-2>",
"createdBy": "owner@acme.com",
"status": { "status": "Active", "id": "<status-id>" }
}
]
}
2. List risks for a register¶
GET /api/v1/{registerIdOrKey}/risk
Returns risks linked to a specific register. The path accepts either the register ID or the register key.
Path parameters
| Parameter | Description |
|---|---|
registerIdOrKey |
The risk register's ID or its key (e.g. RR-PROG) |
Query parameters — same as List risk registers.
curl -H "Authorization: Basic <token>" \
"https://acme.kendis.io/api/v1/RR-PROG/risk?fields=all&startAt=0&pageLimit=50"
Response — 200 OK (truncated)
{
"startAt": 0,
"pageLimit": 50,
"total": 8,
"data": [
{
"key": "RR-PROG-1",
"title": "Vendor SLA breach",
"id": "<risk-id>",
"riskDesc": "Vendor X is missing SLA targets two months running.\nEscalation expected by end of quarter.",
"mitigationActions": "Engage backup vendor.\nReview contract terms with legal.",
"createdBy": "owner@acme.com",
"impact": "Medium",
"probability": "High",
"riskLevel": { "title": "Medium", "color": "#f39c12" },
"raisedDate": "19-May-2026",
"resolutionDate": "27-May-2026",
"linkedItems": [ { "key": "FEA-123", "id": "<item-id>" } ],
"boardTeams": [ { "teamTitle": "Team Alpha", "teamId": "<team-id>" } ],
"boardSprints": [ { "sprintTitle": "Sprint 3", "sprintId": "<sprint-id>" } ],
"customFields": [
{ "id": "<field-id-1>", "title": "Business Unit", "type": "singleselect", "value": "Finance" },
{ "id": "<field-id-2>", "title": "Backup Owner", "type": "userpicker", "value": { "id": "<user-id>", "fullName": "Jane Doe" } }
],
"status": { "status": "Accepted", "id": "<status-id>" },
"riskRegister": { "riskRegister": "Program Risks", "id": "<register-id-1>" },
"watcherList": [ { "Watcher": "John Smith", "id": "<user-id>" } ],
"responsible": { "user": "Alice Stone", "id": "<user-id>" }
}
]
}
Response — 404 Not Found when the register doesn't exist.
3. Get a single risk¶
GET /api/v1/risk/{riskId}
Returns one risk by its ID.
Path parameters
| Parameter | Description |
|---|---|
riskId |
The risk's ID |
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
fields |
string | No | minimal |
Comma-separated field names, or all |
Response — 200 OK — same shape as a single item from List risks for a register (wrapped in { "data": [ … ] }).
Response — 404 Not Found when the risk doesn't exist.
4. Get risk register for a board¶
GET /api/v1/{boardId}/riskregister
Returns the risk register linked to a specific board (PI Board, Solution Train, Portfolio board, etc.).
Path parameters
| Parameter | Description |
|---|---|
boardId |
The board ID |
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
fields |
string | No | minimal |
Comma-separated field names, or all |
Response — 200 OK — register shape plus a board projection of the linked board.
Response — 404 Not Found — no register linked to this board.
5. Get boards linked to a register¶
GET /api/v1/{registerIdOrKey}/boards
Returns boards linked to a risk register.
Path parameters
| Parameter | Description |
|---|---|
registerIdOrKey |
Risk register ID or key (e.g. RR-PROG) |
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startAt |
int | No | 0 |
Pagination offset |
pageLimit |
int | No | 50 |
Page size (max 50) |
Response — 200 OK — paginated list of { id, title, prefix } board objects.