Groups
Groups represent a set of jobs that are grouped together. It allows to manage the jobs in a more organized way.
The Group object
Properties
idstring
Unique identifier for the object.
namestring
The name of the group.
archivedboolean
True if the entity is archived.
budgetobject
The budget of the group.
clientobject
The client.colorstring
The color of the group.
currencyobject
The currency.domainobject
The domain of expertise.dueDatedate
The due date of the group.
dueDateAutoboolean
True if the due date is automatically set based on the due dates of the jobs.
estimationembedded
The estimation of the group.
externalReferencestring
The external reference.
filesarray
The files.groupOnInvoiceboolean
True if all the jobs of the group are grouped on one line on the invoice.
jobsarray
The list of job ids in the group.
labelsarray
The labels.notesarray
The notes linked to the entity.pinnedboolean
True if the entity is pinned.
progressnumber
The progress of the group based on the jobs.
purchaseOrderstring
The purchase order.
servicesarray
The services in the group.statusnumber
The status of the group. Valid values are:
1
(not started),2
(in progress),3
(finished),4
(invoiced),5
(cancelled),6
(on hold).suppliersarray
The suppliers in the group.usersarray
The users in the groupcreatedAtdate
The date and time the entity was created.
updatedAtdate
The date and time the entity was last updated.
Group object
{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-14T13:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 160,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": false,
"jobs": [
"670d0e8a077d755ddaa9b139"
],
"labels": [],
"notes": [],
"pinned": false,
"progress": 0,
"services": [
{
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
}
],
"status": 1,
"suppliers": [],
"users": [
{
"id": "6548c11c5136b418fd626e2f",
"name": "Cédric Doe"
}
],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:28:58.867Z"
}
List all groups
This endpoint allows you to retrieve all the groups.
Request
curl -G https://api.lsp.expert/v2/groups \
-u {key}:
Response
{
"items": [{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-14T13:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 160,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": false,
"jobs": [
"670d0e8a077d755ddaa9b139"
],
"labels": [],
"notes": [],
"object": "group",
"pinned": false,
"progress": 0,
"services": [
{
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
}
],
"status": 1,
"suppliers": [],
"users": [
{
"id": "6548c11c5136b418fd626e2f",
"name": "Cédric Doe"
}
],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:28:58.867Z"
},
{...},
{...}
],
"pageSize": 20,
"page": 1,
"totalPages": 1,
"totalItems": 2,
"hasNextPage": false,
"hasPreviousPage": false
}
Create a group
This endpoint allows you to add a new group.
Parameters
namestring Required
The name of the group.
clientstring
The client id.
colorstring
The color of the group.
currencystring
The currency code (ISO, e.g., EUR).
domainstring,null
The domain of expertise id.
dueDatedateTime
The due date of the group.
dueDateAutoboolean
True if the due date is automatically set based on the due dates of the jobs.
externalReferencestring
The external reference.
purchaseOrderstring,null
The purchase order.
Request
curl https://api.lsp.expert/v2/groups \
-u {key}: \
-d name="Demo group" \
-d color="#991b1b" \
-d dueDate="2024-10-14T13:00:00.000Z" \
-d client="66f1313f9e477f90664d1ad8" \
-d currency="EUR"
Response
{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-14T13:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "noCurrency",
"withMargin": {
"status": "noCurrency"
}
},
"total": 0,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": false,
"jobs": [],
"labels": [],
"notes": [],
"object": "group",
"pinned": false,
"progress": 0,
"services": [],
"status": 1,
"suppliers": [],
"users": [],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:28:29.087Z"
}
Retrieve a group
This endpoint allows you to retrieve a group by providing their id.
Request
curl https://api.lsp.expert/v2/groups/670d0e6d077d755ddaa9b132 \
-u {key}:
Response
{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-14T13:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "noCurrency",
"withMargin": {
"status": "noCurrency"
}
},
"total": 0,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": false,
"jobs": [],
"labels": [],
"notes": [],
"object": "group",
"pinned": false,
"progress": 0,
"services": [],
"status": 1,
"suppliers": [],
"users": [],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:28:29.087Z"
}
Update a group
This endpoint allows you to perform an update on a group. Any parameters not provided will be left unchanged.
Parameters
namestring
The name of the group.
archivedboolean
True if the entity is archived.
budgetnumber,
The budget of the group.
colorstring
The color of the group.
domainstring,null
The domain of expertise id.
dueDatedateTime
The due date of the group.
dueDateAutoboolean
True if the due date is automatically set based on the due dates of the jobs.
externalReferencestring
The external reference.
groupOnInvoiceboolean
True if all the jobs of the group are grouped on one line on the invoice.
pinnedboolean
True if the entity is pinned.
purchaseOrderstring,null
The purchase order.
Request
curl -X PUT https://api.lsp.expert/v2/groups/670d0e6d077d755ddaa9b132 \
-u {key}: \
-d groupOnInvoice=true
Response
{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-14T13:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "noCurrency",
"withMargin": {
"status": "noCurrency"
}
},
"total": 0,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": true,
"jobs": [],
"labels": [],
"notes": [],
"object": "group",
"pinned": false,
"progress": 0,
"services": [],
"status": 1,
"suppliers": [],
"users": [],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:28:29.087Z"
}
Delete a group
This endpoint allows you to delete a group.
Request
curl -X DELETE https://api.lsp.expert/v2/groups/670d0e6d077d755ddaa9b132 \
-u {key}:
Add a job
This endpoint allows you to add a job in a group.
Parameters
Request
curl https://api.lsp.expert/v2/groups/670d0e6d077d755ddaa9b132/jobs/6703a087b041fd94bf3a31cb \
-u {key}:
Response
{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-07T09:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 400,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": false,
"jobs": [
"670d0e8a077d755ddaa9b139",
"6703a087b041fd94bf3a31cb"
],
"labels": [],
"notes": [],
"object": "group",
"pinned": false,
"progress": 0,
"services": [
{
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
}
],
"status": 1,
"suppliers": [],
"users": [
{
"id": "6548c11c5136b418fd626e2f",
"name": "Cédric Doe"
}
],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:47:44.694Z"
}
Remove a job
This endpoint allows you to add a job in a group.
Parameters
Request
curl -X DELETE https://api.lsp.expert/v2/groups/670d0e6d077d755ddaa9b132/jobs/6703a087b041fd94bf3a31cb \
-u {key}:
Response
{
"id": "670d0e6d077d755ddaa9b132",
"name": "Demo group",
"archived": false,
"budget": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"color": "#991b1b",
"currency": {
"code": "EUR",
"symbol": "€"
},
"dueDate": "2024-10-07T09:00:00.000Z",
"dueDateAuto": true,
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 400,
"totalInvoiced": 0,
"totalTime": 0
},
"externalReference": "test",
"files": [],
"groupOnInvoice": false,
"jobs": [
"670d0e8a077d755ddaa9b139"
],
"labels": [],
"notes": [],
"object": "group",
"pinned": false,
"progress": 0,
"services": [
{
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
}
],
"status": 1,
"suppliers": [],
"users": [
{
"id": "6548c11c5136b418fd626e2f",
"name": "Cédric Doe"
}
],
"createdAt": "2024-10-14T12:28:29.083Z",
"updatedAt": "2024-10-14T12:47:44.694Z"
}