Skip to main content

Get All Hardwares

Retrieves a list of hardware items for a specific company.

Authentication

This endpoint requires authentication. See Authentication for details.

Filters

PropertyTypeRequiredDescription
companyCodestringYesCompany code for one of your managed companies
countryCodestringNoFilter 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

PropertyTypeDescription
statusCodenumberHTTP status code of the response
messagestringDescription of the response status
enveloparrayArray containing the list of hardware items

Hardware Properties

PropertyTypeDescription
idstringUnique identifier of the hardware
descriptionstringDescription of the hardware
serialNumberstringSerial number of the hardware
brandstringBrand name of the hardware (if available)
namestringName or model of the hardware
ramstringRAM size (if applicable, e.g., laptops)
diskSpacestringDisk space (if applicable)
displaySizestringDisplay size (if applicable)
processorstringProcessor info (if applicable)
imagestringURL of the hardware image
dateBoughtstringISO 8601 string of the purchase date
countryCodestringISO 3166-1 alpha-2 country code (e.g., "UY")
statusstringStatus of the hardware: "EMPLOYEE" or "STORAGE"
newHardwarebooleanIndicates whether the hardware is new
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")
employeeProfileobject | nullAssigned employee profile, or null if in storage
companyNamestringName of the company that owns the hardware
storageobject | nullStorage location object, or null if assigned to an employee
movementRequestsarrayList of movement request objects
hardwareNotearrayList of notes related to the hardware

employeeProfile Properties

PropertyTypeDescription
idstringUnique employee ID
firstNamestringEmployee's first name
lastNamestringEmployee's last name
emailstringEmployee's email

storage Properties

PropertyTypeDescription
idstringUnique storage ID
countryCodestringISO country code (e.g., "UY")

movementRequests Properties

PropertyTypeDescription
statusstringStatus of the movement (e.g., "PROCESSING")

hardwareNote Properties

PropertyTypeDescription
contentstringContent of the note
createdAtstringISO timestamp of note creation
userobjectInfo about the author of the note

user (inside hardwareNote) Properties

PropertyTypeDescription
emailstringEmail 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 status field indicates current assignment: EMPLOYEE, STORAGE, etc.
  • The inMovement flag indicates if the hardware is currently being transferred