---
title: "Create Integration Route"
method: POST
path: "/api/integrations/"
tags: ["integration"]
---

# Create Integration Route

`POST /api/integrations/`

Creates a new integration.

## Request body

- IntegrationCreateInput — Integration create model.
  - `integration_params` union, required
    - S3IntegrationParamsV0 — S3 integration params model.
      - `integration_category` 'rbac' | 'oauth'
      - `integration_type` 's3/v0'
      - `resource` S3ResourceV0, required
        - `resource_type` 's3/v0'
        - `bucket_name` string, required
        - `prefix` string, required
    - GCSIntegrationParamsV0 — GCS integration params model.
      - `integration_category` 'rbac' | 'oauth'
      - `integration_type` 'gcs/v0'
      - `resource` GCSResourceV0, required
        - `resource_type` 'gcs/v0'
    - NotionIntegrationParamsV0 — Notion integration params model.
      - `integration_category` 'rbac' | 'oauth'
      - `integration_type` 'notion/v0'
      - `authorization_code` string, required

## Response `200`

Successful Response

- union
  - S3V0Integration — S3 integration model.
    - `id` string, uuid, required
    - `integration_category` 'rbac' | 'oauth'
    - `integration_type` 's3/v0' | 'gcs/v0' | 'notion/v0' | 'slack/v0'
    - `state` 'ready' | 'pending' | 'error', required
    - `principal_id` string, required
    - `resource_access_definition` S3ResourceV0AccessDefinition, required
      - `resource` S3ResourceV0, required
        - `resource_type` 's3/v0'
        - `bucket_name` string, required
        - `prefix` string, required
      - `policy` object, required
  - GCSV0Integration — GCS integration model.
    - `id` string, uuid, required
    - `integration_category` 'rbac' | 'oauth'
    - `integration_type` 's3/v0' | 'gcs/v0' | 'notion/v0' | 'slack/v0'
    - `state` 'ready' | 'pending' | 'error', required
    - `principal_id` string, required
    - `resource_access_definition` GCSResourceV0AccessDefinition, required
      - `resource` GCSResourceV0, required
        - `resource_type` 'gcs/v0'
  - NotionV0Integration — Notion integration model.
    - `id` string, uuid, required
    - `integration_category` 'rbac' | 'oauth'
    - `integration_type` 's3/v0' | 'gcs/v0' | 'notion/v0' | 'slack/v0'
    - `state` 'ready' | 'pending' | 'error', required
    - `token` union, required
      - NotionAccessToken
        - `integration_type` 'notion/v0'
        - `access_token` string, required
        - `bot_id` string, required
        - `owner` object, required
        - `workspace_id` string, required
      - SlackAccessToken
        - `integration_type` 'slack/v0'
        - `access_token` string, required

## Other responses

- `422` — Validation Error

## Changes

- **2024-12-05** `df1d1cc9e050` — 5 breaking, 4 info
  - removed the enum value `gcs/v0` of the request property `integration_params/oneOf[subschema #2: GCSIntegrationParamsV0]/integration_type`
  - removed the enum value `gcs/v0` of the request property `integration_params/oneOf[subschema #2: GCSIntegrationParamsV0]/resource/resource_type`
  - removed the enum value `notion/v0` of the request property `integration_params/oneOf[subschema #3: NotionIntegrationParamsV0]/integration_type`
  - removed the enum value `s3/v0` of the request property `integration_params/oneOf[subschema #1: S3IntegrationParamsV0]/integration_type`
  - …5 more
- **2024-12-03** `c3d745f0888a` — 3 breaking, 6 warning, 6 info
  - added `#/components/schemas/NotionV0Integration` to the response body `oneOf` list for the response status `200`
  - the `integration_category` response property const value `rbac` was removed for the status `200`
  - the `integration_category` response property const value `rbac` was removed for the status `200`
  - added the new `notion/v0` enum value to the `oneOf[subschema #1: S3V0Integration]/integration_type` response property for the response status `200`
  - …11 more
- **2024-11-04** `4abd340ba528` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/cleanlab/apis/agility/changes/api/integrations/post.md)

---

[API](https://skmtc.dev/cleanlab/apis/agility.md) · [All operations](https://skmtc.dev/cleanlab/apis/agility/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cleanlab/agility/revisions/9e6009a931b6/schema)
