---
title: "Create Service"
description: "Use the resource-api/services/create endpoint to provision new Issuer, Verifier, KMS, DID, or other Enterprise Stack services under an existing tenant."
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/create
generated: 2026-07-08
---
# Create Service

Use the `resource-api/services/create` endpoint to provision new Issuer, Verifier, KMS, DID, or other Enterprise Stack services under an existing tenant.

**Note:**

For service-specific request/response samples and 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 exact payloads you’ll need once you choose a service type.

## Create a Service (KMS example)

**Option: CURL**

Endpoint: `/v1/{target}/resource-api/services/create` | [API Reference](https://enterprise.sandbox.walt.id/swagger/index.html#/Service%20%7C%20Resource/post_v1__target__resource_api_services_create)

**Example Request**

```bash
curl -X 'POST' \
  'https://{orgHost}.enterprise-sandbox.waltid.dev/v1/{target}/resource-api/services/create' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer {yourToken}' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "kms"
}'
```

**Body**

```json
{
  "type": "kms"
}
```

**Path Parameters**

- `orgID`: Use the organization’s base URL / host alias. If your org is `test`, the sandbox host will be `test.enterprise-sandbox.walt.dev`.
- `target`: _resourceIdentifier_ – The full path for the service you are about to create: `organization.tenant.serviceId` (e.g., `acme.sandbox.kms-eu`). The final segment becomes the stored service ID, so choose it carefully before calling the endpoint.

**Body Parameters**

- `type`: Service type (`kms`, `issuer`, `verifier`, `did-store`, etc.).

---

**Example Response** `201 Created`

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