Skip to content
Download OpenAPI description
Languages
Servers
https://api.kanbert.com/api/v1
Operations
Operations
Operations
Operations
Webhooks

Request

Required scopes: task-management:read

Security
http or oauth2
Query
sortstring

Available sorts are title, uri, status, updated_at, 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 project, watchers, client, parent_task, sub_tasks. 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
sub_tasks_in_listenum:with, only, withouteq
due_datedateeq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull
statusenum<TaskStatus>eq, ne, neq, in, nin, notin
project.idid<ProjectData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
project.external_idstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
project.shortcodestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
project.namestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
project.statusenum:running, closedeq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
client.idid<ClientFullData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
client.external_idstringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, 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
assignee.idid<UserFullData>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
parent_task.idid<TaskData>eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull
parent_task.titlestringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
parent_task.uristringin, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull
parent_task.statusenum<TaskStatus>eq, ne, neq, in, nin, notin
sub_tasksRelation
- 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.com/api/v1/tasks?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[].​external_originstring or nullrequired

If originated from external system origin is added

data[].​uristringrequired
data[].​titlestringrequired
data[].​descriptionstring or nullrequired
data[].​statusstring(TaskStatus)required
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
data[].​typestringrequired
data[].​estimated_hoursnumber or nullrequired
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)
Enum"daily""weekly""monthly"
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[].​assigneeUserData (object) or nullrequired
Any of:
data[].​assignee.​idstringrequired
data[].​assignee.​first_namestringrequired
data[].​assignee.​last_namestringrequired
data[].​assignee.​emailstringrequired
data[].​assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
data[].​assignee.​spaceobject(SpaceData)required
data[].​assignee.​space.​idstringrequired
data[].​assignee.​space.​namestringrequired
data[].​priorityOptionTaskPriorityOptionData (object) or nullrequired
Any of:
data[].​priorityOption.​idstringrequired
data[].​priorityOption.​labelstringrequired
data[].​phasePhaseData (object) or null
Any of:
data[].​milestoneMilestoneData (object) or null
Any of:
data[].​epicEpicData (object) or null
Any of:
data[].​parent_taskTaskData (object) or null
Any of:
object TaskData Recursive
data[].​attachementsArray of objects(FileData)required
Default []
data[].​attachements[].​idstringrequired
data[].​attachements[].​file_namestringrequired
data[].​attachements[].​mime_typestringrequired
data[].​attachements[].​sizeintegerrequired

File size in bytes

data[].​attachements[].​entity_idstringrequired

ID of the entity that the file belongs to

data[].​attachements[].​entity_typestringrequired

Type of the entity that the file belongs to

data[].​attachements[].​created_atstringrequired
data[].​watchersArray of objects(UserData)
data[].​sub_tasksArray of objects(TaskData)required
data[].​completed_atstring or null(date-time)required
data[].​closed_atstring or null(date-time)required
data[].​updated_atstring or null(date-time)required
data[].​created_atstring or null(date-time)required
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" } }

Request

Required scopes: task-management:write

Security
http or oauth2
Bodyapplication/jsonrequired
external_idstring or null<= 255 characters

Can be used to add an identifier from an external system, must be unique within integration (integration's slug)

external_originstring<= 255 characters

If not set, integration's slug will be used as default

titlestring<= 255 charactersrequired
descriptionstring<= 65535 characters

In HTML

estimated_hoursnumber or null
due_datestring or null(date-time)
is_publicboolean
watchersArray of strings
statusstring(TaskStatus)
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
project_idstringrequired
insert_beforestring or null
insert_afterstring or null
parent_task_idstring or null
assignee_idstring or null
epic_idstring or null
phase_idstring or null
milestone_idstring or null
curl -i -X POST \
  https://api.kanbert.com/api/v1/tasks \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "external_id": "string",
    "external_origin": "string",
    "title": "string",
    "description": "string",
    "estimated_hours": 0,
    "due_date": "2019-08-24T14:15:22Z",
    "is_public": true,
    "watchers": [
      "string"
    ],
    "status": "Backlog",
    "project_id": "string",
    "insert_before": "string",
    "insert_after": "string",
    "parent_task_id": "string",
    "assignee_id": "string",
    "epic_id": "string",
    "phase_id": "string",
    "milestone_id": "string"
  }'

Responses

TaskData

Bodyapplication/json
Any of:
idstringrequired
project_idstringrequired
client_idstringrequired
parent_task_idstringrequired
external_idstring or nullrequired
external_originstring or nullrequired

If originated from external system origin is added

uristringrequired
titlestringrequired
descriptionstring or nullrequired
statusstring(TaskStatus)required
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
typestringrequired
estimated_hoursnumber or nullrequired
is_onholdbooleanrequired
is_publicbooleanrequired

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

due_datestring or null(date)required
due_date_settingsobject(TaskDueDateSettingsData)required
due_date_settings.​is_hard_deadlinebooleanrequired
Default false
due_date_settings.​recurring_typeTaskDueDateRecurringType (string) or nullrequired
Any of:
string(TaskDueDateRecurringType)
Enum"daily""weekly""monthly"
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

assigneeUserData (object) or nullrequired
Any of:
assignee.​idstringrequired
assignee.​first_namestringrequired
assignee.​last_namestringrequired
assignee.​emailstringrequired
assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
assignee.​spaceobject(SpaceData)required
assignee.​space.​idstringrequired
assignee.​space.​namestringrequired
priorityOptionTaskPriorityOptionData (object) or nullrequired
Any of:
priorityOption.​idstringrequired
priorityOption.​labelstringrequired
phasePhaseData (object) or null
Any of:
milestoneMilestoneData (object) or null
Any of:
epicEpicData (object) or null
Any of:
parent_taskTaskData (object) or null
Any of:
object TaskData Recursive
attachementsArray of objects(FileData)required
Default []
attachements[].​idstringrequired
attachements[].​file_namestringrequired
attachements[].​mime_typestringrequired
attachements[].​sizeintegerrequired

File size in bytes

attachements[].​entity_idstringrequired

ID of the entity that the file belongs to

attachements[].​entity_typestringrequired

Type of the entity that the file belongs to

attachements[].​created_atstringrequired
watchersArray of objects(UserData)
sub_tasksArray of objects(TaskData)required
completed_atstring or null(date-time)required
closed_atstring or null(date-time)required
updated_atstring or null(date-time)required
created_atstring or null(date-time)required
list_sortingintegerrequired
Response
application/json
{ "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { "is_hard_deadline": false, "recurring_type": "daily", "recurring_interval": 0 }, "assignee": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "priorityOption": { "id": "string", "label": "string" }, "phase": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "type": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "start_date": "2019-08-24", "end_date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "milestone": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "epic": { "id": "string", "title": "string", "po_number": "string", "computed_fields": { … } }, "parent_task": { "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { … }, "assignee": { … }, "priorityOption": { … }, "phase": { … }, "milestone": { … }, "epic": { … }, "parent_task": {}, "attachements": [], "watchers": [ … ], "sub_tasks": [ … ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }, "attachements": [], "watchers": [ { … } ], "sub_tasks": [ { … } ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }

Request

Required scopes: task-management:read

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""uri""external_id"
originstring

Used if find_by=external_id by default it will use the integration slug

curl -i -X GET \
  'https://api.kanbert.com/api/v1/tasks/{id}?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

TaskData

Bodyapplication/json
idstringrequired
project_idstringrequired
client_idstringrequired
parent_task_idstringrequired
external_idstring or nullrequired
external_originstring or nullrequired

If originated from external system origin is added

uristringrequired
titlestringrequired
descriptionstring or nullrequired
statusstring(TaskStatus)required
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
typestringrequired
estimated_hoursnumber or nullrequired
is_onholdbooleanrequired
is_publicbooleanrequired

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

due_datestring or null(date)required
due_date_settingsobject(TaskDueDateSettingsData)required
due_date_settings.​is_hard_deadlinebooleanrequired
Default false
due_date_settings.​recurring_typeTaskDueDateRecurringType (string) or nullrequired
Any of:
string(TaskDueDateRecurringType)
Enum"daily""weekly""monthly"
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

assigneeUserData (object) or nullrequired
Any of:
assignee.​idstringrequired
assignee.​first_namestringrequired
assignee.​last_namestringrequired
assignee.​emailstringrequired
assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
assignee.​spaceobject(SpaceData)required
assignee.​space.​idstringrequired
assignee.​space.​namestringrequired
priorityOptionTaskPriorityOptionData (object) or nullrequired
Any of:
priorityOption.​idstringrequired
priorityOption.​labelstringrequired
phasePhaseData (object) or null
Any of:
milestoneMilestoneData (object) or null
Any of:
epicEpicData (object) or null
Any of:
parent_taskTaskData (object) or null
Any of:
object TaskData Recursive
attachementsArray of objects(FileData)required
Default []
attachements[].​idstringrequired
attachements[].​file_namestringrequired
attachements[].​mime_typestringrequired
attachements[].​sizeintegerrequired

File size in bytes

attachements[].​entity_idstringrequired

ID of the entity that the file belongs to

attachements[].​entity_typestringrequired

Type of the entity that the file belongs to

attachements[].​created_atstringrequired
watchersArray of objects(UserData)
sub_tasksArray of objects(TaskData)required
completed_atstring or null(date-time)required
closed_atstring or null(date-time)required
updated_atstring or null(date-time)required
created_atstring or null(date-time)required
list_sortingintegerrequired
Response
application/json
{ "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { "is_hard_deadline": false, "recurring_type": "daily", "recurring_interval": 0 }, "assignee": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "priorityOption": { "id": "string", "label": "string" }, "phase": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "type": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "start_date": "2019-08-24", "end_date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "milestone": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "epic": { "id": "string", "title": "string", "po_number": "string", "computed_fields": { … } }, "parent_task": {}, "attachements": [], "watchers": [ { … } ], "sub_tasks": [ {} ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }

Request

Required scopes: task-management:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""uri""external_id"
originstring

Used if find_by=external_id by default it will use the integration slug

curl -i -X DELETE \
  'https://api.kanbert.com/api/v1/tasks/{id}?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

TaskData

Bodyapplication/json
idstringrequired
project_idstringrequired
client_idstringrequired
parent_task_idstringrequired
external_idstring or nullrequired
external_originstring or nullrequired

If originated from external system origin is added

uristringrequired
titlestringrequired
descriptionstring or nullrequired
statusstring(TaskStatus)required
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
typestringrequired
estimated_hoursnumber or nullrequired
is_onholdbooleanrequired
is_publicbooleanrequired

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

due_datestring or null(date)required
due_date_settingsobject(TaskDueDateSettingsData)required
due_date_settings.​is_hard_deadlinebooleanrequired
Default false
due_date_settings.​recurring_typeTaskDueDateRecurringType (string) or nullrequired
Any of:
string(TaskDueDateRecurringType)
Enum"daily""weekly""monthly"
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

assigneeUserData (object) or nullrequired
Any of:
assignee.​idstringrequired
assignee.​first_namestringrequired
assignee.​last_namestringrequired
assignee.​emailstringrequired
assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
assignee.​spaceobject(SpaceData)required
assignee.​space.​idstringrequired
assignee.​space.​namestringrequired
priorityOptionTaskPriorityOptionData (object) or nullrequired
Any of:
priorityOption.​idstringrequired
priorityOption.​labelstringrequired
phasePhaseData (object) or null
Any of:
milestoneMilestoneData (object) or null
Any of:
epicEpicData (object) or null
Any of:
parent_taskTaskData (object) or null
Any of:
object TaskData Recursive
attachementsArray of objects(FileData)required
Default []
attachements[].​idstringrequired
attachements[].​file_namestringrequired
attachements[].​mime_typestringrequired
attachements[].​sizeintegerrequired

File size in bytes

attachements[].​entity_idstringrequired

ID of the entity that the file belongs to

attachements[].​entity_typestringrequired

Type of the entity that the file belongs to

attachements[].​created_atstringrequired
watchersArray of objects(UserData)
sub_tasksArray of objects(TaskData)required
completed_atstring or null(date-time)required
closed_atstring or null(date-time)required
updated_atstring or null(date-time)required
created_atstring or null(date-time)required
list_sortingintegerrequired
Response
application/json
{ "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { "is_hard_deadline": false, "recurring_type": "daily", "recurring_interval": 0 }, "assignee": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "priorityOption": { "id": "string", "label": "string" }, "phase": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "type": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "start_date": "2019-08-24", "end_date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "milestone": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "epic": { "id": "string", "title": "string", "po_number": "string", "computed_fields": { … } }, "parent_task": {}, "attachements": [], "watchers": [ { … } ], "sub_tasks": [ {} ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }

Request

Required scopes: task-management:write

Security
http or oauth2
Path
taskstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""uri""external_id"
originstring

Used if find_by=external_id by default it will use the integration slug

Bodyapplication/json
titlestring<= 255 characters
descriptionstring<= 65535 characters

In HTML use <mention data-id="<UserID>" /> to mention user

estimated_hoursnumber or null
due_datestring or null(date-time)
is_publicboolean or null
watchersArray of strings

If present - overwrites the watch list

add_watchersArray of strings

Adds user to watchlist

statusstring(TaskStatus)
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
parent_task_idstring or null
assignee_idstring or null
epic_idstring or null
phase_idstring or null
milestone_idstring or null
curl -i -X PATCH \
  'https://api.kanbert.com/api/v1/tasks/{task}?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "string",
    "description": "string",
    "estimated_hours": 0,
    "due_date": "2019-08-24T14:15:22Z",
    "is_public": true,
    "watchers": [
      "string"
    ],
    "add_watchers": [
      "string"
    ],
    "status": "Backlog",
    "parent_task_id": "string",
    "assignee_id": "string",
    "epic_id": "string",
    "phase_id": "string",
    "milestone_id": "string"
  }'

Responses

TaskData

Bodyapplication/json
Any of:
idstringrequired
project_idstringrequired
client_idstringrequired
parent_task_idstringrequired
external_idstring or nullrequired
external_originstring or nullrequired

If originated from external system origin is added

uristringrequired
titlestringrequired
descriptionstring or nullrequired
statusstring(TaskStatus)required
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
typestringrequired
estimated_hoursnumber or nullrequired
is_onholdbooleanrequired
is_publicbooleanrequired

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

due_datestring or null(date)required
due_date_settingsobject(TaskDueDateSettingsData)required
due_date_settings.​is_hard_deadlinebooleanrequired
Default false
due_date_settings.​recurring_typeTaskDueDateRecurringType (string) or nullrequired
Any of:
string(TaskDueDateRecurringType)
Enum"daily""weekly""monthly"
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

assigneeUserData (object) or nullrequired
Any of:
assignee.​idstringrequired
assignee.​first_namestringrequired
assignee.​last_namestringrequired
assignee.​emailstringrequired
assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
assignee.​spaceobject(SpaceData)required
assignee.​space.​idstringrequired
assignee.​space.​namestringrequired
priorityOptionTaskPriorityOptionData (object) or nullrequired
Any of:
priorityOption.​idstringrequired
priorityOption.​labelstringrequired
phasePhaseData (object) or null
Any of:
milestoneMilestoneData (object) or null
Any of:
epicEpicData (object) or null
Any of:
parent_taskTaskData (object) or null
Any of:
object TaskData Recursive
attachementsArray of objects(FileData)required
Default []
attachements[].​idstringrequired
attachements[].​file_namestringrequired
attachements[].​mime_typestringrequired
attachements[].​sizeintegerrequired

File size in bytes

attachements[].​entity_idstringrequired

ID of the entity that the file belongs to

attachements[].​entity_typestringrequired

Type of the entity that the file belongs to

attachements[].​created_atstringrequired
watchersArray of objects(UserData)
sub_tasksArray of objects(TaskData)required
completed_atstring or null(date-time)required
closed_atstring or null(date-time)required
updated_atstring or null(date-time)required
created_atstring or null(date-time)required
list_sortingintegerrequired
Response
application/json
{ "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { "is_hard_deadline": false, "recurring_type": "daily", "recurring_interval": 0 }, "assignee": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "priorityOption": { "id": "string", "label": "string" }, "phase": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "type": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "start_date": "2019-08-24", "end_date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "milestone": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "epic": { "id": "string", "title": "string", "po_number": "string", "computed_fields": { … } }, "parent_task": { "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { … }, "assignee": { … }, "priorityOption": { … }, "phase": { … }, "milestone": { … }, "epic": { … }, "parent_task": {}, "attachements": [], "watchers": [ … ], "sub_tasks": [ … ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }, "attachements": [], "watchers": [ { … } ], "sub_tasks": [ { … } ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }

Update a tasks's external identifier

Request

Required scopes: client:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""external_id""shortcode"
originstring

Used if find_by=external_id by default it will use the integration slug

Bodyapplication/json
external_idstring or null<= 255 characters

Can be used to add an identifier to the client from an external system, must be unique within integration (integration slug)

external_originstring<= 255 characters

If not set, integration's slug will be used as default

curl -i -X PUT \
  'https://api.kanbert.com/api/v1/tasks/{id}/external-identifier?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "external_id": "string",
    "external_origin": "string"
  }'

Responses

TaskData

Bodyapplication/json
idstringrequired
project_idstringrequired
client_idstringrequired
parent_task_idstringrequired
external_idstring or nullrequired
external_originstring or nullrequired

If originated from external system origin is added

uristringrequired
titlestringrequired
descriptionstring or nullrequired
statusstring(TaskStatus)required
Backlog
New
In Todo
WIP
In progress
Completed
Approved
Closed
Task was archived
Enum"Backlog""New""WIP""Completed""Approved""Closed"
typestringrequired
estimated_hoursnumber or nullrequired
is_onholdbooleanrequired
is_publicbooleanrequired

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

due_datestring or null(date)required
due_date_settingsobject(TaskDueDateSettingsData)required
due_date_settings.​is_hard_deadlinebooleanrequired
Default false
due_date_settings.​recurring_typeTaskDueDateRecurringType (string) or nullrequired
Any of:
string(TaskDueDateRecurringType)
Enum"daily""weekly""monthly"
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

assigneeUserData (object) or nullrequired
Any of:
assignee.​idstringrequired
assignee.​first_namestringrequired
assignee.​last_namestringrequired
assignee.​emailstringrequired
assignee.​typestring(UserType)required
Enum"user""guest""tax_advisor""integration"
assignee.​spaceobject(SpaceData)required
assignee.​space.​idstringrequired
assignee.​space.​namestringrequired
priorityOptionTaskPriorityOptionData (object) or nullrequired
Any of:
priorityOption.​idstringrequired
priorityOption.​labelstringrequired
phasePhaseData (object) or null
Any of:
milestoneMilestoneData (object) or null
Any of:
epicEpicData (object) or null
Any of:
parent_taskTaskData (object) or null
Any of:
object TaskData Recursive
attachementsArray of objects(FileData)required
Default []
attachements[].​idstringrequired
attachements[].​file_namestringrequired
attachements[].​mime_typestringrequired
attachements[].​sizeintegerrequired

File size in bytes

attachements[].​entity_idstringrequired

ID of the entity that the file belongs to

attachements[].​entity_typestringrequired

Type of the entity that the file belongs to

attachements[].​created_atstringrequired
watchersArray of objects(UserData)
sub_tasksArray of objects(TaskData)required
completed_atstring or null(date-time)required
closed_atstring or null(date-time)required
updated_atstring or null(date-time)required
created_atstring or null(date-time)required
list_sortingintegerrequired
Response
application/json
{ "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { "is_hard_deadline": false, "recurring_type": "daily", "recurring_interval": 0 }, "assignee": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "priorityOption": { "id": "string", "label": "string" }, "phase": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "type": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "start_date": "2019-08-24", "end_date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "milestone": { "id": "string", "title": "string", "po_number": "string", "group": { … }, "dependency_phase_id": "string", "dependency_milestone_id": "string", "date": "2019-08-24", "created_at": "2019-08-24T14:15:22Z", "computed_fields": { … } }, "epic": { "id": "string", "title": "string", "po_number": "string", "computed_fields": { … } }, "parent_task": {}, "attachements": [], "watchers": [ { … } ], "sub_tasks": [ {} ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 }

Request

Required scopes: task-management:write

Security
http or oauth2
Path
idstringrequired
Query
find_bystring

The field to search by

Default "id"
Enum"id""uri""external_id"
originstring

Used if find_by=external_id by default it will use the integration slug

Bodymultipart/form-datarequired
filestring(binary)required

File to upload - Max: 15MB

curl -i -X POST \
  'https://api.kanbert.com/api/v1/tasks/{id}/upload?find_by=id&origin=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F file=string

Responses

FileData

Bodyapplication/json
idstringrequired
file_namestringrequired
mime_typestringrequired
sizeintegerrequired

File size in bytes

entity_idstringrequired

ID of the entity that the file belongs to

entity_typestringrequired

Type of the entity that the file belongs to

created_atstringrequired
Response
application/json
{ "id": "string", "file_name": "string", "mime_type": "string", "size": 0, "entity_id": "string", "entity_type": "string", "created_at": "string" }

Request

task:create - A new task was created

Security
http or oauth2
Bodyapplication/json
eventstring

the event identifier

Example: "task:create"
resourceobject
triggered_byobject(UserData)
dataobject(TaskData)
application/json
{ "event": "task:create", "resource": { "type": "task", "id": "string" }, "triggered_by": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "data": { "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { … }, "assignee": { … }, "priorityOption": { … }, "phase": { … }, "milestone": { … }, "epic": { … }, "parent_task": {}, "attachements": [], "watchers": [ … ], "sub_tasks": [ … ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 } }

Responses

Return a 200 within 10 seconds to indicate a that the data was received successfully. Otherwise it will try 2 more times.

Request

task:update A Task was updated

Security
http or oauth2
Bodyapplication/json
eventstring

the event identifier

Example: "task:update"
resourceobject
triggered_byobject(UserData)
dataobject(TaskData)
application/json
{ "event": "task:update", "resource": { "type": "task", "id": "string" }, "triggered_by": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "data": { "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { … }, "assignee": { … }, "priorityOption": { … }, "phase": { … }, "milestone": { … }, "epic": { … }, "parent_task": {}, "attachements": [], "watchers": [ … ], "sub_tasks": [ … ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 } }

Responses

Return a 200 within 10 seconds to indicate a that the data was received successfully. Otherwise it will try 2 more times.

Request

task:delete - A task was deleted

Security
http or oauth2
Bodyapplication/json
eventstring

the event identifier

Example: "task:delete"
resourceobject
triggered_byobject(UserData)
dataobject(TaskData)
application/json
{ "event": "task:delete", "resource": { "type": "task", "id": "string" }, "triggered_by": { "id": "string", "first_name": "string", "last_name": "string", "email": "string", "type": "user", "space": { … } }, "data": { "id": "string", "project_id": "string", "client_id": "string", "parent_task_id": "string", "external_id": "string", "external_origin": "string", "uri": "string", "title": "string", "description": "string", "status": "Backlog", "type": "string", "estimated_hours": 0, "is_onhold": true, "is_public": true, "due_date": "2019-08-24", "due_date_settings": { … }, "assignee": { … }, "priorityOption": { … }, "phase": { … }, "milestone": { … }, "epic": { … }, "parent_task": {}, "attachements": [], "watchers": [ … ], "sub_tasks": [ … ], "completed_at": "2019-08-24T14:15:22Z", "closed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "list_sorting": 0 } }

Responses

Return a 200 within 10 seconds to indicate a that the data was received successfully. Otherwise it will try 2 more times.

Operations
Webhooks
Operations
Operations
Webhooks
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Schemas