Jobs
Jobs represent a job in the system. A job is a task that needs to be done. It can be a translation, a review, a DTP, etc.
The job object
Properties
idstring
Unique identifier for the object.
namestring
The name of the job.
additionalInfostring
Any additional information about the job that needs to be displayed on the quote or invoice.
applyMinimumFeeboolean
True if the minimum fee is applied.
archiveboolean
True if the entity is archived.
clientobject
The client.deliveryDatedate
The delivery date.
discountnumber
The discount (min -1, max 1).
domainobject
The domain of expertise.dueDatedate
The due date.
estimationembedded
The estimation of the job. This estimation is based on the job details and the pricing rules. If there is an invoice linked to the job, the estimation will be updated with the invoiced amount.
externalReferencestring
The external reference.
extraChargeobject
The extra charge applied to the job.
filesarray
The files.fixedPriceobject
The fixed price of the job (if any).
groupobject
The group the job is part of.
labelsarray
The labels.languagePairobject
The language pair.nonBillableboolean
True if the job is not billable.
notesarray
The notes linked to the entity.outsourcingarray
The outsourcing details of the job.
pinnedboolean
True if the entity is pinned.
progressnumber
The progress of the job (a percentage value with min 0 and max 100).
purchaseOrderstring
The purchase order.
quantityobject
The quantity of the job.
quantityTypeobject
The quantity type.serviceobject
The service.startDatedate
The start date.
statusnumber
The status of the job. Valid values are:
1
(not started),2
(in progress),3
(finished),4
(invoiced),5
(cancelled),6
(on hold).timeBasedInvoiceboolean
True if the job is time based.
timeTrackersobject
The time trackers.
userobject
The user responsible for the job.
createdAtdate
The date and time the entity was created.
updatedAtdate
The date and time the entity was last updated.
Job object
{
"id": "6703a087b041fd94bf3a31cb",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"discount": 0,
"dueDate": "2024-10-07T09:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"value": 1500
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"subtotal": 240,
"total": 240,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 240,
"discount": 0,
"total": 240
},
"total": 240
},
"unitCost": 0.16
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 240,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "test",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"timeBasedUnitCost": 80,
"timeBasedUnitCostPriceReference": {
"id": "6576bca2968e7bd0d1c08663",
"type": "account"
},
"unitCost": 0.16,
"unitCostPriceReference": {
"id": "6548c1965136b418fd626e83",
"type": "account"
},
"value": 1500
},
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "6548c11c5136b418fd626e2f",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T08:49:11.735Z",
"updatedAt": "2024-10-07T08:49:11.812Z"
}
List all jobs
This endpoint allows you to retrieve all the jobs. This endpoint is paginated.
Request
curl -G https://api.lsp.expert/v2/jobs \
-u {key}:
Response
{
"items": [
{
"id": "6703a087b041fd94bf3a31cb",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "66f1313f9e477f90664d1ad8",
"name": "Google"
},
"discount": 0,
"dueDate": "2024-10-07T09:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"value": 1500
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"subtotal": 240,
"total": 240,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 240,
"discount": 0,
"total": 240
},
"total": 240
},
"unitCost": 0.16
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 240,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "test",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"timeBasedUnitCost": 80,
"timeBasedUnitCostPriceReference": {
"id": "6576bca2968e7bd0d1c08663",
"type": "account"
},
"unitCost": 0.16,
"unitCostPriceReference": {
"id": "6548c1965136b418fd626e83",
"type": "account"
},
"value": 1500
},
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "6548c11c5136b418fd626e2f",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T08:49:11.735Z",
"updatedAt": "2024-10-07T08:49:11.812Z"
},
{...},
{...}
],
"pageSize": 20,
"page": 1,
"totalPages": 1,
"totalItems": 2,
"hasNextPage": false,
"hasPreviousPage": false
}
Create a job
This endpoint allows you to add a new job.
Parameters
namestring Required
The name of the job.
additionalInfostring,null
Any additional information about the job that you want to display on the quote or invoice.
clientstring Required
The client id.
currencystring
The currency code (ISO, e.g., EUR).
domainstring,null
The domain of expertise id.
dueDatestring,null
The due date of the job.
externalReferencestring,null
The external reference of the job.
fixedPricenumber
The fixed price of the job.
languagePairstring
The language pair id.
nonBillableboolean
True if the job is non billable.
projectManagerstring,null
The project manager id.
purchaseOrderstring,null
The purchase order.
quantitynumber Required
The quantity of the job.
quantityTypestring Required
The quantity type id.
servicestring Required
The service id.
startDatestring,null
The start date of the job.
timeBasedInvoiceboolean,null
True if the job is time based.
Request
curl https://api.lsp.expert/v2/jobs \
-u {key}: \
-d client="568bdb3b96fd75ea201566de" \
-d name="Demo job" \
-d quantity=1000 \
-d quantityType="58942d4e429f6a1d362510dd" \
-d service="64a3c119e205247c4f720eca" \
-d languagePair="63e118cfa50b6659a44ad174" \
-d dueDate="2024-10-07T12:00:00.000Z" \
-d currency="EUR"
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:19:55.371Z"
}
Retrieve a job
This endpoint allows you to retrieve a job by providing their id.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e \
-u {key}:
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:19:55.371Z"
}
Retrieve all applicable prices
This endpoint allows you to retrieve all prices that are applicable to a job. This endpoint will return a list of client or account prices that can be used to calculate the cost of the job.
Query parameters
currencystring
The currency code (ISO, e.g., EUR).
serviceIdstring
The service id.
quantityTypeIdstring
The quantity type id.
languagePairIdstring
The language pair id.
domainIdstring
The domain of expertise id.
isTimeBasedboolean
True if the job is time based.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/prices \
-u {key}:
Response
[{
"id": "64a3c1315c27ec2b64add6a4",
"currency": {
"code": "EUR",
"symbol": "€"
},
"matches": [],
"matchesType": "fixed",
"type": "client",
"unitCost": 0.12
}]
Update a job
This endpoint allows you to perform an update on a job. Any parameters not provided will be left unchanged.
Parameters
namestring
The name of the job.
additionalInfostring,null
Any additional information about the job that you want to display on the quote or invoice.
archiveboolean
True if the entity is archived.
clientstring
The client id.
deliveryDatestring,null
The delivery date.
domainstring,null
The domain of expertise id.
dueDatestring,null
The due date.
externalReferencestring
The external reference.
languagePairstring,null
The language pair id.
ownerstring
The owner id.
pinnedboolean
True if the entity is pinned.
progressnumber
The progress of the entity.
projectManagerstring,null
The project manager id.
purchaseOrderstring,null
The purchase order.
quantitynumber
The quantity.
quantityTypestring
The quantity type id.
servicestring
The service id.
startDatestring,null
startDate
statusnumber
One of the following value:
1
(not started),2
(in progress),3
(finished),4
(invoiced),5
(cancelled),6
(on hold).
Request
curl -X PUT https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e \
-u {key}: \
-d status=2
-d progress=0.5
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0.5,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 2,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:19:55.371Z"
}
Update the price
This endpoint allows you to perform an update on the price of a job. Any parameters not provided will be left unchanged.
Parameters
applyMinimumFeeboolean
True if the minimum fee is applied.
convertTrackedTimesboolean
True if you want to convert the tracked times into billable units (only applicable if the job is time based).
currencyCodestring
The currency code (ISO, e.g., EUR).
discountnumber
The discount.
extraChargeAmountnumber
The extra charge amount.
extraChargeDescriptionstring,null
The extra charge description.
extraChargePercentagenumber
The extra charge percentage.
extraChargeTypestring
One of the following value:
amount
,percentage
.fixedPricenumber,
The fixed price.
matchesTypestring
How the matches are calculated. Valid values are
fixed
orpercentage
.nonBillableboolean
True if the job is non billable.
pricestring
The price id.
timeBasedInvoiceboolean,null
True if the job is time based.
timeBasedUnitCostnumber
The time based unit cost.
unitCostnumber
The cost per unit.
Request
curl -X PUT https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/price \
-u {key}: \
-d discount=0.1
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"deliveryDate": null,
"discount": 0.1,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 12,
"value": 0.1
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [
{
"discount": 12,
"extraCharge": 0,
"unitCost": 0.12,
"quantity": 1000,
"lineTotal": 108,
"match": {
"id": "56c1d755957bab182e818453",
"name": "0%"
},
"id": "6703cb4a5d0425a497d50868"
}
],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 108,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 12,
"total": 108
},
"total": 108
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 108,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [
{
"quantity": 1000,
"percentage": 1,
"unitCost": 0.12,
"id": "56c1d755957bab182e818453",
"name": "0%"
}
],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:51:38.445Z"
}
Delete a job
This endpoint allows you to delete a job.
Request
curl -X DELETE https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e \
-u {key}:
Add a match for a job
This endpoint allows you to add a match category on a job.
Parameters
matchstring Required
The match id.
quantitynumber Required
The quantity.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/match \
-u {key}: \
-d match="56c1d755957bab182e818453" \
-d quantity=1000
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"deliveryDate": null,
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [
{
"discount": 0,
"extraCharge": 0,
"unitCost": 0.12,
"quantity": 1000,
"lineTotal": 120,
"match": {
"id": "56c1d755957bab182e818453",
"name": "0%"
},
"id": "6703c7881efed1c12405c692"
}
],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [
{
"quantity": 1000,
"percentage": 1,
"unitCost": 0.12,
"id": "56c1d755957bab182e818453",
"name": "0%"
}
],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:35:36.686Z"
}
Update a match for a job
This endpoint allows you to update a match category on a job.
Parameters
percentagenumber
percentage
quantitynumber
The quantity
unitCostnumber
The cost per unit.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/match/56c1d755957bab182e818453 \
-u {key}: \
-d unitCost=0.13
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"deliveryDate": null,
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [
{
"discount": 0,
"extraCharge": 0,
"unitCost": 0.12,
"quantity": 1000,
"lineTotal": 120,
"match": {
"id": "56c1d755957bab182e818453",
"name": "0%"
},
"id": "6703c7881efed1c12405c692"
}
],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [
{
"quantity": 1000,
"percentage": 1,
"unitCost": 0.12,
"id": "56c1d755957bab182e818453",
"name": "0%"
}
],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.13,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:35:36.686Z"
}
Move a match for a job
This endpoint allows you to modify a match category order. Note that this order is used when adding a price.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/matches/56c1d755957bab182e818453/move/1 \
-u {key}: \
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"deliveryDate": null,
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [
{
"discount": 0,
"extraCharge": 0,
"unitCost": 0.12,
"quantity": 1000,
"lineTotal": 120,
"match": {
"id": "56c1d755957bab182e818453",
"name": "0%"
},
"id": "6703c7881efed1c12405c692"
}
],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [
{
"quantity": 1000,
"percentage": 1,
"unitCost": 0.12,
"id": "56c1d755957bab182e818453",
"name": "0%"
}
],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.13,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 1,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:35:36.686Z"
}
Remove a match for a job
This endpoint allows you to remove a match category on a job.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/matches/56c1d755957bab182e818453 \
-u {key}:
Response
{
"id": "6703c3db1efed1712305bc4e",
"name": "Demo job",
"additionalInfo": null,
"applyMinimumFee": true,
"archive": false,
"client": {
"id": "568bdb3b96fd75ea201566de",
"name": "Linguition"
},
"discount": 0,
"dueDate": "2024-10-07T12:00:00.000Z",
"estimation": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"details": {
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": {
"amount": 0,
"value": 0
},
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"matches": [],
"minimumFeeApplied": false,
"quantity": {
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"value": 1000
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"subtotal": 120,
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
},
"unitCost": 0.12
},
"isV2": true,
"outsourcing": {
"suppliers": [],
"totals": []
},
"performance": {
"status": "incorrectStatus"
},
"profitability": {
"status": "incorrectStatus",
"withMargin": {
"status": "incorrectStatus"
}
},
"total": 120,
"totalInvoiced": null,
"type": "estimation"
},
"externalReference": "2024-07-003",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"files": [],
"fixedPrice": {
"currency": {
"code": "EUR",
"symbol": "€"
}
},
"isV2": true,
"labels": [],
"languagePair": {
"id": "63e118cfa50b6659a44ad174",
"bidirectional": false,
"source": {
"name": "English",
"code": "en"
},
"target": {
"name": "French",
"code": "fr"
}
},
"nonBillable": false,
"notes": [],
"object": "job",
"outsourcing": [],
"pinned": false,
"progress": 0.5,
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"timeBasedUnitCost": 0,
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "64a3c1315c27ec2b64add6a4",
"type": "client"
},
"value": 1000
},
"quantityType": {
"id": "58942d4e429f6a1d362510dd",
"name": "Words"
},
"service": {
"id": "64a3c119e205247c4f720eca",
"name": "Translation"
},
"startDate": null,
"status": 2,
"timeBasedInvoice": false,
"timeTrackers": {
"duration": 0,
"list": [],
"running": false
},
"user": {
"id": "568bd2f12028fde918f9a80b",
"name": "Cédric Doe"
},
"createdAt": "2024-10-07T11:19:55.235Z",
"updatedAt": "2024-10-07T11:19:55.371Z"
}