---
title: "Submit Azure storage details and start the access probe (azure_federated only)"
method: POST
path: "/organizations/{id}/credentials/{cred_id}/storage"
tags: ["Managed Credentials"]
---

# Submit Azure storage details and start the access probe (azure_federated only)

`POST /organizations/{id}/credentials/{cred_id}/storage`

Records the customer's storage account + container details, transitions state to access_pending, and kicks off a 5-minute background probe that verifies the service principal's blob-service access.

## Path parameters

- `id` string, required
- `cred_id` string, required

## Request body

- InternalHttpapiCredsapiSubmitAzureStorageRequestBody
  - `container_name` string — optional; empty = account-wide scope
  - `resource_group` string
  - `storage_account` string
  - `subscription_id` string

## Response `202`

Accepted

- GithubComActiveloopaiDeeplakeApiInternalCredentialsManagedCredential
  - `base_path` string
  - `created_at` string
  - `created_by` string
  - `encrypted_creds` object
  - `id` string
  - `last_error_action` string
  - `last_error_reason` string
  - `last_error_user_message` string
  - `name` string
  - `org_id` string
  - `poll_deadline_at` string
  - `salt` string
  - `state` 'draft' | 'sp_pending' | 'sp_verified' | 'access_pending' | 'unverified_saved' | 'verified'
  - `state_updated_at` string
  - `storage_type` 's3' | 's3:role' | 'gcs' | 'gcs_federated' | 'azure' | 'azure_federated'
  - `updated_at` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Invalid state transition

---

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