Skip to main content

Create Hardware

Creates a new hardware item in the system. The hardware can be assigned to an employee or stored in a company storage location.

Authentication

This endpoint requires authentication. See Authentication for details.

Parameters

ParameterTypeRequiredDescription
serialNumberstringNoUnique serial number of the hardware
descriptionstringNoDescription or notes about the hardware
dateBoughtstringNoPurchase date in ISO format
countryCodestringYesCountry code in ISO 3166-1 alpha-2 format
companyCodestringYesCompany code for one of your managed companies
employeeProfileIdstringOne of (optional)ID of the employee to assign the hardware to
employeeEmailstringOne of (optional)Email of the employee to assign the hardware to
hardwareTypestringOne of (required)Type of hardware (see Hardware Types below)
commonModelIdstringOne of (optional)ID of a specific hardware model
newHardwarebooleanNoWhether the hardware is new
externalReferencestringNoExternal reference (e.g., invoice, tracking number)
brandstringNoHardware brand (enum value)
modelstringNoModel name
ramstringNoRAM specification (e.g., "16GB")
diskSpacestringNoDisk space specification (e.g., "512GB SSD")
displaySizestringNoDisplay size (e.g., "27 inch")
processorstringNoProcessor model (e.g., "Intel i7")
gpustringNoGPU model (e.g., "NVIDIA RTX 3070")

Hardware Types

  • HEADPHONES
  • MACBOOK
  • CHAIR
  • MOUSE
  • TRACKPAD
  • PC
  • MONITOR
  • ACCESSORY
  • PHONE
  • KEYBOARD
  • IPHONE
  • WEBCAM

Request

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

Example Request

{
"data": {
"serialNumber": "PC-00123",
"description": "High performance workstation",
"dateBought": "2023-11-10T15:00:00.000Z",
"countryCode": "UY",
"hardwareType": "PC",
"companyCode": "DM1",
"employeeEmail": "john_doe@email.com",
"brand": "DELL",
"model": "OptiPlex 7090",
"ram": "32GB",
"diskSpace": "1TB SSD",
"displaySize": "27 inch",
"processor": "Intel i9-11900",
"gpu": "NVIDIA RTX 3070",
"externalReference": "INV-PC-2025-002",
"newHardware": true
},
"request": "hardwares",
"vendor": "tecspal",
"verb": "POST"
}

Response Schema

PropertyTypeDescription
statusCodenumberHTTP status code of the response
messagestringDescription of the response status
enveloparrayArray containing the created order data

Hardware Properties

PropertyTypeDescription
idstringUnique ID of the created hardware
descriptionstringDescription or notes about the hardware
serialNumberstringSerial number of the hardware
brandstringHardware brand (enum value)
namestringHardware name or resolved model name
ramstringRAM specification
diskSpacestringDisk space specification
displaySizestringDisplay size specification
processorstringProcessor model
imagestringURL of the hardware image
dateBoughtstringPurchase date in ISO 8601 format
countryCodestringCountry code in ISO 3166-1 alpha-2 format
statusstringAssignment status: EMPLOYEE or STORAGE
newHardwarebooleanWhether the hardware is new (true) or used (false)
externalReferencestringExternal reference info (e.g., invoice or asset tag)
factoryResetbooleanWhether the hardware has been factory reset
damagedbooleanWhether the hardware is damaged
coststring | nullCost of the hardware, if available
costCurrencystringCurrency of the cost (e.g., USD)
companyNamestring | nullName of the company, if applicable
officeNamestring | nullName of the office, if applicable

Example Response

{
"envelop": [
{
"id": "666811a9-9df2-4d09-8b35-1f48de0bacdb",
"description": "High performance workstation",
"serialNumber": "PC-00123",
"brand": "DELL",
"name": "OptiPlex 7090",
"ram": "32GB",
"diskSpace": "1TB SSD",
"displaySize": "N/A",
"processor": "Intel i9-11900",
"image": "https://a-us.storyblok.com/f/1001855/1969x1515/a3eebe8012/generic-laptop.png",
"dateBought": "2023-11-10T15:00:00.000Z",
"countryCode": "UY",
"status": "STORAGE",
"newHardware": true,
"externalReference": "INV-PC-2025-002",
"factoryReset": false,
"damaged": false,
"cost": null,
"costCurrency": "USD",
"companyName": null,
"officeName": null
}
],
"message": "Request successful",
"statusCode": 201
}

Error Responses

Bad Request (400)

{
"details": [
{
"field": "serialNumber",
"message": "Serial number is required"
}
],
"error": "Bad Request",
"message": "Invalid request data",
"statusCode": 400
}

Unauthorized (401)

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

Notes

  • You must specify either hardwareType or commonModelId, but not both
  • When employeeProfileId or employeeEmail is provided, the hardware will be assigned to that employee
  • Without employeeProfileId or employeeEmail , the hardware will be assigned to company storage
  • Serial numbers must be unique within a company
  • The createdThrough field will be set to "API" for hardware created via this endpoint
  • The status field will be set to either "EMPLOYEE" or "STORAGE" based on the assignment
  • The newHardware flag indicates if this is a new or used hardware item
  • Fields brand, model, ram, diskSpace, displaySize, processor, and gpu are only applicable for hardware types PC and MACBOOK