Skip to content

Create Onboard

Endpoint: POST /api/personnel-events/onboard

Description: Creates a new onboarding personnel event with identity metadata for the person being onboarded.

Request Body

Field Type Required Description
identity object Yes Identity metadata for the person being onboarded.
identity.firstName string Yes First name. Max length: 256.
identity.lastName string Yes Last name. Max length: 256.
identity.email string No Email address. Max length: 256.
identity.supervisorId string (GUID) No Supervisor identity ID. Must reference an existing identity.
identity.company string No Company name. Max length: 256.
identity.division string No Division name. Max length: 256.
identity.department string No Department name. Max length: 128.
identity.office string No Office location. Max length: 256.
identity.title string No Job title. Max length: 256.
identity.identityType string No Identity type. Max length: 50. Valid values: Employee, ServiceAccount, Vendor, Shared, Mailbox, Client, Temporary, Administrator, Auditor, Unknown. Default: Employee.
identity.customField1 string No Custom field 1. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField2 string No Custom field 2. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField3 string No Custom field 3. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField4 string No Custom field 4. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField5 string No Custom field 5. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField6 string No Custom field 6. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField7 string No Custom field 7. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField8 string No Custom field 8. Max length: 2048. Only accepted if the custom field is enabled in system settings.
identity.customField9 string No Custom field 9. Max length: 2048. Only accepted if the custom field is enabled in system settings.
effectiveDate string (ISO 8601) Yes The date the onboarding takes effect. Must be today or later.
comment string No Optional comment added to the event.

Sample Request

{
  "identity": {
    "firstName": "Sarah",
    "lastName": "Chen",
    "email": "schen@firstbankofvalkyrie.com",
    "supervisorId": "f7a8b9c0-d1e2-3456-7890-abcdef012345",
    "company": "First Bank of Valkyrie",
    "division": "Commercial Lending",
    "department": "Business Loans",
    "office": "Fargo Main",
    "title": "Senior Loan Officer",
    "identityType": "Employee"
  },
  "effectiveDate": "2026-04-01T00:00:00Z",
  "comment": "New hire starting in Commercial Lending"
}

Response Attributes

Field Type Description
id string (GUID) Unique identifier of the created personnel event.
kind string Resource type. Always Personnel Event.
number integer Sequential personnel event number.
type string Event type. Always Onboard for this endpoint.
status string Current status.
reporter object The API token that created the event.
reporter.id string (GUID) Reporter identity ID.
reporter.name string Reporter display name.
assignee object The identity assigned to manage the event. null if unassigned.
assignee.id string (GUID) Assignee identity ID.
assignee.name string Assignee display name.
affectedIdentity object The identity created for the onboarded person. Full identity representation.
neededOn string (ISO 8601) Effective date.
neededUntil string (ISO 8601) End date. null for onboarding events.
completedOn string (ISO 8601) Completion date. null when newly created.
stages array[object] Milestone stages (Approval, Provision, Verification).
activity array[object] Activity log entries.
comments array[object] Comments on this event.

Sample Response (201)

{
  "id": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
  "kind": "Personnel Event",
  "number": 313,
  "type": "Onboard",
  "status": "Scheduled",
  "reporter": {
    "id": "c4d5e6f7-a8b9-0123-4567-89abcdef0123",
    "name": "API Token - HR Integration"
  },
  "assignee": null,
  "affectedIdentity": {
    "id": "d4a7e2b1-3f5c-4a8d-9e6b-1c2d3e4f5a6b",
    "kind": "Identity",
    "firstName": "Sarah",
    "lastName": "Chen",
    "emailAddress": "schen@firstbankofvalkyrie.com",
    "type": "Employee",
    "title": "Senior Loan Officer",
    "company": "First Bank of Valkyrie",
    "division": "Commercial Lending",
    "department": "Business Loans",
    "office": "Fargo Main",
    "supervisorName": "Martinez, Robert",
    "createdDate": "2026-03-25T14:00:00Z",
    "updatedDate": "2026-03-25T14:00:00Z",
    "firstSeenDate": "2026-03-25T14:00:00Z",
    "inactivatedDate": null,
    "status": "Active"
  },
  "neededOn": "2026-04-01T00:00:00Z",
  "neededUntil": null,
  "completedOn": null,
  "stages": [
    {
      "name": "Approval",
      "status": "Scheduled",
      "startedOn": null,
      "scheduledStart": "2026-03-25T00:00:00Z",
      "completedOn": null,
      "completedBy": null,
      "accessRequests": []
    },
    {
      "name": "Provision",
      "status": "Scheduled",
      "startedOn": null,
      "scheduledStart": "2026-04-01T00:00:00Z",
      "completedOn": null,
      "completedBy": null,
      "accessRequests": []
    },
    {
      "name": "Verification",
      "status": "Scheduled",
      "startedOn": null,
      "scheduledStart": null,
      "completedOn": null,
      "completedBy": null,
      "accessRequests": []
    }
  ],
  "activity": [
    {
      "createdDate": "2026-03-25T14:00:00Z",
      "author": "API Token - HR Integration",
      "action": "Created",
      "content": "Onboard event created via API"
    }
  ],
  "comments": [
    {
      "createdDate": "2026-03-25T14:00:00Z",
      "author": "API Token - HR Integration",
      "content": "New hire starting in Commercial Lending"
    }
  ]
}

Error Response (400)

{
  "error": "validation_error",
  "message": "One or more validation errors occurred",
  "correlationId": "a1b2c3d4e5f6789012345678abcdef01",
  "errors": [
    {
      "field": "identity.firstName",
      "message": "First name is required"
    },
    {
      "field": "effectiveDate",
      "message": "Effective date must be today or later"
    }
  ]
}