Skip to main content

Create Offboarding Movement

Creates a new offboarding movement request to return hardware from an employee to storage.

Prerequisites

Before creating an offboarding movement, you should first query either:

This allows you to:

  • View all hardware items currently assigned to the employee
  • Get the hardwareIds for specific items you want to return
  • Verify employee details before initiating the offboarding process

Note: If you don't specify any hardwareIds in your request, the system will automatically include all hardware items assigned to the employee as part of the offboarding movement.

Authentication

This endpoint requires authentication. See Authentication for details.

Parameters

ParameterTypeRequiredDescription
expectedDatestringNoExpected date for the movement (YYYY-MM-DD)
handledBystringYesWho handles the movement (TECSPAL, COMPANY)
factoryResetbooleanNoWhether hardware needs factory reset
companyCodestringOne ofCompany code for one of your managed companies
companyobjectOne ofNew Company details (see Company Properties)
employeeEmailstringOne ofEmail of an existing employee
employeeobjectOne ofNew employee details (see Employee Properties)
hardwaresobjectYesHardware details (see Hardware Properties)

Employee Properties (When Creating New Employee)

PropertyTypeRequiredDescription
firstNamestringYesFirst name of the employee
lastNamestringYesLast name of the employee
emailstringYesEmail address of the employee
phonestringYesPhone number with country code
governmentDNIstringYesGovernment-issued identification number
addressstringYesPrimary address
citystringYesCity of residence
addressExtraInfostringNoAdditional address information
postCodestringYesPostal code
countryCodestringYesCountry code in ISO 3166-1 alpha-2 format

Company Properties (When Creating New Company)

PropertyTypeDescription
namestringName of the company
companyCodestringUnique code representing the company
countryCodestringCountry code of the company
legalNumberstringLegal number of the company
contactEmailstringContact email address of the company
phonestringPhone number of the company

Hardware Properties

PropertyTypeRequiredDescription
hardwareIdsarrayNoIDs of existing hardware to return
newHardwaresarrayNoDetails of additional hardware to return

New Hardware Properties

PropertyTypeRequiredDescription
serialNumberstringYesSerial number of the hardware
descriptionstringNoDescription of the hardware
dateBoughtstringYesPurchase date in ISO format
hardwareTypestringYesType of hardware
newHardwarebooleanNoWhether the hardware is new
externalReferencestringNoExternal reference code

Request

Production URL: https://orchestrator.tecspal.com/
Sandbox URL: https://tecspal-orchestrator.sandbox.lexartlabs.uy/
Endpoint: POST /movement_requests/offboarding

Example Request

{
"data": {
"countryCode": "UY",
"handledBy": "TECSPAL",
"expectedDate": "2024-12-21",
"factoryReset": false,
"hardwares": {
"hardwareIds": ["335dea85-b83a-489a-9b80-414f625cd17b"],
"newHardwares": [
{
"serialNumber": "987654",
"description": "Dell inspiron",
"dateBought": "2023-12-18T21:38:58.069Z",
"hardwareType": "MONITOR",
"newHardware": false,
"externalReference": "externalCode123"
}
]
},
// "companyCode": "DM1", For existing company
"company": {
"name": "Larian Studios",
"companyCode": "DM1",
"countryCode": "UY",
"legalNumber": "123456",
"contactEmail": "larianstudios@email.com",
"phone": "+598 8888888"
},
// "email": "john_doe@email.com", // For existing employee
"employee": {
"firstName": "John",
"lastName": "Doe",
"email": "john_doe@email.com",
"phone": "+598 99999999",
"governmentDNI": "DNI123",
"address": "Plaza Independencia 848",
"city": "Montevideo",
"addressExtraInfo": "",
"postCode": "11100",
"countryCode": "UY"
}
},
"request": "movement_requests/offboarding",
"vendor": "tecspal",
"verb": "POST"
}

Response Schema

PropertyTypeDescription
statusCodenumberHTTP status code of the response
messagestringDescription of the response status
enveloparrayArray containing the list of movement requests

Movement Request Properties

PropertyTypeDescription
idstringUnique identifier of the order
movementRequestNumbernumberRequest number
createdAtstringISO timestamp when the request was created
updatedAtstringISO timestamp when the request was last updated
typestringType of request (e.g., OFFBOARDING)
statusstringStatus of the request (e.g., PROCESSING)
etastring | nullEstimated time of arrival (nullable)
sendTostringDestination type (e.g., STORAGE)
handledBystringThe team or person handling the request
expectedDatestringExpected date for completion
factoryResetbooleanWhether a factory reset is required
trackingLinkstring | nullLink for tracking (nullable)
dateCompletedstring | nullDate when the request was completed (nullable)
apiClientRequesterNamestringName of the API client requester
requesterEmailstring | nullEmail of the user who created the request
toEmployeeIdstring | nullID of the employee who should receive the hardware
fromEmployeeIdstring | nullID of the employee returning the hardware
movementRequestStatusHistoricarrayStatus change history of the request
toEmployeeobject | nullDetails of the employee the request is for (nullable)
fromEmployeeobject | nullEmployee initiating the request
storageobjectStorage details
companyNamestringName of the company
hardwaresarrayList of hardware items related to the request

fromEmployee Properties

PropertyTypeDescription
idstringUnique identifier of the employee
firstNamestringFirst name of the employee
lastNamestringLast name of the employee
countryCodestringCountry code of the employee
emailstringEmail of the employee
addressstringFull address of the employee
addressExtraInfostringExtra address information (nullable)
postCodestringPostal code of the employee's address

storage Properties

PropertyTypeDescription
idstringUnique identifier of the storage
countryCodestringCountry code of the storage

hardwares Properties

PropertyTypeDescription
idstringUnique ID of the hardware
descriptionstringDescription or notes
serialNumberstringSerial number of the hardware
brandstringHardware brand (if applicable)
namestringName of the hardware (from model or hardwareType)
ramstringRAM configuration (if applicable)
diskSpacestringDisk size (if applicable)
displaySizestringDisplay size (if applicable)
processorstringProcessor (if applicable)
imagestringURL to the image

Example Response

{
"envelop": [
{
"id": "b861eb3d-6d04-41cb-b5b2-efde278e36b8",
"movementRequestNumber": 50001006,
"createdAt": "2025-04-14T14:50:08.363Z",
"updatedAt": "2025-04-14T14:50:08.363Z",
"type": "OFFBOARDING",
"status": "PROCESSING",
"eta": null,
"sendTo": "STORAGE",
"handledBy": "TECSPAL",
"expectedDate": "2025-12-21",
"factoryReset": false,
"trackingLink": null,
"dateCompleted": null,
"apiClientRequesterName": "EXAMPLE API CLIENT",
"toEmployee": null,
"fromEmployee": {
"id": "0a86b6c2-7373-42fa-a44a-70857cef0f90",
"firstName": "John",
"lastName": "Doe",
"countryCode": "UY",
"email": "john_doe@email.com",
"address": "Plaza Independencia 848, Montevidéu, Uruguai",
"addressExtraInfo": "Praça Independência",
"postCode": "11100"
},
"storage": {
"id": "f5d253a3-e494-4614-9c8e-001789def712",
"countryCode": "UY"
},
"companyName": "Larian Studios",
"hardwares": [
{
"id": "335dea85-b83a-489a-9b80-414f625cd17b",
"description": "Something",
"serialNumber": "123",
"brand": "Samsung",
"name": "MONITOR",
"image": "https://a-us.storyblok.com/f/1001855/405x366/dd53bc39ef/generic-monitor.png"
},
{
"id": "10e8d06a-5d85-4f57-9116-61dfe6ed8426",
"description": "Dell inspiron",
"serialNumber": "987654",
"brand": "Dell",
"name": "MONITOR",
"image": "https://a-us.storyblok.com/f/1001855/405x366/dd53bc39ef/generic-monitor.png"
}
]
}
],
"message": "Request successful",
"statusCode": 201
}

Error Responses

Bad Request (400)

{
"details": [
{
"field": "employeeEmail",
"message": "Employee email is required"
}
],
"error": "Bad Request",
"message": "Invalid request data",
"statusCode": 400
}

Not Found (404)

{
"error": "Not Found",
"message": "Employee not found",
"statusCode": 404
}

Notes

  • If no hardwareIds are provided, all hardware assigned to the employee will be included
  • New hardware can be added to the movement request using the newHardwares array
  • The movement request will be created with "PROCESSING" status
  • Hardware will be marked as "in movement" until the request is completed
  • When handledBy is "TECSPAL", Tecspal's logistics team will manage the return
  • When handledBy is "COMPANY", the company is responsible for returning the hardware