Jobs

Jobs are essentially the intersection of an employee, a compensation, and a company work location.

Attributes

Attribute Type Read-Only Optional Default Description
id Integer X     the unique identifier of this job
version String X     version of this object. See the versioning documentation for a more in depth explaination of versions
employee_id Integer X     id for the employee to which this job belongs
location_id Integer       id for this job’s work location. Corresponds to one of the company’s locations returned via the company endpoints.
location Object X     full representation of the location’s address
hire_date String       when the employee was hired for this job
title String   X null the title for this position
rate String X     rate for the current compensation
payment_unit String X     payment unit for the current compensation
current_compensation_id Integer X     id for the currently active compensation
compensations Array X     array of all associated compensations. See the complete compensation documentation for more information.

Get jobs for an employee

HTTP Method: GET

Endpoint: /v1/employees/:employee_id/jobs

Returns: Array of all jobs this employee holds.

Sample Response Body:

[
  {
    "id": 1123581321345589,
    "version": "gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir",
    "employee_id": 1363316536327001,
    "location_id": 1363316536327002,
    "location": {
      "id": 1363316536327002,
      "street_1": "425 2nd Street",
      "street_2": "Suite 602",
      "city": "San Francisco",
      "state": "CA",
      "zip": "94107",
      "country": "USA"
    },
    "hire_date": "2018-12-11",
    "title": "Assistant to the Regional Manager",
    "rate": "70.00",
    "payment_unit": "Hour",
    "current_compensation_id": 1363316536327003,
    "compensations": [
      {
        "id": 1363316536327003,
        "version": "98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872",
        "job_id": 1123581321345589,
        "rate": "70.00",
        "payment_unit": "Hour",
        "flsa_status": "Nonexempt",
        "effective_date": "2018-12-11"
      }
    ]
  },
  {
    "id": 1123581321345590,
    "version": "4tvwfa4qjmxvb3rabr4xfejoa3lixwgt4rpbdxe9id9",
    "employee_id": 1363316536327001,
    "location_id": 1363316536327002,
    "location": {
      "id": 1363316536327002,
      "street_1": "425 2nd Street",
      "street_2": "Suite 602",
      "city": "San Francisco",
      "state": "CA",
      "zip": "94107",
      "country": "USA"
    },
    "hire_date": "2018-12-11",
    "title": "Receptionist",
    "rate": "18.00",
    "payment_unit": "Hour",
    "current_compensation_id": 1363316536327004,
    "compensations": [
      {
        "id": 1363316536327004,
        "version": "98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872",
        "job_id": 1123581321345590,
        "rate": "45.00",
        "payment_unit": "Hour",
        "flsa_status": "Nonexempt",
        "effective_date": "2018-12-11"
      }
    ]
  }
]

Get an individual job

HTTP Method: GET

Endpoint: /v1/jobs/:job_id

Returns: A single job representation

Sample Response Body:

{
  "id": 1123581321345589,
  "version": "gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir",
  "employee_id": 1363316536327001,
  "location_id": 1363316536327002,
  "location": {
    "id": 1363316536327002,
    "street_1": "425 2nd Street",
    "street_2": "Suite 602",
    "city": "San Francisco",
    "state": "CA",
    "zip": "94107",
    "country": "USA"
  },
  "hire_date": "2018-12-11",
  "title": "Assistant to the Regional Manager",
  "rate": "70.00",
  "payment_unit": "Hour",
  "current_compensation_id": 1363316536327003,
  "compensations": [
    {
      "id": 1363316536327004,
      "version": "98jr3289h3298hr9329gf9egskt3kagri32qqgiqe3872",
      "job_id": 1123581321345589,
      "rate": "70.00",
      "payment_unit": "Hour",
      "flsa_status": "Nonexempt",
      "effective_date": "2018-12-11"
    }
  ]
}

Update an individual job

HTTP Method: PUT

Endpoint: /v1/jobs/:job_id

Returns: An updated job representation or errors which prevented update

Sample Request Body

{
  "version": "gr78930htutrz444kuytr3s5hgxykuveb523fwl8sir",
  "title": "Assistant Regional Manager"
}

Create a Job

HTTP Method: POST

Endpoint: /v1/employees/:employee_id/jobs

Returns: The new job object or errors which prevented creation

Sample Request Body

{
  "title": "Assistant to the Regional Manager",
  "hire_date": "2018-12-21"
}