---
title: "Controller Handle Create Connection"
method: POST
path: "/integrations/connections/create"
tags: ["integrations"]
---

# Controller Handle Create Connection

`POST /integrations/connections/create`

Create a new connection, with properly encrypted creds

## Request body

- ConnectionPayload
  - `_owner` string, required — ID of user that created this entry.
  - `_org` string, required — ID of user's active organization when creating this entry.
  - `validated` boolean — Whether we've tested and validated these credentials actually work. Relevant due to us persisting credentials *before* we attempt imports (rather than how we used to do it, after) to help with bug triage, particularly when errors occur during the initial `/commit/import` call and not during the followup task doing the actual import.
  - `config` object, required — JSON object specifying config on the connection. This is a value whose format WE specify; it needs to have enough information that we can map it to either a Meltano extractor or loader, but is fully distinct from either of those concepts. Avoiding coupling both this and table specifiers to whether they are pulling data in or sending data out is very useful and gives us very powerful generalization capabilities.

## Response `201`

Successful Response

- string

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/akkio/apis/fastapi.md) · [All operations](https://skmtc.net/akkio/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/akkio/fastapi/revisions/6662a407c637/schema)
