Get All Hardwares
Retrieves a list of hardware items for a specific company.
Authentication
This endpoint requires authentication. See Authentication for details.
Filters
| Property | Type | Required | Description |
|---|---|---|---|
| companyCode | string | Yes | Company code for one of your managed companies |
| countryCode | string | No | Filter hardware by country in ISO 3166-1 alpha-2 format |
Request
Production URL: https://orchestrator.tecspal.com/
Sandbox URL: https://tecspal-orchestrator.sandbox.lexartlabs.uy/
Endpoint: GET /hardwares
Example Request
{
"filters": {
"companyCode": "DM1",
"countryCode": "UY"
},
"request": "hardwares",
"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 list of hardware items |
Hardware Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique identifier of the hardware |
| description | string | Description of the hardware |
| serialNumber | string | Serial number of the hardware |
| brand | string | Brand name of the hardware (if available) |
| name | string | Name or model of the hardware |
| 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 | URL of the hardware image |
| dateBought | string | ISO 8601 string of the purchase date |
| countryCode | string | ISO 3166-1 alpha-2 country code (e.g., "UY") |
| status | string | Status of the hardware: "EMPLOYEE" or "STORAGE" |
| newHardware | boolean | Indicates whether the hardware is new |
| 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") |
| employeeProfile | object | null | Assigned employee profile, or null if in storage |
| companyName | string | Name of the company that owns the hardware |
| storage | object | null | Storage location object, or null if assigned to an employee |
| movementRequests | array | List of movement request objects |
| hardwareNote | array | List of notes related to the hardware |
employeeProfile Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique employee ID |
| firstName | string | Employee's first name |
| lastName | string | Employee's last name |
| string | Employee's email |
storage Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique storage ID |
| countryCode | string | ISO country code (e.g., "UY") |
movementRequests Properties
| Property | Type | Description |
|---|---|---|
| status | string | Status of the movement (e.g., "PROCESSING") |
hardwareNote Properties
| Property | Type | Description |
|---|---|---|
| content | string | Content of the note |
| createdAt | string | ISO timestamp of note creation |
| user | object | Info about the author of the note |
user (inside hardwareNote) Properties
| Property | Type | Description |
|---|---|---|
| string | Email of the note's author |
Example Response
{
"envelop": [
{
"id": "bebe97aa-8768-47df-93ab-79a818ab04be",
"description": "New",
"brand": null,
"serialNumber": "1252552",
"name": "MacBook Pro",
"ram": "16GB",
"diskSpace": "512GB",
"displaySize": "16 inch",
"processor": "M1 Pro",
"image": "https://a-us.storyblok.com/f/1001855/789x500/82ee51ba4d/macbook-pro-16.png",
"dateBought": "2025-04-09T14:35:57.384Z",
"countryCode": "UY",
"status": "STORAGE",
"newHardware": false,
"externalReference": null,
"factoryReset": false,
"damaged": false,
"cost": null,
"costCurrency": "USD",
"employeeProfile": null,
"companyName": "Larian Studios",
"storage": {
"id": "f5d253a3-e494-4614-9c8e-001789def712",
"countryCode": "UY"
},
"movementRequests": [],
"hardwareNote": [
{
"content": "Fast boot-up and application launch times. Keyboard is comfortable for extended typing.",
"createdAt": "2025-04-09T14:35:57.442Z",
"user": {
"email": "halstudios@tecspal.com"
}
}
]
},
{
"id": "a656198b-7a7f-4158-ae6e-9c67596e95a8",
"description": "Good shape",
"brand": null,
"serialNumber": "1523",
"name": "MOUSE",
"image": "https://a-us.storyblok.com/f/1001855/194x310/58f252e365/generic-mouse.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": "04fb50a9-60fb-414a-ab2b-fa3f8ea8689e",
"firstName": "Juan",
"lastName": "Iruleguy",
"email": "jiruleguy@tecspal.com"
},
"companyName": "Larian Studios",
"storage": null,
"movementRequests": [
{
"status": "PROCESSING"
}
],
"hardwareNote": [
{
"content": "Lorem Ipsum Mouse!!",
"createdAt": "2025-04-10T20:57:49.010Z",
"user": {
"email": "superadmin@tecspal.com"
}
}
]
},
"..."
],
"message": "Request successful",
"statusCode": 200
}
Error Responses
Bad Request (400)
{
"error": "Bad Request",
"message": "Missing required filter: companyCode",
"statusCode": 400
}
Unauthorized (401)
{
"error": "Unauthorized",
"message": "Unauthorized access",
"statusCode": 401
}
Notes
- Hardware items can be assigned to either an employee or storage location
- Each hardware can have notes (
hardwareNote) tracking its history and condition - The response includes both assigned and unassigned hardware
- Hardware can be filtered by country using ISO 3166-1 alpha-2 country codes
- Hardware items can have either a specific model (
commonModel) or a generic type (hardwareType) - The
statusfield indicates current assignment: EMPLOYEE, STORAGE, etc. - The
inMovementflag indicates if the hardware is currently being transferred