Project statuses

Project statuses let you track the progress of projects through different states. You can also disable (prevent) certain types of transactions from occurring in specific states, such as not allowing timesheet entries when a project is in a "Not Started" state.

List project statuses

get/objects/projects/project-status

Returns up to 100 object references from the collection with a key, ID, and link for each project status. This operation is mostly for use in testing; use the query service to find objects that meet certain criteria and to specify properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "100",
      • "id": "In Progress",
      • "href": "/objects/projects/project-status/100"
      },
    • {
      • "key": "101",
      • "id": "Completed",
      • "href": "/objects/projects/project-status/101"
      },
    • {
      • "key": "102",
      • "id": "Started",
      • "href": "/objects/projects/project-status/102"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 5,
    • "next": 0,
    • "previous": 0
    }
}

Create a project status

post/objects/projects/project-status

Creates a new project status.

SecurityOAuth2
Request
Request Body schema: application/json
required

Project status to create

id
required
string

User-specified name for the project status; used to categorize and report on projects. Same value as name

Example: "In Progress"
description
string or null

A brief description of the purpose of the project status.

Example: "In progress"
disableTimesheetEntry
boolean
Default: false

Indicates whether timesheet entries are allowed for projects with this status.

Example: false
disableExpenseEntry
boolean
Default: false

Indicates whether expense entries are allowed for projects with this status.

Example: false
disablePurchasingAPEntry
boolean
Default: false

Indicates whether AP/PO entries are allowed for projects with this status.

Example: false
disableGenerateInvoice
boolean
Default: false

Indicates whether invoices can be generated for projects with this status.

Example: false
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "In Progress",
  • "description": "Current status",
  • "disableTimesheetEntry": false,
  • "disableExpenseEntry": false,
  • "disablePurchasingAPEntry": false,
  • "disableGenerateInvoice": false,
  • "status": "active"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "In Progress",
    • "href": "/objects/projects/project-status/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a project status

get/objects/projects/project-status/{key}

Returns detailed information for a specified project status.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project status.

Example: 1038
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "In Progress",
    • "description": "In progress",
    • "disableTimesheetEntry": false,
    • "disableExpenseEntry": false,
    • "disablePurchasingAPEntry": false,
    • "disableGenerateInvoice": false,
    • "status": "active",
    • "audit": {
      • "createdDateTime": "2022-04-01T16:20:00Z",
      • "modifiedDateTime": "2022-04-01T16:20:00Z",
      • "createdBy": "1",
      • "modifiedBy": "95"
      },
    • "entity": {
      • "key": "46",
      • "id": "Western Region",
      • "name": "Western Region",
      • "href": "/objects/company-config/entity/46"
      },
    • "href": "/objects/projects/project-status/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a project status

patch/objects/projects/project-status/{key}

Updates an existing project status by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project status.

Example: 1038
Request Body schema: application/json
description
string or null

A brief description of the purpose of the project status.

Example: "In progress"
disableTimesheetEntry
boolean
Default: false

Indicates whether timesheet entries are allowed for projects with this status.

Example: false
disableExpenseEntry
boolean
Default: false

Indicates whether expense entries are allowed for projects with this status.

Example: false
disablePurchasingAPEntry
boolean
Default: false

Indicates whether AP/PO entries are allowed for projects with this status.

Example: false
disableGenerateInvoice
boolean
Default: false

Indicates whether invoices can be generated for projects with this status.

Example: false
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "disableTimesheetEntry": true
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "In Progress",
    • "href": "/objects/projects/project-status/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a project status

delete/objects/projects/project-status/{key}

Deletes a project status.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project status.

Example: 1038
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}