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
| Parameter | Type | Required | Description |
|---|---|---|---|
| serialNumber | string | No | Unique serial number of the hardware |
| description | string | No | Description or notes about the hardware |
| dateBought | string | No | Purchase date in ISO format |
| countryCode | string | Yes | Country code in ISO 3166-1 alpha-2 format |
| companyCode | string | Yes | Company code for one of your managed companies |
| employeeProfileId | string | One of (optional) | ID of the employee to assign the hardware to |
| employeeEmail | string | One of (optional) | Email of the employee to assign the hardware to |
| hardwareType | string | One of (required) | Type of hardware (see Hardware Types below) |
| commonModelId | string | One of (optional) | ID of a specific hardware model |
| newHardware | boolean | No | Whether the hardware is new |
| externalReference | string | No | External reference (e.g., invoice, tracking number) |
| brand | string | No | Hardware brand (enum value) |
| model | string | No | Model name |
| ram | string | No | RAM specification (e.g., "16GB") |
| diskSpace | string | No | Disk space specification (e.g., "512GB SSD") |
| displaySize | string | No | Display size (e.g., "27 inch") |
| processor | string | No | Processor model (e.g., "Intel i7") |
| gpu | string | No | GPU 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
| Property | Type | Description |
|---|---|---|
| statusCode | number | HTTP status code of the response |
| message | string | Description of the response status |
| envelop | array | Array containing the created order data |
Hardware Properties
| Property | Type | Description |
|---|---|---|
| id | string | Unique ID of the created hardware |
| description | string | Description or notes about the hardware |
| serialNumber | string | Serial number of the hardware |
| brand | string | Hardware brand (enum value) |
| name | string | Hardware name or resolved model name |
| ram | string | RAM specification |
| diskSpace | string | Disk space specification |
| displaySize | string | Display size specification |
| processor | string | Processor model |
| image | string | URL of the hardware image |
| dateBought | string | Purchase date in ISO 8601 format |
| countryCode | string | Country code in ISO 3166-1 alpha-2 format |
| status | string | Assignment status: EMPLOYEE or STORAGE |
| newHardware | boolean | Whether the hardware is new (true) or used (false) |
| externalReference | string | External reference info (e.g., invoice or asset tag) |
| factoryReset | boolean | Whether the hardware has been factory reset |
| damaged | boolean | Whether the hardware is damaged |
| cost | string | null | Cost of the hardware, if available |
| costCurrency | string | Currency of the cost (e.g., USD) |
| companyName | string | null | Name of the company, if applicable |
| officeName | string | null | Name 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
hardwareTypeorcommonModelId, but not both - When
employeeProfileIdoremployeeEmailis provided, the hardware will be assigned to that employee - Without
employeeProfileIdoremployeeEmail, the hardware will be assigned to company storage - Serial numbers must be unique within a company
- The
createdThroughfield will be set to "API" for hardware created via this endpoint - The
statusfield will be set to either "EMPLOYEE" or "STORAGE" based on the assignment - The
newHardwareflag indicates if this is a new or used hardware item - Fields
brand,model,ram,diskSpace,displaySize,processor, andgpuare only applicable for hardware typesPCandMACBOOK