API 2.0

Custom Fields

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