---
title: "Create a new worker"
method: POST
path: "/public/onboarding/v1/create-worker"
tags: ["Onboarding flow"]
---

# Create a new worker

`POST /public/onboarding/v1/create-worker`

## Request body

- WorkerCreationRequestV1
  - `workerDetails` WorkerDetailsV1
    - `firstName` string — The first name of the worker.
    - `middleName` string — The middle name of the worker.
    - `lastName` string — The last name of the worker.
    - `emailAddress` string, email — The email address of the worker.
    - `mobileNumber` string — The mobile number of the worker.
    - `verificationDocumentDetails` VerificationDocumentDetailsV1 — ID verification details.
      - `firstNameFormal` string, required — The formal first name of the worker.
      - `initials` string, required — The initials of the worker.
      - `dateOfBirth` string, date, required — The date of birth of the worker.
      - `placeOfBirth` string, required — The place of birth of the worker.
      - `gender` 'Male' | 'Female', required — The gender of the worker.
      - `nationality` string, required — The country code in ISO 3166-1 alpha-2 format.
      - `identityDocument` VerificationDocumentDetailsV1IdentityDocument, required
        - `bsnDocument` string — The base64-encoded image of the bsn document.
        - `base64DocumentBack` string, required — The base64-encoded image of the back of the identity document.
        - `base64DocumentFront` string, required — The base64-encoded image of the front of the identity document.
        - `documentType` 'IDENTITY_CARD' | 'PASSPORT' | 'RESIDENCE_PERMIT', required
        - `documentNumber` string, required — The identification document number.
        - `documentExpiryDate` string, date, required — The expiration date of the identification document.
        - `documentNationality` string, required — The country code in ISO 3166-1 alpha-2 format.
      - `identificationBy` string, required — The method used for worker identification.
      - `idCheckDate` string, date, required — The date when the identification document was checked.
      - `BSN` string, required — The BSN (citizen service number).
    - `paymentDetails` PaymentDetailsV1 — Payment details.
      - `IBAN` string, required — The IBAN of the worker.
    - `address` AddressDetailsV1 — Address details.
      - `street` string, required — The street name of the address.
      - `houseNumber` string, required — The house number of the address.
      - `houseNumberAddition` string — The addition to the house number (if any).
      - `zipCode` string, required — The postal code (ZIP) of the address.
      - `city` string, required — The city of the address.
      - `country` string, required — The country code in ISO 3166-1 alpha-2 format.

## Response `200`

Successfully created a worker

- WorkerCreationResponseV1
  - `workerId` string, uuid

## Other responses

- `400` — The request could not be processed. This could be due to a number of reasons: * The request does not have all required data. * Data in the request is invalid. * Data in the request is inconsistent. * The operation is not allowed given the current state of the data.
- `401` — The request did not contain credentials identifying the caller, or the provided credentials were invalid.
- `403` — The data that the request referred to is inaccessible to the caller.

---

[API](https://skmtc.net/maqqie/apis/maqqie-platform-public-api.md) · [All operations](https://skmtc.net/maqqie/apis/maqqie-platform-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maqqie/maqqie-platform-public-api/versions/5cb82e369b70/schema)
