Inventory API Documentation¶
The Inventory module allows managing the physical and logical assets of an infrastructure such as racks, contacts, power equipment, wireless networks, and more through the same REST API described in Introduction to Redborder's API. It is especially useful for creating, updating, or removing many items at once, since every action available in the web interface can also be automated.
All Inventory endpoints follow the same pattern:
https://<hostname>/api/v1/inventory/<inventory_type>?auth_token=<API_key>
Where <inventory_type> is the specific model you want to work with (racks, contacts, tags, power_feeds, wireless_lans, etc.). The full list of supported inventory types is shown in the Table of Contents below.
As with the rest of the API, every request must include the auth_token parameter described in Authentication. For readability, the examples on this page use two shell variables:
export HOST="https://<hostname>"
export TOKEN="<API_key>"
so that $HOST always stands for https://<hostname> and $TOKEN for your <API_key>. You can export them once in your terminal and copy-paste the examples as is.
POST and PATCH requests must include the header:
Content-Type: application/json
and the JSON payload is passed with -d @<input_json_path>, following the same convention used in Introduction to Redborder's API. Save the payload shown above each example to a file (for instance input.json) and reference it from the curl command.
Table of Contents¶
- Racks
- Rack Roles
- Rack Types
- Rack Reservations
- Contacts
- Contact Groups
- Contact Roles
- Power Panels
- Power Feeds
- Tags
- Table Configs
- Account Keys
- Wireless LANs
- Wireless LAN Groups
Racks¶
Base URL: https://$HOST/api/v1/inventory/racks?auth_token=$TOKEN
Racks represent physical equipment racks in a data center.
List all racks¶
GET /api/v1/inventory/racks?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/racks?auth_token=$TOKEN"
Get rack info¶
GET /api/v1/inventory/racks/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/racks/1?auth_token=$TOKEN"
Create a rack¶
POST /api/v1/inventory/racks?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the rack |
u_height |
integer | Yes | Height of the rack in rack units |
width |
integer | Yes | Width of the rack (inches) |
input.json
{
"rack": {
"name": "Rack Test",
"u_height": 42,
"width": 19
}
}
curl -k -X POST "$HOST/api/v1/inventory/racks?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a rack¶
PATCH /api/v1/inventory/racks/ID?auth_token=TOKEN
input.json
{
"rack": {
"name": "Rack Actualizado"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/racks/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a rack¶
DELETE /api/v1/inventory/racks/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/racks/1?auth_token=$TOKEN"
Rack Roles¶
Base URL: https://$HOST/api/v1/inventory/rack_roles?auth_token=$TOKEN
Rack roles allow categorizing racks by their function (e.g., storage, compute, networking).
List all rack roles¶
GET /api/v1/inventory/rack_roles?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_roles?auth_token=$TOKEN"
Get rack info role¶
GET /api/v1/inventory/rack_roles/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_roles/1?auth_token=$TOKEN"
Create a rack role¶
POST /api/v1/inventory/rack_roles?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the rack role |
color |
string | No | Hex color code (without #) |
description |
string | No | Description of the rack role |
input.json
{
"rack_role": {
"name": "Storage",
"color": "ff0000",
"description": "Storage rack role"
}
}
curl -k -X POST "$HOST/api/v1/inventory/rack_roles?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a rack role¶
PATCH /api/v1/inventory/rack_roles/ID?auth_token=TOKEN
input.json
{
"rack_role": {
"name": "Storage Updated",
"color": "00ff00"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/rack_roles/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a rack role¶
DELETE /api/v1/inventory/rack_roles/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/rack_roles/1?auth_token=$TOKEN"
Rack Types¶
Base URL: https://$HOST/api/v1/inventory/rack_types?auth_token=$TOKEN
Rack types define the physical model and specifications of a rack, associated with a manufacturer.
List all rack types¶
GET /api/v1/inventory/rack_types?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_types?auth_token=$TOKEN"
Get rack info type¶
GET /api/v1/inventory/rack_types/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_types/1?auth_token=$TOKEN"
Create a rack type¶
POST /api/v1/inventory/rack_types?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
model |
string | Yes | Model name of the rack |
manufacturer_id |
integer | Yes | ID of the associated manufacturer |
u_height |
integer | Yes | Height in rack units |
width |
integer | Yes | Width in inches |
input.json
{
"rack_type": {
"model": "APC AR3100",
"manufacturer_id": 1,
"u_height": 42,
"width": 19
}
}
curl -k -X POST "$HOST/api/v1/inventory/rack_types?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a rack type¶
PATCH /api/v1/inventory/rack_types/ID?auth_token=TOKEN
input.json
{
"rack_type": {
"model": "APC AR3100 Updated"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/rack_types/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a rack type¶
DELETE /api/v1/inventory/rack_types/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/rack_types/1?auth_token=$TOKEN"
Rack Reservations¶
Base URL: https://$HOST/api/v1/inventory/rack_reservations?auth_token=$TOKEN
Rack reservations mark specific rack units (U positions) as reserved, linking them to a particular rack.
List all rack reservations¶
GET /api/v1/inventory/rack_reservations?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_reservations?auth_token=$TOKEN"
Get rack info reservation¶
GET /api/v1/inventory/rack_reservations/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_reservations/1?auth_token=$TOKEN"
Create a rack reservation¶
POST /api/v1/inventory/rack_reservations?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
rack_id |
integer | Yes | ID of the rack where units are being reserved |
units |
string | Yes | Comma-separated list of rack unit numbers |
description |
string | No | Description of the reservation |
input.json
{
"rack_reservation": {
"units": "1,2,3",
"description": "Reserved for server",
"rack_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/rack_reservations?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a rack reservation¶
PATCH /api/v1/inventory/rack_reservations/ID?auth_token=TOKEN
input.json
{
"rack_reservation": {
"description": "Updated reservation"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/rack_reservations/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a rack reservation¶
DELETE /api/v1/inventory/rack_reservations/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/rack_reservations/1?auth_token=$TOKEN"
Contacts¶
Base URL: https://$HOST/api/v1/inventory/contacts?auth_token=$TOKEN
Contacts store information about individuals associated with inventory assets.
List all contacts¶
GET /api/v1/inventory/contacts?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contacts?auth_token=$TOKEN"
Get contact info¶
GET /api/v1/inventory/contacts/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contacts/1?auth_token=$TOKEN"
Create a contact¶
POST /api/v1/inventory/contacts?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Full name of the contact |
email |
string | No | Email address |
phone |
string | No | Phone number |
company |
string | No | Company or organization |
job_title |
string | No | Job title |
input.json
{
"contact": {
"name": "John Doe",
"email": "john@example.com",
"phone": "+34600000000",
"company": "Acme"
}
}
curl -k -X POST "$HOST/api/v1/inventory/contacts?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a contact¶
PATCH /api/v1/inventory/contacts/ID?auth_token=TOKEN
input.json
{
"contact": {
"phone": "+34611111111",
"job_title": "Engineer"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/contacts/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a contact¶
DELETE /api/v1/inventory/contacts/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/contacts/1?auth_token=$TOKEN"
Contact Groups¶
Base URL: https://$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN
Contact groups allow organizing contacts into hierarchical teams or departments. Groups can optionally have a parent group.
List all contact groups¶
GET /api/v1/inventory/contact_groups?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN"
Get contact info group¶
GET /api/v1/inventory/contact_groups/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_groups/1?auth_token=$TOKEN"
Create a contact group¶
POST /api/v1/inventory/contact_groups?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the contact group |
description |
string | No | Description of the group |
parent_id |
integer | No | ID of the parent group (for nested groups) |
input.json — top-level group
{
"contact_group": {
"name": "Network Team",
"description": "Network engineers"
}
}
curl -k -X POST "$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
input.json — nested group
{
"contact_group": {
"name": "NOC Team",
"description": "NOC engineers",
"parent_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a contact group¶
PATCH /api/v1/inventory/contact_groups/ID?auth_token=TOKEN
input.json
{
"contact_group": {
"name": "Network Team Updated"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/contact_groups/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a contact group¶
DELETE /api/v1/inventory/contact_groups/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/contact_groups/1?auth_token=$TOKEN"
Contact Roles¶
Base URL: https://$HOST/api/v1/inventory/contact_roles?auth_token=$TOKEN
Contact roles define the functional roles that contacts can hold (e.g., Admin, Technician).
List all contact roles¶
GET /api/v1/inventory/contact_roles?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_roles?auth_token=$TOKEN"
Get contact info role¶
GET /api/v1/inventory/contact_roles/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_roles/1?auth_token=$TOKEN"
Create a contact role¶
POST /api/v1/inventory/contact_roles?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the role |
description |
string | No | Description of the role |
input.json
{
"contact_role": {
"name": "Admin",
"description": "Administrator role"
}
}
curl -k -X POST "$HOST/api/v1/inventory/contact_roles?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a contact role¶
PATCH /api/v1/inventory/contact_roles/ID?auth_token=TOKEN
input.json
{
"contact_role": {
"description": "Updated description"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/contact_roles/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a contact role¶
DELETE /api/v1/inventory/contact_roles/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/contact_roles/1?auth_token=$TOKEN"
Power Panels¶
Base URL: https://$HOST/api/v1/inventory/power_panels?auth_token=$TOKEN
Power panels represent electrical distribution panels in the data center infrastructure.
List all power panels¶
GET /api/v1/inventory/power_panels?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_panels?auth_token=$TOKEN"
Get power panel info¶
GET /api/v1/inventory/power_panels/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_panels/1?auth_token=$TOKEN"
Create a power panel¶
POST /api/v1/inventory/power_panels?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the power panel |
description |
string | No | Description of the power panel |
input.json
{
"power_panel": {
"name": "Panel A",
"description": "Main power panel"
}
}
curl -k -X POST "$HOST/api/v1/inventory/power_panels?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a power panel¶
PATCH /api/v1/inventory/power_panels/ID?auth_token=TOKEN
input.json
{
"power_panel": {
"name": "Panel A Updated"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/power_panels/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a power panel¶
DELETE /api/v1/inventory/power_panels/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/power_panels/1?auth_token=$TOKEN"
Power Feeds¶
Base URL: https://$HOST/api/v1/inventory/power_feeds?auth_token=$TOKEN
Power feeds represent individual power circuits sourced from a power panel.
List all power feeds¶
GET /api/v1/inventory/power_feeds?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_feeds?auth_token=$TOKEN"
Get power feed info¶
GET /api/v1/inventory/power_feeds/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_feeds/1?auth_token=$TOKEN"
Create a power feed¶
POST /api/v1/inventory/power_feeds?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the power feed |
power_panel_id |
integer | Yes | ID of the associated power panel |
voltage |
integer | No | Voltage in volts |
amperage |
integer | No | Amperage in amps |
max_utilization |
integer | No | Maximum utilization percentage (0–100) |
power_feed_status_id |
integer | No | ID of the feed status |
power_feed_type_id |
integer | No | ID of the feed type |
power_feed_supply_id |
integer | No | ID of the feed supply type |
power_feed_phase_id |
integer | No | ID of the feed phase |
input.json
{
"power_feed": {
"name": "Feed A",
"power_panel_id": 1,
"voltage": 220,
"amperage": 16,
"max_utilization": 80,
"power_feed_status_id": 1,
"power_feed_type_id": 1,
"power_feed_supply_id": 1,
"power_feed_phase_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/power_feeds?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a power feed¶
PATCH /api/v1/inventory/power_feeds/ID?auth_token=TOKEN
input.json
{
"power_feed": {
"amperage": 32,
"max_utilization": 90
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/power_feeds/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a power feed¶
DELETE /api/v1/inventory/power_feeds/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/power_feeds/1?auth_token=$TOKEN"
Tags¶
Base URL: https://$HOST/api/v1/inventory/tags?auth_token=$TOKEN
Tags are labels that can be applied to inventory objects for classification and filtering. Tags can optionally be restricted to specific object types.
List all tags¶
GET /api/v1/inventory/tags?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/tags?auth_token=$TOKEN"
Get tag info¶
GET /api/v1/inventory/tags/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/tags/1?auth_token=$TOKEN"
Create a tag¶
POST /api/v1/inventory/tags?auth_token=TOKEN
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the tag |
color |
string | Yes | Hex color code (without #) |
weight |
integer | No | Sorting weight (higher values take priority) |
allowed_object_types |
array | No | List of object type strings the tag can be applied to (e.g. DcimRack) |
input.json — no type restriction
{
"tag": {
"name": "critical",
"color": "ff0000",
"weight": 100
}
}
curl -k -X POST "$HOST/api/v1/inventory/tags?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
input.json — restricted to specific object types
{
"tag": {
"name": "rack-tag",
"color": "0000ff",
"weight": 50,
"allowed_object_types": [
"DcimRack",
"RackRole"
]
}
}
curl -k -X POST "$HOST/api/v1/inventory/tags?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a tag¶
PATCH /api/v1/inventory/tags/ID?auth_token=TOKEN
input.json
{
"tag": {
"color": "00ff00",
"weight": 200
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/tags/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a tag¶
DELETE /api/v1/inventory/tags/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/tags/1?auth_token=$TOKEN"
Table Configs¶
Base URL: https://$HOST/api/v1/inventory/table_configs?auth_token=$TOKEN
Table configs store user-defined or shared column layout preferences for inventory list views.
List all table configs¶
GET /api/v1/inventory/table_configs?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/table_configs?auth_token=$TOKEN"
Get table config info¶
GET /api/v1/inventory/table_configs/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/table_configs/1?auth_token=$TOKEN"
Create a table config¶
POST /api/v1/inventory/table_configs?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Display name for the configuration |
inventory_type |
string | Yes | The inventory model this config applies to (e.g. DcimRack) |
column_order |
string | Yes | Semicolon-separated list of column field names |
enabled |
boolean | No | Whether the config is active (default: true) |
shared |
boolean | No | Whether the config is visible to all users (default: false) |
input.json — personal config
{
"table_config": {
"name": "My Rack View",
"inventory_type": "DcimRack",
"column_order": "id;name;u_height;width;rack_status_id",
"enabled": true,
"shared": false
}
}
curl -k -X POST "$HOST/api/v1/inventory/table_configs?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
input.json — shared config
{
"table_config": {
"name": "Shared Rack View",
"inventory_type": "DcimRack",
"column_order": "id;name;u_height;width",
"enabled": true,
"shared": true
}
}
curl -k -X POST "$HOST/api/v1/inventory/table_configs?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a table config¶
PATCH /api/v1/inventory/table_configs/ID?auth_token=TOKEN
input.json
{
"table_config": {
"name": "My Rack View Updated",
"column_order": "id;name;u_height"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/table_configs/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a table config¶
DELETE /api/v1/inventory/table_configs/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/table_configs/1?auth_token=$TOKEN"
Account Keys¶
Base URL: https://$HOST/api/v1/inventory/account_keys?auth_token=$TOKEN
Account keys store credentials (passwords, SSH keys, tokens) associated with inventory assets.
!!! warning Security note: Treat account key data with care. Avoid logging or exposing responses that may contain sensitive credential information.
List all account keys¶
GET /api/v1/inventory/account_keys?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/account_keys?auth_token=$TOKEN"
Get account key info¶
GET /api/v1/inventory/account_keys/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/account_keys/1?auth_token=$TOKEN"
Create an account key¶
POST /api/v1/inventory/account_keys?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Display name for the key |
username |
string | Yes | Username associated with the credential |
key_type |
string | No | Type of credential (e.g. terminal_password, ssh_key) |
password |
string | Yes | Password or secret value |
description |
string | No | Description of the account key |
input.json
{
"account_key": {
"name": "My SSH Key",
"username": "admin",
"key_type": "terminal_password",
"password": "mysecretpassword",
"description": "Main admin credentials"
}
}
curl -k -X POST "$HOST/api/v1/inventory/account_keys?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update an account key¶
PATCH /api/v1/inventory/account_keys/ID?auth_token=TOKEN
input.json
{
"account_key": {
"password": "newpassword123",
"description": "Updated credentials"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/account_keys/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete an account key¶
DELETE /api/v1/inventory/account_keys/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/account_keys/1?auth_token=$TOKEN"
Wireless LANs¶
Base URL: https://$HOST/api/v1/inventory/wireless_lans?auth_token=$TOKEN
Wireless LANs represent Wi-Fi networks managed within the inventory system. They are grouped under a Wireless LAN Group and can be associated with VLANs.
List all wireless LANs¶
GET /api/v1/inventory/wireless_lans?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lans?auth_token=$TOKEN"
Get wireless LAN info¶
GET /api/v1/inventory/wireless_lans/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lans/1?auth_token=$TOKEN"
Create a wireless LAN¶
POST /api/v1/inventory/wireless_lans?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
ssid |
string | Yes | SSID (network name) |
wireless_lan_group_id |
integer | Yes | ID of the wireless LAN group |
description |
string | No | Description of the wireless network |
wireless_status_id |
integer | No | ID of the wireless status |
wireless_auth_type_id |
integer | No | ID of the authentication type |
vlan_id |
integer | No | ID of the associated VLAN |
input.json
{
"wireless_lan": {
"ssid": "CorpWifi",
"description": "Corporate network",
"wireless_lan_group_id": 1,
"wireless_status_id": 1,
"wireless_auth_type_id": 1,
"vlan_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/wireless_lans?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a wireless LAN¶
PATCH /api/v1/inventory/wireless_lans/ID?auth_token=TOKEN
input.json
{
"wireless_lan": {
"description": "Updated description",
"wireless_status_id": 2
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/wireless_lans/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a wireless LAN¶
DELETE /api/v1/inventory/wireless_lans/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/wireless_lans/1?auth_token=$TOKEN"
Wireless LAN Groups¶
Base URL: https://$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN
Wireless LAN groups organize wireless networks into a hierarchy. Groups can be nested by specifying a parent group.
List all wireless LAN groups¶
GET /api/v1/inventory/wireless_lan_groups?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN"
Get wireless LAN info group¶
GET /api/v1/inventory/wireless_lan_groups/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lan_groups/1?auth_token=$TOKEN"
Create a wireless LAN group¶
POST /api/v1/inventory/wireless_lan_groups?auth_token=TOKEN
Body parameters:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name of the wireless LAN group |
description |
string | No | Description of the group |
parent_id |
integer | No | ID of the parent group (for hierarchical grouping) |
input.json — top-level group
{
"wireless_lan_group": {
"name": "Office Networks",
"description": "All office wireless networks"
}
}
curl -k -X POST "$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
input.json — nested group
{
"wireless_lan_group": {
"name": "Floor 2 Networks",
"description": "Second floor networks",
"parent_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Update a wireless LAN group¶
PATCH /api/v1/inventory/wireless_lan_groups/ID?auth_token=TOKEN
input.json
{
"wireless_lan_group": {
"name": "Office Networks Updated"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/wireless_lan_groups/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Delete a wireless LAN group¶
DELETE /api/v1/inventory/wireless_lan_groups/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/wireless_lan_groups/1?auth_token=$TOKEN"