Create Employee
This endpoint allows you to create a new employee.
Request
curl --request POST \
--url 'https://www.zep-online.de/zepinstanz/next/api/v1/employees' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"username": "john.doe",
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@example.com",
"password": "SecurePassword123!",
"price_group": "Standard",
"personal_number": "EMP-001",
"birth_date": "1990-01-15",
"phone": "+49 30 123456",
"department_id": 1,
"rights": 0,
"employment": 0,
"oauth_username": "john.doe@oauth",
"salutation": 1,
"street": "Main Street 123",
"zip": "10115",
"city": "Berlin",
"country": "Germany",
"abbreviation": "JD",
"title": "Dr.",
"mobile": "+49 151 123456",
"fax": "+49 30 123457",
"private_phone": "+49 30 654321",
"iban": "DE89370400440532013000",
"bic": "COBADEFFXXX",
"account_no": "532013000",
"bank_name": "Commerzbank",
"bank_code": "37040044",
"currency": "EUR",
"vat": "19.00",
"personio_id": "P123",
"cost_bearer": "DEPT-01",
"tax_id": "123456789",
"creditor_number": "CR-001"
}'
Response
{
"data": {
"id": 12345,
"username": "john.doe",
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@example.com",
"price_group": "Standard",
"department_id": 42,
"phone": "+49 30 123456",
"rights": "0",
"employment": "0",
"birthdate": "1990-01-15",
"street": "Main Street 123",
"zip": "10115",
"city": "Berlin",
"country": "Germany",
"created": "2024-09-17T10:15:47.000000Z",
"modified": "2024-09-17T10:15:47.000000Z"
}
}
Required Parameters
- Name
username
- Type
- string
- Description
Unique username. Between 1-32 characters. Must not be a reserved system username.
- Name
firstname
- Type
- string
- Description
First name of the employee. Max 32 characters.
- Name
lastname
- Type
- string
- Description
Last name of the employee. Max 64 characters.
- Name
email
- Type
- string | email
- Description
Unique email address. Max 64 characters. Must be valid email format.
- Name
password
- Type
- string
- Description
Password. Minimum 8 characters, max 64. If not provided, a random password will be generated.
- Name
price_group
- Type
- string
- Description
Name of an existing price group. Required unless in compact basis or clock mode (then defaults to first active).
Optional Parameters
Basic Information
- Name
personal_number
- Type
- string
- Description
Personal/Employee number. Max 32 characters. Must be unique if provided.
- Name
birth_date
- Type
- date | Y-m-d
- Description
Birth date of the employee.
- Name
phone
- Type
- string
- Description
Work phone number.
- Name
department_id
- Type
- integer
- Description
ID of the department. Defaults to default department if not provided.
- Name
rights
- Type
- integer | enum
- Description
Access rights (EmployeeRights enum). Default is 0 (USER).
- Name
employment
- Type
- integer | enum
- Description
Employment type (EmploymentType enum). Default is 0 (EMPLOYEE).
- Name
oauth_username
- Type
- string
- Description
OAuth username for SSO. Must be unique if provided.
Address Information
- Name
street
- Type
- string
- Description
Street address.
- Name
zip
- Type
- string
- Description
Postal code.
- Name
city
- Type
- string
- Description
City.
- Name
country
- Type
- string
- Description
Country.
Personal Information
- Name
salutation
- Type
- integer | enum
- Description
Salutation (Salutation enum). Default is 3 (VARIOUS).
- Name
title
- Type
- string
- Description
Title (e.g., Dr., Prof.). Max 32 characters.
- Name
abbreviation
- Type
- string
- Description
Employee abbreviation. 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
private_phone
- Type
- string
- Description
Private phone number. Max 32 characters.
Banking Information
- Name
iban
- Type
- string
- Description
IBAN. Max 34 characters.
- Name
bic
- Type
- string
- Description
BIC/SWIFT code. Max 11 characters.
- Name
account_no
- Type
- string
- Description
Account number. Max 32 characters.
- Name
bank_name
- Type
- string
- Description
Bank name. Max 64 characters.
- Name
bank_code
- Type
- string
- Description
Bank code. Max 32 characters.
- Name
currency
- Type
- string
- Description
Currency code. Max 32 characters.
Additional Information
- Name
approval_date
- Type
- date | Y-m-d
- Description
Approval date.
- Name
vat
- Type
- decimal
- Description
VAT rate. Decimal with up to 4 decimal places.
- Name
personio_id
- Type
- string
- Description
Personio ID. Max 32 characters.
- Name
cost_bearer
- Type
- string
- Description
Cost bearer. Max 32 characters.
- Name
tax_id
- Type
- string
- Description
Tax ID. Max 32 characters.
- Name
creditor_number
- Type
- string
- Description
Creditor number. Max 32 characters.
- Name
categories
- Type
- array
- Description
Array of category assignments.
- Name
dynamic_attributes
- Type
- array
- Description
Array of dynamic attribute values.