API Endpoint Change (5/19/2017)

The employee compensation table will require both the paidPer AND the rate fields, if one or the other is provided through the API.

=================================================================

For example, when POSTing to the API endpoint

https://ourfavoritecustomer.bamboohr.com/api/gateway.php/ourfavoritecustomer/v1/employees/10001/tables/compensation

if your payload looks like this:

<row>

    <field id="startDate">2017-05-01</field>

    <field id="paidPer">Year</field>

    <field id="rate">10</field>

</row>

...then you'll insert a new row, visible on the employee's Compensation table on the Job tab, of $10/Year.

If your payload includes neither paidPer nor rate, you'll be fine. The pay rate will just be blank on the Compensation table like this:

<row>

    <field id="startDate">2017-05-01</field>

</row>

...is just fine.

IF, however, your payload looks like this:

<row>

    <field id="startDate">2017-05-01</field>

    <field id="paidPer">Year</field>

</row>

...or like this...

<row>

    <field id="startDate">2017-05-01</field>

    <field id="rate">10</field>

</row>

...then your API call will be rejected with a 406 NOT ACCEPTABLE status, with the following header returned to you:

X-BambooHR-ErrorMessage: Field errors: Pay (Both paidPer and rate are required when one or the other is given.)