Create Project
You can use this endpoint to create a new project.
Request
curl --request POST \
--url 'https://www.zep-online.de/zepinstanz/next/api/v1/projects' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "Website Redesign Project",
"description": "Complete redesign of the company website with modern UI/UX",
"start_date": "2024-10-01",
"end_date": "2024-12-31",
"project_status_id": "aktiv",
"customer_id": 12345,
"department_id": 1,
"plan_hours": 500.0,
"plan_can_exceed": 2,
"billing_type": "hourly"
}'
Response
{
"data": {
"id": 42,
"name": "Website Redesign Project",
"description": "Complete redesign of the company website with modern UI/UX",
"start_date": "2024-10-01T00:00:00.000000Z",
"end_date": "2024-12-31T00:00:00.000000Z",
"project_status_id": "aktiv",
"status": {
"id": "aktiv",
"name": "active",
"description": "Project is active and can be worked on",
"bookable": true,
"order": 0,
"color": "#008B00"
},
"comments": null,
"customer_id": 12345,
"department_id": 1,
"plan_hours": "500.0000000000",
"plan_can_exceed": {
"id": 2,
"name": "No, all times can not exceed the plan hours"
},
"billing_type": "hourly",
"created": "2024-09-12T10:30:00.000000Z",
"modified": "2024-09-12T10:30:00.000000Z",
"categories": [],
"dynamicAttributes": [],
"tasks_count": 0,
"employees_count": 0,
"activities_count": 0,
"priceTables": []
}
}
Required Parameters
- Name
name
- Type
- string
- Description
The project name. Max 64 characters. Must be unique.
- Name
department_id
- Type
- integer
- Description
The ID of the department. Must exist in the departments table.
- Name
start_date
- Type
- date | Y-m-d
- Description
Project start date.
Optional Parameters
Basic Information
- Name
description
- Type
- string
- Description
Project description. Max 255 characters.
- Name
end_date
- Type
- date | Y-m-d
- Description
Project end date. Must be after start_date.
- Name
customer_id
- Type
- integer
- Description
ID of the associated customer.
- Name
comments
- Type
- string
- Description
Comments or notes about the project.
- Name
cost_object
- Type
- string
- Description
Cost object identifier. Max 32 characters.
Planning & Budget
- Name
plan_hours
- Type
- numeric
- Description
Planned hours for the project. Minimum 0.
- Name
plan_wage
- Type
- numeric
- Description
Planned wage costs. Minimum 0.
- Name
plan_expenses
- Type
- numeric
- Description
Planned expenses. Minimum 0.
- Name
plan_expenses_travel
- Type
- numeric
- Description
Planned travel expenses. Minimum 0.
- Name
plan_can_exceed
- Type
- integer | enum
- Description
Whether project hours can exceed the planned hours. Possible values:
0
= Yes, all times can exceed the plan hours1
= Yes, but only non-billable times can exceed the plan hours2
= No, all times can not exceed the plan hours3
= Yes, but only travel or non-billable times can exceed the plan hours4
= Yes, but only travel times can exceed the plan hours
Billing Settings
- Name
billing_type
- Type
- string | enum
- Description
Billing type. Must be a valid BillingType enum value.
- Name
default_billability
- Type
- string | enum
- Description
Default billability setting. Must be a valid DefaultBillability enum value.
- Name
receipts_billability
- Type
- string | enum
- Description
Receipts billability setting. Must be a valid ReceiptsBillability enum value.
- Name
currency
- Type
- string
- Description
Project currency code.
- Name
language
- Type
- string | enum
- Description
Project language. Must be a valid Language enum value.
Location
- Name
location_address
- Type
- string
- Description
Project location address. Max 64 characters.
- Name
location_city
- Type
- string
- Description
Project location city. Max 64 characters.
- Name
location_state
- Type
- string
- Description
Project location state/province. Max 64 characters.
- Name
location_country
- Type
- string
- Description
Project location country. Max 32 characters.
Related Entities (Arrays)
- Name
tasks
- Type
- array
- Description
Array of tasks to create with the project.
- Name
tasks.*.name
- Type
- string
- Description
Task name. Required if tasks array is provided. Max 255 characters.
- Name
tasks.*.description
- Type
- string
- Description
Task description. Required if tasks array is provided. Max 255 characters.
- Name
tasks.*.status
- Type
- string
- Description
Task status. Required if tasks array is provided. Max 64 characters.
- Name
tasks.*.children
- Type
- array
- Description
Array of subtasks.
- Name
activities
- Type
- array
- Description
Array of activities to assign.
- Name
activities.*.id
- Type
- string
- Description
Activity ID. Required if activities array is provided. Max 32 characters.
- Name
employees
- Type
- array
- Description
Array of employees to assign.
- Name
employees.*.employee_id
- Type
- string
- Description
Employee ID. Required if employees array is provided.
- Name
employees.*.price_group_name
- Type
- string
- Description
Price group name. Required if employees array is provided.
- Name
employee_positions
- Type
- array
- Description
Array of employee positions.
- Name
employee_positions.*.employee_id
- Type
- string
- Description
Employee ID. Required if employee_positions array is provided.
- Name
employee_positions.*.type
- Type
- string | enum
- Description
Position type. Required if employee_positions array is provided. Must be valid ProjectEmployeePositionType enum.
- Name
employee_positions.*.lead
- Type
- boolean
- Description
Whether the employee is a lead.