New API version v7.7.0 has been released! 🎉
REST Documentation
PUT Update Employee

Update employee

Use this endpoint to update an existing employee.

Request

PUT /api/v1/employees/{username}
curl --request PUT \
     --url 'https://www.zep-online.de/zepinstanz/next/api/v1/employees/john.doe' \
     --header 'Accept: application/json' \
     --header 'Authorization: Bearer {token}' \
     --header 'Content-Type: application/json' \
     --data '{
         "firstname": "John",
         "lastname": "Doe",
         "email": "john.doe@example.com",
         "phone": "+49 30 987654",
         "department_id": 43,
         "rights": "1",
         "employment": "0",
         "birthdate": "1990-01-15",
         "street": "New Street 456",
         "zip": "10117",
         "city": "Berlin",
         "country": "Germany"
     }'

Response

{
    "data": {
        "id": 12345,
        "username": "john.doe",
        "firstname": "John",
        "lastname": "Doe",
        "email": "john.doe@example.com",
        "price_group": "Standard",
        "department_id": 43,
        "phone": "+49 30 987654",
        "rights": "1",
        "employment": "0",
        "birthdate": "1990-01-15",
        "street": "New Street 456",
        "zip": "10117",
        "city": "Berlin",
        "country": "Germany",
        "salutation": null,
        "abbreviation": null,
        "title": null,
        "mobile": null,
        "fax": null,
        "created": "2024-09-17T10:15:47.000000Z",
        "modified": "2025-10-07T14:30:22.000000Z"
    }
}

Required Parameters

  • Name
    username
    Type
    string
    Description

    Username (cannot be changed, must match current value)

Optional Parameters

  • Name
    firstname
    Type
    string
    Description

    First name of the employee (max. 255 characters).

  • Name
    lastname
    Type
    string
    Description

    Last name of the employee (max. 255 characters).

  • Name
    email
    Type
    string
    Description

    Email address (must be unique, max. 255 characters).

  • Name
    personal_number
    Type
    string
    Description

    Personal number (must be unique if provided).

  • Name
    birthdate
    Type
    date | Y-m-d
    Description

    Employee's date of birth.

  • Name
    phone
    Type
    string
    Description

    Business phone number.

  • Name
    department_id
    Type
    integer
    Description

    Department ID.

  • Name
    rights
    Type
    string | enum
    Description

    Access rights: 0 (User), 1 (Admin), 2 (Controller), 3 (User with extended rights), 4 (Project Controller).

  • Name
    employment
    Type
    string | enum
    Description

    Employment type: 0 (Permanent), 1 (Freelancer), 2 (Student), 3 (Working student).

  • Name
    price_group
    Type
    string
    Description

    Price group name.

  • Name
    oauth_username
    Type
    string
    Description

    OAuth username for SSO integration (must be unique).

  • Name
    salutation
    Type
    string | enum
    Description

    Salutation: 1 (Mr.), 2 (Ms.), 3 (Diverse).

  • Name
    street
    Type
    string
    Description

    Street and house number (max. 64 characters).

  • Name
    zip
    Type
    string
    Description

    Postal code (max. 32 characters).

  • Name
    city
    Type
    string
    Description

    City (max. 64 characters).

  • Name
    country
    Type
    string
    Description

    Country (max. 64 characters).

  • Name
    abbreviation
    Type
    string
    Description

    Abbreviation (max. 32 characters).

  • Name
    title
    Type
    string
    Description

    Academic title (max. 32 characters).

  • Name
    mobile
    Type
    string
    Description

    Mobile phone number (max. 32 characters).

  • Name
    fax
    Type
    string
    Description

    Fax number (max. 32 characters).

  • Name
    language
    Type
    string
    Description

    Language code (max. 32 characters).

  • Name
    active
    Type
    boolean
    Description

    Status: Active or inactive.

  • Name
    target_hours_monthly
    Type
    string
    Description

    Monthly target working hours.

  • Name
    target_hours_annual
    Type
    string
    Description

    Annual target working hours.

Notes

  • The username cannot be changed
  • The email must be unique if provided
  • personal_number and oauth_username must also be unique
  • All fields are optional except username, which is used to identify the employee