Skip to main content
POST
File a promotion, transfer or re-grade

Authorizations

Authorization
string
header
required

Authorization: Bearer atk_live_… (a sandbox's keys are atk_test_…). Created in the API keys section of the Integrations settings; the secret is shown once.

Headers

Idempotency-Key
string
required

Unique per request; reuse it only to retry the same request with the same body. Remembered 24 hours.

Maximum string length: 255
If-Match
string

Optional: the employee's ETag, to refuse early when the record changed since you read it.

Path Parameters

id
string
required

The employee id.

Query Parameters

company_id
string

One of the key's companies.

validate_only
boolean

true: answer 200 with what would happen (the approval steps and who they resolve to, the knock-ons), and write nothing.

Body

application/json
type
enum<string>
required

Promotion, transfer or re-grade. A correction or a change of terms is made in andteam (422, code not-supported).

Available options:
promotion,
transfer,
regrade
effectiveDate
string<date>
required

The day the new job starts, after the current position began. Past or today: applied at once when the tenant has no approval chain; later: scheduled.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
jobTitleId
string

A value id from /v1/lookups/job-titles.

Required string length: 1 - 128
departmentId
string

A value id from /v1/lookups/departments.

Required string length: 1 - 128
costCentreId
string

A value id from /v1/lookups/cost-centres.

Required string length: 1 - 128
gradeId
string

A value id from /v1/lookups/grades.

Required string length: 1 - 128
locationId
string

A location id from /v1/locations.

Required string length: 1 - 128
orgUnitIds
string[]

Org unit ids from /v1/org-units, at most one per level.

Maximum array length: 10
Required string length: 1 - 260
managerId
string | null

Who they report to from that date: an employee id, or null for no one. Left out: their current manager.

Required string length: 1 - 128
pay
object

The pay change that comes with the job, filed with it in one transaction (a promotion's pay is a promotion, a transfer's or re-grade's an adjustment). Needs the Pay field group's Write switch.

requestedBy
string

Optional: the andteam user id or work email of the person this is requested by (the hiring manager in your ATS, say), instead of the key's requester. They are checked for the same permission over this employee; if the check fails the request is refused (requester-not-allowed), never put back on the key's requester.

Required string length: 1 - 320

Response

validate_only=true: what would happen. Nothing was written.

wouldBe
object
required
steps
object[]
required
knockOns
object
required
pay
object | null