# Link a work order to a route service order **POST /eTech/rest/ws/projectManagement/v1/routeServiceOrders/code:{routeServiceOrderCode}/link** Links a stand-alone work order to a **route service order** ("tournée"), or moves it to another position within the service order it already sits in. One work order is processed per call. A route is scheduled and performed as a round of its own, so two extra rules apply: - the work order must be **qualified**. A work order already carried by a (pre-)scheduled route is no longer qualified, so it cannot be repositioned or moved from there; - the work order must not already be assigned to technicians other than the ones of the route. When the route is already scheduled or pre-scheduled, the work order is scheduled from the route (dates and technicians of the round). **Rules** - The route must be filed at or above the office of the work order, and must not be completed or validated. - A work order already in a service order can be sent again to move it. The service order it leaves must accept to let it go. - A work order or a service order outside the hierarchy of the OAuth2 application is reported as unknown. A code designating a standard or multi-equipment service order is reported as unknown too. Unlinking is not covered by this endpoint. Rate limit range : High ## Servers - The node of your Praxedo instance (eu1, am1...).: https://ws-eu1.praxedo.com (The node of your Praxedo instance (eu1, am1...).) ## Authentication methods - Bearer authentication ## Parameters ### Path parameters - **routeServiceOrderCode** (string) Business code of the route service order. ### Body: application/json (object) - **code** (string) Business code of the work order to link. - **insertion** (object) Position of the work order among the service order's work orders. When absent, the work order is linked last. ## Responses ### 204 Work order linked to its parent, or moved to the requested position. ### 400 Bad Request - validation or business rule error. #### Body: application/json (object) - **errors** (array[object]) Array of errors. Contains at least one element. - **errorReference** (string) Error unique reference. Communicated to support, this will help to locate the issue. ### 401 Unauthorized - authentication issue. #### Body: application/json (object) - **errors** (array[object]) Array of errors. Contains at least one element. - **errorReference** (string) Error unique reference. Communicated to support, this will help to locate the issue. ### 403 Forbidden - not enough rights. #### Body: application/json (object) - **errors** (array[object]) Array of errors. Contains at least one element. - **errorReference** (string) Error unique reference. Communicated to support, this will help to locate the issue. ### 429 Too Many Requests. #### Body: application/json (object) - **errors** (array[object]) Array of errors. Contains at least one element. - **errorReference** (string) Error unique reference. Communicated to support, this will help to locate the issue. ### 500 Internal server error. #### Body: application/json (object) - **errors** (array[object]) Array of errors. Contains at least one element. - **errorReference** (string) Error unique reference. Communicated to support, this will help to locate the issue. [Powered by Bump.sh](https://bump.sh)