---
title: "Create integration"
method: POST
path: "/integrations"
tags: ["Integrations"]
---

# Create integration

`POST /integrations`

## Request body

- union
  - object
    - `integration` object, required
      - `name` string, required — The name of the integration
      - `enabled` boolean — Whether the integration is enabled
      - `type` 'active_directory_user_import', required — The type of the integration
      - `active_directory_group_id` string, required — The group ID of the Active Directory
      - `active_directory_tenant_id` string, required — The tenant ID of the Active Directory
      - `active_directory_user_email_property` 'mail' | 'userPrincipalName' — Which property match against when importing users
      - `group_id` integer, nullable — The group ID of the integration
      - `import_members_only` boolean — Whether users should be imported to the place or organization, without adding them to a group
  - object
    - `integration` object, required
      - `name` string, required — The name of the integration
      - `enabled` boolean — Whether the integration is enabled
      - `type` 'braxos_elevator', required — The type of the integration
      - `place_id` integer, required — The place ID of the integration
      - `api_key` string, required — The Braxos API key
  - object
    - `integration` object, required
      - `name` string, required — The name of the integration
      - `enabled` boolean — Whether the integration is enabled
      - `type` 'event_webhook', required — The type of the integration
      - `url` string, uri, required — The URL to call when events are triggered
      - `enabled_events` string[] — The event types for which the webhook would be enabled.
      - `signature_key` string — The key to use for webhook payload signatures. We build and attach the signature as follows: - Take the body - Calculate the HMAC-SHA256 MAC using the body as payload and the signature key as key - Set the "X-Signature" header to `sha256=<MAC>`
  - object
    - `integration` object, required
      - `name` string, required — The name of the integration
      - `enabled` boolean — Whether the integration is enabled
      - `type` 'jumpcloud_user_import', required — The type of the integration
      - `jumpcloud_organization_id` string, nullable — The ID of the organization in JumpCloud to import from. Required for multi-tenant JumpCloud users.
      - `jumpcloud_group_id` string, nullable — The ID of the group in JumpCloud to import from. Required to enable integration
      - `group_id` integer, nullable — The group ID of the integration
      - `import_members_only` boolean — Whether users should be imported to the place or organization, without adding them to a group
      - `api_key` string, required — The JumpCloud API key
  - object
    - `integration` object, required
      - `name` string, required — The name of the integration
      - `enabled` boolean — Whether the integration is enabled
      - `type` 'rhombus_systems_camera', required — The type of the integration
      - `place_id` integer, required — The place ID of the integration
      - `api_key` string, required — The Rhombus Systems API key
      - `certificate` string, required — The Rhombus Systems certificate
      - `private_key` string, required — The Rhombus Systems private key

## Response `200`

OK

- union
  - object
    - `id` integer, required — The ID of the integration
    - `resource_type` 'Integration', required — The resource type of the integration
    - `name` string, required — The name of the integration
    - `type` 'active_directory_user_import', required — The type of the integration
    - `enabled` boolean, required — Whether the integration is enabled
    - `disabled_due_to_error` boolean, required — Whether the integration was disabled automatically due to an error
    - `disabled_due_to_error_at` string, date-time, nullable, required — When the integration was disabled automatically due to an error
    - `created_at` string, date-time, required — When the integration was created
    - `updated_at` string, date-time, required — When the integration was updated
    - `organization_id` integer, required — The organization ID of the integration
    - `organization` object, required — The organization of the integration
      - `id` integer, required — The ID of the organization
      - `resource_type` 'Organization', required — The resource type of the organization
      - `name` string, required — The name of the organization
      - `domain` string, required — The domain of the organization.
    - `place_id` integer, nullable, required — The place ID of the integration
    - `place` object — The place of the integration
      - `id` integer, required — The ID of the place
      - `resource_type` 'Place', required — The resource type of the place
      - `name` string, required — The name of the place
    - `active_directory_tenant_id` string, required — The tenant ID of the Active Directory
    - `active_directory_group_id` string, required — The group ID of the Active Directory
    - `active_directory_user_email_property` 'mail' | 'userPrincipalName', required — Which property match against when importing users
    - `import_members_only` boolean, required — Whether users should be imported to the place or organization, without adding them to a group
    - `group_id` integer, nullable, required — The group ID of the integration
    - `group` object — The group of the integration
      - `id` integer, required — The ID of the group
      - `resource_type` 'Group', required — The resource type of the group
      - `name` string, required — The name of the group
  - object
    - `id` integer, required — The ID of the integration
    - `resource_type` 'Integration', required — The resource type of the integration
    - `name` string, required — The name of the integration
    - `type` 'braxos_elevator', required — The type of the integration
    - `enabled` boolean, required — Whether the integration is enabled
    - `disabled_due_to_error` boolean, required — Whether the integration was disabled automatically due to an error
    - `disabled_due_to_error_at` string, date-time, nullable, required — When the integration was disabled automatically due to an error
    - `created_at` string, date-time, required — When the integration was created
    - `updated_at` string, date-time, required — When the integration was updated
    - `organization_id` integer, required — The organization ID of the integration
    - `organization` object, required — The organization of the integration
      - `id` integer, required — The ID of the organization
      - `resource_type` 'Organization', required — The resource type of the organization
      - `name` string, required — The name of the organization
      - `domain` string, required — The domain of the organization.
    - `place_id` integer, required — The place ID of the integration
    - `place` object, required — The place of the integration
      - `id` integer, required — The ID of the place
      - `resource_type` 'Place', required — The resource type of the place
      - `name` string, required — The name of the place
  - object
    - `id` integer, required — The ID of the integration
    - `resource_type` 'Integration', required — The resource type of the integration
    - `name` string, required — The name of the integration
    - `type` 'event_webhook', required — The type of the integration
    - `enabled` boolean, required — Whether the integration is enabled
    - `disabled_due_to_error` boolean, required — Whether the integration was disabled automatically due to an error
    - `disabled_due_to_error_at` string, date-time, nullable, required — When the integration was disabled automatically due to an error
    - `created_at` string, date-time, required — When the integration was created
    - `updated_at` string, date-time, required — When the integration was updated
    - `organization_id` integer, required — The organization ID of the integration
    - `organization` object, required — The organization of the integration
      - `id` integer, required — The ID of the organization
      - `resource_type` 'Organization', required — The resource type of the organization
      - `name` string, required — The name of the organization
      - `domain` string, required — The domain of the organization.
    - `place_id` integer, nullable, required — The place ID of the integration
    - `place` object — The place of the integration
      - `id` integer, required — The ID of the place
      - `resource_type` 'Place', required — The resource type of the place
      - `name` string, required — The name of the place
    - `url` string, uri, required — The URL to call when events are triggered
    - `enabled_events` string[], required — The event types for which the webhook would be enabled.
  - object
    - `id` integer, required — The ID of the integration
    - `resource_type` 'Integration', required — The resource type of the integration
    - `name` string, required — The name of the integration
    - `type` 'jumpcloud_user_import', required — The type of the integration
    - `enabled` boolean, required — Whether the integration is enabled
    - `disabled_due_to_error` boolean, required — Whether the integration was disabled automatically due to an error
    - `disabled_due_to_error_at` string, date-time, nullable, required — When the integration was disabled automatically due to an error
    - `created_at` string, date-time, required — When the integration was created
    - `updated_at` string, date-time, required — When the integration was updated
    - `organization_id` integer, required — The organization ID of the integration
    - `organization` object, required — The organization of the integration
      - `id` integer, required — The ID of the organization
      - `resource_type` 'Organization', required — The resource type of the organization
      - `name` string, required — The name of the organization
      - `domain` string, required — The domain of the organization.
    - `place_id` integer, nullable, required — The place ID of the integration
    - `place` object — The place of the integration
      - `id` integer, required — The ID of the place
      - `resource_type` 'Place', required — The resource type of the place
      - `name` string, required — The name of the place
    - `jumpcloud_group_id` string, nullable, required — The ID of the group in JumpCloud to import from. Required to enable integration
    - `jumpcloud_organization_id` string, nullable, required — The ID of the organization in JumpCloud to import from. Required for multi-tenant JumpCloud users.
    - `import_members_only` boolean, required — Whether users should be imported to the place or organization, without adding them to a group
    - `group_id` integer, nullable, required — The group ID of the integration
    - `group` object — The group of the integration
      - `id` integer, required — The ID of the group
      - `resource_type` 'Group', required — The resource type of the group
      - `name` string, required — The name of the group
  - object
    - `id` integer, required — The ID of the integration
    - `resource_type` 'Integration', required — The resource type of the integration
    - `name` string, required — The name of the integration
    - `type` 'rhombus_systems_camera', required — The type of the integration
    - `enabled` boolean, required — Whether the integration is enabled
    - `disabled_due_to_error` boolean, required — Whether the integration was disabled automatically due to an error
    - `disabled_due_to_error_at` string, date-time, nullable, required — When the integration was disabled automatically due to an error
    - `created_at` string, date-time, required — When the integration was created
    - `updated_at` string, date-time, required — When the integration was updated
    - `organization_id` integer, required — The organization ID of the integration
    - `organization` object, required — The organization of the integration
      - `id` integer, required — The ID of the organization
      - `resource_type` 'Organization', required — The resource type of the organization
      - `name` string, required — The name of the organization
      - `domain` string, required — The domain of the organization.
    - `place_id` integer, required — The place ID of the integration
    - `place` object, required — The place of the integration
      - `id` integer, required — The ID of the place
      - `resource_type` 'Place', required — The resource type of the place
      - `name` string, required — The name of the place

## 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)
