Setup

We will setup a DID service inside of a tenant. If you don't have a tenant yet, you can learn how to create one here.

CURL

Endpoint: /v1/{target}/resource-api/services/create | API Reference

Example Request

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"
}'

Body

{
  "type": "did"
}

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 service and the service's ID ({organizationID}.{tenantID}.[NewDIDServiceID]), e.g. waltid.tenant1.did1

Body Parameters

  • type: serviceType - Specifies the type of service to create. In our case did

Response Codes

  • 201 - Service created successfully.

Next Steps

  • Link a KMS service — reference managed keys when creating DIDs.
  • Create a did:web — generate a did:web identifier and its DID Document.
  • Default Requests — optional: create many did:web DIDs on the same domain without repeating domain, type and service endpoints.
Last updated on September 29, 2026