---
title: "Update Service Configuration"
description: "/configuration/update replaces the configuration of a service. You must send the full service document (not a JSON Patch). This is how you update for example the default key generation options in a KMS or the supported…"
stack: "Enterprise Stack (commercial) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/enterprise-stack/administration/services/configuration/update
generated: 2026-07-20
---
# Update Service Configuration

`/configuration/update` replaces the configuration of a service. You must send the full service document (not a JSON Patch). This is how you update for example the default key generation options in a KMS or the supported credentials in an issuer service.

**Note:**

For service-specific configuration guidance, check the **Setup section** inside each [service’s docs](https://docs.walt.id/enterprise-stack/services.md) (e.g., Issuer, Verifier, KMS). Those pages show the concreate config options for a particular service that you can later update.

## Update configuration (KMS example)

**Option: CURL**

Endpoint: `/v1/{target}/kms-service-api/keys/configuration/update` | [API Reference](https://enterprise.sandbox.walt.id/swagger/index.html#/Service%20%7C%20Key%20Management/put_v1__target__kms_service_api_configuration_update)

**Example Request**

```bash
curl -X 'PUT' \
  'https://{orgHost}.enterprise-sandbox.waltid.dev/v1/{target}/kms-service-api/keys/configuration/update' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer {yourToken}' \
  -H 'Content-Type: application/json' \
  -d '{
  "traversable": true,
  "_id": "test.tenant1.kms1",
  "defaultKeyGenerationRequests": {},
  "parent": "test.tenant1"
}'
```

**Path Parameters**

- `orgHost`: _String_ - Organization host alias to call against. When you are working inside the sandbox tenant `test`, your base URL becomes `https://test.enterprise-sandbox.waltid.dev`.
- `target`: _resourceIdentifier_ - Full path to the service you are updating, following `{organization}.{tenant}.{serviceId}`. For example, the sandbox KMS target would be `test.tenant1.kms1`.

**Body**

```json
{
  "traversable": true,
  "_id": "test.tenant1.kms1",
  "defaultKeyGenerationRequests": {},
  "parent": "test.tenant1"
}
```

**Body Parameters**
- `_id`: Must be identical to `{target}`
- `defaultKeyGenerationRequests`: Optional, default generation payloads.
- `parent`: The identifier of the tenant under which the service lives.

**Response Codes**

- `200` – Configuration replaced successfully (response body is empty).
- `400` – Invalid or incomplete configuration payload.
- `401/403` – Authentication or authorization failure.
