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

# Create an external storage configuration

`POST /organization/external_storage`

## Request

- Base URL: `https://api.openai.com/v1`
- URL: `https://api.openai.com/v1/organization/external_storage`
- Auth: HTTP bearer

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
    - OciExternalStorageProviderParams
      - `type` 'oci', required
      - `tenancy_ocid` string, required
      - `region` string, required
      - `bucket` 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
    - OciExternalStorageProviderResponse
      - `type` 'oci', required
      - `tenancy_ocid` string, required
      - `region` string, required
      - `bucket` string, required
  - `geography` string, required
  - `status` 'pending' | 'validated' | 'degraded' | '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-10-16** `13c0e09efdca`: 1 warning
  - added the new `degraded` enum value to the `status` response property for the response status `200`
- **2026-10-08** `bafa7e3ac5cb`: 1 breaking, 1 info
  - added `#/components/schemas/OciExternalStorageProviderResponse` to the `provider` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/OciExternalStorageProviderParams` to the `provider` request property `oneOf` list
- **2026-10-06** `487892d3954e`: 4 info
  - added the optional property `error/misalignment/review_target` to the response with the `400` status
  - added the optional property `error/misalignment/review_target` to the response with the `403` status
  - added the optional property `error/misalignment/review_target` to the response with the `404` status
  - added the optional property `error/misalignment/review_target` to the response with the `503` status
- **2026-10-05** `7f654af7f94f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnistack-sh/apis/openai-api/changes/organization/external_storage/post.md)

---

[API](https://skmtc.dev/omnistack-sh/apis/openai-api.md) - [All operations](https://skmtc.dev/omnistack-sh/apis/openai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnistack-sh/apis/openai-api/revisions/0a26f104d35f?raw)
