Download OpenAPI specification:Download
Documentation for the Octaved Flow API
Anything declared deprecated will be available for at least 6 months. After 6 months, it becomes a breaking change.
You can find the API changelog on the Octaved Flow website.
Please note that for arrays in query parameters, the parameter name must be appended by []
and each array item is added separately.
Example: For ids [123, 456, 789]
the query string would look like ?ids[]=123&ids[]=456&ids[]=789
Gets all customers if no ids are provided in the query
ids[] | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the customers |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "customerNumber": "string",
- "defaultBillingType": null,
- "journeyBillingMode": null,
- "fileExportLanguage": "de",
- "isLocked": false,
- "isInternal": false,
- "locations": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "number": "string"
}
], - "name": "string",
- "requiresInternalCharge": false,
- "priceCategoryOverrides": { },
- "priceSurchargeOverrides": { },
- "showSignatureFieldInPdfTimeSheets": true
}
]
customerNumber | string <= 191 characters The customer number. |
null or EnumFlowPidBillingType (string) Default: null The preselected billing type for new work packages in the GUI if this customer is not internal or requires charge. | |
null or JourneyBillingMode (string) Default: null Defaults to the respective system setting if | |
fileExportLanguage | string (SupportedLanguageSchema) Enum: "de" "en" "es" "fr" "it" "pt" The language used in file exports such as time sheets. |
isLocked | boolean Default: false Locked customers cannot be selected for new projects anymore. |
isInternal | boolean Default: false Whether or not this is an internal customer. |
Array of CustomerLocationSchema (object) or CustomerLocationSchema (object) (CustomerLocationSchema) The customer locations. Either the id or number has to be given when patching. The array has to be complete when patching, missing locations in the patch are deleted from the database. | |
name required | string <= 191 characters The name of the customer. |
requiresInternalCharge | boolean Default: false If 'isInternal' is true, this flag controls whether or not the customer is charged. |
object Customer specific overrides to the price category settings. | |
object Customer specific overrides to the price surcharge settings. | |
showSignatureFieldInPdfTimeSheets | boolean Defaults to the system setting |
{- "customerNumber": "string",
- "defaultBillingType": null,
- "journeyBillingMode": null,
- "fileExportLanguage": "de",
- "isLocked": false,
- "isInternal": false,
- "locations": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "number": "string"
}
], - "name": "string",
- "requiresInternalCharge": false,
- "priceCategoryOverrides": { },
- "priceSurchargeOverrides": { },
- "showSignatureFieldInPdfTimeSheets": true
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
customerId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the customer |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "customerNumber": "string",
- "defaultBillingType": null,
- "journeyBillingMode": null,
- "fileExportLanguage": "de",
- "isLocked": false,
- "isInternal": false,
- "locations": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "number": "string"
}
], - "name": "string",
- "requiresInternalCharge": false,
- "priceCategoryOverrides": { },
- "priceSurchargeOverrides": { },
- "showSignatureFieldInPdfTimeSheets": true
}
customerId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the customer |
customerNumber | string <= 191 characters The customer number. |
null or EnumFlowPidBillingType (string) Default: null The preselected billing type for new work packages in the GUI if this customer is not internal or requires charge. | |
null or JourneyBillingMode (string) Default: null Defaults to the respective system setting if | |
fileExportLanguage | string (SupportedLanguageSchema) Enum: "de" "en" "es" "fr" "it" "pt" The language used in file exports such as time sheets. |
isLocked | boolean Default: false Locked customers cannot be selected for new projects anymore. |
isInternal | boolean Default: false Whether or not this is an internal customer. |
Array of CustomerLocationSchema (object) or CustomerLocationSchema (object) (CustomerLocationSchema) The customer locations. Either the id or number has to be given when patching. The array has to be complete when patching, missing locations in the patch are deleted from the database. | |
name required | string <= 191 characters The name of the customer. |
requiresInternalCharge | boolean Default: false If 'isInternal' is true, this flag controls whether or not the customer is charged. |
object Customer specific overrides to the price category settings. | |
object Customer specific overrides to the price surcharge settings. | |
showSignatureFieldInPdfTimeSheets | boolean Defaults to the system setting |
{- "customerNumber": "string",
- "defaultBillingType": null,
- "journeyBillingMode": null,
- "fileExportLanguage": "de",
- "isLocked": false,
- "isInternal": false,
- "locations": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "number": "string"
}
], - "name": "string",
- "requiresInternalCharge": false,
- "priceCategoryOverrides": { },
- "priceSurchargeOverrides": { },
- "showSignatureFieldInPdfTimeSheets": true
}
customerId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the customer |
customerNumber | string <= 191 characters The customer number. |
null or EnumFlowPidBillingType (string) Default: null The preselected billing type for new work packages in the GUI if this customer is not internal or requires charge. | |
null or JourneyBillingMode (string) Default: null Defaults to the respective system setting if | |
fileExportLanguage | string (SupportedLanguageSchema) Enum: "de" "en" "es" "fr" "it" "pt" The language used in file exports such as time sheets. |
isLocked | boolean Default: false Locked customers cannot be selected for new projects anymore. |
isInternal | boolean Default: false Whether or not this is an internal customer. |
Array of CustomerLocationSchema (object) or CustomerLocationSchema (object) (CustomerLocationSchema) The customer locations. Either the id or number has to be given when patching. The array has to be complete when patching, missing locations in the patch are deleted from the database. | |
name | string <= 191 characters The name of the customer. |
requiresInternalCharge | boolean Default: false If 'isInternal' is true, this flag controls whether or not the customer is charged. |
object Customer specific overrides to the price category settings. | |
object Customer specific overrides to the price surcharge settings. | |
showSignatureFieldInPdfTimeSheets | boolean Defaults to the system setting |
{- "customerNumber": "string",
- "defaultBillingType": null,
- "journeyBillingMode": null,
- "fileExportLanguage": "de",
- "isLocked": false,
- "isInternal": false,
- "locations": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "number": "string"
}
], - "name": "string",
- "requiresInternalCharge": false,
- "priceCategoryOverrides": { },
- "priceSurchargeOverrides": { },
- "showSignatureFieldInPdfTimeSheets": true
}
Use one ident/value pair to search for a list of customer ids.
See the request body section for a list of supported search idents.
ident required | string |
value | string The content/format depends on the search ident. |
customerNumber | string non-empty |
isInternal | string Enum: "0" "1" |
isLocked | string Enum: "0" "1" |
name | string non-empty |
requiresInternalCharge | string Enum: "0" "1" Only finds internal customers |
[- "E9996334F8134DBCBE18948284698BB2"
]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[- "E9996334F8134DBCBE18948284698BB2"
]
Creates a new label
name required | string |
null or object | |
color required | string = 6 characters |
isActive | boolean Default: true |
projectFolders | Array of strings (uuidArray) [^[0-9A-F]{32}$] |
{- "name": "string",
- "translations": { },
- "color": "7c9754",
- "isActive": true,
- "projectFolders": [
- "E9996334F8134DBCBE18948284698BB2"
]
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
Creates a new label with the given id
labelId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the label |
name required | string |
null or object | |
color required | string = 6 characters |
isActive | boolean Default: true |
projectFolders | Array of strings (uuidArray) [^[0-9A-F]{32}$] |
{- "name": "string",
- "translations": { },
- "color": "7c9754",
- "isActive": true,
- "projectFolders": [
- "E9996334F8134DBCBE18948284698BB2"
]
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
labelId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the label |
name | string |
null or object | |
color | string = 6 characters |
isActive | boolean Default: true |
projectFolders | Array of strings (uuidArray) [^[0-9A-F]{32}$] |
{- "name": "string",
- "translations": { },
- "color": "7c9754",
- "isActive": true,
- "projectFolders": [
- "E9996334F8134DBCBE18948284698BB2"
]
}
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the nodes |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "projectFolder",
- "name": "string"
}
]
nodeId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the node |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "projectFolder",
- "name": "string"
}
Use one ident/value pair to search for a list of node ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
nodeType | string (NodeType) Enum: "boardPost" "group" "materialResource" "materialResourceFolder" "project" "projectFolder" "subWorkPackage" "task" "taskSection" "userNode" "workPackage" |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the project folders |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "projectFolder",
- "name": "string"
}
]
parentNodeId | string^[0-9A-F]{32}$ Default: "<root project folder id>" The UUID of the parent, which must be another project folder. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
{- "parentNodeId": "<root project folder id>",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
projectFolderId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the project folder |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "projectFolder",
- "name": "string"
}
projectFolderId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the project folder |
parentNodeId | string^[0-9A-F]{32}$ Default: "<root project folder id>" The UUID of the parent, which must be another project folder. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
{- "parentNodeId": "<root project folder id>",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string"
}
projectFolderId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the project folder |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name | string (varchar191) <= 191 characters |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string"
}
Use one ident/value pair to search for a list of project folder ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the projects |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "dueDate": "2020-03-23",
- "nodeType": "project",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}, - "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "isLocked": false,
- "isClosed": false,
- "isTemplate": false,
- "maxEffort": 125.5,
- "enforceMaxEffort": true,
- "showMaxEffortInDays": true,
- "maxPrice": 125.5,
- "status": "open"
}
]
parentNodeId | string (uuid) ^[0-9A-F]{32}$ Default: "<root project folder id>" The UUID of the Flow-OU, where this project is to be created. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name required | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
flowCustomer required | string^[0-9A-F]{32}$ The UUID of the customer. |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
isTemplate | boolean Default: false Marked as template |
decimal8dot2 (number) or null The maximum effort in hours. | |
enforceMaxEffort | boolean Default: true If TRUE the project's maxEffort cannot be exceeded by time trackings. |
showMaxEffortInDays | boolean Default: true If TRUE the project's maxEffort is displayed in days instead of hours. |
decimal8dot2 (number) or null The maximum price. | |
status | string Deprecated Default: "open" Enum: "open" "locked" "template" "archived" Deprecated - use the flags |
(object or object or object) or null (patchNullable) |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "isLocked": false,
- "isClosed": false,
- "isTemplate": false,
- "maxEffort": 125.5,
- "enforceMaxEffort": true,
- "showMaxEffortInDays": true,
- "maxPrice": 125.5,
- "status": "open",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
projectId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the project |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "dueDate": "2020-03-23",
- "nodeType": "project",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}, - "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "isLocked": false,
- "isClosed": false,
- "isTemplate": false,
- "maxEffort": 125.5,
- "enforceMaxEffort": true,
- "showMaxEffortInDays": true,
- "maxPrice": 125.5,
- "status": "open"
}
projectId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the project |
parentNodeId | string (uuid) ^[0-9A-F]{32}$ Default: "<root project folder id>" The UUID of the Flow-OU, where this project is to be created. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name required | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
flowCustomer required | string^[0-9A-F]{32}$ The UUID of the customer. |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
isTemplate | boolean Default: false Marked as template |
decimal8dot2 (number) or null The maximum effort in hours. | |
enforceMaxEffort | boolean Default: true If TRUE the project's maxEffort cannot be exceeded by time trackings. |
showMaxEffortInDays | boolean Default: true If TRUE the project's maxEffort is displayed in days instead of hours. |
decimal8dot2 (number) or null The maximum price. | |
status | string Deprecated Default: "open" Enum: "open" "locked" "template" "archived" Deprecated - use the flags |
(object or object or object) or null (patchNullable) |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "isLocked": false,
- "isClosed": false,
- "isTemplate": false,
- "maxEffort": 125.5,
- "enforceMaxEffort": true,
- "showMaxEffortInDays": true,
- "maxPrice": 125.5,
- "status": "open",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
projectId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the project |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
flowCustomer | string^[0-9A-F]{32}$ The UUID of the customer. |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
isTemplate | boolean Default: false Marked as template |
decimal8dot2 (number) or null The maximum effort in hours. | |
enforceMaxEffort | boolean Default: true If TRUE the project's maxEffort cannot be exceeded by time trackings. |
showMaxEffortInDays | boolean Default: true If TRUE the project's maxEffort is displayed in days instead of hours. |
decimal8dot2 (number) or null The maximum price. | |
status | string Deprecated Default: "open" Enum: "open" "locked" "template" "archived" Deprecated - use the flags |
(object or object or object) or null (patchNullable) |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "isLocked": false,
- "isClosed": false,
- "isTemplate": false,
- "maxEffort": 125.5,
- "enforceMaxEffort": true,
- "showMaxEffortInDays": true,
- "maxPrice": 125.5,
- "status": "open",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
Use one ident/value pair to search for a list of project ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
customerId | string (uuid) ^[0-9A-F]{32}$ |
isTemplate | string Value: "" No value used |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the groups |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "dueDate": "2020-03-23",
- "nodeType": "group",
- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}, - "enforceMaxEffort": true,
- "groupType": "group",
- "isLocked": false,
- "isClosed": false,
- "maxEffort": 125.5,
- "maxPrice": 125.5,
- "showMaxEffortInDays": true,
- "sortOrder": 0
}
]
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which can be a project or a group. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling groups/work pacakges. Should include all sibling ids in order, including the new work package's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name required | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
enforceMaxEffort | boolean Default: true If TRUE the group's maxEffort cannot be exceeded by time trackings. |
groupType | string Enum: "group" "sprint" "backlog" Type of the group. |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
decimal8dot2 (number) or null The maximum effort in hours. | |
decimal8dot2 (number) or null The maximum price. | |
showMaxEffortInDays | boolean Default: true If TRUE the group's maxEffort is displayed in days instead of hours. |
sortOrder | integer The zero-based sort order of the entry within its direct parent. If the sort order of two entries is the same, the name determines the order. |
(object or object or object) or null (patchNullable) |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "enforceMaxEffort": true,
- "groupType": "group",
- "isLocked": false,
- "isClosed": false,
- "maxEffort": 125.5,
- "maxPrice": 125.5,
- "showMaxEffortInDays": true,
- "sortOrder": 0,
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the group |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "dueDate": "2020-03-23",
- "nodeType": "group",
- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}, - "enforceMaxEffort": true,
- "groupType": "group",
- "isLocked": false,
- "isClosed": false,
- "maxEffort": 125.5,
- "maxPrice": 125.5,
- "showMaxEffortInDays": true,
- "sortOrder": 0
}
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the group |
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which can be a project or a group. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling groups/work pacakges. Should include all sibling ids in order, including the new work package's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name required | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
enforceMaxEffort | boolean Default: true If TRUE the group's maxEffort cannot be exceeded by time trackings. |
groupType | string Enum: "group" "sprint" "backlog" Type of the group. |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
decimal8dot2 (number) or null The maximum effort in hours. | |
decimal8dot2 (number) or null The maximum price. | |
showMaxEffortInDays | boolean Default: true If TRUE the group's maxEffort is displayed in days instead of hours. |
sortOrder | integer The zero-based sort order of the entry within its direct parent. If the sort order of two entries is the same, the name determines the order. |
(object or object or object) or null (patchNullable) |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "enforceMaxEffort": true,
- "groupType": "group",
- "isLocked": false,
- "isClosed": false,
- "maxEffort": 125.5,
- "maxPrice": 125.5,
- "showMaxEffortInDays": true,
- "sortOrder": 0,
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the group |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
enforceMaxEffort | boolean Default: true If TRUE the group's maxEffort cannot be exceeded by time trackings. |
groupType | string Enum: "group" "sprint" "backlog" Type of the group. |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
decimal8dot2 (number) or null The maximum effort in hours. | |
decimal8dot2 (number) or null The maximum price. | |
showMaxEffortInDays | boolean Default: true If TRUE the group's maxEffort is displayed in days instead of hours. |
sortOrder | integer The zero-based sort order of the entry within its direct parent. If the sort order of two entries is the same, the name determines the order. |
(object or object or object) or null (patchNullable) |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "enforceMaxEffort": true,
- "groupType": "group",
- "isLocked": false,
- "isClosed": false,
- "maxEffort": 125.5,
- "maxPrice": 125.5,
- "showMaxEffortInDays": true,
- "sortOrder": 0,
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
Use one ident/value pair to search for a list of group ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
customerId | string (uuid) ^[0-9A-F]{32}$ |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the work packages |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "completedBy": "E9996334F8134DBCBE18948284698BB2",
- "completedOn": 1580555700,
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "nodeType": "workPackage",
- "planningDates": [
- "E9996334F8134DBCBE18948284698BB2"
], - "projectId": "E9996334F8134DBCBE18948284698BB2",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}, - "billingType": "effort",
- "effortFrom": 125.5,
- "effortTo": 125.5,
- "fixedPrice": 125.5,
- "freeOfChargeReason": "service",
- "isCompleted": false,
- "isApprovedForBilling": false,
- "isLocked": false,
- "isClosed": false,
- "isOffer": false,
- "maxEffort": 125.5,
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "roleMaxEfforts": [
- {
- "maxEffort": 125.5,
- "role": "E9996334F8134DBCBE18948284698BB2"
}
], - "sortOrder": 0,
- "status": "open",
- "timeTrackingReferenceNodeType": "any",
- "usePriceCategoryPerTimeTracking": false
}
]
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which can be a project or a group. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling groups/work pacakges. Should include all sibling ids in order, including the new work package's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name required | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
billingType | string Default: "effort" Enum: "contingent" "effort" "effortCap" "effortEst" "effortFromTo" "freeOfCharge" "fixedPrice" The billing type. All |
decimal8dot2 (number) or null The lower limit of effort in hours - used for the 'effortFromTo' billing type. | |
decimal8dot2 (number) or null The upper limit of effort in hours - used for the 'effortFromTo' billing type. | |
decimal8dot2 (number) or null The price for when the billing type is set to 'fixedPrice'. | |
freeOfChargeReason | string Default: "service" Enum: "service" "aquisition" "warranty" The reason for when the billing type is 'freeOfCharge'. |
isCompleted | boolean Default: false Marks this work package as complete. |
isApprovedForBilling | boolean Default: false Approved for billing. This flag alone does not lock for time tracking! |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
isOffer | boolean Default: false |
decimal8dot2 (number) or null The maximum effort in hours - used for all billing types with one limit. | |
uuid (string) or null The UUID of the price category. | |
Array of objects Deprecated Deprecated - role specific max efforts have been removed. | |
sortOrder | integer The zero-based sort order of the entry within its direct parent. If the sort order of two entries is the same, the name determines the order. |
status | string Deprecated Default: "open" Enum: "offer" "notYetOpen" "open" "locked" "closed" Deprecated - use the flags |
timeTrackingReferenceNodeType | string Default: "any" Enum: "any" "subWorkPackages" "workPackages" Whether time tracking should be allowed on only work packages or only sub work packages. |
usePriceCategoryPerTimeTracking | boolean Default: false If true, all time tracking records are required to provide a price category. When switching to TRUE, all records receive the price category, which the work package currently has. When switching to FALSE, all records lose their price category. Only allowed for hourly billable billing types. |
(object or object or object) or null (patchNullable) |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "billingType": "effort",
- "effortFrom": 125.5,
- "effortTo": 125.5,
- "fixedPrice": 125.5,
- "freeOfChargeReason": "service",
- "isCompleted": false,
- "isApprovedForBilling": false,
- "isLocked": false,
- "isClosed": false,
- "isOffer": false,
- "maxEffort": 125.5,
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "roleMaxEfforts": [
- {
- "maxEffort": 125.5,
- "role": "E9996334F8134DBCBE18948284698BB2"
}
], - "sortOrder": 0,
- "status": "open",
- "timeTrackingReferenceNodeType": "any",
- "usePriceCategoryPerTimeTracking": false,
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
workPackageId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the work package |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "completedBy": "E9996334F8134DBCBE18948284698BB2",
- "completedOn": 1580555700,
- "flowCustomer": "E9996334F8134DBCBE18948284698BB2",
- "nodeType": "workPackage",
- "planningDates": [
- "E9996334F8134DBCBE18948284698BB2"
], - "projectId": "E9996334F8134DBCBE18948284698BB2",
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}, - "billingType": "effort",
- "effortFrom": 125.5,
- "effortTo": 125.5,
- "fixedPrice": 125.5,
- "freeOfChargeReason": "service",
- "isCompleted": false,
- "isApprovedForBilling": false,
- "isLocked": false,
- "isClosed": false,
- "isOffer": false,
- "maxEffort": 125.5,
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "roleMaxEfforts": [
- {
- "maxEffort": 125.5,
- "role": "E9996334F8134DBCBE18948284698BB2"
}
], - "sortOrder": 0,
- "status": "open",
- "timeTrackingReferenceNodeType": "any",
- "usePriceCategoryPerTimeTracking": false
}
workPackageId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the work package |
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which can be a project or a group. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling groups/work pacakges. Should include all sibling ids in order, including the new work package's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name required | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
billingType | string Default: "effort" Enum: "contingent" "effort" "effortCap" "effortEst" "effortFromTo" "freeOfCharge" "fixedPrice" The billing type. All |
decimal8dot2 (number) or null The lower limit of effort in hours - used for the 'effortFromTo' billing type. | |
decimal8dot2 (number) or null The upper limit of effort in hours - used for the 'effortFromTo' billing type. | |
decimal8dot2 (number) or null The price for when the billing type is set to 'fixedPrice'. | |
freeOfChargeReason | string Default: "service" Enum: "service" "aquisition" "warranty" The reason for when the billing type is 'freeOfCharge'. |
isCompleted | boolean Default: false Marks this work package as complete. |
isApprovedForBilling | boolean Default: false Approved for billing. This flag alone does not lock for time tracking! |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
isOffer | boolean Default: false |
decimal8dot2 (number) or null The maximum effort in hours - used for all billing types with one limit. | |
uuid (string) or null The UUID of the price category. | |
Array of objects Deprecated Deprecated - role specific max efforts have been removed. | |
sortOrder | integer The zero-based sort order of the entry within its direct parent. If the sort order of two entries is the same, the name determines the order. |
status | string Deprecated Default: "open" Enum: "offer" "notYetOpen" "open" "locked" "closed" Deprecated - use the flags |
timeTrackingReferenceNodeType | string Default: "any" Enum: "any" "subWorkPackages" "workPackages" Whether time tracking should be allowed on only work packages or only sub work packages. |
usePriceCategoryPerTimeTracking | boolean Default: false If true, all time tracking records are required to provide a price category. When switching to TRUE, all records receive the price category, which the work package currently has. When switching to FALSE, all records lose their price category. Only allowed for hourly billable billing types. |
(object or object or object) or null (patchNullable) |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "billingType": "effort",
- "effortFrom": 125.5,
- "effortTo": 125.5,
- "fixedPrice": 125.5,
- "freeOfChargeReason": "service",
- "isCompleted": false,
- "isApprovedForBilling": false,
- "isLocked": false,
- "isClosed": false,
- "isOffer": false,
- "maxEffort": 125.5,
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "roleMaxEfforts": [
- {
- "maxEffort": 125.5,
- "role": "E9996334F8134DBCBE18948284698BB2"
}
], - "sortOrder": 0,
- "status": "open",
- "timeTrackingReferenceNodeType": "any",
- "usePriceCategoryPerTimeTracking": false,
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
workPackageId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the work package |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
description | string <= 5000 characters The description. |
name | string <= 191 characters The name. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
billingType | string Default: "effort" Enum: "contingent" "effort" "effortCap" "effortEst" "effortFromTo" "freeOfCharge" "fixedPrice" The billing type. All |
decimal8dot2 (number) or null The lower limit of effort in hours - used for the 'effortFromTo' billing type. | |
decimal8dot2 (number) or null The upper limit of effort in hours - used for the 'effortFromTo' billing type. | |
decimal8dot2 (number) or null The price for when the billing type is set to 'fixedPrice'. | |
freeOfChargeReason | string Default: "service" Enum: "service" "aquisition" "warranty" The reason for when the billing type is 'freeOfCharge'. |
isCompleted | boolean Default: false Marks this work package as complete. |
isApprovedForBilling | boolean Default: false Approved for billing. This flag alone does not lock for time tracking! |
isLocked | boolean Default: false Locked for time tracking. |
isClosed | boolean Default: false Marks this node as closed. |
isOffer | boolean Default: false |
decimal8dot2 (number) or null The maximum effort in hours - used for all billing types with one limit. | |
uuid (string) or null The UUID of the price category. | |
Array of objects Deprecated Deprecated - role specific max efforts have been removed. | |
sortOrder | integer The zero-based sort order of the entry within its direct parent. If the sort order of two entries is the same, the name determines the order. |
status | string Deprecated Default: "open" Enum: "offer" "notYetOpen" "open" "locked" "closed" Deprecated - use the flags |
timeTrackingReferenceNodeType | string Default: "any" Enum: "any" "subWorkPackages" "workPackages" Whether time tracking should be allowed on only work packages or only sub work packages. |
usePriceCategoryPerTimeTracking | boolean Default: false If true, all time tracking records are required to provide a price category. When switching to TRUE, all records receive the price category, which the work package currently has. When switching to FALSE, all records lose their price category. Only allowed for hourly billable billing types. |
(object or object or object) or null (patchNullable) |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "description": "string",
- "name": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "billingType": "effort",
- "effortFrom": 125.5,
- "effortTo": 125.5,
- "fixedPrice": 125.5,
- "freeOfChargeReason": "service",
- "isCompleted": false,
- "isApprovedForBilling": false,
- "isLocked": false,
- "isClosed": false,
- "isOffer": false,
- "maxEffort": 125.5,
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "roleMaxEfforts": [
- {
- "maxEffort": 125.5,
- "role": "E9996334F8134DBCBE18948284698BB2"
}
], - "sortOrder": 0,
- "status": "open",
- "timeTrackingReferenceNodeType": "any",
- "usePriceCategoryPerTimeTracking": false,
- "timeControl": {
- "mode": "monthly",
- "from": "2020-03-23",
- "to": null,
- "showAfterName": true
}
}
Use one ident/value pair to search for a list of work package ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
customerId | string (uuid) ^[0-9A-F]{32}$ |
isApprovedForBilling | string Value: "" No value used |
isCompleted | string Value: "" No value used |
isLocked | string Value: "" No value used |
isOffer | string Value: "" No value used |
status | string Deprecated Enum: "offer" "notYetOpen" "open" "locked" "closed" Deprecated - use the flags |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the sub work packages |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "completedBy": "E9996334F8134DBCBE18948284698BB2",
- "completedOn": 1580555700,
- "nodeType": "subWorkPackage",
- "planningDates": [
- "E9996334F8134DBCBE18948284698BB2"
], - "projectId": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "description": "string",
- "isCompleted": false,
- "isLocked": false,
- "maxEffort": 125.5,
- "defaultPriceCategory": "E9996334F8134DBCBE18948284698BB2",
- "sortOrder": 0
}
]
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which must be a work package. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling sub work pacakges. Should include all sibling ids in order, including the new sub work package's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
name required | string <= 191 characters The name. |
description | string <= 5000 characters The description. |
isCompleted | boolean Default: false Marks this sub work package as complete. |
isLocked | boolean Default: false Locked for time tracking. |
decimal8dot2 (number) or null The maximum effort in hours | |
uuid (string) or null The UUID of the price category that is pre-selected when tracking time. Only used if the parent work package is set to | |
sortOrder | integer The zero-based sort order of the entry within its direct parent. |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "name": "string",
- "description": "string",
- "isCompleted": false,
- "isLocked": false,
- "maxEffort": 125.5,
- "defaultPriceCategory": "E9996334F8134DBCBE18948284698BB2",
- "sortOrder": 0
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
subWorkPackageId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the sub work package |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "completedBy": "E9996334F8134DBCBE18948284698BB2",
- "completedOn": 1580555700,
- "nodeType": "subWorkPackage",
- "planningDates": [
- "E9996334F8134DBCBE18948284698BB2"
], - "projectId": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "description": "string",
- "isCompleted": false,
- "isLocked": false,
- "maxEffort": 125.5,
- "defaultPriceCategory": "E9996334F8134DBCBE18948284698BB2",
- "sortOrder": 0
}
subWorkPackageId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the sub work package |
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which must be a work package. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling sub work pacakges. Should include all sibling ids in order, including the new sub work package's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
name required | string <= 191 characters The name. |
description | string <= 5000 characters The description. |
isCompleted | boolean Default: false Marks this sub work package as complete. |
isLocked | boolean Default: false Locked for time tracking. |
decimal8dot2 (number) or null The maximum effort in hours | |
uuid (string) or null The UUID of the price category that is pre-selected when tracking time. Only used if the parent work package is set to | |
sortOrder | integer The zero-based sort order of the entry within its direct parent. |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "name": "string",
- "description": "string",
- "isCompleted": false,
- "isLocked": false,
- "maxEffort": 125.5,
- "defaultPriceCategory": "E9996334F8134DBCBE18948284698BB2",
- "sortOrder": 0
}
subWorkPackageId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the sub work package |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
name | string <= 191 characters The name. |
description | string <= 5000 characters The description. |
isCompleted | boolean Default: false Marks this sub work package as complete. |
isLocked | boolean Default: false Locked for time tracking. |
decimal8dot2 (number) or null The maximum effort in hours | |
uuid (string) or null The UUID of the price category that is pre-selected when tracking time. Only used if the parent work package is set to | |
sortOrder | integer The zero-based sort order of the entry within its direct parent. |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "name": "string",
- "description": "string",
- "isCompleted": false,
- "isLocked": false,
- "maxEffort": 125.5,
- "defaultPriceCategory": "E9996334F8134DBCBE18948284698BB2",
- "sortOrder": 0
}
Use one ident/value pair to search for a list of sub work package ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the taskSections |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "taskSection",
- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "sortOrder": 0
}
]
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
sortOrder | integer Default: 0 The zero-based sort order of the task within its direct parent. |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string",
- "sortOrder": 0
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
taskSectionId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the task section |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "taskSection",
- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "sortOrder": 0
}
taskSectionId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the task section |
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
sortOrder | integer Default: 0 The zero-based sort order of the task within its direct parent. |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string",
- "sortOrder": 0
}
taskSectionId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the task section |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name | string (varchar191) <= 191 characters |
sortOrder | integer Default: 0 The zero-based sort order of the task within its direct parent. |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string",
- "sortOrder": 0
}
Use one ident/value pair to search for a list of task section ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the tasks |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "completedBy": "E9996334F8134DBCBE18948284698BB2",
- "completedOn": 1580555700,
- "nodeType": "task",
- "planningDates": [
- "E9996334F8134DBCBE18948284698BB2"
], - "projectId": "E9996334F8134DBCBE18948284698BB2",
- "description": "string",
- "name": "string",
- "plannedTime": 125.5,
- "sortOrder": 0,
- "status": "open"
}
]
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which can be a work package or another task. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling tasks. Should include all sibling ids in order, including the new task's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
description | string <= 5000 characters The description of the task. |
name required | string (varchar191) <= 191 characters |
number or null (decimal8dot2Nullable) | |
sortOrder | integer Default: 0 The zero-based sort order of the task within its direct parent. |
status | string (EnumFlowTaskStatus) Default: "open" Enum: "open" "complete" |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "description": "string",
- "name": "string",
- "plannedTime": 125.5,
- "sortOrder": 0,
- "status": "open"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
taskId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the task |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "completedBy": "E9996334F8134DBCBE18948284698BB2",
- "completedOn": 1580555700,
- "nodeType": "task",
- "planningDates": [
- "E9996334F8134DBCBE18948284698BB2"
], - "projectId": "E9996334F8134DBCBE18948284698BB2",
- "description": "string",
- "name": "string",
- "plannedTime": 125.5,
- "sortOrder": 0,
- "status": "open"
}
taskId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the task |
parentNodeId required | string^[0-9A-F]{32}$ The UUID of the parent, which can be a work package or another task. |
sortedSiblingIds | Array of strings[^[0-9A-F]{32}$] Updates the sort orders of all sibling tasks. Should include all sibling ids in order, including the new task's id. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
description | string <= 5000 characters The description of the task. |
name required | string (varchar191) <= 191 characters |
number or null (decimal8dot2Nullable) | |
sortOrder | integer Default: 0 The zero-based sort order of the task within its direct parent. |
status | string (EnumFlowTaskStatus) Default: "open" Enum: "open" "complete" |
{- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "sortedSiblingIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "description": "string",
- "name": "string",
- "plannedTime": 125.5,
- "sortOrder": 0,
- "status": "open"
}
taskId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the task |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
definesOwnResponsible | boolean Whether this node has own reponsible users/groups or inherits them from its parent node. If this property is set to |
responsibleGroups | Array of strings[^[0-9A-F]{32}$] The user group ids responsible for this node. Contains a copy of the parent node if this node is set to |
responsibleUsers | Array of strings[^[0-9A-F]{32}$] The user ids responsible for this node. Contains a copy of the parent node if this node is set to |
description | string <= 5000 characters The description of the task. |
name | string (varchar191) <= 191 characters |
number or null (decimal8dot2Nullable) | |
sortOrder | integer Default: 0 The zero-based sort order of the task within its direct parent. |
status | string (EnumFlowTaskStatus) Default: "open" Enum: "open" "complete" |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "definesOwnResponsible": true,
- "responsibleGroups": [ ],
- "responsibleUsers": [ ],
- "description": "string",
- "name": "string",
- "plannedTime": 125.5,
- "sortOrder": 0,
- "status": "open"
}
Use one ident/value pair to search for a list of task ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
status | string (EnumFlowTaskStatus) Enum: "open" "complete" |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
All inheritance and user group memberships are resolved to yield all users finally assigned/responsible for a node. The response is a record of all requested node ids mapping to their respective users.
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the nodes |
responsible | string Value: "1" Whether to include responsible users in the result. Defaults to |
projectManager | string Value: "1" Whether to include users in the result who were assigned a project manager role. |
anyProjectRole | string Value: "1" Whether to include users in the result who were assigned any project role. Defaults to |
roleId | string (uuid) ^[0-9A-F]{32}$ Example: roleId=E9996334F8134DBCBE18948284698BB2 The UUID of a specific project role to filter for. |
roleType | string Deprecated Enum: "projectManager" "executing" "supporting" Deprecated - role types have been removed. Project roles are independant from the responsible users now (formerly |
{ }
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the nodes |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "nodeId": "E9996334F8134DBCBE18948284698BB2",
- "plannedStart": "2020-03-23 23:59:59",
- "plannedEnd": "2020-03-23 23:59:59"
}
]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the time tracking records |
[- {
- "billedOn": 1586003400,
- "id": "E9996334F8134DBCBE18948284698BB2",
- "user": "E9996334F8134DBCBE18948284698BB2",
- "workTimeStart": 1586004000,
- "workTimeEnd": 1586005800,
- "billingStart": 1586003400,
- "billingEnd": 1586006100,
- "message": "Briefing about Octaved Flow",
- "isJourney": false,
- "referenceNode": "E9996334F8134DBCBE18948284698BB2",
- "workPackage": "E9996334F8134DBCBE18948284698BB2",
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "priceSurcharge": "E9996334F8134DBCBE18948284698BB2",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
]
}
]
unix (integer) or null The timestamp of the work start time in seconds since 1970-01-01 in the user's timezone. Meaning if the record start is supposed to be 2020-04-04 14:40 in New York, then the unix timestamp for 2020-04-04 14:40 UTC shall be sent. | |
unix (integer) or null The timestamp of the work end time in seconds since 1970-01-01 in the user's timezone. Meaning if the record end is supposed to be 2020-04-04 15:10 in New York, then the unix timestamp for 2020-04-04 15:10 UTC shall be sent. | |
unix (integer) or null The timestamp of the work start time, rounded according to the 'billingRoundingMinutes'-setting. If not set and workTimeStart is given, this value will be set accordingly. | |
unix (integer) or null The timestamp of the work end time, rounded according to the 'billingRoundingMinutes'-setting. If not set and workTimeEnd is given, this value will be set accordingly. | |
message | string <= 5000 characters The user's message of what he/she did. |
isJourney | boolean Default: false Whether or not the recorded work time is a trip to the place of work. |
uuid (string) or null The UUID of the referenced node. This must be a work package or sub work package. This supersedes the | |
uuid (string) or null The UUID of the associated work package. Superseded by the | |
uuid (string) or null The UUID of the price category in case the work package requires an individual one per record. | |
uuid (string) or null The UUID of the associated price surcharge. | |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the record. |
user required | string^[0-9A-F]{32}$ The UUID of the user. Must be a regular user. |
{- "workTimeStart": 1586004000,
- "workTimeEnd": 1586005800,
- "billingStart": 1586003400,
- "billingEnd": 1586006100,
- "message": "Briefing about Octaved Flow",
- "isJourney": false,
- "referenceNode": "E9996334F8134DBCBE18948284698BB2",
- "workPackage": "E9996334F8134DBCBE18948284698BB2",
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "priceSurcharge": "E9996334F8134DBCBE18948284698BB2",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "user": "E9996334F8134DBCBE18948284698BB2"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
timeTrackingRecordId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the time tracking record |
{- "billedOn": 1586003400,
- "id": "E9996334F8134DBCBE18948284698BB2",
- "user": "E9996334F8134DBCBE18948284698BB2",
- "workTimeStart": 1586004000,
- "workTimeEnd": 1586005800,
- "billingStart": 1586003400,
- "billingEnd": 1586006100,
- "message": "Briefing about Octaved Flow",
- "isJourney": false,
- "referenceNode": "E9996334F8134DBCBE18948284698BB2",
- "workPackage": "E9996334F8134DBCBE18948284698BB2",
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "priceSurcharge": "E9996334F8134DBCBE18948284698BB2",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
]
}
timeTrackingRecordId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the time tracking record |
unix (integer) or null The timestamp of the work start time in seconds since 1970-01-01 in the user's timezone. Meaning if the record start is supposed to be 2020-04-04 14:40 in New York, then the unix timestamp for 2020-04-04 14:40 UTC shall be sent. | |
unix (integer) or null The timestamp of the work end time in seconds since 1970-01-01 in the user's timezone. Meaning if the record end is supposed to be 2020-04-04 15:10 in New York, then the unix timestamp for 2020-04-04 15:10 UTC shall be sent. | |
unix (integer) or null The timestamp of the work start time, rounded according to the 'billingRoundingMinutes'-setting. If not set and workTimeStart is given, this value will be set accordingly. | |
unix (integer) or null The timestamp of the work end time, rounded according to the 'billingRoundingMinutes'-setting. If not set and workTimeEnd is given, this value will be set accordingly. | |
message | string <= 5000 characters The user's message of what he/she did. |
isJourney | boolean Default: false Whether or not the recorded work time is a trip to the place of work. |
uuid (string) or null The UUID of the referenced node. This must be a work package or sub work package. This supersedes the | |
uuid (string) or null The UUID of the associated work package. Superseded by the | |
uuid (string) or null The UUID of the price category in case the work package requires an individual one per record. | |
uuid (string) or null The UUID of the associated price surcharge. | |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the record. |
user required | string^[0-9A-F]{32}$ The UUID of the user. Must be a regular user. |
{- "workTimeStart": 1586004000,
- "workTimeEnd": 1586005800,
- "billingStart": 1586003400,
- "billingEnd": 1586006100,
- "message": "Briefing about Octaved Flow",
- "isJourney": false,
- "referenceNode": "E9996334F8134DBCBE18948284698BB2",
- "workPackage": "E9996334F8134DBCBE18948284698BB2",
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "priceSurcharge": "E9996334F8134DBCBE18948284698BB2",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "user": "E9996334F8134DBCBE18948284698BB2"
}
timeTrackingRecordId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the time tracking record |
unix (integer) or null The timestamp of the work start time in seconds since 1970-01-01 in the user's timezone. Meaning if the record start is supposed to be 2020-04-04 14:40 in New York, then the unix timestamp for 2020-04-04 14:40 UTC shall be sent. | |
unix (integer) or null The timestamp of the work end time in seconds since 1970-01-01 in the user's timezone. Meaning if the record end is supposed to be 2020-04-04 15:10 in New York, then the unix timestamp for 2020-04-04 15:10 UTC shall be sent. | |
unix (integer) or null The timestamp of the work start time, rounded according to the 'billingRoundingMinutes'-setting. If not set and workTimeStart is given, this value will be set accordingly. | |
unix (integer) or null The timestamp of the work end time, rounded according to the 'billingRoundingMinutes'-setting. If not set and workTimeEnd is given, this value will be set accordingly. | |
message | string <= 5000 characters The user's message of what he/she did. |
isJourney | boolean Default: false Whether or not the recorded work time is a trip to the place of work. |
uuid (string) or null The UUID of the referenced node. This must be a work package or sub work package. This supersedes the | |
uuid (string) or null The UUID of the associated work package. Superseded by the | |
uuid (string) or null The UUID of the price category in case the work package requires an individual one per record. | |
uuid (string) or null The UUID of the associated price surcharge. | |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the record. |
user | string^[0-9A-F]{32}$ The UUID of the user. Must be a regular user. |
{- "workTimeStart": 1586004000,
- "workTimeEnd": 1586005800,
- "billingStart": 1586003400,
- "billingEnd": 1586006100,
- "message": "Briefing about Octaved Flow",
- "isJourney": false,
- "referenceNode": "E9996334F8134DBCBE18948284698BB2",
- "workPackage": "E9996334F8134DBCBE18948284698BB2",
- "priceCategory": "E9996334F8134DBCBE18948284698BB2",
- "priceSurcharge": "E9996334F8134DBCBE18948284698BB2",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "user": "E9996334F8134DBCBE18948284698BB2"
}
Use one ident/value pair to search for a list of time tracking record ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the time record objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
customerId | string^[0-9A-F]{32}$ Finds all time tracking records made for a customer. |
date | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Finds time tracking records at the given date. |
dateRange | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}-20[0-9]{2}-[0-9... Finds time tracking records at the given date range. |
isBilled | any Finds time tracking records marked as billed. The value is not required. |
isJourney | any Finds time tracking records marked as journey. The value is not required. |
isOpen | any Finds time tracking records without an end date. The value is not required. |
rootNodeId | string^[0-9A-F]{32}$ Finds all time tracking records beneath the given root node id, like a project/group/work package id. |
userGroupId | string^[0-9A-F]{32}$ Finds time tracking records for users in the given user group id. This includes users in sub groups. |
userId | string^[0-9A-F]{32}$ Finds time tracking records for the given user id. |
referenceNodeId | string^[0-9A-F]{32}$ Finds time tracking records for the given reference node id, which is the node the record was made for. This can be a work package or sub work package. |
workPackageId | string^[0-9A-F]{32}$ Finds time tracking records for the given work package id. |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the time record objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the billings |
withSums | string Value: "1" Includes some calculated sums in the response |
withTimeRecordIds | string Value: "1" Includes the time record ids in the response |
withWorkPackageIds | string Value: "1" Includes the work package ids in the response |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "createdOn": 1580555700,
- "createdBy": "E9996334F8134DBCBE18948284698BB2",
- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "customerId": "E9996334F8134DBCBE18948284698BB2",
- "journeyBillingMode": "flatRate",
- "flatRateJourneyPrice": 0,
- "sums": {
- "contingentPriceSum": 0,
- "effortHoursSum": 0,
- "effortPriceSum": 0,
- "fixedPriceSum": 0,
- "flatRateJourneyPriceSum": 0,
- "numberOfFlatRateJourneys": 0
}, - "timeRecordIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "workPackageIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "interval": "custom",
- "intervalFrom": "2020-03-23",
- "intervalTo": "2020-03-23",
- "internalComment": "string",
- "publicNote": "string",
- "erpStatus": "none",
- "erpReference": "string",
- "erpMessage": "string",
- "workflowStatus": "open"
}
]
projectId required | string^[0-9A-F]{32}$ The project id for this billing. |
workPackageIds required | Array of strings[^[0-9A-F]{32}$] Work packages to include in this billing. Only descendants of 'projectId' are included. |
internalComment | string <= 5000 characters An internal comment, which is displayed in the UI. |
publicNote | string <= 5000 characters A public note rendered in the PDF exports. |
EnumFlowBillingInterval (string) or null The interval for billing in period. | |
date (string) or null The interval's from date for billing in period. | |
date (string) or null The interval's inclusive end date for billing in period. E.g. for a month, this should be the last day of that month. |
{- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "workPackageIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "internalComment": "string",
- "publicNote": "string",
- "interval": "custom",
- "intervalFrom": "2020-03-23",
- "intervalTo": "2020-03-23"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
withSums | string Value: "1" Includes some calculated sums in the response |
withTimeRecordIds | string Value: "1" Includes the time record ids in the response |
withWorkPackageIds | string Value: "1" Includes the work package ids in the response |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "createdOn": 1580555700,
- "createdBy": "E9996334F8134DBCBE18948284698BB2",
- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "customerId": "E9996334F8134DBCBE18948284698BB2",
- "journeyBillingMode": "flatRate",
- "flatRateJourneyPrice": 0,
- "sums": {
- "contingentPriceSum": 0,
- "effortHoursSum": 0,
- "effortPriceSum": 0,
- "fixedPriceSum": 0,
- "flatRateJourneyPriceSum": 0,
- "numberOfFlatRateJourneys": 0
}, - "timeRecordIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "workPackageIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "interval": "custom",
- "intervalFrom": "2020-03-23",
- "intervalTo": "2020-03-23",
- "internalComment": "string",
- "publicNote": "string",
- "erpStatus": "none",
- "erpReference": "string",
- "erpMessage": "string",
- "workflowStatus": "open"
}
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
projectId required | string^[0-9A-F]{32}$ The project id for this billing. |
workPackageIds required | Array of strings[^[0-9A-F]{32}$] Work packages to include in this billing. Only descendants of 'projectId' are included. |
internalComment | string <= 5000 characters An internal comment, which is displayed in the UI. |
publicNote | string <= 5000 characters A public note rendered in the PDF exports. |
EnumFlowBillingInterval (string) or null The interval for billing in period. | |
date (string) or null The interval's from date for billing in period. | |
date (string) or null The interval's inclusive end date for billing in period. E.g. for a month, this should be the last day of that month. |
{- "projectId": "E9996334F8134DBCBE18948284698BB2",
- "workPackageIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "internalComment": "string",
- "publicNote": "string",
- "interval": "custom",
- "intervalFrom": "2020-03-23",
- "intervalTo": "2020-03-23"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
internalComment | string <= 5000 characters An internal comment, which is displayed in the UI. |
publicNote | string <= 5000 characters A public note rendered in the PDF exports. |
erpStatus | string Default: "none" Enum: "none" "transmittedFailed" "transmittedSuccessful" "processing" "processedWithWarning" "processedWithError" "processedSuccessful" The |
erpReference | string <= 191 characters An optional reference value like an id on the erp side. |
erpMessage | string An optional result message for e.g. warnings or error messages displayed in the UI. |
workflowStatus | string Default: "open" Enum: "open" "hasIssues" "invoiced" The manual settable workflow status of the billing. |
{- "internalComment": "string",
- "publicNote": "string",
- "erpStatus": "none",
- "erpReference": "string",
- "erpMessage": "string",
- "workflowStatus": "open"
}
Use one ident/value pair to search for a list of billing ids.
See the request body section for a list of supported search idents.
The resulting ids are sorted by creation date.
ident required | string See request body schema properties for the available idents. |
value | string See request body schema for the appropriate type. |
createdInDateRange | string (dateRange) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}-20[0-9]{2}-[0-9... |
customerId | string (uuid) ^[0-9A-F]{32}$ |
erpReference | string (varchar191) <= 191 characters |
erpStatus | string (BillingErpStatus) Enum: "none" "transmittedFailed" "transmittedSuccessful" "processing" "processedWithWarning" "processedWithError" "processedSuccessful" |
projectId | string (uuid) ^[0-9A-F]{32}$ |
timeTrackingRecordId | string (uuid) ^[0-9A-F]{32}$ |
workflowStatus | string (BillingWorkflowStatus) Enum: "open" "hasIssues" "invoiced" |
workPackageId | string (uuid) ^[0-9A-F]{32}$ |
[- "E9996334F8134DBCBE18948284698BB2"
]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[- "E9996334F8134DBCBE18948284698BB2"
]
Deprecated - use "JSON export v2"
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
{- "billableHoursSum": 0,
- "billablePrice": 0,
- "billingId": "E9996334F8134DBCBE18948284698BB2",
- "customer": {
- "customerNumber": "string",
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string"
}, - "project": {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string"
}, - "workHoursSum": 0,
- "workPackages": [
- {
- "billableHoursSum": 0,
- "billablePrice": 0,
- "billingType": "contingent",
- "fixedPrice": 0,
- "hourlyRate": 0,
- "id": "E9996334F8134DBCBE18948284698BB2",
- "maxEffort": 0,
- "name": "string",
- "priceCategoryApiKey": "string",
- "priceCategoryId": "string",
- "surchargeHoursSum": 0,
- "timeTrackingRecords": [
- {
- "billedOn": 1580555700,
- "billingEnd": "23:59",
- "billingStart": "23:59",
- "date": "2020-03-23",
- "hourlyRate": 0,
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isJourney": false,
- "message": "Briefing about Octaved Flow",
- "priceCategoryApiKey": "string",
- "priceCategoryId": "string",
- "priceSurchargeApiKey": "string",
- "priceSurchargeId": "E9996334F8134DBCBE18948284698BB2",
- "priceSurchargePercentage": 0,
- "userEmail": "string",
- "userId": "E9996334F8134DBCBE18948284698BB2",
- "workTimeEnd": "23:59",
- "workTimeStart": "23:59"
}
], - "usePriceCategoryPerTimeTracking": true,
- "workHoursSum": 0
}
]
}
The response schema is identical to the one transmitted to the billing webhook (transmitBilling:v2
)
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
{- "billingId": "E9996334F8134DBCBE18948284698BB2",
- "customer": {
- "customerNumber": "string",
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string"
}, - "flatRateJourneyPrice": 0,
- "journeyBillingMode": "flatRate",
- "priceTotal": 0,
- "project": {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string"
}, - "workPackages": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "billingType": "contingent",
- "usePriceCategoryPerTimeTracking": true,
- "priceCategoryId": "string",
- "priceCategoryApiKey": "string",
- "hourlyRate": 0,
- "fixedPrice": 0,
- "contingentHours": 0,
- "billableHoursWithoutJourneys": 0,
- "billableHoursJourneys": 0,
- "billableHoursTotal": 0,
- "numberOfFlatRateJourneys": 0,
- "priceBillableHoursTotalWithoutSurcharges": 0,
- "priceFlatRateJourneys": 0,
- "priceSurcharges": 0,
- "priceTotal": 0,
- "timeTrackingRecords": [
- {
- "billedOn": 1580555700,
- "billingEnd": "23:59",
- "billingStart": "23:59",
- "date": "2020-03-23",
- "hourlyRate": 0,
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isJourney": false,
- "message": "Briefing about Octaved Flow",
- "priceCategoryApiKey": "string",
- "priceCategoryId": "string",
- "priceSurchargeApiKey": "string",
- "priceSurchargeId": "E9996334F8134DBCBE18948284698BB2",
- "priceSurchargePercentage": 0,
- "userEmail": "string",
- "userId": "E9996334F8134DBCBE18948284698BB2",
- "workTimeEnd": "23:59",
- "workTimeStart": "23:59"
}
]
}
]
}
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
object (excelTimeSheet) Configuration for included columns. Use json encoding: | |
grouping | string (excelTimeSheetGrouping) Default: "none" Enum: "none" "byWorkPackage" "byWorkPackageAndUser" "bySubWorkPackage" Optionally groups time sheet by work package and user with respective sub totals |
billingId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the billing |
object (pdfTimeSheet) Configuration for included columns. Use json encoding: | |
grouping | string (pdfTimeSheetGrouping) Default: "byWorkPackage" Enum: "byWorkPackage" "bySubWorkPackage" Optionally groups time sheet by sub work packages |
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the material resource folders |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "materialResourceFolder",
- "name": "string"
}
]
parentNodeId | string^[0-9A-F]{32}$ Default: "<root material resource folder id>" The UUID of the parent, which must be another material resource folder. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
{- "parentNodeId": "<root material resource folder id>",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
materialResourceFolderId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the material resource folder |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "materialResourceFolder",
- "name": "string"
}
materialResourceFolderId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the material resource folder |
parentNodeId | string^[0-9A-F]{32}$ Default: "<root material resource folder id>" The UUID of the parent, which must be another material resource folder. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
{- "parentNodeId": "<root material resource folder id>",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string"
}
materialResourceFolderId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the material resource folder |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name | string (varchar191) <= 191 characters |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string"
}
Use one ident/value pair to search for a list of material resource folder ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the material resources |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "materialResource",
- "name": "string",
- "isActive": true
}
]
parentNodeId | string^[0-9A-F]{32}$ Default: "<root material resource folder id>" The UUID of the parent, which must be another material resource folder. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
isActive | boolean |
{- "parentNodeId": "<root material resource folder id>",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string",
- "isActive": true
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
materialResourceId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the material resource |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "isArchived": true,
- "createdOn": 1580555700,
- "lastChanged": 1580555700,
- "lastChangedBy": "E9996334F8134DBCBE18948284698BB2",
- "lastChangedOn": 1580555700,
- "parentNodeId": "E9996334F8134DBCBE18948284698BB2",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "nodeType": "materialResource",
- "name": "string",
- "isActive": true
}
materialResourceId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the material resource |
parentNodeId | string^[0-9A-F]{32}$ Default: "<root material resource folder id>" The UUID of the parent, which must be another material resource folder. |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name required | string (varchar191) <= 191 characters |
isActive | boolean |
{- "parentNodeId": "<root material resource folder id>",
- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string",
- "isActive": true
}
materialResourceId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 UUID of the material resource |
color | string <= 6 characters The color in hexadecimal notation. |
labels | Array of strings[^[0-9A-F]{32}$] Ids of labels associated with the node. |
object <= 20 properties Stores your arbitrary data. Patches partially on top level. Any keys with a | |
referenceNumber | string (varchar191) <= 191 characters Your reference number for this node. |
name | string (varchar191) <= 191 characters |
isActive | boolean |
{- "color": "7c9754",
- "labels": [
- "E9996334F8134DBCBE18948284698BB2"
], - "keyValueStore": { },
- "referenceNumber": "string",
- "name": "string",
- "isActive": true
}
Use one ident/value pair to search for a list of material resource ids.
See the request body section for a list of supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
ident required | string |
value | string The content/format depends on the search ident. |
yieldObjects | string Value: "1" |
ancestorsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all ancestor node ids in order, the direct parent first. |
childrenOf | string (uuid) ^[0-9A-F]{32}$ A node id to find the direct child node ids. |
descendantsOf | string (uuid) ^[0-9A-F]{32}$ A node id to find all descendant node ids (exclusive the given node id). |
isArchived | string Value: "" No value used |
labelId | string (uuid) ^[0-9A-F]{32}$ The id of the label to look for. |
referenceNumber | string (varchar191) <= 191 characters |
name | string non-empty |
[ ]
Use "and"-, "or"- or "not"-objects to assemble the desired search query. E.g.:
{"and":[{"ident":"propertyA","value":"foo"},{"or":[{"ident":"isOfSomeKindX"},{"ident":"propertyB","value":"bar"}]},{"not":{"ident":"isOfSomeKindY"}}]}
See the simple search request for the supported search idents.
If you provide yieldObjects
as query parameter, the response will contain the objects instead of ids.
yieldObjects | string Value: "1" |
ident required | string non-empty |
value | string |
{- "ident": "string",
- "value": "string"
}
[ ]
Gets all user email addresses mapped by user ids. Optionally filters by specific user ids if provided as query parameter.
Note that system or api users have an empty email address - they are included anyway for verification purposes.
ids[] | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 Optionally filters the users by these ids. |
{- "E9996334F8134DBCBE18948284698BB2": "max.mustermann@domain.de"
}
{- "identity": {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "identifier": "string",
- "email": "string",
- "name": "string",
- "organizations": {
- "invited": [
- {
- "organizationId": 0,
- "organizationName": "string",
- "userId": "E9996334F8134DBCBE18948284698BB2",
- "userType": "string",
- "isActive": true
}
], - "joined": [
- {
- "organizationId": 0,
- "organizationName": "string",
- "userId": "E9996334F8134DBCBE18948284698BB2",
- "userType": "string",
- "isActive": true
}
]
}, - "websocket": {
- "jwt": "string",
- "jwtExpiresAt": 0
}
}, - "user": {
- "avatarUrl": "string",
- "id": "E9996334F8134DBCBE18948284698BB2",
- "name": "string",
- "type": "api"
}
}
Gets the tracked working time for the given users/dates.
Optionally includes all working time entries with all of their revisions. Only the last revision of each entry counts towards the daily result. Thus the entry is considered deleted if its last revision is marked as isDeletion=true
.
Optionally includes statistics for the week/month of a date.
If you are only interested in the monthly tracked working time, please request only the first date of the month and use includeStats=true
. This will give you a sum for the month without having to load all the dates.
dates required | Array of strings (dateArray) [^20[0-9]{2}-[0-9]{2}-[0-9]{2}$] |
userIds required | Array of strings (uuidArray) [^[0-9A-F]{32}$] |
includeEntries | boolean Optionally opt-in to receiving individual entries with all their revisions |
includeStats | boolean Optionally opt-in to receiving |
{- "dates": [
- "2020-03-23"
], - "userIds": [
- "E9996334F8134DBCBE18948284698BB2"
], - "includeEntries": true,
- "includeStats": true
}
[- {
- "date": "2020-03-23",
- "userId": "E9996334F8134DBCBE18948284698BB2",
- "minutes": 0,
- "warnings": [
- "germanyMissingBreak"
], - "entries": [
- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "revisions": [
- {
- "createdBy": "E9996334F8134DBCBE18948284698BB2",
- "createdOn": 1580555700,
- "startDateTime": "2020-03-23 23:59:59",
- "endDateTime": "2020-03-23 23:59:59",
- "isDeletion": true
}
], - "userId": "E9996334F8134DBCBE18948284698BB2"
}
], - "week": {
- "minutes": 0
}, - "month": {
- "minutes": 0
}, - "year": {
- "minutes": 0
}
}
]
Adds a single new working time entry
startDateTime required | string^20[0-9]{2}-[0-9]{2}-[0-9]{2} ([0-1][0-9]|2[0... The working time start, seconds are ignored |
required | dateTime (string) or null The working time end, seconds are ignored. This must be on the same date as the startDateTime, unless it is exactly midnight of the next day. When editing for a different user or outside the days tolerance, the end time is also required. |
userId required | string^[0-9A-F]{32}$ The user id for which this working time shall be recorded |
{- "startDateTime": "2020-03-23 23:59:59",
- "endDateTime": "2020-03-23 23:59:59",
- "userId": "E9996334F8134DBCBE18948284698BB2"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
Gets a single working time entry. Only the last revision counts. Thus this entry is considered deleted if its last revision is marked as isDeletion=true
.
id required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the entry |
{- "id": "E9996334F8134DBCBE18948284698BB2",
- "revisions": [
- {
- "createdBy": "E9996334F8134DBCBE18948284698BB2",
- "createdOn": 1580555700,
- "startDateTime": "2020-03-23 23:59:59",
- "endDateTime": "2020-03-23 23:59:59",
- "isDeletion": true
}
], - "userId": "E9996334F8134DBCBE18948284698BB2"
}
Adds or updates a single working time entry. Each change creates a new revision.
id required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the entry |
startDateTime required | string^20[0-9]{2}-[0-9]{2}-[0-9]{2} ([0-1][0-9]|2[0... The working time start, seconds are ignored |
required | dateTime (string) or null The working time end, seconds are ignored. This must be on the same date as the startDateTime, unless it is exactly midnight of the next day. When editing for a different user or outside the days tolerance, the end time is also required. |
userId required | string^[0-9A-F]{32}$ The user id for which this working time shall be recorded |
{- "startDateTime": "2020-03-23 23:59:59",
- "endDateTime": "2020-03-23 23:59:59",
- "userId": "E9996334F8134DBCBE18948284698BB2"
}
{- "id": "E9996334F8134DBCBE18948284698BB2"
}
Adds or updates multiple working time entries at once. Each change creates a new revision for its entry.
required | Array of objects |
{- "entries": [
- {
- "id": "string",
- "startDateTime": "2020-03-23 23:59:59",
- "endDateTime": "2020-03-23 23:59:59",
- "userId": "E9996334F8134DBCBE18948284698BB2"
}
]
}
{- "ids": [
- "E9996334F8134DBCBE18948284698BB2"
]
}
Deprecated with the introduction of generations for standard working time and the split into working and project time. Use "Get settings" instead.
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the users or user groups to load the definitions for |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "standardWorkTimes": [
- {
- "weekday": 1,
- "hours": 24,
- "minutes": 1440,
- "pathLength": 0,
- "definingUnitId": "E9996334F8134DBCBE18948284698BB2",
- "definingUnitType": "user"
}
], - "customWorkTimes": [
- {
- "startDate": "2020-03-23",
- "endDate": "2020-03-23",
- "hours": 24,
- "minutes": 1440,
- "isNonStdWorkTime": true,
- "type": "halfVacationDay",
- "comment": "string",
- "pathLength": 0,
- "definingId": "E9996334F8134DBCBE18948284698BB2",
- "definingUnitId": "E9996334F8134DBCBE18948284698BB2",
- "definingUnitType": "user"
}
]
}
]
Gets the working time settings for the given user/user group ids. Each result also includes all inherited settings. Settings "closer" to the user take precedence.
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the users or user groups to load the settings for |
[- {
- "id": "E9996334F8134DBCBE18948284698BB2",
- "weeklyWorkingTimes": [
- {
- "generations": [
- {
- "validFrom": "2020-03-23",
- "workingMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}, - "projectMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}
}
], - "pathLength": 0,
- "definingUnitId": "E9996334F8134DBCBE18948284698BB2",
- "definingUnitType": "organization"
}
], - "customWorkingTimes": [
- {
- "startDate": "2020-03-23",
- "endDate": "2020-03-23",
- "workingMinutes": 1440,
- "projectMinutes": 1440,
- "isNonStdWorkTime": true,
- "type": "halfVacationDay",
- "comment": "string",
- "pathLength": 0,
- "definingId": "E9996334F8134DBCBE18948284698BB2",
- "definingUnitId": "E9996334F8134DBCBE18948284698BB2",
- "definingUnitType": "organization"
}
], - "vacationConfigs": {
- "2023": {
- "entitlement": 30,
- "carryover": 2.5
}
}
}
]
Deprecated - use "Get work minutes" for better precision
from required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Example: 2020-03-23 The start date for the date range to load |
to required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Example: 2020-03-23 The end date for the date range to |
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the users to load the work hours for |
{- "2020-02-13": {
- "E9996334F8134DBCBE18948284698BB2": 7.5
}, - "2020-02-14": {
- "E9996334F8134DBCBE18948284698BB2": 0
}
}
Gets the resolved work minutes at specific days for users, taking any weekly or custom working time settings into account and resolving the inheritance.
The result is a record of every day within the requested date range mapping to a record of user ids to their work minutes at that day.
from required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Example: 2020-03-23 The start date for the date range to load |
to required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Example: 2020-03-23 The end date for the date range to |
ids[] required | Array of strings (uuidArray) [^[0-9A-F]{32}$] Example: ids[]=E9996334F8134DBCBE18948284698BB2 UUIDs of the users to load the work minutes for |
{- "2020-02-13": {
- "E9996334F8134DBCBE18948284698BB2": 450
}, - "2020-02-14": {
- "E9996334F8134DBCBE18948284698BB2": 0
}
}
Routes to manage the regular weekly working time for the organization, groups and users.
The working time can be saved with a validFrom
date, which we call "generations" of working times.
There must always be at least one generation on the organization/user/group to consider them having individual settings. Otherwise they inherit their working time from their closest parent group, the organization or the system.
While a generation is usually only used from its validFrom
date onwards, a date not matching any generation will still use the settings from the earliest generation.
Adds or updates the weekly working time for the organization.
If the organization doesn't have any generations, calling this with a different validFrom
than the default 2000-01-01
will cause the system default generation to be copied onto the organization. This is to not lose the effective existing settings. However, you can delete this copied generation again, but bare in mind that the generation with the lowest validFrom
will also be used for any dates not matching any generation.
validFrom | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Default: "2000-01-01" Example: 2020-03-23 The date from which the given weekly time shall be valid. If you don't work with generations of weekly working time, you can omit this, or use the default |
object The weekly working time in minutes. Used for working time tracking. If omitted, this will be set to the value of | |
object The weekly project time in minutes. Used for workload calculation in project planning. If omitted, this will be set to the value of |
{- "workingMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}, - "projectMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}
}
Deletes the weekly working time generation for the organization.
validFrom | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Default: "2000-01-01" Example: 2020-03-23 The date from which the given weekly time shall be valid. If you don't work with generations of weekly working time, you can omit this, or use the default |
This action copies all the inherited regular weekly working time generations onto the group. Use this if you want to switch the group to defining individual weekly working time without losing existing settings. Calling this method will only add generations that are not already defined for this group, so this can be used to merge with inherited generations later on.
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user group |
object The weekly working time in minutes. Used for working time tracking. If omitted, this will be set to the value of | |
object The weekly project time in minutes. Used for workload calculation in project planning. If omitted, this will be set to the value of |
{- "workingMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}, - "projectMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}
}
Adds or updates the weekly working time for the group
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user group |
validFrom | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Default: "2000-01-01" Example: 2020-03-23 The date from which the given weekly time shall be valid. If you don't work with generations of weekly working time, you can omit this, or use the default |
object The weekly working time in minutes. Used for working time tracking. If omitted, this will be set to the value of | |
object The weekly project time in minutes. Used for workload calculation in project planning. If omitted, this will be set to the value of |
{- "workingMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}, - "projectMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}
}
Deletes the weekly working time for the group
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user group |
validFrom | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Default: "2000-01-01" Example: 2020-03-23 The date from which the given weekly time shall be valid. If you don't work with generations of weekly working time, you can omit this, or use the default |
This action copies all the inherited regular weekly working time generations onto the user. Use this if you want to switch the user to defining individual weekly working time without losing existing settings. Calling this method will only add generations that are not already defined for this user, so this can be used to merge with inherited generations later on.
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user |
object The weekly working time in minutes. Used for working time tracking. If omitted, this will be set to the value of | |
object The weekly project time in minutes. Used for workload calculation in project planning. If omitted, this will be set to the value of |
{- "workingMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}, - "projectMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}
}
Adds or updates the weekly working time for the user
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user |
validFrom | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Default: "2000-01-01" Example: 2020-03-23 The date from which the given weekly time shall be valid. If you don't work with generations of weekly working time, you can omit this, or use the default |
object The weekly working time in minutes. Used for working time tracking. If omitted, this will be set to the value of | |
object The weekly project time in minutes. Used for workload calculation in project planning. If omitted, this will be set to the value of |
{- "workingMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}, - "projectMinutes": {
- "1": 480,
- "2": 480,
- "3": 480,
- "4": 480,
- "5": 480,
- "6": 480,
- "7": 480
}
}
Deletes the weekly working time for the user
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user |
validFrom | string^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ Default: "2000-01-01" Example: 2020-03-23 The date from which the given weekly time shall be valid. If you don't work with generations of weekly working time, you can omit this, or use the default |
Deprecated - use "Set for group"
userGroupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user group |
^(1|2|3|4|5|6|7)$ pattern property | number [ 0 .. 24 ] Record of weekdays to work hours. If you omit a weekday, any definition is removed and the hours fall back to the next inherited level or system default. |
{- "2": 7.5,
- "5": 4
}
Deprecated - use "Set for group"
userGroupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user group |
^(1|2|3|4|5|6|7)$ pattern property | integer [ 0 .. 1440 ] Record of weekdays to work minutes. If you omit a weekday, any definition is removed and the minutes fall back to the next inherited level or system default. |
{- "2": 450,
- "5": 240
}
Deprecated - use "Set for user"
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user |
^(1|2|3|4|5|6|7)$ pattern property | number [ 0 .. 24 ] Record of weekdays to work hours. If you omit a weekday, any definition is removed and the hours fall back to the next inherited level or system default. |
{- "2": 7.5,
- "5": 4
}
Deprecated - use "Set for user"
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user |
^(1|2|3|4|5|6|7)$ pattern property | integer [ 0 .. 1440 ] Record of weekdays to work minutes. If you omit a weekday, any definition is removed and the minutes fall back to the next inherited level or system default. |
{- "2": 450,
- "5": 240
}
Routes to manage the custom working time like off-days, sick leave or deviating working time
Adds or updates custom working time for the organiization
workTimeId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id for the custom work time. Generate a new UUID for a new entry (formatted to upper case w/o dashes). |
startDate required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
endDate required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
hours | number [ 0 .. 24 ] Deprecated Default: 0 Deprecated - use |
minutes | integer [ 0 .. 1440 ] Deprecated Default: 0 Deprecated - use |
workingMinutes | integer [ 0 .. 1440 ] Default: 0 Used for working time tracking. For off-days this is 0. For partial sick leaves this should be set to the exact tracked working time of the day to have zero overtime. If omitted and a |
projectMinutes | integer [ 0 .. 1440 ] Used for workload calculation in project planning. If omitted, this will be set to the value of |
comment | string |
type required | string Enum: "nonStandardWorkTime" "publicHoliday" |
{- "startDate": "2020-03-23",
- "endDate": "2020-03-23",
- "hours": 0,
- "minutes": 0,
- "workingMinutes": 0,
- "projectMinutes": 1440,
- "comment": "string",
- "type": "nonStandardWorkTime"
}
Adds or updates custom work time for a user group
userGroupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user group |
workTimeId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id for the custom work time. Generate a new UUID for a new entry (formatted to upper case w/o dashes). |
startDate required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
endDate required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
hours | number [ 0 .. 24 ] Deprecated Default: 0 Deprecated - use |
minutes | integer [ 0 .. 1440 ] Deprecated Default: 0 Deprecated - use |
workingMinutes | integer [ 0 .. 1440 ] Default: 0 Used for working time tracking. For off-days this is 0. For partial sick leaves this should be set to the exact tracked working time of the day to have zero overtime. If omitted and a |
projectMinutes | integer [ 0 .. 1440 ] Used for workload calculation in project planning. If omitted, this will be set to the value of |
comment | string |
type required | string Enum: "nonStandardWorkTime" "publicHoliday" |
{- "startDate": "2020-03-23",
- "endDate": "2020-03-23",
- "hours": 0,
- "minutes": 0,
- "workingMinutes": 0,
- "projectMinutes": 1440,
- "comment": "string",
- "type": "nonStandardWorkTime"
}
Adds or updates custom working time for a user
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id of the user |
workTimeId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The id for the custom work time. Generate a new UUID for a new entry (formatted to upper case w/o dashes). |
startDate required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
endDate required | string (date) ^20[0-9]{2}-[0-9]{2}-[0-9]{2}$ |
hours | number [ 0 .. 24 ] Deprecated Default: 0 Deprecated - use |
minutes | integer [ 0 .. 1440 ] Deprecated Default: 0 Deprecated - use |
workingMinutes | integer [ 0 .. 1440 ] Default: 0 Used for working time tracking. For off-days this is 0. For partial sick leaves this should be set to the exact tracked working time of the day to have zero overtime. If omitted and a |
projectMinutes | integer [ 0 .. 1440 ] Used for workload calculation in project planning. If omitted, this will be set to the value of |
comment | string |
type required | string Enum: "halfVacationDay" "nonStandardWorkTime" "offDayOther" "partialSickLeave" "sickLeave" "vacationDay" |
{- "startDate": "2020-03-23",
- "endDate": "2020-03-23",
- "hours": 0,
- "minutes": 0,
- "workingMinutes": 0,
- "projectMinutes": 1440,
- "comment": "string",
- "type": "halfVacationDay"
}
Calculates the remaining days of the year before targetYear
and those as carryover for targetYear
for all users belonging to the given group (and its sub groups).
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The group id |
targetYear required | string^(1|2)[0-9]{3}$ Example: 2024 The target year |
Copies the configured vacation entitlement from sourceYear
to targetYear
for all users belonging to the given group (and its sub groups).
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The group id |
sourceYear required | string^(1|2)[0-9]{3}$ Example: 2023 The source year |
targetYear required | string^(1|2)[0-9]{3}$ Example: 2024 The target year |
Sets the vacation entitlement to the given days for the given year for all users belonging to the given group (and its sub groups).
groupId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The group id |
year required | string^(1|2)[0-9]{3}$ Example: 2023 The year |
days required | string^(\d{1,3}(\.5)?|-)$ Example: 30 The number of days |
Sets the vacation entitlement to the given days for the given year and user.
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The user id |
year required | string^(1|2)[0-9]{3}$ Example: 2023 The year |
days required | string^(\d{1,3}(\.5)?|-)$ Example: 30 The number of days |
Sets the vacation carryover to the given days for the given year and user.
userId required | string (uuid) ^[0-9A-F]{32}$ Example: E9996334F8134DBCBE18948284698BB2 The user id |
year required | string^(1|2)[0-9]{3}$ Example: 2023 The year |
days required | string^(\d{1,3}(\.5)?|-)$ Example: 30 The number of days |