Schemas
SuccessResponse
{
"status": "success",
"code": 200,
"message": "Operation completed successfully",
"details": {
"clientId": 67
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| status | string | false | none | none |
| code | integer | false | none | none |
| message | string | false | none | none |
| details | object | false | none | none |
ErrorResponse
{
"status": "error",
"code": 400,
"message": "An error occurred",
"details": "Detailed error description"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| status | string | false | none | none |
| code | integer | false | none | none |
| message | string | false | none | none |
| details | string | false | none | none |
ComplexErrorResponse
{
"status": "error",
"code": 400,
"message": "An error occurred",
"details": {}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| status | string | false | none | none |
| code | integer | false | none | none |
| message | string | false | none | none |
| details | object | false | none | Structured error details |
ClientItem
{
"id": 42,
"name": "Muster GmbH",
"description": "Description"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| id | integer | true | none | Unique client ID |
| name | string | true | none | Client name |
| description | string¦null | false | none | Client description |
FolderItem
{
"id": 42,
"name": "Internal projects",
"description": "Folder for internal projects",
"left": 1,
"right": 2
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| id | integer | true | none | Unique folder ID |
| name | string | true | none | Folder name |
| description | string¦null | false | none | Folder description |
| left | integer | true | none | Left tree index (Nested-Set model) |
| right | integer | true | none | Right tree index (Nested-Set model) |
ProjectItem
{
"id": 123,
"versionId": 5,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"name": "Project X",
"description": "Project description notes",
"start": "2023-01-15T09:00:00",
"finish": "2023-12-31T17:00:00",
"code": "PRJ-X-2023",
"customer": "Acme Corporation",
"category": "Construction",
"priority": 1.5,
"status": "In Progress",
"path": "/Projects/2023/Project X",
"folderId": 42,
"createdAt": "2022-12-01T08:30:00",
"createdUserId": 7,
"createdUserName": "John Doe",
"lockAt": "2023-02-01T10:15:00",
"lockUserId": 8,
"lockUserName": "Jane Smith",
"notes": "Special handling required",
"isTemplate": false,
"isReadOnly": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| id | integer | true | none | Unique project ID |
| versionId | integer | true | none | Version identifier |
| uuid | string(uuid) | true | none | Unique universal identifier |
| name | string | true | none | Project name |
| description | string¦null | false | none | Detailed project description |
| start | string(date-time) | false | none | Project start date/time |
| finish | string(date-time) | false | none | Project end date/time |
| code | string¦null | false | none | Project code/short identifier |
| customer | string¦null | false | none | Customer name |
| category | string¦null | false | none | Project category |
| priority | number(float) | false | none | Project priority level |
| status | string | false | none | Current project status |
| path | string | true | none | Full virtual path of the project |
| folderId | integer | true | none | Parent folder ID |
| createdAt | string(date-time) | true | none | Creation timestamp |
| createdUserId | integer | true | none | ID of the creating user (-1 if unknown) |
| createdUserName | string | true | none | Name of the creating user |
| lockAt | string(date-time)¦null | false | none | Timestamp when project was locked (empty if not locked) |
| lockUserId | integer | false | none | ID of the user who locked the project (-1 if not locked) |
| lockUserName | string | false | none | Name of the user who locked the project |
| notes | string¦null | false | none | Additional project notes |
| isTemplate | boolean | true | none | Whether this is a template project |
| isReadOnly | boolean | true | none | Whether the project is read-only for current user |
LinkItem
{
"startTaskUuid": "550e8400-e29b-41d4-a716-446655440001",
"finishTaskUuid": "550e8400-e29b-41d4-a716-446655440002",
"startDateTime": 1700000000,
"finishDateTime": 1700860000,
"typeLink": 0,
"typeDelay": 0,
"delayTime": 3,
"delayRelative": false,
"rgbColor": 16711680,
"bold": true,
"confirmed": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| startTaskUuid | string(uuid) | true | none | Start task UUID |
| finishTaskUuid | string(uuid) | true | none | Finish task UUID |
| startDateTime | integer | true | none | Link start time (timestamp) |
| finishDateTime | integer | true | none | Link finish time (timestamp) |
| typeLink | integer | true | none | Link type (e.g. Finish-Start, Start-Start) |
| typeDelay | integer | false | none | Delay type (e.g. work days, calendar days) |
| delayTime | integer | false | none | Delay time in units according to typeDelay |
| delayRelative | boolean | false | none | Whether the delay is relative |
| rgbColor | integer | false | none | Link RGB color |
| bold | boolean | false | none | Whether the link is displayed in bold |
| confirmed | boolean | false | none | Whether the link is confirmed |
PortfolioItem
{
"id": 1,
"name": "Main Portfolio",
"isCombine": true,
"folderIds": "1,2,3",
"projectIds": "4,5,6",
"projects": [
{
"id": 123,
"versionId": 5,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"name": "Project X",
"description": "Project description notes",
"start": "2023-01-15T09:00:00",
"finish": "2023-12-31T17:00:00",
"code": "PRJ-X-2023",
"customer": "Acme Corporation",
"category": "Construction",
"priority": 1.5,
"status": "In Progress",
"path": "/Projects/2023/Project X",
"folderId": 42,
"createdAt": "2022-12-01T08:30:00",
"createdUserId": 7,
"createdUserName": "John Doe",
"lockAt": "2023-02-01T10:15:00",
"lockUserId": 8,
"lockUserName": "Jane Smith",
"notes": "Special handling required",
"isTemplate": false,
"isReadOnly": true
}
],
"lockEnable": true,
"projectCount": 3
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| id | integer | true | none | Unique portfolio ID |
| name | string | true | none | Portfolio name |
| isCombine | boolean | true | none | Whether the portfolio is combined |
| folderIds | string | true | none | Comma-separated list of folder IDs in the portfolio |
| projectIds | string | true | none | Comma-separated list of project IDs in the portfolio |
| projects | [ProjectItem] | false | none | List of included projects |
| lockEnable | boolean | true | none | Indicates whether the portfolio can be locked |
| projectCount | integer | true | none | Number of projects in the portfolio |
DmsFolderItem
{
"id": 42,
"name": "Internal documents",
"description": "Folder for internal documents",
"left": 1,
"right": 2
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| id | integer | true | none | Unique folder ID |
| name | string | true | none | Folder name |
| description | string¦null | false | none | Folder description |
| left | integer | true | none | Left tree index (Nested-Set model) |
| right | integer | true | none | Right tree index (Nested-Set model) |
DmsDocumentItem
{
"id": 42,
"projectId": 5,
"folderId": 42,
"parentUuid": "550e8400-e29b-41d4-a716-446655440001",
"name": "Internal documents",
"description": "Folder for internal documents",
"fileSize": 512,
"createdAt": "2022-12-01T08:30:00",
"createdUserId": 7,
"createdUserName": "John Doe"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| id | integer | true | none | Unique folder ID |
| projectId | integer | true | none | Project identifier |
| folderId | integer | true | none | Parent DMS folder ID |
| parentUuid | string(uuid) | true | none | Parent task/subproject UUID |
| name | string | true | none | Folder name |
| description | string¦null | false | none | Folder description |
| fileSize | integer | false | none | File Size |
| createdAt | string(date-time) | false | none | Creation timestamp |
| createdUserId | integer | false | none | ID of the creating user (-1 if unknown) |
| createdUserName | string | false | none | Name of the creating user |
ColumnStackedItemPresentation
{
"month": "string",
"data1": 0,
"data2": 0,
"data3": 0,
"data4": 0,
"other": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| month | string | true | none | none |
| data1 | integer | true | none | none |
| data2 | integer | true | none | none |
| data3 | integer | true | none | none |
| data4 | integer | true | none | none |
| other | integer | true | none | none |
ColumnStackedDataResponse
{
"items": [
{
"month": "string",
"data1": 0,
"data2": 0,
"data3": 0,
"data4": 0,
"other": 0
}
],
"success": true
}
Properties
AnotherColumnStackedItemPresentation
{
"week": "string",
"data1": 0,
"data2": 0,
"data3": 0,
"data4": 0,
"other": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|
| week | string | true | none | none |
| data1 | integer | true | none | none |
| data2 | integer | true | none | none |
| data3 | integer | true | none | none |
| data4 | integer | true | none | none |
| other | integer | true | none | none |
AnotherColumnStackedDataResponse
{
"items": [
{
"week": "string",
"data1": 0,
"data2": 0,
"data3": 0,
"data4": 0,
"other": 0
}
],
"success": true
}
Properties