Skip to content

Kanbert (v1)

Download OpenAPI description
Languages
Servers
https://api.kanbert.int/api/v1/

Schemas

Schemas

Clients

Operations

CustomFields

Operations

Efforts

Operations

File

Operations

Projects

Operations

Filter all projects

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects/get

Request

Security
http
Query
includestring

Available includes are team, guests, tags, originSpace, client, client.primaryContact. You can include multiple options by separating them with a comma.

page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
shortcodestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
statusenum:running, closedeq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
is_acquisitionbooleaneq, ne, neq
client_idid<ClientData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
client.namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
client.shortcodestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
client.primary_contact_idid<UserData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
projectType.namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
projectType.shortcodestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
projectType.idideq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
created_byid<UserData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
created_atdatetimeeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
start_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
end_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
tagsRelation
- title (string)
any, none, count, all
teamRelation
- id (id)
- email (string)
- space.id (id)
- space.name (string)
- added_at (datetime)
any, none, count, all
guestsRelation
- id (id)
- email (string)
- added_at (datetime)
any, none, count, all

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
sortstring

Available sorts are first_name, last_name, email.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects?include=string&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&sort=sort%3D-created_at%2Ctitle' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of ProjectData

Bodyapplication/json
dataArray of objects(ProjectData)required

The list of items

data[].​idstringrequired
data[].​external_idstring or nullrequired

Can be used to add an identifier to the project from an external system, must be unique

data[].​titlestringrequired
data[].​shortcodestringrequired
data[].​po_numberstring or nullrequired
data[].​projectTypeobject(ProjectTypeData)required
data[].​projectType.​idstringrequired
data[].​projectType.​titlestringrequired
data[].​projectType.​shortcodestringrequired
data[].​projectType.​colorstringrequired
data[].​projectType.​orderintegerrequired
data[].​projectType.​is_defaultbooleanrequired
data[].​statusstringrequired
data[].​is_acquisitionbooleanrequired
data[].​is_privatebooleanrequired
data[].​client_idstringrequired
data[].​project_type_idstring or nullrequired
data[].​start_datestring or null(date)required
data[].​end_datestring or null(date)required
data[].​clientobject(ClientData)
data[].​tagsArray of objects(ProjectTagData)
data[].​origin_space_idstring or nullrequired

If set the client is shared from another Space

data[].​originSpaceobject(SpaceData)
data[].​teamArray of objects(ProjectTeamData)

Project team

data[].​guestsArray of objects(ProjectTeamData)

Project guests

linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Show single project

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
includestring

Available includes are client, client.primaryContact. You can include multiple options by separating them with a comma.

curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}?findBy=id&include=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

ProjectData

Bodyapplication/json
idstringrequired
external_idstring or nullrequired

Can be used to add an identifier to the project from an external system, must be unique

titlestringrequired
shortcodestringrequired
po_numberstring or nullrequired
projectTypeobject(ProjectTypeData)required
projectType.​idstringrequired
projectType.​titlestringrequired
projectType.​shortcodestringrequired
projectType.​colorstringrequired
projectType.​orderintegerrequired
projectType.​is_defaultbooleanrequired
statusstringrequired
is_acquisitionbooleanrequired
is_privatebooleanrequired
client_idstringrequired
project_type_idstring or nullrequired
start_datestring or null(date)required
end_datestring or null(date)required
clientobject(ClientData)
tagsArray of objects(ProjectTagData)
origin_space_idstring or nullrequired

If set the client is shared from another Space

originSpaceobject(SpaceData)
teamArray of objects(ProjectTeamData)

Project team

guestsArray of objects(ProjectTeamData)

Project guests

Response
application/json
{ "id": "string", "external_id": "string", "title": "string", "shortcode": "string", "po_number": "string", "projectType": { "id": "string", "title": "string", "shortcode": "string", "color": "string", "order": 0, "is_default": true }, "status": "string", "is_acquisition": true, "is_private": true, "client_id": "string", "project_type_id": "string", "start_date": "2019-08-24", "end_date": "2019-08-24", "client": { "id": "string", "external_id": "string", "name": "string", "shortcode": "string", "segment": "A", "created_at": "2019-08-24T14:15:22Z", "primary_contact_id": "string", "primaryContact": { … }, "projects": [ … ], "origin_space_id": "string", "originSpace": { … } }, "tags": [ { … } ], "origin_space_id": "string", "originSpace": { "id": "string", "name": "string" }, "team": [ { … } ], "guests": [ { … } ] }

Get project team

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}~1team/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
emailstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
space.idideq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
space.namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
added_atdatetimeeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
sortstring

You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}/team?findBy=id&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&sort=sort%3D-created_at%2Ctitle' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of ProjectTeamData

Bodyapplication/json
dataArray of objects(ProjectTeamData)required

The list of items

data[].​idstringrequired
data[].​first_namestringrequired
data[].​last_namestringrequired
data[].​emailstringrequired
data[].​typestring(UserType)required
Enum"user""guest""tax_advisor"
data[].​added_atstring(date-time)required
data[].​spaceobject(SpaceData)required
data[].​space.​idstringrequired
data[].​space.​namestringrequired
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Get project guests

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}~1guests/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
emailstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
added_atdatetimeeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
sortstring

You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}/guests?findBy=id&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&sort=sort%3D-created_at%2Ctitle' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of ProjectTeamData

Bodyapplication/json
dataArray of objects(ProjectTeamData)required

The list of items

data[].​idstringrequired
data[].​first_namestringrequired
data[].​last_namestringrequired
data[].​emailstringrequired
data[].​typestring(UserType)required
Enum"user""guest""tax_advisor"
data[].​added_atstring(date-time)required
data[].​spaceobject(SpaceData)required
data[].​space.​idstringrequired
data[].​space.​namestringrequired
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Get project phases

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}~1phases/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
po_numberstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
start_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
end_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
created_atdatetimeeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
group.idideq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
group.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
type.idideq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
type.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
sortstring

You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}/phases?findBy=id&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&sort=sort%3D-created_at%2Ctitle' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of PhaseData

Bodyapplication/json
dataArray of objects(PhaseData)required

The list of items

data[].​idstringrequired
data[].​titlestringrequired
data[].​po_numberstring or nullrequired
data[].​groupPhaseGroupData (object) or nullrequired
Any of:
object PhaseGroupData Recursive
data[].​typePhaseTypeData (object) or nullrequired
Any of:
object PhaseTypeData Recursive
data[].​dependency_phase_idstring or nullrequired
data[].​dependency_milestone_idstring or nullrequired
data[].​start_datestring or null(date)required
data[].​end_datestring or null(date)required
data[].​created_atstring or null(date-time)required
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Get project milestones

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}~1milestones/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
po_numberstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
created_atdatetimeeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
group.idideq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
group.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
sortstring

You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}/milestones?findBy=id&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&sort=sort%3D-created_at%2Ctitle' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of MilestoneData

Bodyapplication/json
dataArray of objects(MilestoneData)required

The list of items

data[].​idstringrequired
data[].​titlestringrequired
data[].​po_numberstring or nullrequired
data[].​groupPhaseGroupData (object) or nullrequired
Any of:
object PhaseGroupData Recursive
data[].​dependency_phase_idstring or nullrequired
data[].​dependency_milestone_idstring or nullrequired
data[].​datestring(date)required
data[].​created_atstring or null(date-time)required
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Get project epics

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}~1epics/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
po_numberstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
created_atdatetimeeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
tasksRelation
- uri (string)
- title (string)
- status (enum)
any, none, count, all

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
computed_fields[alias]string

Dynamic computed relation fields (computed_fields[alias])

Declare ad-hoc aggregates per request using: computed_fields[<alias>] = relation.aggregate(args)

Syntax:

  • Count: relation.count() or relation.count(<where>)
  • Sum/Avg/Min/Max: relation.sum(<column>) or relation.sum(<column>, <where>)

Where is written using the same Filter DSL and is validated against the relation's allowed fields.

Use the prefix computed_fields. when referencing these aliases in filter or sort, e.g., filter=computed_fields.tasks_done gte 1 or sort=-computed_fields.tasks_done. Bare aliases are accepted for backward compatibility but deprecated.

Allowed relations for computed_fields (deny-all by default):

  • tasks: aggregates: count, sum, avg, min, max; columns: effort_sum; coalesce default: 0

Example: ?computed_fields[tasks_done]=tasks.count(status%20eq%20%22Completed%22)&filter=computed_fields.tasks_done%20gt%200

Example: computed_fields[alias]=computed_fields[tasks_done]=tasks.count(status%20eq%20%22Completed%22)
sortstring

Available sorts are title, po_number, created_at, computed_fields.<alias>.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}/epics?findBy=id&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29&computed_fields%5Balias%5D=computed_fields%5Btasks_done%5D%3Dtasks.count%28status%2520eq%2520%2522Completed%2522%29&sort=sort%3D-created_at%2Ctitle' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of EpicData

Bodyapplication/json
dataArray of objects(EpicData)required

The list of items

data[].​idstringrequired
data[].​titlestringrequired
data[].​po_numberstring or nullrequired
data[].​computed_fieldsobject
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Get project tasks

https://developers.kanbert.com/_bundle/openapi.json#/paths/~1projects~1{id}~1tasks/get

Request

Security
http
Path
idstringrequired
Query
findBystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
sortstring

Available sorts are title, uri, status, created_at, due_date.
You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title.

Example: sort=sort=-created_at,title
includestring

Available includes are parentTask, subTasks. You can include multiple options by separating them with a comma.

page[size]integer

The number of results that will be returned per page.

Default 30
page[cursor]string

The cursor to start the pagination from.

filterstring

Allowed filter fields (with allowed operators):

FieldTypeOperators
titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
uristringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
due_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
statusenum<TaskStatus>eq, ne, neq, in, nin, notin
assignee.idid<UserData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
assignee.emailstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
assignee.typeenum<UserType>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
epic.idid<EpicData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
epic.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
phase.idid<PhaseData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
phase.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
phase.po_numberstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
phase.start_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
phase.end_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
milestone.idid<MilestoneData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
milestone.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
milestone.po_numberstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
milestone.datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
parentTask.idid<MilestoneData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
parentTask.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
parentTask.uristringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
parentTask.statusenum<TaskStatus>eq, ne, neq, in, nin, notin
subTasksRelation
- title (string)
- uri (string)
- status (enum)
any, none, count, all

Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL.

You can check the full syntax at Docs Filtering section.

Special values:

  • me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id
  • now — current date-time. Example: dueOn lt now
  • sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow
  • som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom
  • today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today
  • today±Nd — relative day offset. Examples: today-30d, today+5d.
Example: filter=title contains "Acme" and (created_at >= "2024-01-01" or client.name contains "Corp")
curl -i -X GET \
  'https://api.kanbert.int/api/v1/projects/{id}/tasks?findBy=id&sort=sort%3D-created_at%2Ctitle&include=string&page%5Bsize%5D=30&page%5Bcursor%5D=string&filter=title+contains+%22Acme%22+and+%28created_at+%3E%3D+%222024-01-01%22+or+client.name+contains+%22Corp%22%29' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The cursor paginated collection of TaskData

Bodyapplication/json
dataArray of objects(TaskData)required

The list of items

data[].​idstringrequired
data[].​project_idstringrequired
data[].​client_idstringrequired
data[].​parent_task_idstringrequired
data[].​external_idstring or nullrequired
data[].​uristringrequired
data[].​titlestringrequired
data[].​statusstring(TaskStatus)required
Enum"Backlog""New""WIP""Completed""Approved""Closed"
data[].​typestringrequired
data[].​is_onholdbooleanrequired
data[].​is_publicbooleanrequired

If false, the task is only visible to the project team - not guest users

data[].​due_datestring or null(date)required
data[].​due_date_settingsobject(TaskDueDateSettingsData)required
data[].​due_date_settings.​is_hard_deadlinebooleanrequired
Default false
data[].​due_date_settings.​recurring_typeTaskDueDateRecurringType (string) or nullrequired
Any of:
string TaskDueDateRecurringType Recursive
data[].​due_date_settings.​recurring_intervalinteger or nullrequired

Integer offset if recurring_type = daily or NULL -> offset ignored
if recurring_type = weekly -> 1 = every Monday, 2 = every Tuesday, etc
if recurring_type = monthly -> 1 = every month, 2 = every 2 months, etc

data[].​phasePhaseData (object) or nullrequired
Any of:
object PhaseData Recursive
data[].​milestoneMilestoneData (object) or nullrequired
Any of:
object MilestoneData Recursive
data[].​epicEpicData (object) or nullrequired
Any of:
object EpicData Recursive
data[].​parentTaskTaskData (object) or nullrequired
Any of:
object TaskData Recursive
data[].​subTasksArray of objects(TaskData)required
data[].​completed_atstring or null(date-time)required
data[].​closed_atstring or null(date-time)required
data[].​created_atstring or null(date-time)required
data[].​assigneeobject(ProjectTeamData)required
data[].​assignee.​idstringrequired
data[].​assignee.​first_namestringrequired
data[].​assignee.​last_namestringrequired
data[].​assignee.​emailstringrequired
data[].​assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor"
data[].​assignee.​added_atstring(date-time)required
data[].​assignee.​spaceobject(SpaceData)required
data[].​assignee.​space.​idstringrequired
data[].​assignee.​space.​namestringrequired
data[].​list_sortingintegerrequired
linksArray of stringsrequired
metaobjectrequired
meta.​pathstring or nullrequired

Base path for paginator generated URLs.

meta.​per_pageintegerrequired

Number of items shown per page.

meta.​next_cursorstring or nullrequired
meta.​next_cursor_urlstring or nullrequired
meta.​prev_cursorstring or nullrequired
meta.​prev_cursor_urlstring or nullrequired
Response
application/json
{ "data": [ { … } ], "links": [ "string" ], "meta": { "path": "string", "per_page": 0, "next_cursor": "string", "next_cursor_url": "string", "prev_cursor": "string", "prev_cursor_url": "string" } }

Tasks

Operations

Usergroups

Operations

Users

Operations