# Delete an IAM policy

```
DELETE https://mgmt.storage.dev/v1/providers/:provider_id/orgs/:org_id/policies/:policy_name
```

Deletes an IAM policy. The policy is automatically detached from all access keys before deletion.

## Request

### Path Parameters

**provider_id** string required  
Provider ID

**org_id** string required  
Organization ID

**policy_name** string required  
Name of the IAM policy

## Responses

- **200**  
  OK  
  - application/json
  
  - Schema  
    **object** object  
    ```json
    {}
    ```

- **Unexpected error**  
  - application/json  
  - Schema  
    **message** string
    ```json
    {
      "message": "string"
    }
    ```

#### Authorization: X-Tigris-Signature

```  
name: X-Tigris-Signature  
type: apiKey  
in: header  
description: HMAC-SHA256 of the canonical request signed using the signing key.  
To create the signature, concatenate the HTTP method, URL, timestamp, and nonce with a newline character in between.  
Then, calculate the HMAC-SHA256 of the concatenated string using the signing key. Example:

Create the `canonical_request` as:
```
POST
https://mgmt.storage.dev/provider/your-provider-id/orgs/user-org-id/provision
1731703213870
f8d133cb-5a42-47b1-9ef2-874bb55bab72
```
Then, calculate HMAC-SHA256 of the canonical request using the signing key as:
```
Signature = hex(sha256sign(canonical_request, "signing_key"))
```
```

```
name: X-Tigris-Nonce  
type: apiKey  
in: header  
description: Random unique string to identify the request and prevent replay attacks. Example: "f8d133cb-5a42-47b1-9ef2-874bb55bab72"
```

```
name: X-Tigris-Time  
type: apiKey  
in: header  
description: Unix timestamp in milliseconds of the request. Example: 1731703213870
```

```csharp
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://mgmt.storage.dev/v1/providers/:provider_id/orgs/:org_id/policies/:policy_name");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("X-Tigris-Signature", "<X-Tigris-Signature>");
request.Headers.Add("X-Tigris-Nonce", "<X-Tigris-Nonce>");
request.Headers.Add("X-Tigris-Time", "<X-Tigris-Time>");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
```
