---
title: "Create camera"
method: POST
path: "/cameras"
tags: ["Cameras"]
---

# Create camera

`POST /cameras`

## Request body

- object
  - `camera` object, required
    - `clip_duration` integer — Duration in seconds of the video clip to take.
    - `description` string, nullable — The description of the camera
    - `metadata` object — The metadata for the camera. - Only basic types are allowed: string, null, integer, float, boolean. - Keys have a limit of 50 characters. - Values have a limit of 500 characters. - Keys number is limited to 50.
    - `enabled` boolean — Whether the camera is enabled or not. Only enabled cameras takes snapshots.
    - `lock_id` integer, nullable, required — The lock ID of the camera
    - `name` string — The name of the camera
    - `number_of_snapshots` integer — The number of snapshots to fetch.
    - `place_id` integer — The place ID of the camera
    - `remote_id` string, required — The remote id of the camera.
    - `snapshot_offset` integer — Offset in seconds of the clock of the camera if it has a drift from the API.
    - `supports_clips` boolean — Whether the camera supports clips.
    - `supports_images` boolean — Whether the camera supports images.
    - `supports_thumbnails` boolean — Whether the camera supports thumbnails.

## Response `200`

OK

- object
  - `id` integer, required — The ID of the camera
  - `resource_type` 'Camera', required — The resource type of the camera
  - `name` string, required — The name of the camera
  - `description` string, nullable, required — The description of the camera
  - `created_at` string, date-time, required — When the camera was created
  - `updated_at` string, date-time, required — When the camera was updated
  - `metadata` object, required — The metadata for the camera. - Only basic types are allowed: string, null, integer, float, boolean. - Keys have a limit of 50 characters. - Values have a limit of 500 characters. - Keys number is limited to 50.
  - `enabled` boolean, required — Whether the camera is enabled or not. Only enabled cameras takes snapshots.
  - `clip_duration` integer, required — Duration in seconds of the video clip to take.
  - `number_of_snapshots` integer, required — The number of snapshots to fetch.
  - `remote_id` string, required — The remote id of the camera.
  - `snapshot_offset` integer, required — Offset in seconds of the clock of the camera if it has a drift from the API.
  - `supports_clips` boolean, required — Whether the camera supports clips.
  - `supports_images` boolean, required — Whether the camera supports images.
  - `supports_thumbnails` boolean, required — Whether the camera supports thumbnails.
  - `status` 'online' | 'offline', required — Whether the camera is online or offline.
  - `status_changed_at` string, date-time, nullable, required — When the camera connectivity status last changed.
  - `place_id` integer, required — The place ID of the camera
  - `lock_id` integer, nullable, required — The lock ID of the camera
  - `lock` object — The lock of the camera
    - `id` integer, required — The ID of the lock
    - `resource_type` 'Lock', required — The resource type of the lock
    - `name` string, required — The name of the lock
  - `type` 'generic', required — The type of the camera.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Content

---

[API](https://skmtc.dev/kisi/apis/kisi-api.md) · [All operations](https://skmtc.dev/kisi/apis/kisi-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kisi/kisi-api/revisions/998700ffff5a/schema)
