@epilot/sdk 2.1.7 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/definitions/kanban.json +25 -1
  2. package/dist/apis/access-token.cjs +6 -6
  3. package/dist/apis/access-token.js +1 -1
  4. package/dist/apis/address-suggestions.cjs +6 -6
  5. package/dist/apis/address-suggestions.js +1 -1
  6. package/dist/apis/address.cjs +6 -6
  7. package/dist/apis/address.js +1 -1
  8. package/dist/apis/ai-agents.cjs +6 -6
  9. package/dist/apis/ai-agents.js +1 -1
  10. package/dist/apis/app.cjs +6 -6
  11. package/dist/apis/app.js +1 -1
  12. package/dist/apis/audit-logs.cjs +6 -6
  13. package/dist/apis/audit-logs.js +1 -1
  14. package/dist/apis/automation.cjs +6 -6
  15. package/dist/apis/automation.js +1 -1
  16. package/dist/apis/billing.cjs +6 -6
  17. package/dist/apis/billing.js +1 -1
  18. package/dist/apis/blueprint-manifest.cjs +6 -6
  19. package/dist/apis/blueprint-manifest.js +1 -1
  20. package/dist/apis/consent.cjs +6 -6
  21. package/dist/apis/consent.js +1 -1
  22. package/dist/apis/customer-portal.cjs +6 -6
  23. package/dist/apis/customer-portal.js +1 -1
  24. package/dist/apis/dashboard.cjs +6 -6
  25. package/dist/apis/dashboard.js +1 -1
  26. package/dist/apis/data-management.cjs +6 -6
  27. package/dist/apis/data-management.js +1 -1
  28. package/dist/apis/deduplication.cjs +6 -6
  29. package/dist/apis/deduplication.js +1 -1
  30. package/dist/apis/design.cjs +6 -6
  31. package/dist/apis/design.js +1 -1
  32. package/dist/apis/document.cjs +6 -6
  33. package/dist/apis/document.js +1 -1
  34. package/dist/apis/email-settings.cjs +6 -6
  35. package/dist/apis/email-settings.js +1 -1
  36. package/dist/apis/email-template.cjs +6 -6
  37. package/dist/apis/email-template.js +1 -1
  38. package/dist/apis/entity-mapping.cjs +6 -6
  39. package/dist/apis/entity-mapping.js +1 -1
  40. package/dist/apis/entity.cjs +6 -6
  41. package/dist/apis/entity.js +1 -1
  42. package/dist/apis/environments.cjs +6 -6
  43. package/dist/apis/environments.js +1 -1
  44. package/dist/apis/erp-integration.cjs +6 -6
  45. package/dist/apis/erp-integration.js +1 -1
  46. package/dist/apis/event-catalog.cjs +6 -6
  47. package/dist/apis/event-catalog.js +1 -1
  48. package/dist/apis/file.cjs +6 -6
  49. package/dist/apis/file.js +1 -1
  50. package/dist/apis/iban.cjs +6 -6
  51. package/dist/apis/iban.js +1 -1
  52. package/dist/apis/journey.cjs +6 -6
  53. package/dist/apis/journey.js +1 -1
  54. package/dist/apis/kanban.cjs +6 -6
  55. package/dist/apis/kanban.d.cts +2 -2
  56. package/dist/apis/kanban.d.ts +2 -2
  57. package/dist/apis/kanban.js +1 -1
  58. package/dist/apis/message.cjs +6 -6
  59. package/dist/apis/message.js +1 -1
  60. package/dist/apis/metering.cjs +6 -6
  61. package/dist/apis/metering.js +1 -1
  62. package/dist/apis/notes.cjs +6 -6
  63. package/dist/apis/notes.js +1 -1
  64. package/dist/apis/notification.cjs +6 -6
  65. package/dist/apis/notification.js +1 -1
  66. package/dist/apis/organization.cjs +6 -6
  67. package/dist/apis/organization.js +1 -1
  68. package/dist/apis/partner-directory.cjs +6 -6
  69. package/dist/apis/partner-directory.js +1 -1
  70. package/dist/apis/permissions.cjs +6 -6
  71. package/dist/apis/permissions.js +1 -1
  72. package/dist/apis/pricing-tier.cjs +6 -6
  73. package/dist/apis/pricing-tier.js +1 -1
  74. package/dist/apis/pricing.cjs +6 -6
  75. package/dist/apis/pricing.js +1 -1
  76. package/dist/apis/purpose.cjs +6 -6
  77. package/dist/apis/purpose.js +1 -1
  78. package/dist/apis/sandbox.cjs +6 -6
  79. package/dist/apis/sandbox.js +1 -1
  80. package/dist/apis/submission.cjs +6 -6
  81. package/dist/apis/submission.js +1 -1
  82. package/dist/apis/targeting.cjs +6 -6
  83. package/dist/apis/targeting.js +1 -1
  84. package/dist/apis/template-variables.cjs +6 -6
  85. package/dist/apis/template-variables.js +1 -1
  86. package/dist/apis/user.cjs +6 -6
  87. package/dist/apis/user.js +1 -1
  88. package/dist/apis/validation-rules.cjs +6 -6
  89. package/dist/apis/validation-rules.js +1 -1
  90. package/dist/apis/webhooks.cjs +6 -6
  91. package/dist/apis/webhooks.js +1 -1
  92. package/dist/apis/workflow-definition.cjs +6 -6
  93. package/dist/apis/workflow-definition.js +1 -1
  94. package/dist/apis/workflow.cjs +6 -6
  95. package/dist/apis/workflow.js +1 -1
  96. package/dist/{chunk-4LDVICOS.cjs → chunk-GHAEATNY.cjs} +1 -1
  97. package/dist/{chunk-PITTHLH4.js → chunk-V3SZ5A6F.js} +1 -1
  98. package/dist/index.cjs +8 -8
  99. package/dist/index.d.cts +1 -1
  100. package/dist/index.d.ts +1 -1
  101. package/dist/index.js +1 -1
  102. package/dist/kanban-E2UOBVBK.cjs +7 -0
  103. package/dist/kanban-PMG5TXE5.js +7 -0
  104. package/dist/{kanban.d-CtSt3uX2.d.cts → kanban.d-B99GucT_.d.cts} +18 -3
  105. package/dist/{kanban.d-CtSt3uX2.d.ts → kanban.d-B99GucT_.d.ts} +18 -3
  106. package/docs/kanban.md +39 -1
  107. package/package.json +1 -1
  108. package/dist/kanban-CHTH2ZSY.cjs +0 -7
  109. package/dist/kanban-HI6LL5WY.js +0 -7
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/kanban.json
4
+ var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`GroupBy`](#groupby)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "group_by": {\n "field": "context_entity"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n group_by: {\n field: \'context_entity\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n group_by?: {\n field: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `GroupBy`\n\nDefines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.\n\n```ts\ntype GroupBy = {\n field: "context_entity" | "phase"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n group_by?: {\n field: "context_entity" | "phase"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
5
+ export {
6
+ kanban_default as default
7
+ };
@@ -43,6 +43,7 @@ declare namespace Components {
43
43
  };
44
44
  board_filter?: /* A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR). */ BoardFilter;
45
45
  sorting?: /* Defines how query results should be sorted. Specify a field name and sort direction. */ Sorting;
46
+ group_by?: /* Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set. */ GroupBy;
46
47
  /**
47
48
  * example:
48
49
  * task 1
@@ -145,7 +146,7 @@ declare namespace Components {
145
146
  */
146
147
  export type FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL";
147
148
  /**
148
- * Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination.
149
+ * Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.
149
150
  */
150
151
  export interface FlowsQueryRequest {
151
152
  /**
@@ -156,6 +157,10 @@ declare namespace Components {
156
157
  * Sort the results by a specific field and direction.
157
158
  */
158
159
  sorting?: /* Defines how query results should be sorted. Specify a field name and sort direction. */ Sorting;
160
+ /**
161
+ * Group tasks by a shared property within each swimlane. Grouped tasks are returned adjacently in the result set.
162
+ */
163
+ group_by?: /* Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set. */ GroupBy;
159
164
  /**
160
165
  * Zero-based offset for pagination. Use with `size` to paginate through results.
161
166
  * example:
@@ -205,6 +210,15 @@ declare namespace Components {
205
210
  */
206
211
  total_pages?: number;
207
212
  }
213
+ /**
214
+ * Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.
215
+ */
216
+ export interface GroupBy {
217
+ /**
218
+ * Property to group tasks by within each swimlane
219
+ */
220
+ field: "context_entity" | "phase";
221
+ }
208
222
  /**
209
223
  * Defines how query results should be sorted. Specify a field name and sort direction.
210
224
  */
@@ -283,7 +297,7 @@ declare namespace Paths {
283
297
  }
284
298
  }
285
299
  namespace ExecuteFlowsQuery {
286
- export type RequestBody = /* Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination. */ Components.Schemas.FlowsQueryRequest;
300
+ export type RequestBody = /* Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination. */ Components.Schemas.FlowsQueryRequest;
287
301
  namespace Responses {
288
302
  export type $200 = /* Paginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration. */ Components.Schemas.FlowsQueryResult;
289
303
  export type $400 = /* Standard error response */ Components.Schemas.Error;
@@ -738,8 +752,9 @@ type FilterItem = Components.Schemas.FilterItem;
738
752
  type FilterOperator = Components.Schemas.FilterOperator;
739
753
  type FlowsQueryRequest = Components.Schemas.FlowsQueryRequest;
740
754
  type FlowsQueryResult = Components.Schemas.FlowsQueryResult;
755
+ type GroupBy = Components.Schemas.GroupBy;
741
756
  type Sorting = Components.Schemas.Sorting;
742
757
  type Swimlane = Components.Schemas.Swimlane;
743
758
  type ValueType = Components.Schemas.ValueType;
744
759
 
745
- export { type Board as B, type Client as C, type DynamicDateValue as D, type Error as E, type FilterGroup as F, type OperationMethods as O, Paths as P, type Sorting as S, type ValueType as V, Components as a, type PathsDictionary as b, type BoardFilter as c, type BoardSummary as d, type FilterItem as e, type FilterOperator as f, type FlowsQueryRequest as g, type FlowsQueryResult as h, type Swimlane as i };
760
+ export { type Board as B, type Client as C, type DynamicDateValue as D, type Error as E, type FilterGroup as F, type GroupBy as G, type OperationMethods as O, Paths as P, type Sorting as S, type ValueType as V, Components as a, type PathsDictionary as b, type BoardFilter as c, type BoardSummary as d, type FilterItem as e, type FilterOperator as f, type FlowsQueryRequest as g, type FlowsQueryResult as h, type Swimlane as i };
@@ -43,6 +43,7 @@ declare namespace Components {
43
43
  };
44
44
  board_filter?: /* A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR). */ BoardFilter;
45
45
  sorting?: /* Defines how query results should be sorted. Specify a field name and sort direction. */ Sorting;
46
+ group_by?: /* Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set. */ GroupBy;
46
47
  /**
47
48
  * example:
48
49
  * task 1
@@ -145,7 +146,7 @@ declare namespace Components {
145
146
  */
146
147
  export type FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL";
147
148
  /**
148
- * Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination.
149
+ * Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.
149
150
  */
150
151
  export interface FlowsQueryRequest {
151
152
  /**
@@ -156,6 +157,10 @@ declare namespace Components {
156
157
  * Sort the results by a specific field and direction.
157
158
  */
158
159
  sorting?: /* Defines how query results should be sorted. Specify a field name and sort direction. */ Sorting;
160
+ /**
161
+ * Group tasks by a shared property within each swimlane. Grouped tasks are returned adjacently in the result set.
162
+ */
163
+ group_by?: /* Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set. */ GroupBy;
159
164
  /**
160
165
  * Zero-based offset for pagination. Use with `size` to paginate through results.
161
166
  * example:
@@ -205,6 +210,15 @@ declare namespace Components {
205
210
  */
206
211
  total_pages?: number;
207
212
  }
213
+ /**
214
+ * Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.
215
+ */
216
+ export interface GroupBy {
217
+ /**
218
+ * Property to group tasks by within each swimlane
219
+ */
220
+ field: "context_entity" | "phase";
221
+ }
208
222
  /**
209
223
  * Defines how query results should be sorted. Specify a field name and sort direction.
210
224
  */
@@ -283,7 +297,7 @@ declare namespace Paths {
283
297
  }
284
298
  }
285
299
  namespace ExecuteFlowsQuery {
286
- export type RequestBody = /* Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination. */ Components.Schemas.FlowsQueryRequest;
300
+ export type RequestBody = /* Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination. */ Components.Schemas.FlowsQueryRequest;
287
301
  namespace Responses {
288
302
  export type $200 = /* Paginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration. */ Components.Schemas.FlowsQueryResult;
289
303
  export type $400 = /* Standard error response */ Components.Schemas.Error;
@@ -738,8 +752,9 @@ type FilterItem = Components.Schemas.FilterItem;
738
752
  type FilterOperator = Components.Schemas.FilterOperator;
739
753
  type FlowsQueryRequest = Components.Schemas.FlowsQueryRequest;
740
754
  type FlowsQueryResult = Components.Schemas.FlowsQueryResult;
755
+ type GroupBy = Components.Schemas.GroupBy;
741
756
  type Sorting = Components.Schemas.Sorting;
742
757
  type Swimlane = Components.Schemas.Swimlane;
743
758
  type ValueType = Components.Schemas.ValueType;
744
759
 
745
- export { type Board as B, type Client as C, type DynamicDateValue as D, type Error as E, type FilterGroup as F, type OperationMethods as O, Paths as P, type Sorting as S, type ValueType as V, Components as a, type PathsDictionary as b, type BoardFilter as c, type BoardSummary as d, type FilterItem as e, type FilterOperator as f, type FlowsQueryRequest as g, type FlowsQueryResult as h, type Swimlane as i };
760
+ export { type Board as B, type Client as C, type DynamicDateValue as D, type Error as E, type FilterGroup as F, type GroupBy as G, type OperationMethods as O, Paths as P, type Sorting as S, type ValueType as V, Components as a, type PathsDictionary as b, type BoardFilter as c, type BoardSummary as d, type FilterItem as e, type FilterOperator as f, type FlowsQueryRequest as g, type FlowsQueryResult as h, type Swimlane as i };
package/docs/kanban.md CHANGED
@@ -44,6 +44,7 @@ const { data } = await kanbanClient.createKanbanBoard(...)
44
44
  - [`Board`](#board)
45
45
  - [`Swimlane`](#swimlane)
46
46
  - [`Sorting`](#sorting)
47
+ - [`GroupBy`](#groupby)
47
48
  - [`BoardFilter`](#boardfilter)
48
49
  - [`FilterGroup`](#filtergroup)
49
50
  - [`FilterOperator`](#filteroperator)
@@ -113,6 +114,9 @@ const { data } = await client.createKanbanBoard(
113
114
  field: 'created_at',
114
115
  direction: 'asc'
115
116
  },
117
+ group_by: {
118
+ field: 'context_entity'
119
+ },
116
120
  search_query: 'task 1'
117
121
  }
118
122
  },
@@ -174,6 +178,9 @@ const { data } = await client.createKanbanBoard(
174
178
  "field": "created_at",
175
179
  "direction": "asc"
176
180
  },
181
+ "group_by": {
182
+ "field": "context_entity"
183
+ },
177
184
  "search_query": "task 1"
178
185
  }
179
186
  }
@@ -287,6 +294,9 @@ const { data } = await client.getKanbanBoard({
287
294
  "field": "created_at",
288
295
  "direction": "asc"
289
296
  },
297
+ "group_by": {
298
+ "field": "context_entity"
299
+ },
290
300
  "search_query": "task 1"
291
301
  }
292
302
  }
@@ -358,6 +368,9 @@ const { data } = await client.updateKanbanBoard(
358
368
  field: 'created_at',
359
369
  direction: 'asc'
360
370
  },
371
+ group_by: {
372
+ field: 'context_entity'
373
+ },
361
374
  search_query: 'task 1'
362
375
  }
363
376
  },
@@ -419,6 +432,9 @@ const { data } = await client.updateKanbanBoard(
419
432
  "field": "created_at",
420
433
  "direction": "asc"
421
434
  },
435
+ "group_by": {
436
+ "field": "context_entity"
437
+ },
422
438
  "search_query": "task 1"
423
439
  }
424
440
  }
@@ -504,6 +520,9 @@ const { data } = await client.patchKanbanBoard(
504
520
  "field": "created_at",
505
521
  "direction": "asc"
506
522
  },
523
+ "group_by": {
524
+ "field": "context_entity"
525
+ },
507
526
  "search_query": "task 1"
508
527
  }
509
528
  }
@@ -631,6 +650,9 @@ const { data } = await client.executeFlowsQuery(
631
650
  field: 'created_at',
632
651
  direction: 'asc'
633
652
  },
653
+ group_by: {
654
+ field: 'context_entity'
655
+ },
634
656
  from: 0,
635
657
  size: 10
636
658
  },
@@ -726,6 +748,9 @@ type Board = {
726
748
  field: { ... }
727
749
  direction?: { ... }
728
750
  }
751
+ group_by?: {
752
+ field: { ... }
753
+ }
729
754
  search_query?: string
730
755
  }
731
756
  }
@@ -767,6 +792,16 @@ type Sorting = {
767
792
  }
768
793
  ```
769
794
 
795
+ ### `GroupBy`
796
+
797
+ Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.
798
+
799
+ ```ts
800
+ type GroupBy = {
801
+ field: "context_entity" | "phase"
802
+ }
803
+ ```
804
+
770
805
  ### `BoardFilter`
771
806
 
772
807
  A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).
@@ -831,7 +866,7 @@ type ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" |
831
866
 
832
867
  ### `FlowsQueryRequest`
833
868
 
834
- Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination.
869
+ Request payload for executing a query against the Flows dataset. Supports filter conditions, sorting, grouping, and offset-based pagination.
835
870
 
836
871
  ```ts
837
872
  type FlowsQueryRequest = {
@@ -851,6 +886,9 @@ type FlowsQueryRequest = {
851
886
  field: string
852
887
  direction?: "asc" | "desc"
853
888
  }
889
+ group_by?: {
890
+ field: "context_entity" | "phase"
891
+ }
854
892
  from?: number
855
893
  size?: number
856
894
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.1.7",
3
+ "version": "2.1.8",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/kanban.json
4
- var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
5
-
6
-
7
- exports.default = kanban_default;
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/kanban.json
4
- var kanban_default = '# Kanban API\n\n- **Base URL:** `https://kanban.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/kanban](https://docs.epilot.io/api/kanban)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.kanban.createKanbanBoard(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/kanban\'\n\nconst kanbanClient = getClient()\nauthorize(kanbanClient, () => \'<token>\')\nconst { data } = await kanbanClient.createKanbanBoard(...)\n```\n\n## Operations\n\n**Kanban**\n- [`createKanbanBoard`](#createkanbanboard)\n- [`getKanbanBoards`](#getkanbanboards)\n- [`getKanbanBoard`](#getkanbanboard)\n- [`updateKanbanBoard`](#updatekanbanboard)\n- [`patchKanbanBoard`](#patchkanbanboard)\n- [`deleteKanbanBoard`](#deletekanbanboard)\n- [`setDefaultKanbanBoard`](#setdefaultkanbanboard)\n- [`clearDefaultKanbanBoard`](#cleardefaultkanbanboard)\n\n**Query**\n- [`flowsAutocomplete`](#flowsautocomplete)\n- [`executeFlowsQuery`](#executeflowsquery)\n\n**Schemas**\n- [`Error`](#error)\n- [`BoardSummary`](#boardsummary)\n- [`Board`](#board)\n- [`Swimlane`](#swimlane)\n- [`Sorting`](#sorting)\n- [`BoardFilter`](#boardfilter)\n- [`FilterGroup`](#filtergroup)\n- [`FilterOperator`](#filteroperator)\n- [`DynamicDateValue`](#dynamicdatevalue)\n- [`ValueType`](#valuetype)\n- [`FlowsQueryRequest`](#flowsqueryrequest)\n- [`FlowsQueryResult`](#flowsqueryresult)\n- [`FilterItem`](#filteritem)\n\n### `createKanbanBoard`\n\nCreates a new Kanban board with the provided configuration.\n\n`POST /v1/kanban/board`\n\n```ts\nconst { data } = await client.createKanbanBoard(\n null,\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `getKanbanBoards`\n\nReturns a list of all Kanban boards accessible to the authenticated user.\n\n`GET /v1/kanban/boards`\n\n```ts\nconst { data } = await client.getKanbanBoards({\n filter: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"]\n }\n]\n```\n\n</details>\n\n---\n\n### `getKanbanBoard`\n\nRetrieves a Kanban board by ID, including its full configuration (swimlanes, filters, sorting, card fields).\n\n`GET /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.getKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `updateKanbanBoard`\n\nFully replaces the configuration of an existing Kanban board by ID.\n\n`PUT /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.updateKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n id: \'string\',\n title: \'Board 1\',\n description: \'Board description\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n updated_at: \'1970-01-01T00:00:00.000Z\',\n created_by: \'string\',\n org_id: \'string\',\n updated_by: \'string\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\'],\n config: {\n dataset: \'workflow_tasks_overview\',\n swimlanes: [\n {\n id: \'string\',\n title: \'Swimlane 1\',\n position: 1,\n filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n title_chip_variant: \'success\'\n }\n ],\n card_config: {\n fields: [\'assignee\']\n },\n board_filter: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n search_query: \'task 1\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `patchKanbanBoard`\n\nPartially updates fields of an existing Kanban board by ID.\n\n`PATCH /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.patchKanbanBoard(\n {\n boardId: \'example\',\n },\n {\n title: \'Board 1\',\n description: \'Board description\',\n shared_with: [\'string\'],\n shared_with_org: true,\n owners: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "title": "Board 1",\n "description": "Board description",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string",\n "org_id": "string",\n "updated_by": "string",\n "shared_with": ["string"],\n "shared_with_org": true,\n "owners": ["string"],\n "config": {\n "dataset": "workflow_tasks_overview",\n "swimlanes": [\n {\n "id": "string",\n "title": "Swimlane 1",\n "position": 1,\n "filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "title_chip_variant": "success"\n }\n ],\n "card_config": {\n "fields": ["assignee"]\n },\n "board_filter": {\n "items": [\n {\n "key": "assignee",\n "operator": "EQUALS",\n "value": "100020",\n "data_type": "string"\n }\n ],\n "combination": "OR"\n },\n "sorting": {\n "field": "created_at",\n "direction": "asc"\n },\n "search_query": "task 1"\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteKanbanBoard`\n\nPermanently deletes a Kanban board by ID. This action is irreversible.\n\n`DELETE /v1/kanban/board/{boardId}`\n\n```ts\nconst { data } = await client.deleteKanbanBoard({\n boardId: \'example\',\n})\n```\n\n---\n\n### `setDefaultKanbanBoard`\n\nSets a Kanban board as the default board for the organization.\n\n`PUT /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.setDefaultKanbanBoard({\n boardId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `clearDefaultKanbanBoard`\n\nRemoves the default board configuration for the organization.\n\n`DELETE /v1/kanban/org/default-board`\n\n```ts\nconst { data } = await client.clearDefaultKanbanBoard()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "message": "string",\n "default_board_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `flowsAutocomplete`\n\nReturns autocomplete suggestions for a given attribute in the Flows dataset.\n\n`GET /v1/kanban/query/flows:autocomplete`\n\n```ts\nconst { data } = await client.flowsAutocomplete({\n input: \'example\',\n attribute: \'example\',\n size: 1,\n from: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": ["value"],\n "hits": 42\n}\n```\n\n</details>\n\n---\n\n### `executeFlowsQuery`\n\nExecutes a query against the Flows dataset and returns paginated results for use in Kanban card rendering.\n\n`POST /v1/kanban/query/flows:execute`\n\n```ts\nconst { data } = await client.executeFlowsQuery(\n null,\n {\n filters: {\n items: [\n {\n key: \'assignee\',\n operator: \'EQUALS\',\n value: \'100020\',\n data_type: \'string\'\n }\n ],\n combination: \'OR\'\n },\n sorting: {\n field: \'created_at\',\n direction: \'asc\'\n },\n from: 0,\n size: 10\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {}\n ],\n "hits": 42,\n "page_number": 1,\n "page_size": 10,\n "total_pages": 5\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\nStandard error response\n\n```ts\ntype Error = {\n message?: string\n status?: number\n}\n```\n\n### `BoardSummary`\n\nSummary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.\n\n```ts\ntype BoardSummary = {\n id?: string\n title?: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n}\n```\n\n### `Board`\n\nFull representation of a Kanban board, including swimlane layout, filter configuration, card display fields, and sorting options.\n\n```ts\ntype Board = {\n id?: string\n title: string\n description?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_by?: string\n shared_with?: string[]\n shared_with_org?: boolean\n owners?: string[]\n config: {\n dataset?: string\n swimlanes?: Array<{\n id?: { ... }\n title?: { ... }\n position?: { ... }\n filter?: { ... }\n title_chip_variant?: { ... }\n }>\n card_config?: {\n fields?: { ... }\n }\n board_filter?: {\n items: { ... }\n combination: { ... }\n }\n sorting?: {\n field: { ... }\n direction?: { ... }\n }\n search_query?: string\n }\n}\n```\n\n### `Swimlane`\n\nA vertical column in a Kanban board that groups workflow tasks or entities matching its filter criteria. Each swimlane has an independent filter and a display position.\n\n```ts\ntype Swimlane = {\n id?: string\n title?: string\n position?: number\n filter?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n title_chip_variant?: string\n}\n```\n\n### `Sorting`\n\nDefines how query results should be sorted. Specify a field name and sort direction.\n\n```ts\ntype Sorting = {\n field: string\n direction?: "asc" | "desc"\n}\n```\n\n### `BoardFilter`\n\nA filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).\n\n```ts\ntype BoardFilter = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n } | {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n }>\n combination: "AND" | "OR"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterGroup`\n\n```ts\ntype FilterGroup = {\n items: Array<{\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n }>\n combination: "AND" | "OR"\n}\n```\n\n### `FilterOperator`\n\nThe comparison operator for filtering\n\n```ts\ntype FilterOperator = "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n```\n\n### `DynamicDateValue`\n\nDynamic date keywords that resolve to actual dates at runtime\n\n```ts\ntype DynamicDateValue = "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER"\n```\n\n### `ValueType`\n\nThe value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values\n\n```ts\ntype ValueType = string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n```\n\n### `FlowsQueryRequest`\n\nRequest payload for executing a query against the Flows dataset. Supports filter conditions, sorting, and offset-based pagination.\n\n```ts\ntype FlowsQueryRequest = {\n filters?: {\n items: Array<{\n key: { ... }\n operator: { ... }\n value?: { ... }\n data_type?: { ... }\n } | {\n items: { ... }\n combination: { ... }\n }>\n combination: "AND" | "OR"\n }\n sorting?: {\n field: string\n direction?: "asc" | "desc"\n }\n from?: number\n size?: number\n}\n```\n\n### `FlowsQueryResult`\n\nPaginated result set returned from a Flows query. Each item in `results` is a workflow task record with dynamic fields depending on the dataset configuration.\n\n```ts\ntype FlowsQueryResult = {\n results?: Record<string, unknown>[]\n hits?: number\n page_number?: number\n page_size?: number\n total_pages?: number\n}\n```\n\n### `FilterItem`\n\n```ts\ntype FilterItem = {\n key: string\n operator: "EQUALS" | "NOT_EQUALS" | "EMPTY" | "NOT_EMPTY" | "CONTAINS" | "NOT_CONTAINS" | "IS_ONE_OF" | "IS_NONE_OF" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL"\n value?: string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean | string | "TODAY" | "TOMORROW" | "YESTERDAY" | "IN_THE_FUTURE" | "IN_THE_PAST" | "THIS_WEEK" | "NEXT_WEEK" | "LAST_WEEK" | "THIS_MONTH" | "NEXT_MONTH" | "LAST_MONTH" | "TODAY_OR_EARLIER" | number | boolean[]\n data_type?: "string" | "number" | "boolean" | "date"\n}\n```\n';
5
- export {
6
- kanban_default as default
7
- };