Skip to Content
GuidesIdentifiersDIDsCreate a did:web

How to create a did:web

DIDs using the web method host the DID document on a publicly accessible domain in order to make the document and contents available.

Request

Make a request of the following structure to create a did:web:

HTTP
POST /v1/dids
JSON
{ "method": "web", "options": { "url": "https://organization.com" } }
  • method : Set to web.
  • url : The URL that will host the DID document. When using MATTR VII, this would likely be your tenant’s URL.

    Hosting: When you create a did:web with your tenant’s URL as the defined url in the request, MATTR VII automatically hosts the DID document and makes it available in the following path: https://{your_tenant_url}/.well-known/did.json. This is one of the assets you have to create redirects to when you configure a custom domain.

    Key types: Unlike the request to create a did:key, this request doesn’t include a keyType attribute. MATTR VII creates all did:web with multiple key types by default. This enables issuers to issue different types of credentials from a single DID, making use of the different key types features.

    Custom domains: If you have a custom domain configured, use its URL (rather than your tenant’s URL) when creating a did:web.

Response

JSON
{ "did": "did:web:organization.com", "registrationStatus": "PROCESSING", "localMetadata": { "keys": [ { "didDocumentKeyId": "did:web:organization.com#z12KpjmH", "kmsKeyId": "aa87d1be-d4f9-4ff0-87b8-8af7b45871c8" }, { "didDocumentKeyId": "did:web:organization.com#7qLxNRsFS9", "kmsKeyId": "5f2bf621-8b96-47d8-893b-db48b8bc2947" }, { "didDocumentKeyId": "did:web:organization.com#22NxLGzcwD", "kmsKeyId": "70f5cba8-ec85-4770-a40d-27012e4f652f" }, { "didDocumentKeyId": "did:web:organization.com#2TurnSmooY", "kmsKeyId": "68787eec-7bde-4cda-9dc1-b73007c3d48d" } ], "registered": 1684275207499, "initialDidDocument": { "@context": [ "https://w3.org/ns/did/v1", "https://w3id.org/security/suites/x25519-2019/v1", "https://w3id.org/security/suites/jws-2020/v1", "https://w3id.org/security/suites/ed25519-2018/v1", "https://w3id.org/security/bbs/v1" ], "id": "did:web:organization.com", "authentication": ["did:web:organization.com#7qLxNRsFS9"], "assertionMethod": [ "did:web:organization.com#z12KpjmH", "did:web:organization.com#7qLxNRsFS9", "did:web:organization.com#22NxLGzcwD" ], "capabilityDelegation": [ "did:web:organization.com#z12KpjmH", "did:web:organization.com#7qLxNRsFS9", "did:web:organization.com#22NxLGzcwD" ], "capabilityInvocation": [ "did:web:organization.com#z12KpjmH", "did:web:organization.com#7qLxNRsFS9", "did:web:organization.com#22NxLGzcwD" ], "verificationMethod": [ { "id": "did:web:organization.com#z12KpjmH", "controller": "did:web:organization.com", "type": "JsonWebKey2020", "publicKeyJwk": { "kty": "EC", "crv": "P-256", "x": "nAW2_ezqvNlSDYUyrpN3pAlRnWVH5D6-6G4iZS0ZoxI", "y": "bSeCEF-erfdu7ZuTv6u6Ps_YJCCvvJ_nkaaFNynn1dQ" } }, { "id": "did:web:organization.com#7qLxNRsFS9", "controller": "did:web:organization.com", "type": "Ed25519VerificationKey2018", "publicKeyBase58": "7qLxNRsFS9T9bfa29a8YDrhsabKQsA5nmbT8RkbcdMm4" }, { "id": "did:web:organization.com#22NxLGzcwD", "controller": "did:web:organization.com", "type": "Bls12381G2Key2020", "publicKeyBase58": "22NxLGzcwDb9oEtXCjT4gYEjemNX4vTL779hFHUSKEgMGNCLzbtdek4UN9jXbfHsgQ4TDS7FVnNFYTzzMaoSPhXGVDUTb6wiUx6ny9qwa6Rye398tEMLgg3Ki5CPX65MBnGP" } ], "keyAgreement": [ { "id": "did:web:organization.com#2TurnSmooY", "controller": "did:web:organization.com", "type": "X25519KeyAgreementKey2019", "publicKeyBase58": "2TurnSmooYqT18Y5fi8Gh8HFNsAiSpTdoMNgSE6gvwUg" } ] } } }
  • did : This is the resulting did:web.
  • registrationStatus : Will only change to COMPLETED once the DID document is hosted and available.
Last updated on