api:networkmanagement:device:create
Table of Contents
API : Network Device Create
Introduction
This request will create a network device on a given customer.
DHCP settings cannot be set at creation — the device reports its actual DHCP configuration once it has been provisioned, after which it can be changed with Update.
Request
| URL | https://api.telecomx.dk/network/device | ||
|---|---|---|---|
| Method | POST | ||
| Access level | MANAGER or OWNER if user belongs to the customer. RESELLER if customer belongs to the reseller or a sub reseller. ADMIN. The customer must have the NETWORK_MANAGEMENT feature. |
||
| Property | Type | Description | |
| Body | name | String | Name of device |
| model | Id | Id of the network device model | |
| customer | Id | Customer the device belongs to | |
| macAddress | String | MAC address - 12 hexadecimal characters, no separators. | |
| serialNumber | String | Serial number | |
| mvnoAccount | Id | [optional] MVNO account that it is linked to. Used when the router is uplinked through a SIM-card. |
|
| activeSim | String | [optional] Number of the active SIM card in the device. |
|
| notes | String | [optional] Free text note field - max 4096 characters. |
|
| wifi | Object | [optional] WiFi settings - set to null if not used. |
|
| wifi.enabled | Boolean | True if wifi is enabled on 2.4GHz. | |
| wifi.ssid | String | SSID of the 2.4GHz network - 1-32 characters, null if unused. | |
| wifi.password | String | Password of the 2.4GHz network - 8-63 characters, null if unused. | |
| wifi.enabled5G | Boolean | True if wifi is enabled on 5GHz. | |
| wifi.ssid5G | String | SSID of the 5GHz network - 1-32 characters, null if unused. | |
| wifi.password5G | String | Password of the 5GHz network - 8-63 characters, null if unused. | |
| wifi.enabled6G | Boolean | True if wifi is enabled on 6GHz. | |
| wifi.ssid6G | String | SSID of the 6GHz network - 1-32 characters, null if unused. | |
| wifi.password6G | String | Password of the 6GHz network - 8-63 characters, null if unused. | |
| wifi.bandsteering | Boolean | True to enable bandsteering (all bands have same SSID and clients will move freely between bands). | |
Query examples
{ "name": "Johns router", "model": "12345678901234567890AAAA", "customer": "12345678901234567890CCCC", "macAddress": "123456789012", "serialNumber": "484T563TYEHFCU38HCNB4", "mvnoAccount": "12345678901234567890DDDD", "notes": "Note about device", "wifi": { "enabled": true, "ssid": "SkyNet", "password": "JohnConner", "enabled5G": true, "ssid5G": "Need4Speed", "password5G": "SarahConner", "enabled6G": false, "ssid6G": null, "password6G": null, "bandsteering": false } }
Response
| Property | Type | Description |
|---|---|---|
| _id | Id | Unique id of the device. |
| state | String | Which state the device is in: ACTIVE, PROVISIONING, DELETING. A newly created device starts in PROVISIONING. |
| name | String | Name of device |
| model | Id | Id of the network device model |
| modelType | String | Model type |
| modelBrand | String | Brand name |
| modelDescription | String | Description of model |
| modelPicture | Id | Id of picture of the device model, on the image servers. |
| customer | Id | Customer the device belongs to |
| macAddress | String | MAC address |
| serialNumber | String | Serial number |
| mvnoAccount | Id | MVNO account that it is linked to. Used when the router is uplinked through a SIM-card. |
| activeSim | String | Number of the active SIM card in the device. |
| jobs | Number | Number of provisioning jobs currently in progress. |
| notes | String | Free text note field. |
| createdAt | Date | When the device was created. |
| wifi | Object | WiFi settings - null if not used. |
| wifi.enabled | Boolean | True if wifi is enabled on 2.4GHz. |
| wifi.ssid | String | SSID of the 2.4GHz network. |
| wifi.password | String | Password of the 2.4GHz network. |
| wifi.enabled5G | Boolean | True if wifi is enabled on 5GHz. |
| wifi.ssid5G | String | SSID of the 5GHz network. |
| wifi.password5G | String | Password of the 5GHz network. |
| wifi.enabled6G | Boolean | True if wifi is enabled on 6GHz. |
| wifi.ssid6G | String | SSID of the 6GHz network. |
| wifi.password6G | String | Password of the 6GHz network. |
| wifi.bandsteering | Boolean | True to enable bandsteering (all bands have same SSID and clients will move freely between bands). |
| status | Object | Status info (read only) |
| status.provisioned | Boolean | False on a newly created device - true once provisioning has completed. |
| status.online | Boolean | False on a newly created device. |
| status.lastComm | Date | Null on a newly created device. |
The full status object and the device's DHCP configuration become available once the device has been provisioned - see Get.
Note that properties holding no value may be omitted from the object.
Example
{ "_id": "12345678901234567890ABCD", "state": "PROVISIONING", "name": "Johns router", "model": "12345678901234567890AAAA", "modelType": "ROUTER", "modelBrand": "TP-LINK", "modelDescription": "5G router with 2.4/5GHz wifi and 3 ethernet ports", "modelPicture": "12345678901234567890BBBB", "customer": "12345678901234567890CCCC", "macAddress": "123456789012", "serialNumber": "484T563TYEHFCU38HCNB4", "mvnoAccount": "12345678901234567890DDDD", "jobs": 1, "notes": "Note about device", "createdAt": "2026-08-05T12:00:00.000Z", "wifi": { "enabled": true, "ssid": "SkyNet", "password": "JohnConner", "enabled5G": true, "ssid5G": "Need4Speed", "password5G": "SarahConner", "enabled6G": false, "ssid6G": null, "password6G": null, "bandsteering": false }, "status": { "provisioned": false, "online": false, "lastComm": null } }
Errors
| Error code | Message | Description |
|---|---|---|
| 400 | macAddress/serialNumber | A device with the same MAC address or serial number already exists. |
| 403 | access_denied | Insufficient access level |
| 404 | <field> | A required body field is missing. |
| 404 | model | Network device model not found |
| 404 | customer | Customer not found, or the customer does not have the network management feature. |
| 422 | <field> | A field value is invalid. |
| 500 | internal_error | <Unspecified> |
api/networkmanagement/device/create.txt · Last modified: by Mikkel Meerwaldt Jørgensen