Skip to main content

Projects API

General notes

Enumerators

BillingsFrequencyEnum:

This enumerator value is used in field billings_frequency.

NameTypeValue
MONTHLYint1
QUARTERLYint2
YEARLYint3

Embeddable fields

NameTypeDescription
tasksTask[]Array of tasks for project Task.
usersUser[]Array of users assigned to project User.
clientClientClient of project Client.
hourly_paysHourlyPayHourly pays of project HourlyPay.
fixed_paysHourlyPayHourly pays of project HourlyPay.
responsible_userUserProject's responsible User.
favoriteboolis project favorited by authenticated User.
costsarrayCosts of project
billingsarrayEstimated time of project
estimatearrayBillings of project
profitarrayProfit in percentage
work_timearrayWorktimes of project
billable_statusesStatus[]Collection of statuses

Content

Projects collection:

Single project:

Projects collection

Projects index

This method needs permission read on projects.

Request

Index behaviourDefinition
Paginated by defaultNo
Sortingid, name, goodday_id parent_id, client_id, status_id, status_comment, responsible_user_id, active, description, start_date, end_date, priority, estimate, progress, billable, billing_type billing_time_type, estmiated_price, goodday_created_at, is_client,automatically_create_report,billings_frequency, created_at, updated_at
Filtersid:enum, name:string, goodday_id:bool, parent_id:bool, client_id: int, status_id: int, status_comment: string, responsible_user_id:int, active: bool, description:string, start_date:date, end_date:date, priority:int, estimate:int, progress:int, billable:bool, billing_type:int, billing_time_type:int, estmiated_price:decimal, goodday_created_at:date, is_client: bool, created_at:date, updated_at:date, favorite: bool, automatically_create_report: bool,billings_frequency: int
Embedded-
GET /api/v0/projects HTTP/1.1
Content-Type: application/json

Response

200 OK

{
"items": [
{
"id": 1,
"name": "kaitrade.cz / grafické práce",
"goodday_id": "n0e2F5",
"parent_id": null,
"client_id": 2,
"status_id": 6,
"status_comment": null,
"responsible_user_id": null,
"active": true,
"description": "Pravideľné grafické práce pre Kaitrade a Holab.",
"start_date": null,
"end_date": null,
"priority": 5,
"progress": null,
"type": null,
"is_client": true,
"google_drive_url": null,
"billable": true,
"billing_type": "1",
"billing_time_type": null,
"billings_frequency": "1",
"billable_statuses": [],
"automatically_create_report": false,
"estimated_price": 0,
"goodday_created_at": "2019-10-08T16:52:40+0200",
"has_signed_sla": false,
"created_at": "2023-02-09T16:20:56+0100",
"updated_at": "2023-02-09T16:20:57+0100",
"_links": [
{
"href": "/api/v0/projects/1",
"rel": "self",
"type": "GET"
}
]
},
{
"id": 2,
"name": "athletebox.cz / právní dokumenty",
"goodday_id": "k8kTXj",
"parent_id": null,
"client_id": 3,
"status_id": 6,
"status_comment": null,
"responsible_user_id": null,
"active": true,
"description": null,
"start_date": null,
"end_date": null,
"priority": 5,
"progress": null,
"type": null,
"is_client": true,
"google_drive_url": null,
"billable": true,
"billing_type": "2",
"billing_time_type": "1",
"billings_frequency": "1",
"billable_statuses": [],
"automatically_create_report": false,
"estimated_price": 0,
"goodday_created_at": "2019-11-01T12:12:31+0100",
"has_signed_sla": false,
"created_at": "2023-02-09T16:20:57+0100",
"updated_at": "2024-02-20T09:04:36+0100",
"_links": [
{
"href": "/api/v0/projects/2",
"rel": "self",
"type": "GET"
}
]
}
]
}


Single project

Project detail

GET /api/v0/projects/{project_id}

This method needs permission read on projects.

Get Project detail.

Request

Index behaviourDefinition
Embedded-

Request

GET /api/v0/projects/1 HTTP/1.1
Content-Type: application/json

Response

200 OK

{
"id": 1,
"name": "kaitrade.cz / grafické práce",
"goodday_id": "n0e2F5",
"parent_id": null,
"client_id": 2,
"status_id": 6,
"status_comment": null,
"responsible_user_id": null,
"active": true,
"description": "Pravideľné grafické práce pre Kaitrade a Holab.",
"start_date": null,
"end_date": null,
"priority": 5,
"progress": null,
"type": null,
"is_client": true,
"google_drive_url": null,
"billable": true,
"billing_type": "1",
"billing_time_type": null,
"billings_frequency": "1",
"billable_statuses": [],
"automatically_create_report": false,
"estimated_price": 0,
"goodday_created_at": "2019-10-08T16:52:40+0200",
"has_signed_sla": false,
"created_at": "2023-02-09T16:20:56+0100",
"updated_at": "2023-02-09T16:20:57+0100",
"_links": [
{
"href": "/api/v0/projects/1",
"rel": "self",
"type": "GET"
}
]
}

404 NOT FOUND

Project was not found.

GET /api/v0/projects/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"
}

Update project

PUT/PATCH /api/v0/projects/{project_id}

This method needs permission update on projects.

Method for updating Project data.

Request

For PATCH method any field can be omitted.

PATCH /api/v0/projects/1 HTTP/1.1
Content-Type: application/json

{
"estimated_price": "1005",
}

Response

200 OK

Project successfully updated.

PATCH /api/v0/projects/1 HTTP/1.1
Content-Type: application/json

{
"id": 1,
"name": "Service Project",
"goodday_id": "1r9Gyh",
"parent_id": null,
"client_id": null,
"status_id": 1,
"status_comment": null,
"responsible_user_id": 2,
"active": true,
"description": null,
"start_date": null,
"end_date": null,
"priority": 5,
"progress": null,
"type": null,
"is_client": true,
"priority": 5,
"estimate": null,
"progress": null,
"billable": true,
"billing_type": null,
"billing_time_type": null,
"estimated_price": 1005,
"goodday_created_at": "2021-07-08T10:40:03+0200",
"created_at": "2022-11-23T16:06:56+0100",
"updated_at": "2022-11-25T11:21:16+0100",
"_links": [
{
"href": "/api/v0/projects/1",
"rel": "self",
"type": "GET"
}
]
}

404 NOT FOUND

Project was not found.

PATCH /api/v0/projects/10 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.

POST /api/v0/projects 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."
}
]
}