Tenant-Level DIDs
The DID Registry Service is designed to work also with tenant-level DIDs. This means that the DIDs it manages are scoped to a specific tenant within the organization. When you create a DID using the DID Service, it will be associated with the tenant in which the DID Registry Service is set up.
Example: did:web:{orgID}.enterprise-sandbox.waltid.dev:{tenant}:bob
Accessible At: https://{orgID}.enterprise-sandbox.waltid.dev/{tenant}/bob/did.json
These DIDs represent individual tenants (e.g., users) under an organization.
Create a New Tenant with configured DID Registry Service
Endpoint:/v1/{target}/resource-api/tenants/create | API Reference
Example Request
curl -X 'POST' \
'https://{orgID}.enterprise-sandbox.waltid.dev/v1/{target}/resource-api/tenants/create' \
-H 'accept: */*' \
-H 'Authorization: Bearer {yourToken}' \
-H 'Content-Type: application/json' \
-d '{
"configuration": {
"didRegistry": "didregistry"
}
}'
Body
{
"configuration": {
"didRegistry": "didregistry"
}
}
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 namedtest, your default Base URL will betest.enterprise-sandbox.walt.devwhen using the sandbox environment.target: resourceIdentifier - The target indicates the organization in which to create the new tenant and the tenant's ID ({organizationID}.[YourID]), e.g.waltid.users
Body Parameters
configuration: Object - Configuration object for the tenant.didRegistry: String - The ID of the DID Registry service to be associated with the tenant.
Response Codes
201- Tenant created successfully.
Verify Configuration
Endpoint: /v1/{target}/tenant-api/tenants/config/view | API Reference
curl -X GET http://{orgID}.enterprise-sandbox.waltid.dev/v1/{tenant}/tenant-api/tenants/config/view \
-H 'accept: application/json'
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 namedtest, your default Base URL will betest.enterprise-sandbox.walt.devwhen using the sandbox environment.target: resourceIdentifier - The target indicates the organization in which to create the new tenant and the tenant's ID ({organizationID}.[YourID]), e.g.waltid.users
Response:
{
"didRegistry": "{orgID}.{tenant}.didregistry"
}
didRegistry: String - The ID of the DID Registry service that will be associated with the tenant.
Create the DID Registry Service
Endpoint: /v1/{target}/resource-api/services/create | API Reference
⚠️ Note: The did registry you are creating in the tenant must exactly have the name used in the config.
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-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 namedtest, your default Base URL will betest.enterprise-sandbox.walt.devwhen 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}.[PreviousDidRegistry]), e.g.waltid.users.didregistry
Body Parameters
type: serviceType - Specifies the type of service to create. In our casedid-registry
Response Codes
201- Service created successfully.
