Documentación de la API de Inventario¶
El módulo Inventario permite gestionar los activos físicos y lógicos de la infraestructura, como racks, contactos, equipos de alimentación, redes inalámbricas y más; todo a través de la misma API REST descrita en la introducción a la API de Redborder. Resulta especialmente útil para crear, actualizar o eliminar muchos elementos a la vez, ya que cualquier acción disponible en la interfaz web puede también ser automatizada.
Todos los endpoints de Inventario siguen el mismo patrón:
https://<hostname>/api/v1/inventory/<inventory_type>?auth_token=<API_key>
Donde <inventory_type> es el modelo específico con el que se desea trabajar (racks, contacts, tags, power_feeds, wireless_lans, etc.). La lista completa de tipos de inventario admitidos se muestra en la Tabla de contenidos más abajo.
Como con el resto de la API, cada solicitud debe incluir el parámetro auth_token descrito en Autenticación. Para facilitar la legibilidad, los ejemplos en esta página usan dos variables de shell:
export HOST="https://<hostname>"
export TOKEN="<API_key>"
de manera que $HOST siempre representa https://<hostname> y $TOKEN la <API_key> correspondiente. Estas variables pueden exportarse una vez en la terminal y reutilizarse copiando y pegando los ejemplos tal cual.
POST y PATCH deben incluir el encabezado:
Content-Type: application/json
y la carga útil (payload) JSON se envía con -d @<input_json_path>, siguiendo la misma convención usada en la Introducción a la API de Redborder. La carga útil mostrada antes de cada ejemplo debe guardarse en un archivo (por ejemplo input.json) y referenciarse desde el comando curl.
Tabla de contenidos¶
- Rack
- Roles de rack
- Tipos de rack
- Reservas de rack
- Contactos
- Grupos de Contactos
- Roles de Contacto
- Paneles de alimentación
- Circuitos de alimentación
- Etiquetas
- Configuraciones de tablas
- Claves de cuenta
- LAN inalámbricas
- Grupos de LAN inalámbricas
Racks¶
URL base: https://$HOST/api/v1/inventory/racks?auth_token=$TOKEN
Los racks representan estructuras físicas en un centro de datos.
Listar todos los racks¶
GET /api/v1/inventory/racks?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/racks?auth_token=$TOKEN"
Obtener información del rack¶
GET /api/v1/inventory/racks/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/racks/1?auth_token=$TOKEN"
Crear un rack¶
POST /api/v1/inventory/racks?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del rack |
u_height |
integer | Sí | Altura del rack en unidades U |
width |
integer | Sí | Anchura del rack (en pulgadas) |
input.json
{
"rack": {
"name": "Rack de Prueba",
"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
Actualizar un 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
Eliminar un rack¶
DELETE /api/v1/inventory/racks/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/racks/1?auth_token=$TOKEN"
Roles de rack¶
URL base: https://$HOST/api/v1/inventory/rack_roles?auth_token=$TOKEN
Los roles de rack permiten categorizar los racks por su función (p. ej., almacenamiento, cómputo, redes).
Listar todos los roles de rack¶
GET /api/v1/inventory/rack_roles?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_roles?auth_token=$TOKEN"
Obtener información del rol de rack¶
GET /api/v1/inventory/rack_roles/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_roles/1?auth_token=$TOKEN"
Crear un rol de rack¶
POST /api/v1/inventory/rack_roles?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del rol del rack |
color |
string | No | Código de color hexadecimal (sin #) |
description |
string | No | Descripción del rol del rack |
input.json
{
"rack_role": {
"name": "Almacenamiento",
"color": "ff0000",
"description": "Rol de rack de almacenamiento"
}
}
curl -k -X POST "$HOST/api/v1/inventory/rack_roles?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Actualizar un rol de rack¶
PATCH /api/v1/inventory/rack_roles/ID?auth_token=TOKEN
input.json
{
"rack_role": {
"name": "Almacenamiento Actualizado",
"color": "00ff00"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/rack_roles/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un rol de rack¶
DELETE /api/v1/inventory/rack_roles/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/rack_roles/1?auth_token=$TOKEN"
Tipos de rack¶
URL base: https://$HOST/api/v1/inventory/rack_types?auth_token=$TOKEN
Los tipos de rack definen el modelo físico y las especificaciones de un rack, asociados a un fabricante.
Listar todos los tipos de rack¶
GET /api/v1/inventory/rack_types?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_types?auth_token=$TOKEN"
Obtener información del tipo de rack¶
GET /api/v1/inventory/rack_types/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_types/1?auth_token=$TOKEN"
Crear un tipo de rack¶
POST /api/v1/inventory/rack_types?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model |
string | Sí | Nombre del modelo del rack |
manufacturer_id |
integer | Sí | ID del fabricante asociado |
u_height |
integer | Sí | Altura en unidades U |
width |
integer | Sí | Anchura en pulgadas |
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
Actualizar un tipo de rack¶
PATCH /api/v1/inventory/rack_types/ID?auth_token=TOKEN
input.json
{
"rack_type": {
"model": "APC AR3100 Actualizado"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/rack_types/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un tipo de rack¶
DELETE /api/v1/inventory/rack_types/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/rack_types/1?auth_token=$TOKEN"
Reservas de rack¶
URL base: https://$HOST/api/v1/inventory/rack_reservations?auth_token=$TOKEN
Las reservas de rack marcan unidades específicas del rack como reservadas, vinculándolas a un rack en particular.
Listar todas las reservas de rack¶
GET /api/v1/inventory/rack_reservations?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_reservations?auth_token=$TOKEN"
Obtener información de la reserva de rack¶
GET /api/v1/inventory/rack_reservations/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/rack_reservations/1?auth_token=$TOKEN"
Crear una reserva de rack¶
POST /api/v1/inventory/rack_reservations?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
rack_id |
integer | Sí | ID del rack donde se reservan unidades |
units |
string | Sí | Lista separada por comas de números de unidad del rack |
description |
string | No | Descripción de la reserva |
input.json
{
"rack_reservation": {
"units": "1,2,3",
"description": "Reservado para servidor",
"rack_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/rack_reservations?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Actualizar una reserva de rack¶
PATCH /api/v1/inventory/rack_reservations/ID?auth_token=TOKEN
input.json
{
"rack_reservation": {
"description": "Reserva actualizada"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/rack_reservations/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar una reserva de rack¶
DELETE /api/v1/inventory/rack_reservations/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/rack_reservations/1?auth_token=$TOKEN"
Contactos¶
URL base: https://$HOST/api/v1/inventory/contacts?auth_token=$TOKEN
Los contactos almacenan información sobre las personas asociadas a los activos del inventario.
Listar todos los contactos¶
GET /api/v1/inventory/contacts?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contacts?auth_token=$TOKEN"
Obtener información del contacto¶
GET /api/v1/inventory/contacts/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contacts/1?auth_token=$TOKEN"
Crear un contacto¶
POST /api/v1/inventory/contacts?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre completo del contacto |
email |
string | No | Dirección de correo electrónico |
phone |
string | No | Número de teléfono |
company |
string | No | Empresa u organización |
job_title |
string | No | Título profesional |
input.json
{
"contact": {
"name": "Juan Pérez",
"email": "juan@ejemplo.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
Actualizar un contacto¶
PATCH /api/v1/inventory/contacts/ID?auth_token=TOKEN
input.json
{
"contact": {
"phone": "+34611111111",
"job_title": "Ingeniero"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/contacts/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un contacto¶
DELETE /api/v1/inventory/contacts/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/contacts/1?auth_token=$TOKEN"
Grupos de Contactos¶
URL base: https://$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN
Los grupos de contactos permiten organizar contactos en equipos o departamentos jerárquicos. Los grupos pueden tener opcionalmente un grupo padre.
Listar todos los grupos de contactos¶
GET /api/v1/inventory/contact_groups?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN"
Obtener información del grupo de contactos¶
GET /api/v1/inventory/contact_groups/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_groups/1?auth_token=$TOKEN"
Crear un grupo de contactos¶
POST /api/v1/inventory/contact_groups?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del grupo de contactos |
description |
string | No | Descripción del grupo |
parent_id |
integer | No | ID del grupo padre (para grupos anidados) |
input.json — grupo principal
{
"contact_group": {
"name": "Equipo de Red",
"description": "Ingenieros de red"
}
}
curl -k -X POST "$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
input.json — grupo anidado
{
"contact_group": {
"name": "Equipo NOC",
"description": "Ingenieros NOC",
"parent_id": 1
}
}
curl -k -X POST "$HOST/api/v1/inventory/contact_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Actualizar un grupo de contactos¶
PATCH /api/v1/inventory/contact_groups/ID?auth_token=TOKEN
input.json
{
"contact_group": {
"name": "Equipo de Red Actualizado"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/contact_groups/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un grupo de contactos¶
DELETE /api/v1/inventory/contact_groups/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/contact_groups/1?auth_token=$TOKEN"
Roles de Contacto¶
URL base: https://$HOST/api/v1/inventory/contact_roles?auth_token=$TOKEN
Los roles de contacto definen los roles funcionales que pueden tener los contactos (por ejemplo, Administrador, Técnico).
Listar todos los roles de contacto¶
GET /api/v1/inventory/contact_roles?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_roles?auth_token=$TOKEN"
Obtener información del rol de contacto¶
GET /api/v1/inventory/contact_roles/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/contact_roles/1?auth_token=$TOKEN"
Crear un rol de contacto¶
POST /api/v1/inventory/contact_roles?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del rol |
description |
string | No | Descripción del rol |
input.json
{
"contact_role": {
"name": "Administrador",
"description": "Rol de administrador"
}
}
curl -k -X POST "$HOST/api/v1/inventory/contact_roles?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Actualizar un rol de contacto¶
PATCH /api/v1/inventory/contact_roles/ID?auth_token=TOKEN
input.json
{
"contact_role": {
"description": "Descripción actualizada"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/contact_roles/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un rol de contacto¶
DELETE /api/v1/inventory/contact_roles/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/contact_roles/1?auth_token=$TOKEN"
Paneles de alimentación¶
URL base: https://$HOST/api/v1/inventory/power_panels?auth_token=$TOKEN
Los paneles de alimentación representan paneles de distribución eléctrica en la infraestructura del centro de datos.
Listar todos los paneles de alimentación¶
GET /api/v1/inventory/power_panels?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_panels?auth_token=$TOKEN"
Obtener información del panel de alimentación¶
GET /api/v1/inventory/power_panels/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_panels/1?auth_token=$TOKEN"
Crear un panel de alimentación¶
POST /api/v1/inventory/power_panels?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del panel de alimentación |
description |
string | No | Descripción del panel de alimentación |
input.json
{
"power_panel": {
"name": "Panel A",
"description": "Panel de alimentación principal"
}
}
curl -k -X POST "$HOST/api/v1/inventory/power_panels?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Actualizar un panel de alimentación¶
PATCH /api/v1/inventory/power_panels/ID?auth_token=TOKEN
input.json
{
"power_panel": {
"name": "Panel A Actualizado"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/power_panels/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un panel de alimentación¶
DELETE /api/v1/inventory/power_panels/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/power_panels/1?auth_token=$TOKEN"
Circuitos de alimentación¶
URL base: https://$HOST/api/v1/inventory/power_feeds?auth_token=$TOKEN
Los circuitos de alimentación representan circuitos de energía individuales procedentes de un panel de alimentación.
Listar todos los circuitos de alimentación¶
GET /api/v1/inventory/power_feeds?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_feeds?auth_token=$TOKEN"
Obtener información del circuito de alimentación¶
GET /api/v1/inventory/power_feeds/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/power_feeds/1?auth_token=$TOKEN"
Crear un circuito de alimentación¶
POST /api/v1/inventory/power_feeds?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del circuito de alimentación |
power_panel_id |
integer | Sí | ID del panel de alimentación asociado |
voltage |
integer | No | Voltaje en voltios |
amperage |
integer | No | Amperaje en amperios |
max_utilization |
integer | No | Porcentaje de utilización máxima (0–100) |
power_feed_status_id |
integer | No | ID del estado del circuito |
power_feed_type_id |
integer | No | ID del tipo de circuito |
power_feed_supply_id |
integer | No | ID del tipo de suministro del circuito |
power_feed_phase_id |
integer | No | ID de la fase del circuito |
input.json
{
"power_feed": {
"name": "Circuito 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
Actualizar un circuito de alimentación¶
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
Eliminar un circuito de alimentación¶
DELETE /api/v1/inventory/power_feeds/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/power_feeds/1?auth_token=$TOKEN"
Etiquetas¶
URL base: https://$HOST/api/v1/inventory/tags?auth_token=$TOKEN
Las etiquetas son marcadores que se aplican a los objetos del inventario para su clasificación y filtrado. Opcionalmente, las etiquetas pueden restringirse a tipos específicos de objetos.
Listar todas las etiquetas¶
GET /api/v1/inventory/tags?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/tags?auth_token=$TOKEN"
Obtener información de la etiqueta¶
GET /api/v1/inventory/tags/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/tags/1?auth_token=$TOKEN"
Crear una etiqueta¶
POST /api/v1/inventory/tags?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre de la etiqueta |
color |
string | Sí | Código de color hexadecimal (sin #) |
weight |
integer | No | Peso de ordenación (valores mayores indican prioridad) |
allowed_object_types |
array | No | Lista de tipos de objeto a los que se puede aplicar (p. ej., DcimRack) |
input.json — sin restricción de tipo
{
"tag": {
"name": "crítico",
"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 — restringido a tipos específicos
{
"tag": {
"name": "etiqueta-rack",
"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
Actualizar una etiqueta¶
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
Eliminar una etiqueta¶
DELETE /api/v1/inventory/tags/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/tags/1?auth_token=$TOKEN"
Configuraciones de tablas¶
URL base: https://$HOST/api/v1/inventory/table_configs?auth_token=$TOKEN
Las configuraciones de tablas almacenan preferencias de diseño de columnas definidas por el usuario o compartidas para las vistas de lista de inventario.
Listar todas las configuraciones de tablas¶
GET /api/v1/inventory/table_configs?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/table_configs?auth_token=$TOKEN"
Obtener información de la configuración de tabla¶
GET /api/v1/inventory/table_configs/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/table_configs/1?auth_token=$TOKEN"
Crear una configuración de tabla¶
POST /api/v1/inventory/table_configs?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre para mostrar de la configuración |
inventory_type |
string | Sí | Modelo de inventario al que se aplica esta configuración (p. ej., DcimRack) |
column_order |
string | Sí | Lista separada por punto y coma de nombres de campos de columna |
enabled |
boolean | No | Si la configuración está activa (por defecto: true) |
shared |
boolean | No | Si la configuración es visible para todos los usuarios (por defecto: false) |
input.json — configuración personal
{
"table_config": {
"name": "Vista de mis racks",
"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 — configuración compartida
{
"table_config": {
"name": "Vista de racks compartida",
"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
Actualizar una configuración de tabla¶
PATCH /api/v1/inventory/table_configs/ID?auth_token=TOKEN
input.json
{
"table_config": {
"name": "Vista de mis racks Actualizada",
"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
Eliminar una configuración de tabla¶
DELETE /api/v1/inventory/table_configs/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/table_configs/1?auth_token=$TOKEN"
Claves de cuenta¶
URL base: https://$HOST/api/v1/inventory/account_keys?auth_token=$TOKEN
Las claves de cuenta almacenan credenciales (contraseñas, claves SSH, tokens) asociadas con los activos del inventario.
!!! warning "Nota de seguridad" Los datos de las claves de cuenta deben tratarse con cuidado. Debe evitarse registrar o exponer respuestas que puedan contener información sensible de credenciales.
Listar todas las claves de cuenta¶
GET /api/v1/inventory/account_keys?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/account_keys?auth_token=$TOKEN"
Obtener información de la clave de cuenta¶
GET /api/v1/inventory/account_keys/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/account_keys/1?auth_token=$TOKEN"
Crear una clave de cuenta¶
POST /api/v1/inventory/account_keys?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre para mostrar de la clave |
username |
string | Sí | Nombre de usuario asociado con la credencial |
key_type |
string | No | Tipo de credencial (p. ej., terminal_password, ssh_key) |
password |
string | Sí | Contraseña o valor secreto |
description |
string | No | Descripción de la clave de cuenta |
input.json
{
"account_key": {
"name": "Mi clave SSH",
"username": "admin",
"key_type": "terminal_password",
"password": "miContraseñaSecreta",
"description": "Credenciales principales del administrador"
}
}
curl -k -X POST "$HOST/api/v1/inventory/account_keys?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Actualizar una clave de cuenta¶
PATCH /api/v1/inventory/account_keys/ID?auth_token=TOKEN
input.json
{
"account_key": {
"password": "nuevaContraseña123",
"description": "Credenciales actualizadas"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/account_keys/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar una clave de cuenta¶
DELETE /api/v1/inventory/account_keys/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/account_keys/1?auth_token=$TOKEN"
LAN inalámbricas¶
URL base: https://$HOST/api/v1/inventory/wireless_lans?auth_token=$TOKEN
Las LANs inalámbricas representan redes Wi-Fi administradas dentro del sistema de inventario. Se agrupan bajo un Grupo de LAN inalámbricas y pueden asociarse a VLAN.
Listar todas las LANs inalámbricas¶
GET /api/v1/inventory/wireless_lans?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lans?auth_token=$TOKEN"
Obtener información de la LAN inalámbrica¶
GET /api/v1/inventory/wireless_lans/ID?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lans/1?auth_token=$TOKEN"
Crear una LAN inalámbrica¶
POST /api/v1/inventory/wireless_lans?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
ssid |
string | Sí | SSID (nombre de la red) |
wireless_lan_group_id |
integer | Sí | ID del grupo de LAN inalámbricas |
description |
string | No | Descripción de la red inalámbrica |
wireless_status_id |
integer | No | ID del estado inalámbrico |
wireless_auth_type_id |
integer | No | ID del tipo de autenticación inalámbrica |
vlan_id |
integer | No | ID de la VLAN asociada |
input.json
{
"wireless_lan": {
"ssid": "CorpWifi",
"description": "Red corporativa",
"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
Actualizar una LAN inalámbrica¶
PATCH /api/v1/inventory/wireless_lans/ID?auth_token=TOKEN
input.json
{
"wireless_lan": {
"description": "Descripción actualizada",
"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
Eliminar una LAN inalámbrica¶
DELETE /api/v1/inventory/wireless_lans/ID?auth_token=TOKEN
curl -k -X DELETE "$HOST/api/v1/inventory/wireless_lans/1?auth_token=$TOKEN"
Grupos de LAN inalámbricas¶
URL base: https://$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN
Los grupos de LAN inalámbricas organizan las redes inalámbricas en una jerarquía. Los grupos pueden ser anidados especificando un grupo padre.
Listar todos los grupos de LAN inalámbricas¶
GET /api/v1/inventory/wireless_lan_groups?auth_token=TOKEN
curl -k -X GET "$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN"
Obtener información del grupo de LAN inalámbricas¶
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"
Crear un grupo de LAN inalámbricas¶
POST /api/v1/inventory/wireless_lan_groups?auth_token=TOKEN
Parámetros del cuerpo:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre del grupo de LAN inalámbricas |
description |
string | No | Descripción del grupo |
parent_id |
integer | No | ID del grupo padre (para agrupación jerárquica) |
input.json — grupo principal
{
"wireless_lan_group": {
"name": "Redes de Oficina",
"description": "Todas las redes inalámbricas de la oficina"
}
}
curl -k -X POST "$HOST/api/v1/inventory/wireless_lan_groups?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
input.json — grupo anidado
{
"wireless_lan_group": {
"name": "Redes del piso 2",
"description": "Redes del segundo piso",
"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
Actualizar un grupo de LAN inalámbricas¶
PATCH /api/v1/inventory/wireless_lan_groups/ID?auth_token=TOKEN
input.json
{
"wireless_lan_group": {
"name": "Redes de Oficina Actualizadas"
}
}
curl -k -X PATCH "$HOST/api/v1/inventory/wireless_lan_groups/1?auth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d @input.json
Eliminar un grupo de LAN inalámbricas¶
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"