Skip to main content
POST
Create the onboarding of a joiner from an HR system event
Key: Write Scope: Company

Authorizations

Authorization
string
header
required

Use your Primo API key in the Authorization header as Bearer <API_KEY>.

Body

application/json
firstName
string
required

First name of the joiner

Minimum string length: 1
lastName
string
required

Last name of the joiner

Minimum string length: 1
email
string<email>
required

Work email of the joiner

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
startDate

First day of the joiner (YYYY-MM-DD or ISO 8601). Required by the classic onboarding, read by the agent.

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])))$
data
object | null

Everything else the caller knows about the joiner, as a free JSON object (job title, team, manager, location, contract…), at most 20000 characters once serialized. Kept on the onboarding and read by the Onboarding Agent. May hold personal data.

Response

default - application/json
id
string
required
status
enum<string>
required
Available options:
PENDING,
SCHEDULED,
IN_PROGRESS,
CLOSED,
CANCELED
source
enum<string>
required
Available options:
COCKPIT,
MERGE,
KOMBO,
API
createdAt
string<date-time>
required
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])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
hrRecords
object[]
required

HR records from the connected HRIS (Kombo) for this onboarding

emails
string[]
required

Every email address of the employee being onboarded. Empty while the onboarding has no employee.

employeeId
string | null
ticketId
string | null
stepModel
enum<string> | null

How the onboarding holds its steps: ACTIONS (the onboarding steps and their plain tasks) or INTENTS (typed tasks under its ticket, run through the intent tools such as executeEmployeeCreationIntent). Null while it has neither a ticket nor a step, and for an onboarding run by the agent.

Available options:
ACTIONS,
INTENTS
stepProgress
object | null

How many of its steps are through, out of how many: on ACTIONS its steps done, scheduled or skipped; otherwise the typed tasks of its ticket completed or cancelled. Null while it has no step.

startDate
string<date-time> | null
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])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
hire
object | null

The hire an admin added by hand in the cockpit short form, before they are an employee in Primo