Project types

Project types let you group projects into categories for reporting. After defining project types, you can set each project to one of the types and then group and query based on the type.

List project types

get/objects/projects/project-type

Returns up to 100 object references from the collection with a key, ID, and link for each project type. 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": "Internal",
      • "href": "/objects/projects/project-type/100"
      },
    • {
      • "key": "101",
      • "id": "External",
      • "href": "/objects/projects/project-type/101"
      },
    • {
      • "key": "102",
      • "id": "Contract",
      • "href": "/objects/projects/project-type/102"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 5,
    • "next": 0,
    • "previous": 0
    }
}

Create a project type

post/objects/projects/project-type

Creates a new project type.

SecurityOAuth2
Request
Request Body schema: application/json
required

project type to create

id
required
string

User-specified name for the project type; used to categorize and report on projects.

Example: "Internal"
object

Parent project type, for project type hierarchies.

key
string or null

Key for the parent project type.

Example: "10"
id
string or null

Unique identifier (name) of the parent project type.

Example: "Billable"
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": "Internal",
  • "parent": {
    • "key": "12"
    },
  • "status": "active"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "Internal",
    • "href": "/objects/projects/project-type/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a project type

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

Returns detailed information for a specified project type.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project type.

Example: 956
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "Internal",
    • "parent": {
      • "key": "100",
      • "id": "Billable",
      • "href": "/objects/projects/project-type/100"
      },
    • "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-type/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a project type

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

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

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project type.

Example: 956
Request Body schema: application/json
object

Parent project type, for project type hierarchies.

key
string or null

Key for the parent project type.

Example: "10"
id
string or null

Unique identifier (name) of the parent project type.

Example: "Billable"
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
{
  • "status": "inactive"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "Internal",
    • "href": "/objects/projects/project-type/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a project type

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

Deletes a project type.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the project type.

Example: 956
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
    }
}