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
| Property | Type | Required | Description |
|---|---|---|---|
| hardwareId | string | Yes | The unique identifier of the hardware |
Filters
| Property | Type | Required | Description |
|---|---|---|---|
| companyCode | string | Yes | Company 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
| Property | Type | Description |
|---|---|---|
| statusCode | number | HTTP status code of the response |
| message | string | Description of the response status |
| envelop | array | Array containing the hardware data |
Hardware Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique ID of the hardware |
| description | string | Description of the hardware |
| serialNumber | string | Serial number |
| brand | string | Brand of the hardware |
| name | string | Hardware name |
| ram | string | RAM size (if applicable, e.g., laptops) |
| diskSpace | string | Disk space (if applicable) |
| displaySize | string | Display size (if applicable) |
| processor | string | Processor info (if applicable) |
| image | string | Image URL |
| dateBought | string | Date when the hardware was purchased (ISO 8601 format) |
| countryCode | string | ISO 3166-1 alpha-2 country code (e.g., "UY") |
| status | string | Status of the hardware: "EMPLOYEE" or "STORAGE" |
| newHardware | boolean | Indicates if the hardware is new or used |
| externalReference | string | null | External reference identifier (if any) |
| factoryReset | boolean | Indicates if the device has been factory reset |
| damaged | boolean | Indicates if the hardware is damaged |
| cost | number | null | Cost of the hardware |
| costCurrency | string | Currency code (e.g., "USD") |
| companyName | string | Name of the company that owns the hardware |
| employeeProfile | object | null | Info about assigned employee (if any) |
| storage | object | null | Storage location info (if applicable) |
| movementRequests | array | Movement request history (can be empty) |
employeeProfile Properties
| Property | Type | Description |
|---|---|---|
| id | string | Employee ID |
| firstName | string | Employee first name |
| lastName | string | Employee last name |
| string | Employee email |
storage Properties
| Property | Type | Description |
|---|---|---|
| id | string | Storage ID |
| countryCode | string | Country of storage location |
movementRequests Properties
| Property | Type | Description |
|---|---|---|
| id | string | Movement request ID |
| status | string | Status (e.g., "PROCESSING", "COMPLETED") |
| createdAt | string | When the movement was created (ISO format) |
| type | string | Type of request (e.g., "OFFBOARDING") |
| requester | object|null | User who requested the movement (if any) |
| sendTo | string|null | Target destination (e.g., "STORAGE") |
| handledBy | string|null | Party handling the request (e.g., "TECSPAL") |
| toEmployee | object|null | Receiving employee (if applicable) |
| fromEmployee | object|null | Originating employee (if applicable) |
| storage | object|null | Target storage (if applicable) |
| company | object|null | Company involved in the movement |
fromEmployee / toEmployee (inside movementRequests) Properties
| Property | Type | Description |
|---|---|---|
| id | string | Employee ID |
| firstName | string | First name |
| lastName | string | Last name |
| countryCode | string | Country code |
company (inside movementRequests) Properties
| Property | Type | Description |
|---|---|---|
| name | string | Company 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
statusfield indicates the current assignment: EMPLOYEE, STORAGE, etc. - Hardware can have both a specific model (
commonModel) and a generic type (hardwareType) - The
inMovementflag indicates if the hardware is currently being transferred - Movement history is tracked in
movementRequests