Employee positions

You can define a set of employee positions and use those positions in timesheets and rate tables to bill employee labor out at different rates, depending on the work that an employee does at various times during the day.

For example, you may want to bill a customer at one rate for the time that an employee spends unloading a truck, but then bill at a different rate when the same employee does work as an electrical apprentice. You can define a set of employee positions to use on timesheets and in rate table timesheet entries to accomplish this.

NOTE: The employee-position object is used for billing labor, and is different from the position-skill object, which is used to track, categorize, and search for resources according to skills and expertise.

List employee positions

get/objects/construction/employee-position

Returns up to 100 object references from the collection with a key, ID, and link for each employee position. This operation is mostly for use in testing; use the query service to find employee positions 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": "1",
      • "id": "EP-001",
      • "href": "/objects/construction/employee-position/1"
      },
    • {
      • "key": "2",
      • "id": "EP-002",
      • "href": "/objects/construction/employee-position/2"
      },
    • {
      • "key": "7",
      • "id": "PLUM-001",
      • "href": "/objects/construction/employee-position/7"
      },
    • {
      • "key": "8",
      • "id": "FOR-001",
      • "href": "/objects/construction/employee-position/8"
      }
    ],
  • "ia::meta": {
    • "totalCount": 4,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create an employee position

post/objects/construction/employee-position

Creates a new employee position.

SecurityOAuth2
Request
Request Body schema: application/json
required

Employee position to create

id
required
string

Unique identifier for the employee position.

Example: "SV001"
name
required
string

Name for the employee position.

Example: "Supervisor-1"
description
string

Description for the employee position.

Example: "First-level supervisor"
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": "FOR-001",
  • "name": "Foreman-01",
  • "description": "Job site foreman",
  • "status": "active"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "8",
    • "id": "FOR-001",
    • "href": "/objects/construction/employee-position/8"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get an employee position

get/objects/construction/employee-position/{key}

Returns detailed information for a specified employee position.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the employee position.

Example: 41
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "8",
    • "id": "FOR-001",
    • "name": "Foreman-01",
    • "description": "Job site foreman",
    • "status": "active",
    • "audit": {
      • "createdDateTime": "2023-02-02T23:32:10Z",
      • "modifiedDateTime": "2023-03-03T01:24:56Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "entity": {
      • "key": "46",
      • "id": "CORP",
      • "name": "Corp",
      • "href": "/objects/company-config/entity/46"
      },
    • "href": "/objects/construction/employee-position/8"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update an employee position

patch/objects/construction/employee-position/{key}

Updates an existing employee position by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the employee position.

Example: 41
Request Body schema: application/json
name
string

Name for the employee position.

Example: "Supervisor-1"
description
string

Description for the employee position.

Example: "First-level supervisor"
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
{
  • "description": "(deactivated) This employee is a foreman",
  • "status": "inactive"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "8",
    • "id": "FOR-001",
    • "href": "/objects/construction/employee-position/8"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete an employee position

delete/objects/construction/employee-position/{key}

Deletes an employee position.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the employee position.

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