Custom Field Types
| Type |
Value type |
Comments |
| Test |
String |
UTF-16 string |
| Textarea |
String |
Use \n for line breaks |
| Checkbox |
Boolean |
true / false |
| Number |
Float |
|
| Currency |
Float |
|
| Percentage |
Float |
|
| Date |
String |
Date in YYYY-MM-DD format |
| Dropdown |
Integer |
Check listItems object in custom field params to retrieve options and values |
| Multi Select |
Array of Integers |
Array of selected options e.g.: [2,5] |
| Rating |
Integer |
|
| Email |
String |
|
| Phone |
String |
|
| URL |
String |
|
| User |
String |
GoodDay User ID |
| RAG |
Integer |
null (unset), 0 (red), 1 (amber), 2 (green) |
To reset a field's value pass null value.
Query Custom Fields
Retrieve a list of all custom fields within the organization
/custom-fields
Response
Sample response →
[
...
{
"id": "CUSTOM-FIELD-ID",
"name": "Budget",
"type": 4,
"access": 1,
"params": {
"decimalPlaces": null,
"symbol": "us_dollar"
},
"sortPosition": 0
}
...
]
Update Task
Update task's custom fields values.
/task/TASK-ID/custom-fields
Parameters
| Name |
Required |
Type/Format |
Description |
| customFields |
yes |
JSON |
Array of objects see sample request below |
Request
Sample request →
"customFields": [
{
"id": "CHECKBOX-FIELD-ID",
"value": true
},
{
"id": "TEXT-FIELD-ID",
"value": "Simple text"
},
{
"id": "TEXTAREA-FIELD-ID",
"value": "Text Line 1 \nText line 2"
},
{
"id": "NUMBER-FIELD-ID",
"value": 10
},
{
"id": "CURRENCY-FIELD-ID",
"value": 150.99
},
{
"id": "PERCENTAGE-FIELD-ID",
"value": 75
},
{
"id": "DATE-FIELD-ID",
"value": "2020-01-02"
},
{
"id": "DROPDOWN-FIELD-ID",
"value": 2
},
{
"id": "MULTI-SELECT-FIELD-ID",
"value": [2, 4]
},
{
"id": "RATING-FIELD-ID",
"value": 2
},
{
"id": "EMAIL-FIELD-ID",
"value": "john@mail.com"
},
{
"id": "PHONE-FIELD-ID",
"value": "555-432-1234"
},
{
"id": "URL-FIELD-ID",
"value": "https://www.goodday.work"
},
{
"id": "USER-FIELD-ID",
"value": "GD-USER-ID"
},
{
"id": "RAG-FIELD-ID",
"value": 0
}
]
Sample CURL →
curl -X PUT
-H 'Content-Type:application/json'
-H 'gd-api-token:TOKEN-HERE'
-d '{"customFields":[{"id":"CUSTOM-FIELD-ID","value":"NEW VALUE"}]}'
https://api.goodday.work/2.0/task/TASK-ID/custom-fields
Update Project
Update project's custom fields values.
/project/PROJECT-ID/custom-fields
Parameters
| Name |
Required |
Type/Format |
Description |
| customFields |
yes |
JSON |
Array of objects see sample request below |
Request
Sample request →
"customFields": [
{
"id": "CHECKBOX-FIELD-ID",
"value": true
},
{
"id": "TEXT-FIELD-ID",
"value": "Simple text"
},
{
"id": "TEXTAREA-FIELD-ID",
"value": "Text Line 1 \nText line 2"
},
{
"id": "NUMBER-FIELD-ID",
"value": 10
},
{
"id": "CURRENCY-FIELD-ID",
"value": 150.99
},
{
"id": "PERCENTAGE-FIELD-ID",
"value": 75
},
{
"id": "DATE-FIELD-ID",
"value": "2020-01-02"
},
{
"id": "DROPDOWN-FIELD-ID",
"value": 2
},
{
"id": "MULTI-SELECT-FIELD-ID",
"value": [2, 4]
},
{
"id": "RATING-FIELD-ID",
"value": 2
},
{
"id": "EMAIL-FIELD-ID",
"value": "john@mail.com"
},
{
"id": "PHONE-FIELD-ID",
"value": "555-432-1234"
},
{
"id": "URL-FIELD-ID",
"value": "https://www.goodday.work"
},
{
"id": "USER-FIELD-ID",
"value": "GD-USER-ID"
},
{
"id": "RAG-FIELD-ID",
"value": 0
}
]
Sample CURL →
curl -X PUT
-H 'Content-Type:application/json'
-H 'gd-api-token:TOKEN-HERE'
-d '{"customFields":[{"id":"CUSTOM-FIELD-ID","value":"NEW VALUE"}]}'
https://api.goodday.work/2.0/project/PROJECT-ID/custom-fields