---
title: "Setup"
description: "We will set up a DID Registry Service inside a tenant. If you don't have a tenant yet, you can learn how to create one here."
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/services/did-registry/setup
generated: 2026-07-20
---
# Setup

We will set up a DID Registry Service inside a tenant. If you don't have a tenant yet, you can learn
how to create one [here](https://docs.walt.id/enterprise-stack/administration/tenants/create.md).

##  Create the DID Registry Service

**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://{orgID}.enterprise-sandbox.waltid.dev/v1/{target}/resource-api/services/create' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer {yourToken}' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "did-registry"
}'

```
**Path Parameters**

- `orgID`: - When performing operations within an organization, it is essential to use the organization's Base URL or
  another valid host alias. For example, if your organization is named `test`, your default Base URL will
  be `test.enterprise-sandbox.walt.dev` when using the sandbox environment.
- `target`: _resourceIdentifier_ - The target indicates the organization + tenant in which to create the new DID Registry service
  and the service's
  ID (`{organizationID}.{tenantID}.[NewDidRegistryServiceID]`), e.g. `waltid.tenant1.didregistry`

**Body Parameters**

- `type`: _serviceType_ - Specifies the type of service to create. In our case `did-registry`

---

**Response Codes**

- `201` - Service created successfully.

## Service Dependencies
The DID Registry relies on the DID Store Service to retrieve and manage `DID:web` identifiers. Specifically:

 - When a DID:web is registered via the DID Store, it becomes accessible via the DID Registry.
 - The DID Registry queries the DID Store to list registered `DID:web` identifiers.
 - The DID Registry provides a resolution endpoint `(did.json)` to return the DID document of a `DID:web`.
 
## Configuration

To add the DID Store as a dependency to the DID registry service, use the following API request:

```bash
curl -X 'POST' \
'http://{orgID}.enterprise-sandbox.waltid.dev/v1/waltid.users.didregistry/did-registry-service-api/dependencies/add' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d 'waltid.users.didstore'
```

This configuration ensures that the DID Registry can efficiently access and manage registered DID:web identifiers.
