# Update Users

URL: https://docs.hanzo.ai/docs/openapi/iam/patch-iam-scim-v2-users-by-owner-by-name

> Applies a partial change from your identity provider — one attribute moved, not the whole record resent.

`PATCH /v1/iam/scim/v2/Users/{owner}/{name}`

> [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/scim/v2/Users/{owner}/{name}` |
| **Method**    | `PATCH`                                                    |
| **Operation** | `patch_iam_scim_v2_users_by_owner_by_name`                 |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`                     |

Applies a partial change from your identity provider — one attribute
moved, not the whole record resent.

The change is applied onto the person as they currently are, so everything you
did not mention keeps its value, including the parts SCIM does not describe.

## Request

2 fields.

| Field   | In   | Type   | Required | Description |
| ------- | ---- | ------ | -------- | ----------- |
| `owner` | path | string | yes      |             |
| `name`  | path | string | yes      |             |

## 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 scim v2 Users owner update <owner> <name>
```

**SDK**

**.ts**

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

const api = new IamApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.patchIamScimV2UsersByOwnerByName({ owner: 'owner', name: 'name' });
```

**.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).patch_iam_scim_v2_users_by_owner_by_name(owner='owner', name='name')
```

**.go**

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

resp, _, err := client.IamAPI.PatchIamScimV2UsersByOwnerByName(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::patch_iam_scim_v2_users_by_owner_by_name(&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).patchIamScimV2UsersByOwnerByName();
```

**HTTP**

```bash
curl -X PATCH https://api.hanzo.ai/v1/iam/scim/v2/Users/<owner>/<name> \
  -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)
