Skip to main content

Get Hardware By Id

Retrieves detailed information about a specific hardware item using its unique identifier.

Authentication

This endpoint requires authentication. See Authentication for details.

Parameters

PropertyTypeRequiredDescription
hardwareIdstringYesThe unique identifier of the hardware

Filters

PropertyTypeRequiredDescription
companyCodestringYesCompany code for one of your managed companies

Request

Production URL: https://orchestrator.tecspal.com/
Sandbox URL: https://tecspal-orchestrator.sandbox.lexartlabs.uy/
Endpoint: GET /hardwares/{hardwareId}

Example Request

{
"filters": {
"companyCode": "DM1"
},
"request": "hardwares/0944ab90-4771-45ca-a9b3-3f3b314cc1ce",
"vendor": "tecspal",
"verb": "GET"
}

Response Schema

PropertyTypeDescription
statusCodenumberHTTP status code of the response
messagestringDescription of the response status
enveloparrayArray containing the hardware data

Hardware Properties

PropertyTypeDescription
idstringUnique ID of the hardware
descriptionstringDescription of the hardware
serialNumberstringSerial number
brandstringBrand of the hardware
namestringHardware name
ramstringRAM size (if applicable, e.g., laptops)
diskSpacestringDisk space (if applicable)
displaySizestringDisplay size (if applicable)
processorstringProcessor info (if applicable)
imagestringImage URL
dateBoughtstringDate when the hardware was purchased (ISO 8601 format)
countryCodestringISO 3166-1 alpha-2 country code (e.g., "UY")
statusstringStatus of the hardware: "EMPLOYEE" or "STORAGE"
newHardwarebooleanIndicates if the hardware is new or used
externalReferencestring | nullExternal reference identifier (if any)
factoryResetbooleanIndicates if the device has been factory reset
damagedbooleanIndicates if the hardware is damaged
costnumber | nullCost of the hardware
costCurrencystringCurrency code (e.g., "USD")
companyNamestringName of the company that owns the hardware
employeeProfileobject | nullInfo about assigned employee (if any)
storageobject | nullStorage location info (if applicable)
movementRequestsarrayMovement request history (can be empty)

employeeProfile Properties

PropertyTypeDescription
idstringEmployee ID
firstNamestringEmployee first name
lastNamestringEmployee last name
emailstringEmployee email

storage Properties

PropertyTypeDescription
idstringStorage ID
countryCodestringCountry of storage location

movementRequests Properties

PropertyTypeDescription
idstringMovement request ID
statusstringStatus (e.g., "PROCESSING", "COMPLETED")
createdAtstringWhen the movement was created (ISO format)
typestringType of request (e.g., "OFFBOARDING")
requesterobject|nullUser who requested the movement (if any)
sendTostring|nullTarget destination (e.g., "STORAGE")
handledBystring|nullParty handling the request (e.g., "TECSPAL")
toEmployeeobject|nullReceiving employee (if applicable)
fromEmployeeobject|nullOriginating employee (if applicable)
storageobject|nullTarget storage (if applicable)
companyobject|nullCompany involved in the movement

fromEmployee / toEmployee (inside movementRequests) Properties

PropertyTypeDescription
idstringEmployee ID
firstNamestringFirst name
lastNamestringLast name
countryCodestringCountry code

company (inside movementRequests) Properties

PropertyTypeDescription
namestringCompany name

Example Response

{
"envelop": [
{
"statusCode": 200,
"message": "Request successful",
"envelop": [
{
"id": "0944ab90-4771-45ca-a9b3-3f3b314cc1ce",
"description": "Powerful",
"brand": null,
"serialNumber": "1523",
"name": "MacBook Pro",
"ram": "8 GB",
"diskSpace": "256GB",
"displaySize": "13 inch",
"processor": "M1",
"image": "https://a-us.storyblok.com/f/1001855/1997x1169/9ad84eb1c8/macbook-pro-13-other.png",
"dateBought": "2025-04-09T14:35:57.384Z",
"countryCode": "UY",
"status": "EMPLOYEE",
"newHardware": false,
"externalReference": null,
"factoryReset": false,
"damaged": false,
"cost": null,
"costCurrency": "USD",
"employeeProfile": {
"id": "82ccaac0-ecc9-4782-a60e-20ede3138122",
"firstName": "Matias",
"lastName": "Garcia",
"email": "mgarcia@tecspal.com"
},
"companyName": "Larian Studios",
"storage": null,
"movementRequests": [
{
"id": "50fd3e81-1994-4ef4-969c-aa1c081b5484",
"status": "PROCESSING",
"createdAt": "2025-04-11T17:05:50.173Z",
"type": "OFFBOARDING",
"requester": {
"email": "superadmin@tecspal.com"
},
"sendTo": "STORAGE",
"handledBy": "TECSPAL",
"toEmployee": null,
"fromEmployee": {
"id": "82ccaac0-ecc9-4782-a60e-20ede3138122",
"firstName": "Matias",
"lastName": "Garcia",
"countryCode": "UY"
},
"storage": {
"id": "f5d253a3-e494-4614-9c8e-001789def712",
"countryCode": "UY"
},
"company": {
"name": "Larian Studios"
}
}
]
}
]
}
],
"message": "Request successful",
"statusCode": 200
}

Error Responses

Hardware Not Found (404)

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

Unauthorized (401)

{
"error": "Unauthorized",
"message": "Unauthorized access",
"statusCode": 401
}

Bad Request (400)

{
"error": "Bad Request",
"message": "Invalid hardware ID format",
"statusCode": 400
}

Notes

  • Hardware can be assigned either to an employee (employeeProfile) or to storage (storage)
  • The status field indicates the current assignment: EMPLOYEE, STORAGE, etc.
  • Hardware can have both a specific model (commonModel) and a generic type (hardwareType)
  • The inMovement flag indicates if the hardware is currently being transferred
  • Movement history is tracked in movementRequests