Skip to main content

Kanban API

Quick Startโ€‹

# List available operations
epilot kanban

# Call an operation
epilot kanban createKanbanBoard

Common Flagsโ€‹

FlagDescription
-p key=valueSet a named parameter
-d '{...}'Request body JSON
-H 'Key: Value'Custom header
-t, --token <token>Bearer token for authentication
--profile <name>Use a named profile
-s, --server <url>Override server base URL
-i, --includeInclude response headers in output
--jsonOutput raw JSON (no formatting)
-v, --verboseVerbose output (show request details)
--jsonata <expr>JSONata expression to transform response
--definition <file>Override OpenAPI spec file/URL
--guidedPrompt for all parameters interactively
--no-interactiveDisable interactive prompts

Operationsโ€‹

Kanban

Query

createKanbanBoardโ€‹

Create a Kanban board

POST /v1/kanban/board

Request Body

Sample Call

epilot kanban createKanbanBoard

With request body:

epilot kanban createKanbanBoard \
-d '{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"],
"config": {
"dataset": "workflow_tasks_overview",
"swimlanes": [
{
"id": "string",
"title": "Swimlane 1",
"position": 1,
"filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"title_chip_variant": "success"
}
],
"card_config": {
"fields": ["assignee"]
},
"board_filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"search_query": "task 1"
}
}'

Using stdin pipe:

cat body.json | epilot kanban createKanbanBoard

With JSONata filter:

epilot kanban createKanbanBoard --jsonata '$'
Sample Response
{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"],
"config": {
"dataset": "workflow_tasks_overview",
"swimlanes": [
{
"id": "string",
"title": "Swimlane 1",
"position": 1,
"filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"title_chip_variant": "success"
}
],
"card_config": {
"fields": ["assignee"]
},
"board_filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"search_query": "task 1"
}
}

getKanbanBoardsโ€‹

Get all Kanban boards

GET /v1/kanban/boards

Parameters

NameInTypeRequiredDescription
filterquery"owned" | "shared"NoFilter boards by ownership type. If not provided, returns all accessible boards.

Sample Call

epilot kanban getKanbanBoards

With JSONata filter:

epilot kanban getKanbanBoards --jsonata '$'
Sample Response
[
{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"]
}
]

getKanbanBoardโ€‹

Get a Kanban board by ID. Use "default" as the boardId to get the organization's default board.

GET /v1/kanban/board/{boardId}

Parameters

NameInTypeRequiredDescription
boardIdpathstringYesThe board ID, or "default" to get the organization's default board.

Sample Call

epilot kanban getKanbanBoard \
-p boardId=board-123

Using positional args for path parameters:

epilot kanban getKanbanBoard board-123

With JSONata filter:

epilot kanban getKanbanBoard -p boardId=board-123 --jsonata '$'
Sample Response
{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"],
"config": {
"dataset": "workflow_tasks_overview",
"swimlanes": [
{
"id": "string",
"title": "Swimlane 1",
"position": 1,
"filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"title_chip_variant": "success"
}
],
"card_config": {
"fields": ["assignee"]
},
"board_filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"search_query": "task 1"
}
}

updateKanbanBoardโ€‹

Update a Kanban board

PUT /v1/kanban/board/{boardId}

Parameters

NameInTypeRequiredDescription
boardIdpathstringYes

Request Body

Sample Call

epilot kanban updateKanbanBoard \
-p boardId=123e4567-e89b-12d3-a456-426614174000

With request body:

epilot kanban updateKanbanBoard \
-p boardId=123e4567-e89b-12d3-a456-426614174000 \
-d '{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"],
"config": {
"dataset": "workflow_tasks_overview",
"swimlanes": [
{
"id": "string",
"title": "Swimlane 1",
"position": 1,
"filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"title_chip_variant": "success"
}
],
"card_config": {
"fields": ["assignee"]
},
"board_filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"search_query": "task 1"
}
}'

Using positional args for path parameters:

epilot kanban updateKanbanBoard 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot kanban updateKanbanBoard -p boardId=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot kanban updateKanbanBoard -p boardId=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'
Sample Response
{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"],
"config": {
"dataset": "workflow_tasks_overview",
"swimlanes": [
{
"id": "string",
"title": "Swimlane 1",
"position": 1,
"filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"title_chip_variant": "success"
}
],
"card_config": {
"fields": ["assignee"]
},
"board_filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"search_query": "task 1"
}
}

patchKanbanBoardโ€‹

Patch a Kanban board

PATCH /v1/kanban/board/{boardId}

Parameters

NameInTypeRequiredDescription
boardIdpathstringYes

Request Body

Sample Call

epilot kanban patchKanbanBoard \
-p boardId=123e4567-e89b-12d3-a456-426614174000

With request body:

epilot kanban patchKanbanBoard \
-p boardId=123e4567-e89b-12d3-a456-426614174000 \
-d '{
"title": "Board 1",
"description": "Board description",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"]
}'

Using positional args for path parameters:

epilot kanban patchKanbanBoard 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot kanban patchKanbanBoard -p boardId=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot kanban patchKanbanBoard -p boardId=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'
Sample Response
{
"id": "string",
"title": "Board 1",
"description": "Board description",
"created_at": "1970-01-01T00:00:00.000Z",
"updated_at": "1970-01-01T00:00:00.000Z",
"created_by": "string",
"org_id": "string",
"updated_by": "string",
"shared_with": ["string"],
"shared_with_org": true,
"owners": ["string"],
"config": {
"dataset": "workflow_tasks_overview",
"swimlanes": [
{
"id": "string",
"title": "Swimlane 1",
"position": 1,
"filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"title_chip_variant": "success"
}
],
"card_config": {
"fields": ["assignee"]
},
"board_filter": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"search_query": "task 1"
}
}

deleteKanbanBoardโ€‹

Delete a Kanban board

DELETE /v1/kanban/board/{boardId}

Parameters

NameInTypeRequiredDescription
boardIdpathstringYes

Sample Call

epilot kanban deleteKanbanBoard \
-p boardId=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot kanban deleteKanbanBoard 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot kanban deleteKanbanBoard -p boardId=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

setDefaultKanbanBoardโ€‹

Set a board as the default board for the organization

PUT /v1/kanban/org/default-board

Parameters

NameInTypeRequiredDescription
boardIdquerystringYesThe ID of the board to set as default

Sample Call

epilot kanban setDefaultKanbanBoard \
-p boardId=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot kanban setDefaultKanbanBoard -p boardId=123e4567-e89b-12d3-a456-426614174000 --jsonata 'message'
Sample Response
{
"message": "string",
"default_board_id": "string"
}

clearDefaultKanbanBoardโ€‹

Remove the default board setting for the organization

DELETE /v1/kanban/org/default-board

Sample Call

epilot kanban clearDefaultKanbanBoard

With JSONata filter:

epilot kanban clearDefaultKanbanBoard --jsonata 'message'
Sample Response
{
"message": "string",
"default_board_id": "string"
}

flowsAutocompleteโ€‹

Autocomplete flows data

GET /v1/kanban/query/flows:autocomplete

Parameters

NameInTypeRequiredDescription
inputquerystringNoInput to autocomplete
attributequerystringYesAutocomplete attribute
sizequerynumberNoMaximum number of results to return
fromquerynumberNoStarting offset for pagination

Sample Call

epilot kanban flowsAutocomplete \
-p attribute=name

With JSONata filter:

epilot kanban flowsAutocomplete -p attribute=name --jsonata 'results[0]'
Sample Response
{
"results": ["value"],
"hits": 42
}

executeFlowsQueryโ€‹

Query Flows Data for Kanban View.

POST /v1/kanban/query/flows:execute

Request Body

Sample Call

epilot kanban executeFlowsQuery

With request body:

epilot kanban executeFlowsQuery \
-d '{
"filters": {
"items": [
{
"key": "assignee",
"operator": "EQUALS",
"value": "100020",
"data_type": "string"
}
],
"combination": "OR"
},
"sorting": {
"field": "created_at",
"direction": "asc"
},
"from": 0,
"size": 10
}'

Using stdin pipe:

cat body.json | epilot kanban executeFlowsQuery

With JSONata filter:

epilot kanban executeFlowsQuery --jsonata 'results[0]'
Sample Response
{
"results": [
{}
],
"hits": 0,
"page_number": 0,
"page_size": 0,
"total_pages": 0
}