List projects
Returns a paginated list of projects, filterable by the query parameters this endpoint accepts.
Availability: Full version only — a Clock instance answers 404 for this endpoint.
Request
curl --request GET \
--url 'https://www.zep-online.de/zepinstanz/next/api/v1/projects' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}'Query parameters
- Name
perPage- Type
- integer, nullable
- Description
Ignored on this endpoint — send
limitinstead. Any value given here is replaced bylimit, or by the default whenlimitis absent.
- Name
page- Type
- integer, nullable
- Description
The page of results to return, counting from 1.
- Name
orderBy- Type
- string, nullable
- Description
Name of the field to sort by.
- Name
order- Type
- string, nullable
- Description
Sort direction, ascending or descending.
One of:
"asc","desc"
- Name
limit- Type
- integer, nullable
- Description
The number of records per page, 1 to 200. Defaults to 15.
- Name
modified_after- Type
- string (date-time)
- Description
Only return records modified after this timestamp (ISO 8601, or “Y-m-d H:i:s”).
- Name
modified_before- Type
- string (date-time)
- Description
Only return records modified before or at this timestamp (ISO 8601, or “Y-m-d H:i:s”).
- Name
start_date- Type
- string (date), nullable
- Description
- Name
end_date- Type
- string (date), nullable
- Description
- Name
id[]- Type
- array of string, nullable
- Description
- Name
status- Type
- string, nullable
- Description
- Name
name- Type
- string, nullable
- Description
- Name
search- Type
- string, nullable
- Description
Response
{
"data": [
{
"id": 1,
"name": "EU",
"description": "Angebot|en:offer",
"start_date": "2024-01-15T00:00:00.000000Z",
"end_date": "2024-01-16T00:00:00.000000Z",
"project_status_id": "aktiv",
"status": {
"id": 1,
"name": "EU",
"description": "Angebot|en:offer",
"bookable": true,
"order": 0,
"color": "#664599",
"abrechnungsrelevant": "string"
},
"comments": "Wichtiger Kunde - mit Sorgfalt behandeln",
"cost_object": "string",
"cost_object_identifier": "string",
"created": "2024-07-20T11:30:00.000000Z",
"modified": "2024-07-20T12:30:00.000000Z",
"keywords": [
null
],
"reference_order": "string",
"reference_commission": "string",
"reference_procurement": "string",
"reference_object": "string",
"language": "de",
"currency": "EUR",
"url": "https://www.zep-online.de/zepinstanz/next/api/v1/articles?page=1",
"location_address": "string",
"location_city": "string",
"location_state": "string",
"location_country": "string",
"revenue_account": "8400",
"customer_id": "string",
"customer_contact_id": "string",
"customer_project_reference": "string",
"customer_billing_address_id": "string",
"customer_shipping_address_id": "string",
"has_multiple_customers": true,
"department_id": 1,
"billing_type": {
"id": 1,
"name": "Stundensatz"
},
"billing_tasks": "string",
"plan_hours": 1.5,
"plan_hours_children": 1.5,
"plan_hours_per_day": 1.5,
"plan_can_exceed": {
"id": 1,
"name": "Yes, all times can exceed the plan hours"
},
"plan_warning_percent": 1.5,
"plan_warning_percent_2": 1.5,
"plan_warning_percent_3": 1.5,
"plan_wage": 1.5,
"plan_expenses": 1.5,
"plan_expenses_travel": 1.5,
"plan_hours_done": 1.5,
"plan_hours_invoiced": 1.5,
"default_billability": {
"id": 1,
"name": "Fakturierbar, durch den Mitarbeiter änderbar"
},
"receipts_billability": {
"id": 1,
"name": "Specify billable amount apart"
},
"plan_wage_children": 0,
"categories": [
{
"name": "EU",
"description": {
"de": "string",
"en": "string",
"fr": "string",
"es": "string",
"pl": "string"
},
"type": {
"id": "string",
"name": "Mitarbeiter/in"
}
}
],
"dynamicAttributes": [
{
"name": "EU",
"value": "Max Mustermann (Bruder)",
"type": "Text",
"description": {
"de": "string",
"en": "string",
"fr": "string",
"es": "string",
"pl": "string"
}
}
],
"categories_count": 0,
"dynamicAttributes_count": 0,
"tasks_count": 0,
"employees_count": 0,
"activities_count": 0,
"priceTables": [
{
"id": 1,
"start_date": "2024-01-15T00:00:00.000000Z",
"customer_number": "K-12345",
"project_id": 16,
"type": {
"id": "string",
"name": "Basispreistabelle"
},
"prices": [
{
"id": 1,
"price_group": "Junior-Entwickler",
"price": 1.5,
"price_table_id": "string",
"type": {},
"activity": "string",
"ahr_factor": 1.5
}
],
"factors": [
{
"id": 1,
"day": {},
"start_time": "11:10:49",
"end_time": "15:10:49",
"factor": 1.5,
"price_table_id": 1,
"activity_id": 1
}
]
}
],
"end_customer_number": "string"
}
],
"links": {
"first": "string",
"last": "string",
"prev": "string",
"next": "string"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": "string",
"label": "string",
"active": true
}
],
"path": "string",
"per_page": 1,
"to": 1,
"total": 1
}
}Response fields
- Name
id- Type
- integer
- Description
Unique identifier of the project.
- Name
name- Type
- string, nullable
- Description
Name of the project.
- Name
description- Type
- string, nullable
- Description
Free-text description of the project.
- Name
start_date- Type
- string (date-time), nullable
- Description
Date the project starts.
- Name
end_date- Type
- string (date-time), nullable
- Description
Date the project ends, if it has a defined end.
- Name
project_status_id- Type
- string
- Description
Identifier of the project’s current status.
- Name
status- Type
- object (ProjectStatus)
- Description
The project’s current status, including its label and whether it is billable.
- Name
status.id- Type
- integer
- Description
Identifier of the status. The short name doubles as the primary key.
- Name
status.name- Type
- string
- Description
Short name of the status, as shown in the project list.
- Name
status.description- Type
- string, nullable
- Description
Longer label describing what the status means.
- Name
status.bookable- Type
- boolean
- Description
Whether time can still be booked on a project carrying this status.
- Name
status.order- Type
- integer
- Description
Sort position of the status in selection lists.
- Name
status.color- Type
- string, nullable
- Description
Colour the status is rendered in, as a hex value.
- Name
status.abrechnungsrelevant- Type
- string
- Description
Whether projects with this status are included in billing runs.
- Name
comments- Type
- string, nullable
- Description
Free-text internal comments about the project.
- Name
cost_object- Type
- string, nullable
- Description
Cost center the project’s bookings are assigned to, for accounting purposes.
- Name
cost_object_identifier- Type
- string, nullable
- Description
Cost carrier assigned to the project, a separate accounting dimension from the cost center, used for accounting export.
- Name
created- Type
- string (date-time), nullable
- Description
Date and time the project was created.
- Name
modified- Type
- string (date-time), nullable
- Description
Date and time the project was last modified.
- Name
keywords- Type
- array of object
- Description
Free-text keywords used to search for the project.
- Name
reference_order- Type
- string, nullable
- Description
Customer’s order reference for this project.
- Name
reference_commission- Type
- string, nullable
- Description
Customer’s commission reference for this project.
- Name
reference_procurement- Type
- string, nullable
- Description
Customer’s procurement reference for this project.
- Name
reference_object- Type
- string, nullable
- Description
Customer’s object reference for this project.
- Name
language- Type
- string, nullable
- Description
Language used for documents generated for this project.
- Name
currency- Type
- string, nullable
- Description
Currency used for monetary values in this project.
- Name
url- Type
- string, nullable
- Description
URL associated with the project, for example a customer portal link.
- Name
location_address- Type
- string, nullable
- Description
Street address of the project’s location.
- Name
location_city- Type
- string, nullable
- Description
City of the project’s location.
- Name
location_state- Type
- string, nullable
- Description
State or region of the project’s location.
- Name
location_country- Type
- string, nullable
- Description
Country of the project’s location.
- Name
revenue_account- Type
- string, nullable
- Description
Revenue account the project’s turnover is booked to.
- Name
customer_id- Type
- string, nullable
- Description
Identifier of the customer this project belongs to.
- Name
customer_contact_id- Type
- string, nullable
- Description
Identifier of the customer contact responsible for this project.
- Name
customer_project_reference- Type
- string, nullable
- Description
Customer’s own reference number for this project.
- Name
customer_billing_address_id- Type
- string, nullable
- Description
Identifier of the customer address used for billing.
- Name
customer_shipping_address_id- Type
- string, nullable
- Description
Identifier of the customer address used for shipping.
- Name
has_multiple_customers- Type
- boolean, nullable
- Description
Whether the project can be billed to more than one customer.
- Name
department_id- Type
- integer, nullable
- Description
Identifier of the department the project is assigned to.
- Name
billing_type- Type
- object, nullable
- Description
How the project is billed: hourly rate, daily rate or flat rate.
- Name
billing_type.id- Type
- integer
- Description
The stored value. Compare against this, not against name.
- Name
billing_type.name- Type
- string
- Description
The human-readable label, delivered in the tenant’s language. Do not parse it.
One of:
"Stundensatz","Tagessatz","Pausch"
- Name
billing_tasks- Type
- string, nullable
- Description
Whether the project’s tasks can each carry their own billing type.
- Name
plan_hours- Type
- number, nullable
- Description
Planned total hours budgeted for the project.
- Name
plan_hours_children- Type
- number, nullable
- Description
Planned hours budgeted across the project’s tasks.
- Name
plan_hours_per_day- Type
- number, nullable
- Description
Planned hours budgeted per day for the project.
- Name
plan_can_exceed- Type
- object, nullable
- Description
Whether recorded hours may exceed the planned budget: for all times, only for non-billable times, not at all, only for travel or non-billable times, or only for travel times.
- Name
plan_can_exceed.id- Type
- integer
- Description
The stored value. Compare against this, not against name.
- Name
plan_can_exceed.name- Type
- string
- Description
The human-readable label, delivered in the tenant’s language. Do not parse it.
One of:
"Yes, all times can exceed the plan hours","Yes, but only non-billable times can exceed the plan hours","No, all times can not exceed the plan hours","Yes, but only travel or non-billable times can exceed the plan hours","Yes, but only travel times can exceed the plan hours"
- Name
plan_warning_percent- Type
- number, nullable
- Description
Percentage of the planned budget at which a warning is raised.
- Name
plan_warning_percent_2- Type
- number, nullable
- Description
Second warning threshold, as a percentage of the planned budget.
- Name
plan_warning_percent_3- Type
- number, nullable
- Description
Third warning threshold, as a percentage of the planned budget.
- Name
plan_wage- Type
- number, nullable
- Description
Planned total wage cost budgeted for the project.
- Name
plan_expenses- Type
- number, nullable
- Description
Planned total expenses budgeted for the project.
- Name
plan_expenses_travel- Type
- number, nullable
- Description
Planned travel expenses budgeted for the project.
- Name
plan_hours_done- Type
- number, nullable
- Description
Hours already recorded against the project.
- Name
plan_hours_invoiced- Type
- number, nullable
- Description
Hours already invoiced for the project.
- Name
default_billability- Type
- object
- Description
Default billability applied to new time entries on this project.
- Name
default_billability.id- Type
- integer
- Description
The stored value. Compare against this, not against name.
- Name
default_billability.name- Type
- string
- Description
The human-readable label, delivered in the tenant’s language. Do not parse it.
One of:
"Fakturierbar, durch den Mitarbeiter änderbar","Fakturierbar, durch den Mitarbeiter nicht änderbar","Not billable, user can change the flag","Not billable, user can not change the flag"
- Name
receipts_billability- Type
- object, nullable
- Description
Default billability applied to new receipts on this project.
- Name
receipts_billability.id- Type
- integer
- Description
The stored value. Compare against this, not against name.
- Name
receipts_billability.name- Type
- string
- Description
The human-readable label, delivered in the tenant’s language. Do not parse it.
One of:
"Specify billable amount apart","Vorbelegung identisch weiterfakturieren","Vorbelegung nicht weiterfakturieren","keine Belegerfassung möglich"
- Name
plan_wage_children- Type
- number, nullable
- Description
Planned wage cost budgeted across the project’s tasks.
- Name
categories- Type
- array of Category
- Description
Categories assigned to the project.
- Name
categories.name- Type
- string
- Description
Name of the category, shown wherever an entity is tagged with it.
- Name
categories.description- Type
- object
- Description
Longer explanation of what this category should be used for.
- Name
categories.type- Type
- object
- Description
The kind of entity this category can be attached to, e.g. employee, project or customer.
- Name
dynamicAttributes- Type
- array of DynamicAttribute
- Description
Dynamic attributes configured for the project.
- Name
dynamicAttributes.name- Type
- string
- Description
Name of the dynamic attribute definition this value was entered for.
- Name
dynamicAttributes.value- Type
- any
- Description
The stored value; its shape depends on the neighbouring
typefield (a string, a number, a boolean, a date, an employee reference, or a list of option values).
- Name
dynamicAttributes.type- Type
- string
- Description
The data type of this attribute, e.g. text, number, date or options, which decides how to interpret
value.One of:
"Text","Integer","Float","URL","E-Mail","Datum","Uhrzeit","Datetime","Boolean","Betrag","Optionen","Prozent","Time period","Textarea","Users","Upload"
- Name
dynamicAttributes.description- Type
- object, nullable
- Description
Explanation of what this attribute captures, as configured on its definition.
- Name
categories_count- Type
- integer
- Description
Number of categories assigned to the project.
- Name
dynamicAttributes_count- Type
- integer
- Description
Number of dynamic attributes configured for the project.
- Name
tasks_count- Type
- integer
- Description
Number of tasks belonging to the project.
- Name
employees_count- Type
- integer
- Description
Number of employees assigned to the project.
- Name
activities_count- Type
- integer
- Description
Number of activities assigned to the project.
- Name
priceTables- Type
- array of PriceTable
- Description
Price tables assigned to the project. Only appears when appended to the response.
- Name
priceTables.id- Type
- integer
- Description
Unique identifier of the price table.
- Name
priceTables.start_date- Type
- string (date-time), nullable
- Description
Date from which the price table applies.
- Name
priceTables.customer_number- Type
- string, nullable
- Description
Number of the customer this price table belongs to, for a customer-level price table.
- Name
priceTables.project_id- Type
- integer, nullable
- Description
Identifier of the project this price table belongs to, for a project-level price table.
- Name
priceTables.type- Type
- object, nullable
- Description
Whether the price table is scoped to a customer or a project.
- Name
priceTables.prices- Type
- array of Price
- Description
Prices defined in this price table.
- Name
priceTables.factors- Type
- array of PriceFactor
- Description
Time-based factors defined in this price table, e.g. for night or weekend surcharges.
- Name
end_customer_number- Type
- string, nullable
- Description
The number the end customer is filed under in the customer’s own system. Only on instances with the MOD_PCS extension. Not a generally available feature.