---
title: "Import a Gateway configuration"
method: POST
path: "/gateway_manager/v1/gateways/{clusterId}/configuration/import"
tags: ["Gateway Manager"]
---

# Import a Gateway configuration

`POST /gateway_manager/v1/gateways/{clusterId}/configuration/import`

## Request

- Base URL: `https://example.itential.io`
- URL: `https://example.itential.io/gateway_manager/v1/gateways/{clusterId}/configuration/import`
- Auth: none declared

Imports a DB configuration into a connected Gateway 5 cluster from inline DSL content or a git repository. Platform API equivalent of 'iagctl db import'. The gateway must be connected, enabled, and not readonly. Supports force overwrite, validate-only, and dry-run check modes.

## Path parameters

- `clusterId` string, required

## Request body

- object
  - `options` GatewayManagerV1GatewaysClusterIdConfigurationImportPostRequestBodyContentApplicationJsonSchemaOptions
    - `source` 'content' | 'git', required: Content source: 'content' for inline DSL, or 'git' to pull from a repository.
    - `content` union: DSL document to import: a YAML/JSON string, or the object returned by export. Required when source is 'content'.
      - string
      - object
    - `git` GatewayManagerV1GatewaysClusterIdConfigurationImportPostRequestBodyContentApplicationJsonSchemaOptionsGit: Git source configuration. Required when source is 'git'.
      - `url` string, required: Git repository URL.
      - `file` string, required: Path to the DSL file within the cloned repository.
      - `reference` string: Branch, tag, or SHA to check out. Defaults to the repository default branch.
      - `username` string: HTTP basic auth username for HTTPS repositories.
      - `password` string: HTTP basic auth password. Supports $GATEWAYSECRET_(alias) references resolved by the gateway.
      - `privateKey` string: SSH private key file path on the gateway host filesystem.
    - `force` boolean: Overwrite existing resources. Default: false.
    - `validate` boolean: Parse and validate only, with no writes. Mutually exclusive with check. Default: false.
    - `check` boolean: Dry-run diff showing what would change, with no writes. Mutually exclusive with validate. Default: false.

## Response `200`

The import result: lists and counts of added, replaced, and skipped resources. When check is true, returns a dry-run diff instead.

- GatewayManagerImportConfigurationResponse200
  - `added` string[]
  - `replaced` string[]
  - `skipped` string[]
  - `summary` GatewayManagerV1GatewaysClusterIdConfigurationImportPostResponsesContentApplicationJsonSchemaSummary
    - `added` integer
    - `replaced` integer
    - `skipped` integer

## Other responses

- `500`: Error response from API

## Changes

- **2026-10-31** `2095cc90e583`: 2 info
  - api tag `Gateway Manager` added
  - api tag `gatewayManager` removed

[Operation history](https://skmtc.dev/itential/apis/itential-2/changes/gateway_manager/v1/gateways/:clusterId/configuration/import/post.md)

---

[API](https://skmtc.dev/itential/apis/itential-2.md) - [All operations](https://skmtc.dev/itential/apis/itential-2/llms.txt) - [OpenAPI document](https://skmtc.dev/itential/apis/itential-2/revisions/2095cc90e583?raw)
