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

# Get personal data form

> Get the form for updating an employee's personal data.

<Warning>**Closed Beta Feature:** This endpoint is now in closed beta. Please reach out to your account manager or [support](mailto:support@kombo.dev).</Warning>

Display the returned fields in your app, then submit the values to [Update personal data](/hris/v1/patch-employees-employee-id-form-personal-data).

See [Update Employee](/hris/features/update-employee) for the workflow.

### Example Form

```json theme={null}
{
  "properties": {
    "lastName": {
      "type": "text",
      "label": "Last Name",
      "required": false,
      "description": "Employee's last name",
      "unified_key": "last_name",
      "reg_exp": null,
      "current_value": "Doe"
    },
    "homeCity": {
      "type": "text",
      "label": "City",
      "required": false,
      "description": "City of the employee's home address",
      "unified_key": "home_address.city",
      "reg_exp": null,
      "current_value": "Munich"
    },
    "homeAddressLine2": {
      "type": "text",
      "label": "Address Line 2",
      "required": false,
      "description": "Second line of the employee's home address",
      "unified_key": "home_address.street_2",
      "reg_exp": null,
      "current_value": "Apartment 4"
    }
  }
}
```


## OpenAPI

````yaml GET /hris/employees/{employee_id}/form/personal_data
openapi: 3.1.0
info:
  title: Kombo API
  version: 1.0.0
servers:
  - url: https://api.kombo.dev/v1
    description: Kombo EU API
  - url: https://api.us.kombo.dev/v1
    description: Kombo US API
  - url: https://api.ca.kombo.dev/v1
    description: Kombo CA API
security:
  - ApiKey: []
tags:
  - name: General
  - name: Kombo Connect
    description: >-
      Endpoints for Kombo Connect, our end-user-facing flow for setting up new
      integrations.
  - name: Unified HRIS API
    description: Unified endpoints to access all the HR concepts you might need.
  - name: Unified ATS API
    description: Unified endpoints to access all the ATS concepts you might need.
  - name: Unified ATS (Assessment & Background Check) API
    description: >-
      Unified endpoints to operate Assessments and Background Checks for many
      applicant tracking systems.
  - name: Unified LMS API
    description: Unified endpoints to access all the LMS concepts you might need.
  - name: AI Apply
    description: Endpoints for AI-powered job application features.
  - name: Custom Endpoints
    description: Custom integration-specific endpoints.
paths:
  /hris/employees/{employee_id}/form/personal_data:
    get:
      tags:
        - Unified HRIS API
      summary: Get personal data form
      description: >-
        Get the form for updating an employee's personal data.




        <Warning>**Closed Beta Feature:** This endpoint is now in closed beta.
        Please reach out to your account manager or
        [support](mailto:support@kombo.dev).</Warning>




        Display the returned fields in your app, then submit the values to
        [Update personal
        data](/hris/v1/patch-employees-employee-id-form-personal-data).


        See [Update Employee](/hris/features/update-employee) for the workflow.


        ### Example Form

        ```json

        {
          "properties": {
            "lastName": {
              "type": "text",
              "label": "Last Name",
              "required": false,
              "description": "Employee's last name",
              "unified_key": "last_name",
              "reg_exp": null,
              "current_value": "Doe"
            },
            "homeCity": {
              "type": "text",
              "label": "City",
              "required": false,
              "description": "City of the employee's home address",
              "unified_key": "home_address.city",
              "reg_exp": null,
              "current_value": "Munich"
            },
            "homeAddressLine2": {
              "type": "text",
              "label": "Address Line 2",
              "required": false,
              "description": "Second line of the employee's home address",
              "unified_key": "home_address.street_2",
              "reg_exp": null,
              "current_value": "Apartment 4"
            }
          }
        }

        ```
      operationId: GetHrisEmployeesEmployeeIdFormPersonalData
      parameters:
        - in: header
          name: X-Integration-Id
          schema:
            type: string
          description: ID of the integration you want to interact with.
          example: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
          required: true
        - name: employee_id
          in: path
          required: true
          description: The Kombo ID or the HRIS ID of the employee.
          schema:
            $ref: >-
              #/components/schemas/GetHrisEmployeesEmployeeIdFormPersonalDataParameterEmployeeId
          examples:
            example1:
              value: remote:12345
      responses:
        '200':
          description: >-
            GET /hris/employees/:employee_id/form/personal_data Positive
            response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/GetHrisEmployeesEmployeeIdFormPersonalDataPositiveResponse
              examples:
                example1:
                  value:
                    status: success
                    data:
                      properties:
                        lastName:
                          label: Last Name
                          required: false
                          description: Employee's last name
                          unified_key: last_name
                          type: text
                          reg_exp: null
                          current_value: Doe
                        homeCity:
                          label: City
                          required: false
                          description: City of the employee's home address
                          unified_key: home_address.city
                          type: text
                          reg_exp: null
                          current_value: Munich
                        homeAddressLine2:
                          label: Address Line 2
                          required: false
                          description: Second line of the employee's home address
                          unified_key: home_address.street_2
                          type: text
                          reg_exp: null
                          current_value: Apartment 4
        default:
          $ref: '#/components/responses/ErrorResponseHRIS'
components:
  schemas:
    GetHrisEmployeesEmployeeIdFormPersonalDataParameterEmployeeId:
      type: string
      description: The Kombo ID or the HRIS ID of the employee.
      examples:
        - remote:12345
    GetHrisEmployeesEmployeeIdFormPersonalDataPositiveResponse:
      type: object
      properties:
        status:
          type: string
          const: success
        data:
          type: object
          properties:
            properties:
              type: object
              additionalProperties:
                discriminator:
                  propertyName: type
                anyOf:
                  - type: object
                    properties:
                      label:
                        type: string
                      required:
                        type: boolean
                      description:
                        type:
                          - string
                          - 'null'
                      unified_key:
                        type:
                          - string
                          - 'null'
                        enum:
                          - first_name
                          - last_name
                          - date_of_birth
                          - gender
                          - home_address.city
                          - home_address.country
                          - home_address.state
                          - home_address.street_1
                          - home_address.street_2
                          - home_address.zip_code
                          - job_title
                          - legal_entity_id
                          - location_id
                          - mobile_phone_number
                          - home_phone_number
                          - nationality
                          - start_date
                          - work_email
                          - private_email
                          - yearly_salary
                      type:
                        type: string
                        const: text
                      reg_exp:
                        type:
                          - string
                          - 'null'
                      current_value:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The value in the HRIS today, so your users only edit
                          what changes. `null` means the field is empty. Left
                          out when the HRIS doesn't let us read the field.
                    required:
                      - label
                      - required
                      - type
                  - type: object
                    properties:
                      label:
                        type: string
                      required:
                        type: boolean
                      description:
                        type:
                          - string
                          - 'null'
                      unified_key:
                        type:
                          - string
                          - 'null'
                        enum:
                          - first_name
                          - last_name
                          - date_of_birth
                          - gender
                          - home_address.city
                          - home_address.country
                          - home_address.state
                          - home_address.street_1
                          - home_address.street_2
                          - home_address.zip_code
                          - job_title
                          - legal_entity_id
                          - location_id
                          - mobile_phone_number
                          - home_phone_number
                          - nationality
                          - start_date
                          - work_email
                          - private_email
                          - yearly_salary
                      type:
                        type: string
                        const: number
                      min:
                        type:
                          - number
                          - 'null'
                        format: double
                      max:
                        type:
                          - number
                          - 'null'
                        format: double
                      current_value:
                        type:
                          - number
                          - 'null'
                        format: double
                        description: >-
                          The value in the HRIS today, so your users only edit
                          what changes. `null` means the field is empty. Left
                          out when the HRIS doesn't let us read the field.
                    required:
                      - label
                      - required
                      - type
                  - type: object
                    properties:
                      label:
                        type: string
                      required:
                        type: boolean
                      description:
                        type:
                          - string
                          - 'null'
                      unified_key:
                        type:
                          - string
                          - 'null'
                        enum:
                          - first_name
                          - last_name
                          - date_of_birth
                          - gender
                          - home_address.city
                          - home_address.country
                          - home_address.state
                          - home_address.street_1
                          - home_address.street_2
                          - home_address.zip_code
                          - job_title
                          - legal_entity_id
                          - location_id
                          - mobile_phone_number
                          - home_phone_number
                          - nationality
                          - start_date
                          - work_email
                          - private_email
                          - yearly_salary
                      type:
                        type: string
                        const: date
                      current_value:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The value in the HRIS today, so your users only edit
                          what changes. `null` means the field is empty. Left
                          out when the HRIS doesn't let us read the field.
                    required:
                      - label
                      - required
                      - type
                  - type: object
                    properties:
                      label:
                        type: string
                      required:
                        type: boolean
                      description:
                        type:
                          - string
                          - 'null'
                      unified_key:
                        type:
                          - string
                          - 'null'
                        enum:
                          - first_name
                          - last_name
                          - date_of_birth
                          - gender
                          - home_address.city
                          - home_address.country
                          - home_address.state
                          - home_address.street_1
                          - home_address.street_2
                          - home_address.zip_code
                          - job_title
                          - legal_entity_id
                          - location_id
                          - mobile_phone_number
                          - home_phone_number
                          - nationality
                          - start_date
                          - work_email
                          - private_email
                          - yearly_salary
                      type:
                        type: string
                        const: single_select
                      options:
                        discriminator:
                          propertyName: type
                        anyOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                const: inline
                              entries:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    label:
                                      type: string
                                    unified_value:
                                      type: string
                                    remote_id:
                                      oneOf:
                                        - type: string
                                        - type: number
                                          format: double
                                  required:
                                    - id
                                    - label
                                    - remote_id
                            required:
                              - type
                              - entries
                          - type: object
                            properties:
                              type:
                                type: string
                                const: referenced
                              link:
                                type: string
                            required:
                              - type
                              - link
                      current_value:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The value in the HRIS today, so your users only edit
                          what changes. `null` means the field is empty. Left
                          out when the HRIS doesn't let us read the field.
                    required:
                      - label
                      - required
                      - type
                      - options
                  - type: object
                    properties:
                      label:
                        type: string
                      required:
                        type: boolean
                      description:
                        type:
                          - string
                          - 'null'
                      unified_key:
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                        const: multi_select
                      min_items:
                        type:
                          - number
                          - 'null'
                        format: double
                      max_items:
                        type:
                          - number
                          - 'null'
                        format: double
                      options:
                        discriminator:
                          propertyName: type
                        anyOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                const: inline
                              entries:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    label:
                                      type: string
                                    unified_value:
                                      type: string
                                    remote_id:
                                      oneOf:
                                        - type: string
                                        - type: number
                                          format: double
                                  required:
                                    - id
                                    - label
                                    - remote_id
                            required:
                              - type
                              - entries
                          - type: object
                            properties:
                              type:
                                type: string
                                const: referenced
                              link:
                                type: string
                            required:
                              - type
                              - link
                      current_value:
                        type:
                          - array
                          - 'null'
                        items:
                          type: string
                        description: >-
                          The value in the HRIS today, so your users only edit
                          what changes. `null` means the field is empty. Left
                          out when the HRIS doesn't let us read the field.
                    required:
                      - label
                      - required
                      - type
                      - options
                  - type: object
                    properties:
                      label:
                        type: string
                      required:
                        type: boolean
                      description:
                        type:
                          - string
                          - 'null'
                      unified_key:
                        type:
                          - string
                          - 'null'
                        enum:
                          - first_name
                          - last_name
                          - date_of_birth
                          - gender
                          - home_address.city
                          - home_address.country
                          - home_address.state
                          - home_address.street_1
                          - home_address.street_2
                          - home_address.zip_code
                          - job_title
                          - legal_entity_id
                          - location_id
                          - mobile_phone_number
                          - home_phone_number
                          - nationality
                          - start_date
                          - work_email
                          - private_email
                          - yearly_salary
                      type:
                        type: string
                        const: checkbox
                      current_value:
                        type:
                          - boolean
                          - 'null'
                        description: >-
                          The value in the HRIS today, so your users only edit
                          what changes. `null` means the field is empty. Left
                          out when the HRIS doesn't let us read the field.
                    required:
                      - label
                      - required
                      - type
          required:
            - properties
          examples:
            - properties:
                lastName:
                  label: Last Name
                  required: false
                  description: Employee's last name
                  unified_key: last_name
                  type: text
                  reg_exp: null
                  current_value: Doe
                homeCity:
                  label: City
                  required: false
                  description: City of the employee's home address
                  unified_key: home_address.city
                  type: text
                  reg_exp: null
                  current_value: Munich
                homeAddressLine2:
                  label: Address Line 2
                  required: false
                  description: Second line of the employee's home address
                  unified_key: home_address.street_2
                  type: text
                  reg_exp: null
                  current_value: Apartment 4
      required:
        - status
        - data
  responses:
    ErrorResponseHRIS:
      description: The standard error response with the error codes for the HRIS use case.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              error:
                type: object
                properties:
                  code:
                    type:
                      - string
                      - 'null'
                    enum:
                      - PLATFORM.RATE_LIMIT_EXCEEDED
                      - PLATFORM.CONCURRENCY_LIMIT_EXCEEDED
                      - PLATFORM.INTEGRATION_NOT_FOUND
                      - PLATFORM.INPUT_INVALID
                      - PLATFORM.UNKNOWN_ERROR
                      - PLATFORM.IP_NOT_WHITELISTED
                      - PLATFORM.AUTHENTICATION_INVALID
                      - PLATFORM.TASK_TIMED_OUT
                      - INTEGRATION.PERMISSION_MISSING
                      - INTEGRATION.AUTHENTICATION_INVALID
                      - INTEGRATION.QA_FAILED
                      - INTEGRATION.SETUP_SYNC_PENDING
                      - INTEGRATION.SETUP_INCOMPLETE
                      - INTEGRATION.INACTIVE
                      - INTEGRATION.MODEL_NOT_AVAILABLE
                      - INTEGRATION.MODEL_DISABLED
                      - INTEGRATION.ACTION_NOT_AVAILABLE
                      - INTEGRATION.ACTION_DISABLED
                      - REMOTE.SERVICE_UNAVAILABLE
                      - REMOTE.RATE_LIMIT_EXCEEDED
                      - REMOTE.INPUT_INVALID
                      - REMOTE.UNKNOWN_HTTP_ERROR
                      - HRIS.STAFFING_ENTITY_CLOSED
                      - HRIS.EMPLOYEE_ALREADY_EXISTS
                    example: HRIS.EMPLOYEE_ALREADY_EXISTS
                    description: >-
                      Some errors include an error code that can be used to
                      identify their cause. See the [Error Handling
                      Docs](https://docs.kombo.dev/guides/errors) for more
                      information. For your error handling logic please use the
                      error `code` instead of other properties (e.g. message,
                      http status code, ...).
                  title:
                    type:
                      - string
                      - 'null'
                    description: A static, human-readable label.
                  message:
                    type: string
                    description: >-
                      A dynamic, detailed description of what went wrong in this
                      specific instance.
                  log_url:
                    type:
                      - string
                      - 'null'
                    format: uri
                    description: >-
                      The log page in the Kombo UI lists every interaction with
                      full details. If you need assistance, share that link with
                      our support team.
                required:
                  - code
                  - title
                  - message
                  - log_url
                description: Error details with structured code for programmatic handling.
            required:
              - status
              - error
          examples:
            Error Response:
              description: >-
                When building error handling logic, always use the `code` field
                to identify specific error types programmatically. See the
                complete list of error codes in the
                [docs](https://docs.kombo.dev/guides/errors).
              value:
                status: error
                error:
                  code: INTEGRATION.MODEL_NOT_AVAILABLE
                  title: >-
                    This data model isn't supported for the selected
                    integration.
                  message: >-
                    The "employees" model is not yet available for Greenhouse.
                    Please reach out to Kombo if you need this functionality.
                  log_url: https://app.kombo.dev/my-prod/logs?interactionId=123456
            Minimal Error Response:
              description: >-
                The "message" is always required while other fields can also be
                `null`. See the [docs](https://docs.kombo.dev/guides/errors) for
                more information.
              value:
                status: error
                error:
                  code: null
                  title: null
                  message: The message is always in the response.
                  log_url: null
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Create an API key on the [Secrets](https://app.kombo.dev/secrets) page
        in the Kombo dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.