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

# Create Integration

`POST /api/v1/integrations/`

Register or update an integration for the company (upsert by provider).

Handles three paths:
- Nango OAuth: ``nango_connection_id`` provided → mark connected.
- Custom credentials: ``credentials`` dict provided → validate, test, encrypt.
- Neither: mark disconnected.

Per-resource permissions: any company member may CREATE a new
integration (they're auto-granted ADMIN on it); updating an existing
(company, provider) row in place requires EDITOR on that integration.

## Request body

- IntegrationCreate
  - `provider_id` string, uuid, required
  - `nango_connection_id` string, nullable
  - `credentials` object, nullable

## Response `201`

Successful Response

- IntegrationRead
  - `id` string, uuid, required
  - `company_id` string, uuid, required
  - `user_id` string, uuid, required
  - `provider_id` string, uuid, required
  - `nango_connection_id` string, nullable, required
  - `status` string, required
  - `has_credentials` boolean
  - `connected_at` string, date-time, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/netter/apis/dmi-backend.md) · [All operations](https://skmtc.net/netter/apis/dmi-backend/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/netter/dmi-backend/revisions/a59877bf911b/schema)
