New API version v7.7.0 has been released! 🎉
REST Documentation
POST Create Project

Create Project

You can use this endpoint to create a new project.

Request

POST /api/v1/projects
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 hours
    • 1 = Yes, but only non-billable times can exceed the plan hours
    • 2 = No, all times can not exceed the plan hours
    • 3 = Yes, but only travel or non-billable times can exceed the plan hours
    • 4 = 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.