---
title: "Create User"
method: POST
path: "/api/v1/users"
tags: ["Users"]
---

# Create User

`POST /api/v1/users`

Create a User

## Request body

- object
  - `data` object, required
    - `attributes` RequestsUserUpsert, required
      - `email` string, email, required
      - `work_email` string, email
      - `first_name` string, required — Must not contain numbers or any of the following special characters !@#$%^&*()
      - `last_name` string, required — Must not contain numbers or any of the following special characters !@#$%^&*()
      - `middle_name` string — Must not contain numbers or any of the following special characters !@#$%^&*()
      - `start_date` string, YYYY-MM-DD, required
      - `employee_type` string, required — See reference values here for allowed employee type values.
      - `candidate_status` string, required — See reference values here for allowed candidate status values.
      - `legal_entity` string — See reference values here for existing legal entity values.
      - `cost_center_id` string, required — See reference values here for existing cost center values.
      - `relocation_type` string — Allowes the relocation type values.
      - `blocked` boolean — Disable or enable a user account in Xpand.
      - `reason_blocked` string — A brief description of why the user why the user account is being disabled in Xpand
      - `external_ids` object, required — This is the collection of unique id of the Applicant Tracking System (ATS) and employee id of the Human Resource Information Systems (HRIS)
        - `ats_id` string
        - `hris_id` string
      - `office_location_id` object, required — JSON where key is name of external service, e.g. {'HRIS_ID': 'NEWYORK'. There must be an office location in Xpand with a matching employee id. See reference values here for existing office location external ids
        - `workday` string
      - `recruiter_ids` object, required — JSON where key is name of external service, e.g. {:recruiter=>{'HRIS_SYS'=>'12345'}, recruiting_manager=>{'HRIS_SYS'=>'56789'}} (There must be a recruiter in Xpand or HRIS_SYS(Ex: workday) with a matching employee id)
        - `recruiter` object
          - `hris_id` string
        - `recruiting_coordinator` object
          - `hris_id` string
        - `recruiting_manager` object
          - `hris_id` string
      - `manager_ids` object — JSON where key is name of external service, e.g. {'HRIS_SYS': ['123456', '45678']} (There must be a manager in Xpand or HRIS with a matching employee id)
        - `hris_id` string[]
      - `documents` ModelsDocument[]
        - `document_type` string
        - `document_number` string
        - `document_title` string
        - `document_description` string
        - `issuer` string
        - `issuer_city` string
        - `issuer_state` string
        - `issuer_country` string
        - `issued_date` string, YYYY-MM-DD
        - `expiry_date` string, YYYY-MM-DD
        - `attachments` ModelsAttachment[]
          - `file_name` string
          - `file_content_base64` string, Base64
          - `responses` object — Responses provided in PDF form fields (only present when attachment is a PDF with form fields)
            - `field_name_1` string
            - `field_name_2` string
      - `educations` ModelsEducation[]
        - `school_name` string
        - `degree` string
        - `student_id` string
        - `time_type` string
        - `major` string
        - `minor` string
        - `gpa` number, float
        - `specialization` string
        - `graduation_date` string, YYYY-MM-DD
        - `grade` string
        - `name_while_attending` string
        - `start_date` string, YYYY-MM-DD
        - `end_date` string, YYYY-MM-DD
        - `address` ModelsAddress
          - `line_1` string
          - `line_2` string
          - `line_3` string
          - `city` string, required
          - `state` string
          - `postal_code` string
          - `country` string, required
          - `current` boolean
          - `permanent` boolean
          - `start_date` string, YYYY-MM-DD
          - `end_date` string, YYYY-MM-DD
        - `attachments` ModelsAttachment[]
          - `file_name` string
          - `file_content_base64` string, Base64
          - `responses` object — Responses provided in PDF form fields (only present when attachment is a PDF with form fields)
            - `field_name_1` string
            - `field_name_2` string
      - `work_experiences` ModelsWorkExperience[]
        - `employer` string
        - `employee_id` string
        - `current` boolean
        - `job_title` string
        - `department` string
        - `employment_type` string
        - `reason_for_leaving` string
        - `salary` integer
        - `manager_name` string
        - `manager_phone` string
        - `manager_email` string, email
        - `hr_name` string
        - `hr_phone` string
        - `hr_email` string, email
        - `start_date` string, YYYY-MM-DD
        - `end_date` string, YYYY-MM-DD
        - `address` ModelsAddress
          - `line_1` string
          - `line_2` string
          - `line_3` string
          - `city` string, required
          - `state` string
          - `postal_code` string
          - `country` string, required
          - `current` boolean
          - `permanent` boolean
          - `start_date` string, YYYY-MM-DD
          - `end_date` string, YYYY-MM-DD
        - `attachments` ModelsAttachment[]
          - `file_name` string
          - `file_content_base64` string, Base64
          - `responses` object — Responses provided in PDF form fields (only present when attachment is a PDF with form fields)
            - `field_name_1` string
            - `field_name_2` string
      - `addresses` ModelsAddress[]
        - `line_1` string
        - `line_2` string
        - `line_3` string
        - `city` string, required
        - `state` string
        - `postal_code` string
        - `country` string, required
        - `current` boolean
        - `permanent` boolean
        - `start_date` string, YYYY-MM-DD
        - `end_date` string, YYYY-MM-DD
      - `phone_numbers` ModelsPhoneNumber[]
        - `number` string — E.164 Format
        - `type` 'mobile' | 'landline' | 'unknown'
        - `primary` boolean

## Response `200`

The request has succeeded.

- object
  - `data` ResponsesUserCreate, required
    - `id` string, uuid, required

---

[API](https://skmtc.net/xpand-io/apis/xpand-api.md) · [All operations](https://skmtc.net/xpand-io/apis/xpand-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xpand-io/xpand-api/versions/85bece7875fd/schema)
