---
title: "Update a workload identity provider"
url: https://hexelstudio.com/docs/api/ciam-iam/workload-identity/update-a-workload-identity-provider
---

# Update a workload identity provider

**PATCH** `/workload-identity-providers/{provider_id}`

The type cannot change. Disabling a provider stops new role sessions from it.

## Path parameters

- `provider_id: string`

  Provider ID

## Headers

- `Authorization: string`

  `Bearer <token>`.

## Body parameters

- `config: optional array of integer`

- `description: optional string`

- `is_enabled: optional boolean`

- `name: optional string`

## Returns

`200` OK (`WorkloadIdentityProvider`)

- `config: optional object`

- `created_at: optional string`

- `created_by_user_id: optional string`

- `description: optional string`

- `id: optional string`

- `is_enabled: optional boolean`

- `match_key: optional string`

- `name: optional string`

- `organization_id: optional string`

- `type: optional string`

- `updated_at: optional string`

## Errors

- `400` Bad Request
- `404` Not Found

## Example

```bash
curl --request PATCH \
  --url 'https://api.hexelstudio.com/v1/workload-identity-providers/{provider_id}' \
  --header "Authorization: Bearer $ACCESS_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{
  "config": [
    0
  ],
  "description": "string",
  "is_enabled": true,
  "name": "string"
}'
```

### Response (200)

```json
{
  "config": {},
  "created_at": "2026-01-01T00:00:00Z",
  "created_by_user_id": "string",
  "description": "string",
  "id": "string",
  "is_enabled": true,
  "match_key": "string",
  "name": "string",
  "organization_id": "string",
  "type": "string",
  "updated_at": "2026-01-01T00:00:00Z"
}
```

### Response (400)

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

### Response (404)

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