---
title: "Create an external storage configuration"
method: POST
path: "/organization/external_storage"
---

# Create an external storage configuration

`POST /organization/external_storage`

Register one customer-managed external storage configuration.

## Request body

- CreateExternalStorageBody
  - `project_id` string, required
  - `provider` union, required
    - AwsExternalStorageProviderParams
      - `type` 'aws', required
      - `bucket` string, required
      - `role_arn` string, required
    - AzureExternalStorageProviderParams
      - `type` 'azure', required
      - `tenant_id` string, required
      - `subscription_id` string, required
      - `resource_group` string, required
      - `account_name` string, required
      - `container` string, required
    - GcpExternalStorageProviderParams
      - `type` 'gcp', required
      - `bucket` string, required
      - `workload_identity_project_number` string, required
      - `workload_identity_pool_id` string, required
      - `workload_identity_provider_id` string, required

## Response `200`

Success

- ExternalStorageResponse
  - `object` 'organization.external_storage', required
  - `id` string, required
  - `project_id` string, required
  - `provider` union, required
    - AwsExternalStorageProviderResponse
      - `type` 'aws', required
      - `account_id` string, required
      - `region` string, required
      - `bucket` string, required
      - `role_arn` string, required
      - `external_id` string, required
    - AzureExternalStorageProviderResponse
      - `type` 'azure', required
      - `tenant_id` string, required
      - `subscription_id` string, required
      - `resource_group` string, required
      - `account_name` string, required
      - `container` string, required
      - `region` string, required
    - GcpExternalStorageProviderResponse
      - `type` 'gcp', required
      - `bucket` string, required
      - `workload_identity_project_number` string, required
      - `workload_identity_pool_id` string, required
      - `workload_identity_provider_id` string, required
      - `region` string, required
      - `audience` string, required
  - `geography` string, required
  - `status` 'pending' | 'validated' | 'unhealthy', required
  - `created_at` integer, required

## Other responses

- `400` — The external storage request is invalid or the organization or project does not support it.
- `403` — The caller does not have permission to perform this operation.
- `404` — The organization, project, or external storage was not found.
- `503` — External storage registration is temporarily unavailable.

## Changes

- **2026-09-28** `17f4bc11b90f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openai/apis/openapi/changes/organization/external_storage/post.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc.dev/openai/apis/openapi/revisions/15eecad37dc3?raw)
