---
title: "Create a new storage gateway cluster"
method: POST
path: "/v1/storage_gateway_clusters/"
---

# Create a new storage gateway cluster

`POST /v1/storage_gateway_clusters/`

## Request

- Base URL: `https://app.iconik.io/API/files`
- URL: `https://app.iconik.io/API/files/v1/storage_gateway_clusters/`
- Auth: none declared. Required headers: `App-ID`, `Auth-Token`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-files/docs/v1/storage_gateway_clusters/post.ts> (a function with typed inputs; its response is checked against the schema)

## Headers

- `App-ID` string, required
- `Auth-Token` string, required

## Request body

- IconikStorageGatewayClusterSchema
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `db_connection_uri` string: Database connection URI
  - `description` string
  - `enabled` boolean, required: Application toggle. If turned off ISG will enter idle state waiting to get enabled again.
  - `id` string, uuid
  - `name` string, required
  - `settings` ISGConfigClusterSettingsSchema
    - `checksum_max_workers` integer
    - `file_download_parallel_downloads_num` integer
    - `file_upload_parallel_uploads_num` integer
    - `ingest_concurrency_value` integer
    - `max_transcoding_jobs` integer
    - `scanner_concurrency_value` integer
  - `status` 'OFFLINE' | 'ACTIVE' | 'WARNING' | 'ERROR' | 'STOPPED'
  - `storage_ids` string[], required
  - `total_files_number` integer: Total number of files
  - `transcode_queue_total` integer: Total number of scheduled transcode jobs
  - `uploads_queue_total` integer: Total number of scheduled auto-uploads
  - `visibility_timeout` integer: The number of seconds jobs should remain invisible to other nodes

## Response `201`

Cluster created successfully

- IconikStorageGatewayClusterSchema
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `db_connection_uri` string: Database connection URI
  - `description` string
  - `enabled` boolean, required: Application toggle. If turned off ISG will enter idle state waiting to get enabled again.
  - `id` string, uuid
  - `name` string, required
  - `settings` ISGConfigClusterSettingsSchema
    - `checksum_max_workers` integer
    - `file_download_parallel_downloads_num` integer
    - `file_upload_parallel_uploads_num` integer
    - `ingest_concurrency_value` integer
    - `max_transcoding_jobs` integer
    - `scanner_concurrency_value` integer
  - `status` 'OFFLINE' | 'ACTIVE' | 'WARNING' | 'ERROR' | 'STOPPED'
  - `storage_ids` string[], required
  - `total_files_number` integer: Total number of files
  - `transcode_queue_total` integer: Total number of scheduled transcode jobs
  - `uploads_queue_total` integer: Total number of scheduled auto-uploads
  - `visibility_timeout` integer: The number of seconds jobs should remain invisible to other nodes

## Other responses

- `400`: Invalid input
- `401`: Token is invalid
- `403`: Forbidden - requires admin, or ISG PRO is not enabled
- `404`: Storage does not exist
- `409`: Cluster limit reached, or the limit could not be validated (retry)
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-files.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-files/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-files/revisions/ed57d13791a2?raw)
