Introducing Custom Task Statuses (now in Beta)

Custom task statuses are a replacement for the static statuses that Fieldwire has had since the beginning:

  • P1
  • P2
  • P3
  • Completed
  • Verified

We have made this dynamic now which will let each project set it up as required. These statuses are now represented by Status objects and Tasks link to a status using their status_id field. Every new project created going forward will have 5 dynamic statuses created by default which mirror the old statuses we had. If you are curious about how to make use of this new features, please read on:

What happens to current API users?
We have made this a backward compatible change. As long as the default status list of a project isn't changed, you can still keep updating the status of a task using the old priority, completed_at & verified_at fields and don't have to worry about any of the new endpoints.

Note: This backward compatibility behavior will be deprecated in one of the future API versions. Please make sure to update your scripts in a timely manner to use the new statuses

API endpoints

Get Custom Statuses

GET /api/v3/projects/:project_id/statuses
JSON response body (list of Status objects):

[
  {
    "id": "8cfacd2b-b649-4864-b62b-9ccb98e1f156",
    "name": "In progress",
    "ordinal": 3,
    "color": "#FD504E",
    ...
  },
  ...
]

Create/Delete/Update Custom Status(es)

POST /api/v3/projects/:project_id/statuses/batch
JSON request body:

{
  "create": [
    {
      "name": "In progress",
      "ordinal": 3,
      "color":  "#FD504E"
    }
  ],
  "delete": [
    "3efdd4a8-c072-4e26-8e28-e4247fc01946",
    "a1c33b97-8d97-4c8d-a33e-d4f1cc5f3307"
  ],
  "update": [
    {
      "id": "fa83831d-9de8-4592-b4d0-798c7e74edac",
      "name": "New Status Name",
      "color": "#C91112",
    }
  ]
}

Schema explanation:

DELETE: list of custom Status IDs
UPDATE: list of custom Status objects with new attributes
CREATE: list of custom Status objects
Required keys for create:

  • name: name of the custom status
  • color: hex code representing the color of the status. This should be one of these: #FD504E, #C91112, #FA8B34, #FCD44A, #45DE67, #12A258, #82D8FF, #306BDB, #F84EF8, #282828
  • ordinal: rank/priority of the status. For example, if you have 3 statuses -- Unassigned, Assigned, Completed -- then their ordinals might be 1, 2, 3 respectively

JSON response body (list of Status object):

[
  {
    "id": "8cfacd2b-b649-4864-b62b-9ccb98e1f156",
    "name": "In progress",
    "ordinal": 3,
    "color": "#FD504E",
    ...
  },
  ...
]

PATCH /api/v3/projects/:project_id/tasks/:id
JSON request body:

{
  task: {
    status_id: 23
  }
}