Skip to content

Create Offboard

Endpoint: POST /api/personnel-events/offboard

Description: Creates a new offboarding personnel event for an existing identity.

Request Body

Field Type Required Description
identityId string (GUID) Yes The unique identifier of the identity being offboarded. Must reference an existing identity.
effectiveDate string (ISO 8601) Yes The date the offboarding takes effect. Must be today or later.
comment string No Optional comment added to the event.

Sample Request

{
  "identityId": "d4a7e2b1-3f5c-4a8d-9e6b-1c2d3e4f5a6b",
  "effectiveDate": "2026-04-15T00:00:00Z",
  "comment": "Employee resignation effective April 15"
}

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 Offboard 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 being offboarded. Full identity representation.
neededOn string (ISO 8601) Effective date.
neededUntil string (ISO 8601) End date. null for offboarding 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": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
  "kind": "Personnel Event",
  "number": 314,
  "type": "Offboard",
  "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": "2023-03-15T14:30:00Z",
    "updatedDate": "2025-11-20T09:15:00Z",
    "firstSeenDate": "2023-03-16T02:00:00Z",
    "inactivatedDate": null,
    "status": "Active"
  },
  "neededOn": "2026-04-15T00:00:00Z",
  "neededUntil": null,
  "completedOn": null,
  "stages": [
    {
      "name": "Approval",
      "status": "Scheduled",
      "startedOn": null,
      "scheduledStart": "2026-04-08T00:00:00Z",
      "completedOn": null,
      "completedBy": null,
      "accessRequests": []
    },
    {
      "name": "Provision",
      "status": "Scheduled",
      "startedOn": null,
      "scheduledStart": "2026-04-15T00: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": "Offboard event created via API"
    }
  ],
  "comments": [
    {
      "createdDate": "2026-03-25T14:00:00Z",
      "author": "API Token - HR Integration",
      "content": "Employee resignation effective April 15"
    }
  ]
}

Error Response (400)

{
  "error": "validation_error",
  "message": "One or more validation errors occurred",
  "correlationId": "a1b2c3d4e5f6789012345678abcdef01",
  "errors": [
    {
      "field": "identityId",
      "message": "Identity with id d4a7e2b1-3f5c-4a8d-9e6b-1c2d3e4f5a6b not found"
    }
  ]
}