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.dev
when 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.dev
when 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.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}.[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.