Tasks API
General notes
Embeddable fields
| Name | Type | Description |
|---|---|---|
time_reports | TimeReport[] | Array of time reports for task TimeReport. |
custom_fields | CustomField[] | Array of custom fields for task CustomField. |
status | Status | Current Status of task. |
status_history | array | -- |
extra_cost | array | -- |
report_ids | array | -- |
activity_reports | Collection | Current Collection of Time reports. |
last_activity_report | ActivityReport | Last Activity Report. |
Content
Tasks collection:
Single role:
Tasks collection
Tasks index
This method needs permission
accessontasks.
Request
| Index behaviour | Definition |
|---|---|
| Paginated by default | No |
| Sorting | id, name, project_id, goodday_id, parent_id, status_id, description, created_by_employee_id, action_required_by_employee_id, start_date, end_date, deadline_date, billable, priority, estimate, progress, custom_fields, closed_at, goodday_created_at, created_at, updated_at, is_done, status_order, last_activity, project_name |
| Filters | id:enum, name:string, project_id:int, goodday_id:int, parent_id:int, status_id:int, description:string, created_by_employee_id:int, action_required_by_employee_id:int, start_date:date, end_date:date, deadline_date:date, billable:bool, priority:int, estimate:int, progress:int, closed_at:date, goodday_created_at:date, created_at:date, updated_at:date, last_activity: dateTime, responsible_person_id: int |
| Embedded | - |
GET /api/v0/tasks HTTP/1.1
Content-Type: application/json
Response
200 OK
GET /api/v0/tasks HTTP/1.1
Content-Type: application/json
{
"items": [
{
"id": 1,
"name": "Collect client requirements zmena",
"project_id": 2,
"goodday_id": "yAD1kC",
"parent_id": null,
"status_id": 18,
"description": null,
"created_by_employee_id": 1,
"assigned_to_employee_id": null,
"action_required_by_employee_id": 1,
"start_date": "2021-07-08",
"end_date": "2021-07-09",
"deadline_date": null,
"billable": true,
"priority": 5,
"estimate": null,
"progress": null,
"closed_at": null,
"goodday_created_at": "2021-07-08T10:40:03+0200",
"created_at": "2022-11-23T16:06:56+0100",
"updated_at": "2022-11-23T16:06:56+0100",
"_links": [
{
"href": "/api/v0/tasks/1",
"rel": "self",
"type": "GET"
}
]
}
]
}
Single task
Task detail
GET /api/v0/tasks/{task_id}
This method needs permission
readontasks.
Get Task detail.
Request
| Index behaviour | Definition |
|---|---|
| Embedded | - |
Request
GET /api/v0/tasks/1 HTTP/1.1
Content-Type: application/json
Response
200 OK
GET /api/v0/tasks/1 HTTP/1.1
Content-Type: application/json
{
"id": 1,
"name": "Collect client requirements zmena",
"project_id": 2,
"goodday_id": "yAD1kC",
"parent_id": null,
"status_id": 18,
"description": null,
"created_by_employee_id": 1,
"assigned_to_employee_id": null,
"action_required_by_employee_id": 1,
"start_date": "2021-07-08",
"end_date": "2021-07-09",
"deadline_date": null,
"billable": true,
"priority": 5,
"estimate": null,
"progress": null,
"closed_at": null,
"goodday_created_at": "2021-07-08T10:40:03+0200",
"created_at": "2022-11-23T16:06:56+0100",
"updated_at": "2022-11-23T16:06:56+0100",
"_links": [
{
"href": "/api/v0/tasks/1",
"rel": "self",
"type": "GET"
}
]
}
404 NOT FOUND
Task was not found.
GET /api/v0/tasks/2 HTTP/1.1
Content-Type: application/json
Status-Code: 404
{
"type": "NotFound",
"message": "Required model was not found.",
"id": "0cd85449-05fe-4866-9802-8192e6785fc7"
}
Users work time on Task detail
GET /api/v0/tasks/{task_id}/user-work-times
This method needs permission
readontasks.
Get users work time on Task detail.
Request
GET /api/v0/tasks/1/user-work-times HTTP/1.1
Content-Type: application/json
Response
200 OK
GET /api/v0/tasks/1/user-work-times HTTP/1.1
Content-Type: application/json
{
"work_times": {
"items": [
{
"user_id": 2,
"time": 60
},
{
"user_id": 3,
"time": 360
}
],
"reported_time": 420
}
}
404 NOT FOUND
Task was not found.
GET /api/v0/tasks/2/user-work-times HTTP/1.1
Content-Type: application/json
Status-Code: 404
{
"type": "NotFound",
"message": "Required model was not found.",
"id": "0cd85449-05fe-4866-9802-8192e6785fc7"
}
Update Task
PUT/PATCH /api/v0/tasks/{task_id}
This method needs permission
updateontasks.
Method for updating Task data.
Request
| Param | Type | Description | Requirements |
|---|---|---|---|
billable | boolean | Billable flag | Sometimes. true for billable. false for not billable |
For PATCH method any field can be omitted.
PATCH /api/v0/tasks/1 HTTP/1.1
Content-Type: application/json
{
"billable": true,
}
Response
200 OK
Task successfully updated.
PATCH /api/tasks/3 HTTP/1.1
Content-Type: application/json
{
"id": 1,
"name": "1",
"project_id": 2,
"goodday_id": "yAD1kC",
"parent_id": null,
"status_id": 18,
"description": null,
"created_by_employee_id": 1,
"assigned_to_employee_id": null,
"action_required_by_employee_id": 1,
"start_date": "2021-07-08",
"end_date": "2021-07-09",
"deadline_date": null,
"billable": true,
"priority": 5,
"estimate": null,
"progress": null,
"closed_at": null,
"goodday_created_at": "2021-07-08T10:40:03+0200",
"created_at": "2022-11-23T16:06:56+0100",
"updated_at": "2022-11-25T12:40:09+0100",
"_links": [
{
"href": "/api/v0/tasks/1",
"rel": "self",
"type": "GET"
}
]
}
404 NOT FOUND
Task was not found.
PATCH /api/tasks/2 HTTP/1.1
Content-Type: application/json
Status-Code: 404
{
"type": "NotFound",
"message": "Required model was not found.",
"id": "0cd85449-05fe-4866-9802-8192e6785fc7"
}
422 UNPROCESSABLE ENTITY
Validation error occurred.
PUT /api/v0/tasks HTTP/1.1
Content-Type: application/json
{
"type" : "ValidationError",
"message" : "The given data was invalid.",
"id" : "fe1b04de-b347-43b5-8118-864c1eefaccf",
"errors": [
{
"field": "name",
"message": "The name field is required."
}
]
}