Jobs

Outsroucing represent an outsourced job in the system. An outsourced job is a task that needs to be done by a supplier. It can be a translation, a review, a DTP, etc.

The outsourcing object

Properties

  • currencyobject

    The currency.
  • customStatusobject

    The custom status of the outsourced job, if it has one. A custom status belongs to one of the statuses of the outsourced job and is only available with a Plus, Premium or Team subscription.
  • deliveryDatedate

    The delivery date.

  • discountnumber

    The discount applied (a percentage value with min -1 and max 1).

  • dueDatedate

    The due date.

  • extraChargeobject

    The extra charge applied.

  • fixedPricenumber

    The fixed price of the job.

  • idstring

    Unique identifier of the

  • languagePairobject

    The language pair.
  • namestring

    The name of the

  • notesembedded

    The notes linked to the entity.
  • portalobject

    The outsourcing portal options.

  • quantityobject

    The quantity of the job.

  • serviceobject

    The service.
  • startDatedate

    The start date.

  • statusnumber

    The status of the Valid values are: 1 (not started), 2 (in progress), 3 (to be reviewed), 4 (finished), 5 (cancelled), 6 (on hold).

  • subtotalnumber

    The subtotal.

  • supplierobject

    The supplier.

  • totalnumber

    The total amount.

  • totalDetailsobject

    The total details.

Outsourcing object

{
  "id": "66825e48edde360f163d4e68",
  "currency": {
    "code": "EUR",
    "symbol": "€"
  },
  "deliveryDate": "2024-09-30T12:31:47.400Z",
  "discount": 0,
  "dueDate": "2024-06-14T09:00:00.000Z",
  "extraCharge": {
    "amount": 0,
    "percentage": 0,
    "type": "percentage"
  },
  "languagePair": {
    "id": "6548c16d5136b418fd626e5b",
    "bidirectional": false,
    "source": {
      "name": "French",
      "code": "fr"
    },
    "target": {
      "name": "English",
      "code": "en"
    }
  },
  "portal": {
    "checklist": [],
    "confirm": {
      "acceptedDate": "2024-09-30T12:31:47.400Z",
      "enabled": false,
      "generatePurchaseOrderOnAcceptation": false,
      "status": 1
    },
    "doneDate": "2024-09-30T12:31:47.400Z",
    "enabled": true,
    "reference": "bac767b351c6453bb9e05fc62563fc79",
    "uploadFileOnGroup": false
  },
  "quantity": {
    "catFile": {
      "fileIds": []
    },
    "hasMatches": false,
    "matches": [],
    "matchesType": "fixed",
    "quantityType": {
      "id": "6548c16d5136b418fd626e61",
      "name": "Words"
    },
    "unitCost": 0.12,
    "unitCostPriceReference": {
      "id": "6548c95375de6729750dfba0",
      "type": "account"
    },
    "value": 1000
  },
  "service": {
    "id": "6548c16d5136b418fd626e5f",
    "name": "Translation"
  },
  "startDate": null,
  "status": 4,
  "subtotal": 120,
  "supplier": {
    "id": "6548c93c75de6729750dfb9c",
    "name": "Caroline Dupont"
  },
  "total": 120,
  "totalDetails": {
    "extraCharge": {
      "amount": 0,
      "discount": 0,
      "total": 0
    },
    "subtotal": {
      "amount": 120,
      "discount": 0,
      "total": 120
    },
    "total": 120
  }
}

GET/v2/jobs/outsourcing/all

List all outsourcing

This endpoint allows you to retrieve all the outsourced jobs. This endpoint is paginated.

Filters

All the filters are optional and can be combined. See Pagination for the rules shared by all the list endpoints (multiple values, dates, keywords).

The filters of the job (such as status, name or client.id) apply to the job of the outsourced job. The filters starting with outsourcing., supplierStatus, portalStatus and outsourcingDueDate apply to the outsourced job itself.

  • idstring

    Comma-separated list of job ids.

  • statusstring

    Comma-separated list of statuses. Each value is a status of the job (1 (not started), 2 (in progress), 3 (finished), 4 (invoiced), 5 (cancelled), 6 (on hold)) or the id of a custom status.

  • supplierStatusstring

    Comma-separated list of outsourcing statuses (1 (not started), 2 (in progress), 3 (to be reviewed), 4 (finished), 5 (cancelled), 6 (on hold)) or custom status ids. Only the outsourced jobs that have an outsourcing in one of these statuses are returned.

  • portalStatusstring

    Comma-separated list of supplier portal confirmation statuses of the outsourcing: 1 (pending), 2 (accepted), 3 (rejected).

  • namestring

    Only the outsourced jobs whose name contains this text (not case sensitive).

  • externalReferencestring

    Only the outsourced jobs whose external reference contains this text (not case sensitive).

  • purchaseOrderstring

    Only the outsourced jobs whose purchase order contains this text (not case sensitive).

  • additionalInfostring

    Only the outsourced jobs whose additional information contains this text (not case sensitive).

  • service.idstring

    Comma-separated list of service ids.

  • quantityType.idstring

    Comma-separated list of unit ids.

  • domain.idstring

    Comma-separated list of domain of expertise ids.

  • languagePair.idstring

    Comma-separated list of language pair ids.

  • client.idstring

    Comma-separated list of client ids.

  • client.projectManager.idstring

    Comma-separated list of user ids. Only the outsourced jobs whose project manager is one of these users are returned.

  • projectManager.idstring

    Comma-separated list of user ids. Only the outsourced jobs of the clients managed by these users (project managers) are returned.

  • user.idstring

    Comma-separated list of owner (user) ids.

  • groupstring

    Comma-separated list of group ids.

  • labels.idstring

    Comma-separated list of label ids. The outsourced jobs that have at least one of these labels are returned (see labels.all).

  • labels.allboolean

    Set to true to return only the outsourced jobs that have all the labels of labels.id.

  • outsourcing.supplier.idstring

    Comma-separated list of supplier ids. Only the jobs that have an outsourcing with one of these suppliers are returned.

  • outsourcing.service.idstring

    Comma-separated list of service ids. Only the jobs that have an outsourcing for one of these services are returned.

  • outsourcing.quantityType.idstring

    Comma-separated list of unit ids. Only the jobs that have an outsourcing in one of these units are returned.

  • outsourcing.languagePair.idstring

    Comma-separated list of language pair ids. Only the jobs that have an outsourcing for one of these language pairs are returned.

  • archiveboolean

    true to retrieve only the archived outsourced jobs, false to exclude them. If not provided, both are returned.

  • nonBillableboolean

    true to retrieve only the outsourced jobs that are not billable.

  • outsourcing.portal.confirm.enabledboolean

    true to retrieve only the outsourced jobs that have an outsourcing waiting for a confirmation on the supplier portal.

  • dueDateFromdate

    Only the outsourced jobs whose due date is on or after this date (ISO 8601).

  • dueDateTodate

    Only the outsourced jobs whose due date is before this date (ISO 8601).

  • startDateFromdate

    Only the outsourced jobs whose start date is on or after this date (ISO 8601).

  • startDateTodate

    Only the outsourced jobs whose start date is before this date (ISO 8601).

  • deliveryDateFromdate

    Only the outsourced jobs whose delivery date is on or after this date (ISO 8601).

  • deliveryDateTodate

    Only the outsourced jobs whose delivery date is before this date (ISO 8601).

  • outsourcingDueDateFromdate

    Only the outsourced jobs whose outsourcing due date is on or after this date (ISO 8601).

  • outsourcingDueDateTodate

    Only the outsourced jobs whose outsourcing due date is before this date (ISO 8601).

  • timeTrackerFromdate

    Only the outsourced jobs whose time tracker start date is on or after this date (ISO 8601).

  • timeTrackerTodate

    Only the outsourced jobs whose time tracker start date is before this date (ISO 8601).

  • currencystring

    The currency code (ISO, e.g., EUR) of the fixed price of the outsourced jobs.

  • parentstring

    If provided (with any value), only the outsourced jobs that have a parent job in their group are returned.

Sorting

  • sortstring

    The field to sort by. One of: outsourcing.dueDate, outsourcing.startDate, outsourcing.status, outsourcing.supplier.name, client.name, user.name, externalReference, outsourcing.total. The default is outsourcing.dueDate.

  • directionstring

    The sort direction: asc or desc. The default is desc.

Request

GET
/v2/jobs
curl -G https://api.lsp.expert/v2/jobs/outsourcing/all \
  -u {key}: 

Response

{
  "items": [
    {
      "id": "66825e48edde360f163d4e68",
      "currency": {
        "code": "EUR",
        "symbol": "€"
      },
      "deliveryDate": "2024-09-30T12:31:47.400Z",
      "discount": 0,
      "dueDate": "2024-06-14T09:00:00.000Z",
      "extraCharge": {
        "amount": 0,
        "percentage": 0,
        "type": "percentage"
      },
      "languagePair": {
        "id": "6548c16d5136b418fd626e5b",
        "bidirectional": false,
        "source": {
          "name": "French",
          "code": "fr"
        },
        "target": {
          "name": "English",
          "code": "en"
        }
      },
      "portal": {
        "checklist": [],
        "confirm": {
          "acceptedDate": "2024-09-30T12:31:47.400Z",
          "enabled": false,
          "generatePurchaseOrderOnAcceptation": false,
          "status": 1
        },
        "doneDate": "2024-09-30T12:31:47.400Z",
        "enabled": true,
        "reference": "bac767b351c6453bb9e05fc62563fc79",
        "uploadFileOnGroup": false
      },
      "quantity": {
        "catFile": {
          "fileIds": []
        },
        "hasMatches": false,
        "matches": [],
        "matchesType": "fixed",
        "quantityType": {
          "id": "6548c16d5136b418fd626e61",
          "name": "Words"
        },
        "unitCost": 0.12,
        "unitCostPriceReference": {
          "id": "6548c95375de6729750dfba0",
          "type": "account"
        },
        "value": 1000
      },
      "service": {
        "id": "6548c16d5136b418fd626e5f",
        "name": "Translation"
      },
      "startDate": null,
      "status": 4,
      "subtotal": 120,
      "supplier": {
        "id": "6548c93c75de6729750dfb9c",
        "name": "Caroline Dupont"
      },
      "total": 120,
      "totalDetails": {
        "extraCharge": {
          "amount": 0,
          "discount": 0,
          "total": 0
        },
        "subtotal": {
          "amount": 120,
          "discount": 0,
          "total": 120
        },
        "total": 120
      }
    },
    {...},
    {...}
  ],
  "pageSize": 20,
  "page": 1,
  "totalPages": 1,
  "totalItems": 2,
  "hasNextPage": false,
  "hasPreviousPage": false
}


POST/v2/jobs/:jobId/outsourcing

Create an outsourced job

This endpoint allows you to add a new outsourced job from a job.

Parameters

  • dueDatestring,null

    The due date of the job.

  • languagePairstring

    The language pair id.

  • quantitynumber

    The quantity of the job.

  • quantityTypestring

    The quantity type id.

  • servicestring

    The service id.

  • startDatestring,null

    The start date of the job.

  • supplierstring Required

    The supplier id.

Request

POST
/v2/jobs
curl https://api.lsp.expert/v2/jobs \
  -u {key}: \
  -d supplier="568bdb3b96fd75ea201566de" \
  -d quantity=1000 \
  -d quantityType="6548c16d5136b418fd626e61" \
  -d service="6548c16d5136b418fd626e5f" \
  -d languagePair="6548c16d5136b418fd626e5b" \
  -d dueDate="2024-06-14T09:00:00.000Z" \

Response

{
  "id": "66825e48edde360f163d4e68",
  "currency": {
    "code": "EUR",
    "symbol": "€"
  },
  "discount": 0,
  "dueDate": "2024-06-14T09:00:00.000Z",
  "extraCharge": {
    "amount": 0,
    "percentage": 0,
    "type": "percentage"
  },
  "languagePair": {
    "id": "6548c16d5136b418fd626e5b",
    "bidirectional": false,
    "source": {
      "name": "French",
      "code": "fr"
    },
    "target": {
      "name": "English",
      "code": "en"
    }
  },
  "portal": {
    "checklist": [],
    "confirm": {
      "enabled": false,
      "generatePurchaseOrderOnAcceptation": false,
      "status": 1
    },
    "enabled": true,
    "reference": "bac767b351c6453bb9e05fc62563fc79",
    "uploadFileOnGroup": false
  },
  "quantity": {
    "catFile": {
      "fileIds": []
    },
    "hasMatches": false,
    "matches": [],
    "matchesType": "fixed",
    "quantityType": {
      "id": "6548c16d5136b418fd626e61",
      "name": "Words"
    },
    "unitCost": 0.12,
    "unitCostPriceReference": {
      "id": "6548c95375de6729750dfba0",
      "type": "account"
    },
    "value": 1000
  },
  "service": {
    "id": "6548c16d5136b418fd626e5f",
    "name": "Translation"
  },
  "startDate": null,
  "status": 1,
  "subtotal": 120,
  "supplier": {
    "id": "6548c93c75de6729750dfb9c",
    "name": "Caroline Dupont"
  },
  "total": 120,
  "totalDetails": {
    "extraCharge": {
      "amount": 0,
      "discount": 0,
      "total": 0
    },
    "subtotal": {
      "amount": 120,
      "discount": 0,
      "total": 120
    },
    "total": 120
  }
}

GET/v2/jobs/:jobId/outsourcing/:id/prices

Retrieve all applicable prices

This endpoint allows you to retrieve all prices that are applicable to an outsourced job. This endpoint will return a list of supplier 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.

Request

GET
/v2/jobs/:jobId/outsourcing/:id/prices?currency=EUR&quantityType=58942d4e429f6a1d362510dd&isTimeBased=0
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/prices \
  -u {key}:

Response

[{
  "id": "656dc10361046992e8dc95a5",
  "currency": {
    "code": "EUR",
    "symbol": "€"
  },
  "matches": [],
  "matchesType": "fixed",
  "type": "account",
  "unitCost": 0.12
}]


PUT/v2/jobs/:jobId/outsourcing/:id

Update an outsourced job

This endpoint allows you to perform an update on an outsourced job. Any parameters not provided will be left unchanged.

Parameters

  • namestring,null

    The name of the outsourced job (default is the name of the job).

  • customStatusstring,null

    The id of a custom status, or null to remove the current one. Setting a custom status also sets the status of the outsourced job to the status the custom status belongs to, and it takes precedence over status if both are provided. If the outsourced job ends up in another status (for example because of an automatic rule), the custom status is removed. Custom statuses are only available with a Plus, Premium or Team subscription.

  • deliveryDatestring,null

    The delivery date of the job.

  • dueDatestring,null

    The due date of the job.

  • languagePairstring,null

    The language pair id.

  • quantitynumber

    The quantity of the job.

  • quantityTypestring

    The quantity type id.

  • servicestring

    The service id.

  • startDatestring,null

    The start date of the job.

  • statusnumber

    One of the following value: 1 (not started), 2 (in progress), 3 (to be reviewed), 4 (finished), 5 (cancelled), 6 (on hold).

Request

PUT
/v2/jobs/:id
curl -X PUT https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68 \
  -u {key}: \
  -d status=4

Response

{
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": [
  {
    "id": "66825e48edde360f163d4e68",
    "currency": {
      "code": "EUR",
      "symbol": "€"
    },
    "deliveryDate": "2024-09-30T12:31:47.400Z",
    "discount": 0,
    "dueDate": "2024-06-14T09:00:00.000Z",
    "extraCharge": {
      "amount": 0,
      "percentage": 0,
      "type": "percentage"
    },
    "languagePair": {
      "id": "6548c16d5136b418fd626e5b",
      "bidirectional": false,
      "source": {
        "name": "French",
        "code": "fr"
      },
      "target": {
        "name": "English",
        "code": "en"
      }
    },
    "portal": {
      "checklist": [],
      "confirm": {
        "acceptedDate": "2024-09-30T12:31:47.400Z",
        "enabled": false,
        "generatePurchaseOrderOnAcceptation": false,
        "status": 1
      },
      "doneDate": "2024-09-30T12:31:47.400Z",
      "enabled": true,
      "reference": "bac767b351c6453bb9e05fc62563fc79",
      "uploadFileOnGroup": false
    },
    "quantity": {
      "catFile": {
        "fileIds": []
      },
      "hasMatches": false,
      "matches": [],
      "matchesType": "fixed",
      "quantityType": {
        "id": "6548c16d5136b418fd626e61",
        "name": "Words"
      },
      "unitCost": 0.12,
      "unitCostPriceReference": {
        "id": "6548c95375de6729750dfba0",
        "type": "account"
      },
      "value": 1000
    },
    "service": {
      "id": "6548c16d5136b418fd626e5f",
      "name": "Translation"
    },
    "startDate": null,
    "status": 4,
    "subtotal": 120,
    "supplier": {
      "id": "6548c93c75de6729750dfb9c",
      "name": "Caroline Dupont"
    },
    "total": 120,
    "totalDetails": {
      "extraCharge": {
        "amount": 0,
        "discount": 0,
        "total": 0
      },
      "subtotal": {
        "amount": 120,
        "discount": 0,
        "total": 120
      },
      "total": 120
    }
  }]
}

PUT/v2/jobs/:jobId/outsourcing/:id/price

Update the price

This endpoint allows you to perform an update on the price of an outsourced job. Any parameters not provided will be left unchanged.

Parameters

  • currencyCodestring

    The currency code (ISO, e.g., EUR).

  • discountnumber

    The discount applied.

  • extraChargeAmountnumber

    extraChargeAmount

  • extraChargeDescriptionstring,null

    extraChargeDescription

  • extraChargePercentagenumber

    extraChargePercentage

  • extraChargeTypestring

    One of the following value: amount, percentage.

  • fixedPricenumber,

    fixedPrice

  • matchesTypestring

    How the matches are calculated. Valid values are fixed or percentage.

  • pricestring

    price

  • unitCostnumber

    The cost per unit.

Request

PUT
/v2/jobs/:jobId/outsourcing/:id/price
curl -X PUT https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/price \
  -u {key}: \
  -d discount=0.1

Response

{
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": [
  {
    "supplier": {
      "id": "6548c93c75de6729750dfb9c",
      "name": "Caroline Dupont"
    },
    "quantity": {
      "unitCostPriceReference": {
        "type": "account",
        "id": "6548c95375de6729750dfba0"
      },
      "quantityType": {
        "id": "6548c16d5136b418fd626e61",
        "name": "Words"
      },
      "catFile": {
        "fileIds": []
      },
      "hasMatches": false,
      "value": 1000,
      "unitCost": 0.12,
      "matchesType": "fixed",
      "matches": []
    },
    "service": {
      "id": "6548c16d5136b418fd626e5f",
      "name": "Translation"
    },
    "languagePair": {
      "source": {
        "code": "fr",
        "name": "French"
      },
      "target": {
        "code": "en",
        "name": "English"
      },
      "id": "6548c16d5136b418fd626e5b",
      "bidirectional": false
    },
    "currency": {
      "code": "EUR",
      "symbol": "€"
    },
    "extraCharge": {
      "type": "percentage",
      "percentage": 0,
      "amount": 0
    },
    "totalDetails": {
      "subtotal": {
        "amount": 120,
        "discount": 0.12,
        "total": 119.88
      },
      "extraCharge": {
        "amount": 0,
        "discount": 0,
        "total": 0
      },
      "total": 119.88
    },
    "portal": {
      "confirm": {
        "enabled": false,
        "generatePurchaseOrderOnAcceptation": false,
        "status": 1,
        "acceptedDate": "2024-09-30T12:31:47.400Z"
      },
      "enabled": true,
      "uploadFileOnGroup": false,
      "checklist": [],
      "reference": "bac767b351c6453bb9e05fc62563fc79",
      "doneDate": "2024-09-30T12:31:47.400Z"
    },
    "status": 4,
    "discount": 0.001,
    "subtotal": 120,
    "total": 119.88,
    "dueDate": "2024-06-14T09:00:00.000Z",
    "startDate": null,
    "deliveryDate": "2024-09-30T12:31:47.400Z",
    "id": "66825e48edde360f163d4e68"
  }
]
}

DELETE/v2/:jobId/outsourcing/:id

Delete an outsourced job

This endpoint allows you to delete an outsourced job.

Request

DELETE
/v2/:jobId/outsourcing/:id
curl -X DELETE https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/6669627c35076b408a557837 \
  -u {key}:

Response

{
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": []
}

POST/v2/jobs/:jobId/outsourcing/:id/matches

Add a match for an outsourced job

This endpoint allows you to add a match category on an outsourced job.

Parameters

  • matchstring Required

    The match id.

  • quantitynumber Required

    The quantity.

Request

POST
/v2/jobs/:jobId/outsourcing/:id/matches
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches \
  -u {key}: \
  -d match="655c61aa0ecf6202a9edb710" \
  -d quantity=1000

Response

{
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": [
    {
      "supplier": {
        "id": "6548c93c75de6729750dfb9c",
        "name": "Caroline Dupont"
      },
      "quantity": {
        "unitCostPriceReference": {
          "type": "account",
          "id": "6548c95375de6729750dfba0"
        },
        "quantityType": { "id": "6548c16d5136b418fd626e61", "name": "Words" },
        "catFile": { "fileIds": [] },
        "hasMatches": false,
        "value": 1000,
        "unitCost": 0.12,
        "matchesType": "fixed",
        "matches": [
          {
            "quantity": 1000,
            "percentage": 1,
            "id": "655c61aa0ecf6202a9edb710",
            "name": "0%",
            "unitCost": 0.12,
            "total": 120
          }
        ]
      },
      "service": { "id": "6548c16d5136b418fd626e5f", "name": "Translation" },
      "languagePair": {
        "source": { "code": "fr", "name": "French" },
        "target": { "code": "en", "name": "English" },
        "id": "6548c16d5136b418fd626e5b",
        "bidirectional": false
      },
      "currency": { "code": "EUR", "symbol": "€" },
      "extraCharge": { "type": "percentage", "percentage": 0, "amount": 0 },
      "totalDetails": {
        "subtotal": { "amount": 120, "discount": 0.12, "total": 119.88 },
        "extraCharge": { "amount": 0, "discount": 0, "total": 0 },
        "total": 119.88
      },
      "portal": {
        "sentDateStatus": {
          "status": "processed",
          "updatedAt": "2024-10-14T08:58:16.749Z"
        },
        "confirm": {
          "enabled": false,
          "generatePurchaseOrderOnAcceptation": false,
          "status": 1,
          "acceptedDate": "2024-09-30T12:31:47.400Z"
        },
        "enabled": true,
        "uploadFileOnGroup": false,
        "checklist": [],
        "reference": "bac767b351c6453bb9e05fc62563fc79",
        "doneDate": "2024-09-30T12:31:47.400Z",
        "sentDate": "2024-10-14T08:58:16.749Z"
      },
      "status": 4,
      "discount": 0.001,
      "subtotal": 120,
      "total": 119.88,
      "dueDate": "2024-06-14T09:00:00.000Z",
      "deliveryDate": "2024-09-30T12:31:00.000Z",
      "id": "66825e48edde360f163d4e68"
    }
  ]  
}


PUT/v2/jobs/:jobId/outsourcing/:id/matches/:matchId

Update a match for an outsourced job

This endpoint allows you to update a match category on an outsourced job.

Parameters

  • percentagenumber

    percentage

  • quantitynumber

    The quantity

  • unitCostnumber

    The cost per unit.

Request

PUT
/v2/jobs/:jobId/outsourcing/:id/matches/:matchId
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches/655c61aa0ecf6202a9edb710 \
  -u {key}: \
  -d unitCost=0.13

Response

{
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": [
    {
      "supplier": {
        "id": "6548c93c75de6729750dfb9c",
        "name": "Caroline Dupont"
      },
      "quantity": {
        "unitCostPriceReference": {
          "type": "account",
          "id": "6548c95375de6729750dfba0"
        },
        "quantityType": { "id": "6548c16d5136b418fd626e61", "name": "Words" },
        "catFile": { "fileIds": [] },
        "hasMatches": false,
        "value": 1000,
        "unitCost": 0.12,
        "matchesType": "fixed",
        "matches": [
          {
            "quantity": 1000,
            "percentage": 1,
            "id": "655c61aa0ecf6202a9edb710",
            "name": "0%",
            "unitCost": 0.12,
            "total": 120
          }
        ]
      },
      "service": { "id": "6548c16d5136b418fd626e5f", "name": "Translation" },
      "languagePair": {
        "source": { "code": "fr", "name": "French" },
        "target": { "code": "en", "name": "English" },
        "id": "6548c16d5136b418fd626e5b",
        "bidirectional": false
      },
      "currency": { "code": "EUR", "symbol": "€" },
      "extraCharge": { "type": "percentage", "percentage": 0, "amount": 0 },
      "totalDetails": {
        "subtotal": { "amount": 120, "discount": 0.12, "total": 119.88 },
        "extraCharge": { "amount": 0, "discount": 0, "total": 0 },
        "total": 119.88
      },
      "portal": {
        "sentDateStatus": {
          "status": "processed",
          "updatedAt": "2024-10-14T08:58:16.749Z"
        },
        "confirm": {
          "enabled": false,
          "generatePurchaseOrderOnAcceptation": false,
          "status": 1,
          "acceptedDate": "2024-09-30T12:31:47.400Z"
        },
        "enabled": true,
        "uploadFileOnGroup": false,
        "checklist": [],
        "reference": "bac767b351c6453bb9e05fc62563fc79",
        "doneDate": "2024-09-30T12:31:47.400Z",
        "sentDate": "2024-10-14T08:58:16.749Z"
      },
      "status": 4,
      "discount": 0.001,
      "subtotal": 120,
      "total": 119.88,
      "dueDate": "2024-06-14T09:00:00.000Z",
      "deliveryDate": "2024-09-30T12:31:00.000Z",
      "id": "66825e48edde360f163d4e68"
    }
  ]    
}



PUT/v2/jobs/:jobId/outsourcing/:id/matches/:matchId/move/:newPosition

Move a match for an outsourced job

This endpoint allows you to modify a match category order. Note that this order is used when adding a price.

Request

PUT
/v2/jobs/:jobId/outsourcing/:id/matches/:matchId/move/:newPosition
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches/655c61aa0ecf6202a9edb710/move/1 \
  -u {key}: \

Response

 {
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": [
    {
      "supplier": {
        "id": "6548c93c75de6729750dfb9c",
        "name": "Caroline Dupont"
      },
      "quantity": {
        "unitCostPriceReference": {
          "type": "account",
          "id": "6548c95375de6729750dfba0"
        },
        "quantityType": { "id": "6548c16d5136b418fd626e61", "name": "Words" },
        "catFile": { "fileIds": [] },
        "hasMatches": false,
        "value": 1000,
        "unitCost": 0.12,
        "matchesType": "fixed",
        "matches": [
          {
            "quantity": 1000,
            "percentage": 1,
            "id": "655c61aa0ecf6202a9edb710",
            "name": "0%",
            "unitCost": 0.12,
            "total": 120
          }
        ]
      },
      "service": { "id": "6548c16d5136b418fd626e5f", "name": "Translation" },
      "languagePair": {
        "source": { "code": "fr", "name": "French" },
        "target": { "code": "en", "name": "English" },
        "id": "6548c16d5136b418fd626e5b",
        "bidirectional": false
      },
      "currency": { "code": "EUR", "symbol": "€" },
      "extraCharge": { "type": "percentage", "percentage": 0, "amount": 0 },
      "totalDetails": {
        "subtotal": { "amount": 120, "discount": 0.12, "total": 119.88 },
        "extraCharge": { "amount": 0, "discount": 0, "total": 0 },
        "total": 119.88
      },
      "portal": {
        "sentDateStatus": {
          "status": "processed",
          "updatedAt": "2024-10-14T08:58:16.749Z"
        },
        "confirm": {
          "enabled": false,
          "generatePurchaseOrderOnAcceptation": false,
          "status": 1,
          "acceptedDate": "2024-09-30T12:31:47.400Z"
        },
        "enabled": true,
        "uploadFileOnGroup": false,
        "checklist": [],
        "reference": "bac767b351c6453bb9e05fc62563fc79",
        "doneDate": "2024-09-30T12:31:47.400Z",
        "sentDate": "2024-10-14T08:58:16.749Z"
      },
      "status": 4,
      "discount": 0.001,
      "subtotal": 120,
      "total": 119.88,
      "dueDate": "2024-06-14T09:00:00.000Z",
      "deliveryDate": "2024-09-30T12:31:00.000Z",
      "id": "66825e48edde360f163d4e68"
    }
  ]    
}




DEL/v2/jobs/:jobId/outsourcing/:id/matches/:matchId

Remove a match for a job

This endpoint allows you to remove a match category on a job.

Request

POST
/v2/jobs/:jobId/outsourcing/:id/matches/:matchId
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches/655c61aa0ecf6202a9edb710 \
  -u {key}: 

Response

{
  "id": "6669627c35076b408a557837",
  // ...
  "outsourcing": [
  {
    "id": "66825e48edde360f163d4e68",
    "currency": {
      "code": "EUR",
      "symbol": "€"
    },
    "deliveryDate": "2024-09-30T12:31:47.400Z",
    "discount": 0,
    "dueDate": "2024-06-14T09:00:00.000Z",
    "extraCharge": {
      "amount": 0,
      "percentage": 0,
      "type": "percentage"
    },
    "languagePair": {
      "id": "6548c16d5136b418fd626e5b",
      "bidirectional": false,
      "source": {
        "name": "French",
        "code": "fr"
      },
      "target": {
        "name": "English",
        "code": "en"
      }
    },
    "portal": {
      "checklist": [],
      "confirm": {
        "acceptedDate": "2024-09-30T12:31:47.400Z",
        "enabled": false,
        "generatePurchaseOrderOnAcceptation": false,
        "status": 1
      },
      "doneDate": "2024-09-30T12:31:47.400Z",
      "enabled": true,
      "reference": "bac767b351c6453bb9e05fc62563fc79",
      "uploadFileOnGroup": false
    },
    "quantity": {
      "catFile": {
        "fileIds": []
      },
      "hasMatches": false,
      "matches": [],
      "matchesType": "fixed",
      "quantityType": {
        "id": "6548c16d5136b418fd626e61",
        "name": "Words"
      },
      "unitCost": 0.12,
      "unitCostPriceReference": {
        "id": "6548c95375de6729750dfba0",
        "type": "account"
      },
      "value": 1000
    },
    "service": {
      "id": "6548c16d5136b418fd626e5f",
      "name": "Translation"
    },
    "startDate": null,
    "status": 4,
    "subtotal": 120,
    "supplier": {
      "id": "6548c93c75de6729750dfb9c",
      "name": "Caroline Dupont"
    },
    "total": 120,
    "totalDetails": {
      "extraCharge": {
        "amount": 0,
        "discount": 0,
        "total": 0
      },
      "subtotal": {
        "amount": 120,
        "discount": 0,
        "total": 120
      },
      "total": 120
    }
  }]
}