Your browser is not up to date. This may cause security, speed, and display issues. Please update your browser.
Update Browser
X
The grouped query of time entries is particularly suitable for evaluation purposes or for invoicing.
Parameter | Type | Description |
---|---|---|
grouped_by | string |
Group criterion of the current group
|
group | string |
Identificator of the current group
|
name | string |
Description of the curent group
|
number | string|null |
Data number of the group (customers number, personnel number, ..)
Only if the group criterion is customers_id, projects_id, services_id or users_id
|
note | string|null |
Note of the current group
Only if the group criterion is customers_id, projects_id or services_id
|
restrictions | array |
Restrictions which apply to the current group appart from the current grouped_by criterion and time criteria
|
duration | integer |
Duration of all entries in the group
|
[revenue] | float |
Revenue of all entries in the group
Only with necessary access rights to group
|
[budget_used] | boolean |
Has budget been used for at least one entry in the group?
Only with necessary access rights to group
|
[has_budget_revenues_billed] | boolean |
Has at least one group entry, which belongs to a project with hard budget, already been billed?
Only with necessary access rights to group
|
[has_budget_revenues_not_billed] | boolean |
Has at least one group entry, which belongs to a project with hard budget, not been billed so far?
Only with necessary access rights to group
|
[has_non_budget_revenues_billed] | boolean |
Has at least one group entry, which does not belong to a project with hard budget, already been billed?
Only with necessary access rights to group
|
[has_non_budget_revenues_not_billed] | boolean |
Has at least one group entry, which does not belong to a project with hard budget, not been billed so far?
Only with necessary access rights to group
|
[hourly_rate] | float|null |
Average hourly_rate for the group
Only with necessary access rights to group
|
[hourly_rate_is_equal_and_has_no_lump_sums] | boolean |
Is the hourly rate equal for all billable entries in the group and does the group not have any lump sum entries? In this case the revenue can be calculated like this: revenue = hourly_rate * duration This is useful especially for billing purposes.
Only with necessary access rights to group
|
[duration_without_rounding] | integer |
Duration without rounding
Only if rounding has been requested
|
[revenue_without_rounding] | float |
Revenue without rounding
Only if rounding has been requested; only with necessary access rights to group
|
[rounding_success] | boolean |
Could the revenue be rounded successfully or hasn't it been possible because of different hourly rates in the group
Only on the last group if rounding has been requested; only with necessary access rights to group
|
[sub_groups] | array |
If multiple group criterions have been requested, the next group level will be listed as subgroups
|
GET /api/v2/entrygroups
Required parameters | time_since | string |
Filter start time
in format ISO 8601 UTC, e.g. "2021-06-30T12:34:56Z"
|
---|---|---|---|
time_until | string |
Filter end time
in format ISO 8601 UTC, e.g. "2021-06-30T12:34:56Z"
| |
grouping | array |
Grouping of the entries; groups will be nested of multiple grouping option are selected
Selected values of this set: [customers_id, projects_id, services_id, users_id, texts_id, lumpsum_services_id, billable, is_lumpsum, year, week, month, day] Example in HTTP GET notation: grouping[]=customers_id&grouping[]=users_id |
Optional parameters | filter[users_id] | integer |
Filter for a selected co-worker
|
---|---|---|---|
filter[customers_id] | integer |
Filter for a selected customer
| |
filter[projects_id] | integer |
Filter for a selected project
| |
filter[services_id] | integer |
Filter for a selected service
| |
filter[lumpsum_services_id] | integer |
Filter for a lump sum
| |
filter[billable] | integer |
Filter for a billability
0, 1 or 2 billable = 2 represents "billable and already billed" | |
filter[text] / filter[texts_id] | string / integer |
Filter for a text
| |
filter[budget_type] | string |
Filter for types of budgets
strict, strict-completed, strict-incomplete, soft, soft-completed, soft-incomplete, without, without-strict
| |
round_to_minutes | integer |
Activation of rounding of time durations to the given count of minutes; e.g. "15" for rounding to quarter hours
(Default 0)
| |
prepend_customer_to_ project_name | boolean |
Project names will be prefixed with customer names
(Default true)
| |
calc_also_revenues_for_ projects_with_hard_budget | boolean |
By default, revenues for projects with hard budgets will no be calculated. If you activate this option, the sum of all revenues to this project can be more than the project budget
(Default false)
|
curl -v -X GET \ -H 'X-ClockodoApiUser: [email adress]' \ -H 'X-ClockodoApiKey: [API key]' \ -H 'X-Clockodo-External-Application: [name of application];[email address]' \ "https://my.clockodo.com/api/v2/entrygroups?time_since=2024-01-01T00:00:00Z&time_until=2024-02-01T00:00:00Z&grouping[]=projects_id&grouping[]=services_id&filter[users_id]=123&filter[customers_id]=456
{ "groups": { [object of type group which may contain subgroups], [object of type group which may contain subgroups], ... } }
PUT /api/v2/entrygroups
Required parameters | time_since | string |
Filter start time
in format ISO 8601 UTC, e.g. "2021-06-30T12:34:56Z"
|
---|---|---|---|
time_until | string |
Filter end time
in format ISO 8601 UTC, e.g. "2021-06-30T12:34:56Z"
|
Optional parameters | filter[users_id] | integer |
Filter for a selected co-worker
|
---|---|---|---|
filter[customers_id] | integer |
Filter for a selected customer
| |
filter[projects_id] | integer |
Filter for a selected project
| |
filter[services_id] | integer |
Filter for a selected service
| |
filter[lumpsum_services_id] | integer |
Filter for a lump sum service
| |
filter[billable] | integer |
Filter for a billability
0, 1 or 2 billable = 2 represents "billable and already billed" | |
filter[text] / filter[texts_id] | string / integer |
Filter for a text
| |
filter[budget_type] | string |
Filter for types of budgets
strict, strict-completed, strict-incomplete, soft, soft-completed, soft-incomplete, without, without-strict
| |
users_id | integer |
New user assignment to set
| |
customers_id | integer |
New customer assignment to set
| |
projects_id | integer |
New project assignment to set
| |
services_id | integer |
New service assignment to set
| |
lumpsum_services_id | integer |
New lump sum service assignment to set
| |
billable | integer |
New billability to set
0, 1 or 2 billable = 2 represents "billable and already billed" | |
text | string |
New text to set
| |
hourly_rate | float |
New hourly rate to set
| |
confirm_key | string |
Confirmation for safety
For safety, the api will response with a confirm key with which you have to request once again in order to confirm your edit action
|
{ "time_since": "2024-01-01T00:00:00Z", "time_until": "2024-02-01T00:00:00Z", "grouping": ["projects_id", "services_id"], "filter": { "users_id": 123, "customers_id": 456 } }
{ "confirm_key": [string], "affected_entries": [integer, count of entries which will be affected] }
{ "success": true, "edited_entries": [integer] }
DELETE /api/v2/entrygroups
Required parameters | time_since | string |
Filter start time
in format ISO 8601 UTC, e.g. "2021-06-30T12:34:56Z"
|
---|---|---|---|
time_until | string |
Filter end time
in format ISO 8601 UTC, e.g. "2021-06-30T12:34:56Z"
|
Optional parameters | filter[users_id] | integer |
Filter for a selected co-worker
|
---|---|---|---|
filter[customers_id] | integer |
Filter for a selected customer
| |
filter[projects_id] | integer |
Filter for a selected project
| |
filter[services_id] | integer |
Filter for a selected service
| |
filter[lumpsum_services_id] | integer |
Filter for a lump sum
| |
filter[billable] | integer |
Filter for a billability
0, 1 or 2 billable = 2 represents "billable and already billed" | |
filter[text] / filter[texts_id] | string / integer |
Filter for a text
| |
filter[budet_type] | string |
Filter for types of budgets
strict, strict-completed, strict-incomplete, soft, soft-completed, soft-incomplete, without, without-strict
| |
confirm_key | string |
Confirmation for safety
For safety, the api will response with a confirm key with which you have to request once again in order to confirm your edit action
|
{ "confirm_key": [string], "affected_entries": [integer, count of entries which will be affected] }
{ "success": true, "deleted_entries": [integer] }
Our Customer-Success-Team will answer your questions.