All API requests require authentication using an API key. You can provide the API key in one of three ways:
X-API-Key: your_api_keyAuthorization: Bearer your_api_key?api_key=your_api_keyBase URL: /api/v1
Test GET endpoints directly in your browser. Other methods are documented below.
/api/v1/devices
List all devices
/api/v1/devices/{id}
Get device by ID
/api/v1/devices/by-tag/{tag}
Filter devices by tag
/api/v1/tags
List all tags
GET /api/v1/devices - List all devicesGET /api/v1/devices/{id} - Get device detailsGET /api/v1/devices/by-tag/{tag} - Get devices by tagPOST /api/v1/devices - Create devicePUT /api/v1/devices/{id} - Update deviceDELETE /api/v1/devices/{id} - Delete devicePOST /api/v1/devices/{id}/ips - Add IP to deviceDELETE /api/v1/devices/{id}/ips/{ip_id} - Remove IPGET /api/v1/subnets - List all subnetsGET /api/v1/subnets/{id} - Get subnet detailsPOST /api/v1/subnets - Create subnetPUT /api/v1/subnets/{id} - Update subnetDELETE /api/v1/subnets/{id} - Delete subnetGET /api/v1/racks - List all racksGET /api/v1/racks/{id} - Get rack detailsPOST /api/v1/racks - Create rackDELETE /api/v1/racks/{id} - Delete rackPOST /api/v1/racks/{id}/devices - Add device to rackDELETE /api/v1/racks/{id}/devices/{device_id} - Remove deviceGET /api/v1/tags - List all tagsGET /api/v1/tags?format=simple - List tags in simple formatGET /api/v1/tags/{id} - Get tag detailsGET /api/v1/devices/{id}/tags - Get device tagsPOST /api/v1/tags - Create tagPUT /api/v1/tags/{id} - Update tagDELETE /api/v1/tags/{id} - Delete tagPOST /api/v1/devices/{id}/tags - Assign tag to deviceDELETE /api/v1/devices/{id}/tags/{tag_id} - Remove tagGET /api/v1/info - System informationGET /api/v1/device-types - List device typesGET /api/v1/subnets/{id}/dhcp - Get DHCP configPOST /api/v1/subnets/{id}/dhcp - Generate DHCP configGET /api/v1/users - List usersGET /api/v1/roles - List rolesGET /api/v1/audit - List audit entriesSupports filtering with query parameters
All API responses are in JSON format. Successful requests return:
200 OK - Request successful201 Created - Resource created204 No Content - Success with no response bodyError responses include descriptive messages:
400 Bad Request - Invalid request data401 Unauthorized - Missing or invalid API key403 Forbidden - Insufficient permissions404 Not Found - Resource not foundAPI endpoints respect the same role-based permissions as the web interface. Users can only perform actions that their role allows. If a user lacks the required permission, the API will return a 403 Forbidden error with details about the missing permission.