---
title: "Update permission boundary"
url: https://hexelstudio.com/docs/api/ciam-iam/boundaries/update
---

# Update permission boundary

**PATCH** `/boundaries/{boundary_id}`

Update one of the caller's organization's permission boundaries. Moving it to another target or widening its Allow statements needs the caller to hold every action that becomes effective for the principals it capped (403 with missing_actions); a boundary that caps the caller cannot be changed by the caller.

## Path parameters

- `boundary_id: string`

  Boundary ID

## Headers

- `Authorization: string`

  `Bearer <token>`.

## Returns

`200` OK (`PermissionBoundary`)

- `created_at: optional string`

- `created_by_user_id: optional string`

- `description: optional string`

- `display_name: optional string`

- `id: optional string`

- `name: optional string`

- `organization_id: optional string`

- `policy_document: optional array of integer`

- `target_id: optional string`

- `target_type: optional string`

- `updated_at: optional string`

## Errors

- `400` Bad Request
- `403` Forbidden
- `404` Not Found
- `409` Conflict

## Example

```bash
curl --request PATCH \
  --url 'https://api.hexelstudio.com/v1/boundaries/{boundary_id}' \
  --header "Authorization: Bearer $ACCESS_TOKEN"
```

### Response (200)

```json
{
  "created_at": "2026-01-01T00:00:00Z",
  "created_by_user_id": "string",
  "description": "string",
  "display_name": "string",
  "id": "string",
  "name": "string",
  "organization_id": "string",
  "policy_document": [
    0
  ],
  "target_id": "string",
  "target_type": "string",
  "updated_at": "2026-01-01T00:00:00Z"
}
```

### Response (400)

```json
{
  "key": "string"
}
```

### Response (403)

```json
{}
```

### Response (404)

```json
{
  "key": "string"
}
```

### Response (409)

```json
{
  "key": "string"
}
```
