---
title: "Create a controller relay connection"
method: POST
path: "/controller_relay_connections"
tags: ["Controller Relay Connections"]
---

# Create a controller relay connection

`POST /controller_relay_connections`

## Request body

- union
  - object
    - `controller_relay_connection` object, required
      - `type` 'lock', required
      - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. Must not be aux.
      - `lock_id` integer, required — The lock ID of the controller relay connection
      - `duration` number, float — The duration of the relay
      - `name` string, nullable — The name of the controller relay connection
  - object
    - `controller_relay_connection` object, required
      - `type` 'elevator_stop', required
      - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. Must not be aux.
      - `elevator_stop_id` integer, required — The elevator_stop ID of the controller relay connection
      - `duration` number, float — The duration of the relay
      - `name` string, nullable — The name of the controller relay connection
  - object
    - `controller_relay_connection` object, required
      - `type` 'siren', required
      - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. It must be aux if the controller has an aux relay and belong to zone controller.
      - `zone_id` integer, required — The zone ID of the controller relay connection
      - `name` string, nullable — The name of the controller relay connection
  - object
    - `controller_relay_connection` object, required
      - `type` 'third_party_alarm', required
      - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. It must be aux if the controller has an aux relay and belong to zone controller.
      - `zone_id` integer, required — The zone ID of the controller relay connection
      - `duration_for_away_mode` number, float, nullable — The duration of the relay used for changing the zone to away mode
      - `duration_for_stay_mode` number, float, nullable — The duration of the relay used for changing the zone to stay mode
      - `name` string, nullable — The name of the controller relay connection

## Response `200`

OK

- union
  - object
    - `id` integer, required — The ID of the controller relay connection
    - `created_at` string, date-time, required — When the controller relay connection was created
    - `updated_at` string, date-time, required — When the controller relay connection was updated
    - `name` string, nullable, required — The name of the controller relay connection
    - `duration` number, float, required — The duration of the relay
    - `type` 'lock', required
    - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. Must not be aux.
    - `controller_relay` object, required — The controller_relay of the controller relay connection
      - `id` integer, required — The ID of the controller relay
      - `channel` number, required — The channel of the controller relay
      - `name` string, required — The name of the controller relay
    - `lock_id` integer, required — The lock ID of the controller relay connection
    - `lock` object, required — The lock of the controller relay connection
      - `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
  - object
    - `id` integer, required — The ID of the controller relay connection
    - `created_at` string, date-time, required — When the controller relay connection was created
    - `updated_at` string, date-time, required — When the controller relay connection was updated
    - `name` string, nullable, required — The name of the controller relay connection
    - `duration` number, float, required — The duration of the relay
    - `type` 'elevator_stop', required
    - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. Must not be aux.
    - `controller_relay` object, required — The controller_relay of the controller relay connection
      - `id` integer, required — The ID of the controller relay
      - `channel` number, required — The channel of the controller relay
      - `name` string, required — The name of the controller relay
    - `elevator_stop_id` integer, required — The elevator_stop ID of the controller relay connection
    - `elevator_stop` object, required — The elevator_stop of the controller relay connection
      - `id` integer, required — The ID of the elevator stop
      - `name` string, required — The name of the elevator stop
  - object
    - `id` integer, required — The ID of the controller relay connection
    - `created_at` string, date-time, required — When the controller relay connection was created
    - `updated_at` string, date-time, required — When the controller relay connection was updated
    - `name` string, nullable, required — The name of the controller relay connection
    - `type` 'siren', required
    - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. It must be aux if the controller has an aux relay and belong to zone controller.
    - `controller_relay` object, required — The controller_relay of the controller relay connection
      - `id` integer, required — The ID of the controller relay
      - `channel` number, required — The channel of the controller relay
      - `name` string, required — The name of the controller relay
    - `zone_id` integer, required — The zone ID of the controller relay connection
    - `zone` object, required — The zone of the controller relay connection
      - `id` integer, required — The ID of the zone
      - `name` string, required — The name of the zone
  - object
    - `id` integer, required — The ID of the controller relay connection
    - `created_at` string, date-time, required — When the controller relay connection was created
    - `updated_at` string, date-time, required — When the controller relay connection was updated
    - `name` string, nullable, required — The name of the controller relay connection
    - `duration_for_away_mode` number, float, nullable, required — The duration of the relay used for changing the zone to away mode
    - `duration_for_stay_mode` number, float, nullable, required — The duration of the relay used for changing the zone to stay mode
    - `type` 'third_party_alarm', required
    - `controller_relay_id` integer, required — The controller_relay ID of the controller relay connection. It must be aux if the controller has an aux relay and belong to zone controller.
    - `controller_relay` object, required — The controller_relay of the controller relay connection
      - `id` integer, required — The ID of the controller relay
      - `channel` number, required — The channel of the controller relay
      - `name` string, required — The name of the controller relay
    - `zone_id` integer, required — The zone ID of the controller relay connection
    - `zone` object, required — The zone of the controller relay connection
      - `id` integer, required — The ID of the zone
      - `name` string, required — The name of the zone

## Other responses

- `400` — Bad Request
- `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)
