> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmbr.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an employee



## OpenAPI

````yaml /spec/openapi.json post /employees
openapi: 3.0.0
info:
  title: Nmbr API
  description: API to interact with Nmbr Payroll
  version: 1.0.0
servers:
  - url: https://sandbox.nmbr.co/services/payroll
security:
  - CompanyToken: []
tags:
  - name: Accounting Codes
  - name: Accounting Code Rules
  - name: Adjustments
  - name: Allowances
  - name: Allowance Line Items
  - name: Allowance Types
  - name: Async Tasks
  - name: Bank Accounts
  - name: Business Entities
  - name: Business Entity Verifications
  - name: Business Entity ROE Authorizations
  - name: Business Presets
  - name: Calculations
  - name: Companies
  - name: Contractors
  - name: Deductions
  - name: Deduction Line Items
  - name: Deduction Types
  - name: Earnings
  - name: Earning Line Items
  - name: Earning Types
  - name: Effective Tax Properties
  - name: Employees
  - name: Employee Benefits
  - name: Employee Benefit Line Items
  - name: Employee Benefit Types
  - name: Employer Benefits
  - name: Employer Benefit Line Items
  - name: Employer Benefit Types
  - name: Employer Statutory Withholding Line Items
  - name: Employer Statutory Withholding Types
  - name: Forms
  - name: Form Batches
  - name: Form Types
  - name: Holidays
  - name: Integrations
  - name: Journal Entries
  - name: Overtime Rates
  - name: Partners
  - name: Pay Rates
  - name: Pay Schedules
  - name: Pay Splits
  - name: Pay Stubs
  - name: Payments
  - name: Payrolls
  - name: Reimbursements
  - name: Reimbursement Line Items
  - name: Reimbursement Types
  - name: Remittance Accounts
  - name: Remittance Account Enrollments
  - name: Reports
  - name: Statutory Withholding Line Items
  - name: Statutory Withholding Types
  - name: Tags
  - name: Tag Groups
  - name: Tax Properties
  - name: Tax Property Templates
  - name: Tokens
  - name: Usage Records
  - name: Usage Summaries
  - name: Vacation Pay
  - name: Vacation Pay Settings
  - name: Webhooks
  - name: Work Assignments
paths:
  /employees:
    post:
      tags:
        - Employees
      summary: Create an employee
      operationId: employees-store
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    employee_number:
                      type: string
                      description: >-
                        An optional identifier for the employee within the
                        partner's system, such as a badge number or HR system
                        ID. Distinct from `id` and `external_ref`.
                      nullable: true
                      maxLength: 40
                    first_name:
                      type: string
                      description: The employee's first name.
                      maxLength: 50
                    last_name:
                      type: string
                      description: The employee's last name.
                      maxLength: 50
                    middle_initial:
                      type: string
                      description: The employee's middle initial.
                      nullable: true
                      maxLength: 1
                    personal_email:
                      type: string
                      description: >-
                        The employee's personal email address, used as the
                        primary address for payroll communications such as Pay
                        Stub emails.
                    work_email:
                      type: string
                      description: >-
                        The employee's work email address. Used for payroll
                        communications if `personal_email` is not set.
                    address_line_1:
                      type: string
                      description: >-
                        The first line of the employee's mailing address. Canada
                        Revenue Agency forms (T4, RL-1) truncate this to the
                        length those forms allow.
                      nullable: true
                    address_line_2:
                      type: string
                      description: >-
                        The second line of the employee's mailing address.
                        Canada Revenue Agency forms (T4, RL-1) truncate this to
                        the length those forms allow.
                      nullable: true
                    city:
                      type: string
                      description: The city of the employee's mailing address.
                      nullable: true
                    administrative_area:
                      type: string
                      description: >-
                        The region of the employee's mailing address — the
                        province, state, or county, depending on the country.
                        For Canadian employees this is the Province of Residence
                        (POR), not the Province of Employment (POE) or Province
                        of Work (POW). POE and POW are configured via the Work
                        Assignment's Tax Properties.
                      nullable: true
                      maxLength: 255
                    province_code:
                      type: string
                      description: >-
                        This attribute is deprecated and will be removed.


                        A deprecated alias of `administrative_area` that mirrors
                        its value. Use `administrative_area` instead.


                        In Canada, must be an uppercase 2-letter province code:
                        `AB`, `BC`, `MB`, `NB`, `NL`, `NS`, `NT`, `NU`, `ON`,
                        `PE`, `QC`, `SK`, `YT`
                      nullable: true
                      deprecated: true
                    country_code:
                      type: string
                      description: The country code for the employee's mailing address.
                      enum:
                        - CA
                        - GB
                    postal_code:
                      type: string
                      description: The postal code for the employee's mailing address.
                      nullable: true
                      maxLength: 10
                    sin:
                      type: string
                      description: >-
                        The employee's Social Insurance Number (SIN), used for
                        tax reporting.
                    date_of_birth:
                      type: string
                      description: The employee's date of birth.
                      format: date
                    external_ref:
                      type: string
                      maxLength: 255
                    preferred_locale:
                      type: string
                      description: >-
                        The locale used for payroll communications sent to this
                        employee, such as Pay Stub emails. If not set, the
                        Business Entity's locale is used.
                      enum:
                        - en
                        - fr
                    archived_at:
                      type: string
                      description: >-
                        The date the employee was archived. Archiving an
                        employee also archives all Work Assignments that are not
                        already archived. Archived employees do not appear in
                        active listings.
                      format: date
                - type: object
                  required:
                    - first_name
                    - last_name
            example:
              employee_number: '001'
              first_name: Marley
              last_name: Prosacco
              personal_email: marley.prosacco@personal.test
              work_email: mprosacco@work.test
              address_line_1: Angelina Ridge
              city: Toronto
              administrative_area: 'ON'
              country_code: CA
              postal_code: M1M1M1
              sin: '196710156'
              date_of_birth: '1985-01-20'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: The unique identifier of the object in Nmbr.
                    readOnly: true
                  object:
                    type: string
                    description: The type of the object in Nmbr (`"employee"`).
                    readOnly: true
                  data:
                    $ref: '#/components/schemas/Employee'
              example:
                id: <id>
                object: employee
                data:
                  company:
                    id: <id>
                    object: company
                    links:
                      self: /companies/<id>
                  employee_number: '001'
                  first_name: Marley
                  last_name: Prosacco
                  middle_initial: null
                  personal_email: marley.prosacco@personal.test
                  work_email: mprosacco@work.test
                  address_line_1: Angelina Ridge
                  address_line_2: null
                  city: Toronto
                  administrative_area: 'ON'
                  province_code: 'ON'
                  country_code: CA
                  postal_code: M1M1M1
                  sin: '196710156'
                  sin_last_3: '156'
                  date_of_birth: '1985-01-20'
                  warnings:
                    object: list
                    data:
                      - object: warning
                        data:
                          namespace: onboarding
                          type: bank_account_doesnt_exists
                  external_ref: null
                  preferred_locale: null
                  archived_at: null
                  created_at: '2026-01-01T00:00:00.000000Z'
                  updated_at: '2026-01-01T00:00:00.000000Z'
                links:
                  self: /employees/<id>
components:
  schemas:
    Employee:
      type: object
      title: Employee
      properties:
        company:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier of the object in Nmbr.
              readOnly: true
            object:
              type: string
              description: The type of the object in Nmbr (`"company"`).
              readOnly: true
        employee_number:
          type: string
          description: >-
            An optional identifier for the employee within the partner's system,
            such as a badge number or HR system ID. Distinct from `id` and
            `external_ref`.
          nullable: true
          maxLength: 40
        first_name:
          type: string
          description: The employee's first name.
          maxLength: 50
        last_name:
          type: string
          description: The employee's last name.
          maxLength: 50
        middle_initial:
          type: string
          description: The employee's middle initial.
          nullable: true
          maxLength: 1
        personal_email:
          type: string
          description: >-
            The employee's personal email address, used as the primary address
            for payroll communications such as Pay Stub emails.
          nullable: true
          maxLength: 255
        work_email:
          type: string
          description: >-
            The employee's work email address. Used for payroll communications
            if `personal_email` is not set.
          nullable: true
          maxLength: 255
        address_line_1:
          type: string
          description: >-
            The first line of the employee's mailing address. Canada Revenue
            Agency forms (T4, RL-1) truncate this to the length those forms
            allow.
          nullable: true
          maxLength: 255
        address_line_2:
          type: string
          description: >-
            The second line of the employee's mailing address. Canada Revenue
            Agency forms (T4, RL-1) truncate this to the length those forms
            allow.
          nullable: true
          maxLength: 255
        city:
          type: string
          description: The city of the employee's mailing address.
          nullable: true
          maxLength: 255
        administrative_area:
          type: string
          description: >-
            The region of the employee's mailing address — the province, state,
            or county, depending on the country. For Canadian employees this is
            the Province of Residence (POR), not the Province of Employment
            (POE) or Province of Work (POW). POE and POW are configured via the
            Work Assignment's Tax Properties.
          nullable: true
          maxLength: 255
        province_code:
          type: string
          description: >-
            This attribute is deprecated and will be removed.


            A deprecated alias of `administrative_area` that mirrors its value.
            Use `administrative_area` instead.
          nullable: true
          deprecated: true
        country_code:
          type: string
          description: The country code for the employee's mailing address.
          nullable: true
          maxLength: 2
          enum:
            - CA
            - GB
        postal_code:
          type: string
          description: The postal code for the employee's mailing address.
          nullable: true
          maxLength: 10
        sin:
          type: string
          description: >-
            This attribute is deprecated and will be removed.


            The employee's Social Insurance Number (SIN), used for tax
            reporting.


            If you only need the last 3 digits for display purposes, use
            `sin_last_3` instead. If you need the complete SIN, use the
            `/employees/:id/reveal` endpoint instead. Note the `/reveal`
            endpoint can only reveal one employee at a time and is rate-limited
            for security reasons.
          nullable: true
          deprecated: true
        sin_last_3:
          type: string
          description: >-
            The last 3 digits of the employee's Social Insurance Number (SIN).
            `null` if no SIN has been provided.
          nullable: true
        date_of_birth:
          type: string
          description: The employee's date of birth.
          nullable: true
          format: date
        warnings:
          type: object
          description: >-
            A collection of data validation warnings for this employee. Warnings
            indicate incomplete or potentially incorrect data and could prevent
            payroll processing.
          nullable: true
          properties:
            object:
              type: string
              nullable: true
            data:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  object:
                    type: string
                    nullable: true
                  data:
                    type: object
                    nullable: true
                    properties:
                      namespace:
                        type: string
                        nullable: true
                      type:
                        type: string
                        nullable: true
        external_ref:
          type: string
          description: >-
            A reference to the object in an external system, e.g. the primary
            key of the object in your application's database. Nmbr doesn't use,
            validate, parse, or require this value to be unique - it simply
            stores it for your reference.
          nullable: true
          maxLength: 255
        preferred_locale:
          type: string
          description: >-
            The locale used for payroll communications sent to this employee,
            such as Pay Stub emails. If not set, the Business Entity's locale is
            used.
          nullable: true
          enum:
            - en
            - fr
        archived_at:
          type: string
          description: >-
            The date the employee was archived. Archiving an employee also
            archives all Work Assignments that are not already archived.
            Archived employees do not appear in active listings.
          readOnly: true
          nullable: true
          format: dateTime
        created_at:
          type: string
          description: The date and time the object was created in Nmbr.
          readOnly: true
          format: dateTime
        updated_at:
          type: string
          description: The date and time the object was last updated in Nmbr.
          readOnly: true
          format: dateTime
  securitySchemes:
    CompanyToken:
      type: http
      scheme: bearer

````