---
title: "Create a new integration"
method: POST
path: "/api/integrations/{providerType}"
tags: ["Integrations"]
---

# Create a new integration

`POST /api/integrations/{providerType}`

Creates a new cloud integration (AWS or K8s)

## Path parameters

- `providerType` 'aws' | 'k8s', required

## Request body

- union
  - CreateAwsIntegrationRequest
    - `accountNumber` string, required — AWS account number (12 digits)
    - `nickname` string, required — Friendly name for the integration
  - CreateK8sIntegrationRequest
    - `clusterId` string, required — Kubernetes cluster ID
    - `accessKey` string — Optional access key for authentication
    - `secretKey` string — Optional secret key for authentication
    - `isProduction` boolean — Whether this is a production cluster

## Response `200`

Successfully created integration

- union
  - CreateAwsIntegrationResponse
    - `externalId` string — External ID for AWS IAM role trust policy
  - CreateK8sIntegrationResponse
    - `code` string — Helm installation command
    - `accessKey` string — Access key for the integration

## Other responses

- `400` — Bad Request Error
- `401` — Unauthorized Error
- `409` — Integration already exists
- `500` — Internal Server Error

---

[API](https://skmtc.net/firefly/apis/api-gateway.md) · [All operations](https://skmtc.net/firefly/apis/api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/firefly/api-gateway/revisions/eea119b4113f/schema)
