---
title: "Create a device"
method: POST
path: "/{org_slug}/devices"
tags: ["Devices"]
---

# Create a device

`POST /{org_slug}/devices`

## Request

- Base URL: `https://api.obelinf.com`
- URL: `https://api.obelinf.com/{org_slug}/devices`
- Auth: HTTP bearer

Create a device

## Path parameters

- `org_slug` string, required

## Request body

- object
  - `name` string, required
  - `slug` string, required
  - `airflow` 'front-to-rear' | 'left-to-right' | 'passive' | 'rear-to-front' | 'right-to-left'
  - `asset_tag` string
  - `cluster_id` string
  - `device_type_id` string
  - `face` 'front' | 'rear'
  - `height` number
  - `notes` string
  - `parent_device_id` string
  - `platform_id` string
  - `position` number
  - `position_in_parent` number
  - `rack_id` string
  - `serial_number` string
  - `status` 'active' | 'decommissioned' | 'failed' | 'inventory' | 'planned' | 'staged'

## Response `201`

Device created

- object
  - `device` object, required
    - `created_at` string, required
    - `height` number, required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `status` string, required
    - `updated_at` string, required
    - `airflow` union
      - 'front-to-rear'
      - 'left-to-right'
      - 'passive'
      - 'rear-to-front'
      - 'right-to-left'
    - `asset_tag` string, nullable
    - `cluster_id` string, nullable
    - `device_type_height` number, nullable
    - `device_type_id` string, nullable
    - `device_type_model_number` string, nullable
    - `device_type_name` string, nullable
    - `face` union
      - 'front'
      - 'rear'
    - `manufacturer_id` string, nullable
    - `manufacturer_name` string, nullable
    - `notes` string, nullable
    - `parent_device_id` string, nullable
    - `platform_id` string, nullable
    - `platform_name` string, nullable
    - `position` number, nullable
    - `position_in_parent` number, nullable
    - `primary_ip_address` string, nullable
    - `primary_ip_id` string, nullable
    - `rack_id` string, nullable
    - `rack_name` string, nullable
    - `serial_number` string, nullable
    - `site_name` string, nullable
  - `tags` object[], required
    - `id` string, required
    - `tag_id` string, required
    - `tag_name` string, required
    - `tag_color` string, nullable

## Other responses

- `400`: Validation error
- `403`: Plan limit exceeded or feature not available
- `404`: Not found
- `409`: Conflict

---

[API](https://skmtc.dev/obelinf/apis/obelinf-api.md) · [All operations](https://skmtc.dev/obelinf/apis/obelinf-api/llms.txt) · [OpenAPI document](https://skmtc.dev/obelinf/apis/obelinf-api/revisions/463fcf791828?raw)
