# Create unlink

URL: https://docs.hanzo.ai/docs/openapi/iam/post-iam-unlink

> Disconnects one sign-in identity from an account, so that provider can no longer be used to sign in as that person.

`POST /v1/iam/unlink`

> [IAM →](https://docs.hanzo.ai/docs/openapi/iam) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                        |
| ------------- | -------------------------------------- |
| **Address**   | `https://api.hanzo.ai/v1/iam/unlink`   |
| **Method**    | `POST`                                 |
| **Operation** | `post_iam_unlink`                      |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY` |

Disconnects one sign-in identity from an account, so that provider can
no longer be used to sign in as that person. Their account and every other way
they sign in are untouched. Two principals may do it, and
only two: the account holder itself, and a SuperAdmin (schema.User.SuperAdmin,
asked of the caller's own row). An ORG ADMIN deliberately may NOT — unlinking
is not tenant administration, it is unpicking someone's own sign-in method, so
the generic org-admin rule is the wrong answer here. A SuperAdmin unlinking
someone else's method is recorded on the SuperAdmin trail.

A holder unlinking itself must also be permitted by the application — the
provider link's CanUnlink flag — so an organization that mandates federated
sign-in cannot have its users strand themselves. A SuperAdmin is not bound by
that flag; it is the platform's own recovery path. Fail-closed throughout.

## Request

The document declares no body for `POST /v1/iam/unlink`. The handler is typed in cloud but its shape is not yet emitted, so the fields are not listed here — ask MCP's `describe` for `post_iam_unlink`, which answers from the running route.

## Response

The document declares no response body for this operation. It answers `200` on success and the platform error shape on failure — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo iam unlink
```

**SDK**

**.ts**

```ts
import { Configuration, IamApi } from 'hanzoai';

const api = new IamApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postIamUnlink();
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import IamApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = IamApi(client).post_iam_unlink()
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.IamAPI.PostIamUnlink(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, iam_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = iam_api::post_iam_unlink(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.IamApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new IamApi(client).postIamUnlink();
```

**HTTP**

```bash
curl -X POST https://api.hanzo.ai/v1/iam/unlink \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

MCP reaches **iam** through the `iam` tool, which names its 44 operations with its own verbs — this one among them, under a name only MCP declares. `describe` explains any of them:

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_iam_applications"
         }
       }
     }'
```

---

[IAM API](https://docs.hanzo.ai/docs/openapi/iam) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
