---
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

- Base URL: `https://api.maqqie.app`
- URL: `https://api.maqqie.app/public/onboarding/v1/create-worker`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://maqqie.app/auth/realms/maqqie/protocol/openid-connect/token`
- TypeScript: <https://skmtc.dev/maqqie/apis/maqqie-platform-public-api/docs/public/onboarding/v1/create-worker/post.ts> (a function with typed inputs; its response is checked against the schema)

## 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.dev/maqqie/apis/maqqie-platform-public-api.md) - [All operations](https://skmtc.dev/maqqie/apis/maqqie-platform-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/maqqie/apis/maqqie-platform-public-api/revisions/5cb82e369b70?raw)
