Universal Registrar

This endpoint updates a DID. As input it takes the existing DID, a DID document, plus optional DID registration options and secrets needed to update a DID. The output is a state object that represents the current state of the DID update process.

See the DID Registration specification for additional details.

post/update

Request

Request body

didstring required

This input field indicates the DID that is the target of the DID update operation.

didDocumentOperationstring[]

This input field indicates which update operation(s) should be applied to a DID’s associated DID document. See <a href="https://identity.foundation/did-registration/#diddocumentoperation">https://identity.foundation/did-registration/#diddocumentoperation</a>.

Example request

{
  "options": {
    "clientSecretMode": true,
    "network": "testnet"
  },
  "secret": {
    "seed": "72WGp7NgFR1Oqdi8zlt7jQQ434XR0cNQ",
    "verificationMethod": [
      {
        "id": "did:indy:sovrin:WRfXPg8dantKVubE3HX8pw#key-1",
        "type": "JsonWebKey2020",
        "privateKeyJwk": {
          "kty": "OKP",
          "crv": "Ed25519",
          "d": "NzJXR3A3TmdGUjFPcWRpOHpsdDdqUVE0MzRYUjBjTlE",
          "x": "jpIKKU2b77lNXKTNW2NGvw1GUMjU6v_l_tLJAH5uYz0"
        }
      }
    ]
  },
  "did": "did:indy:sovrin:WRfXPg8dantKVubE3HX8pw",
  "didDocumentOperation": [
    "setDidDocument"
  ]
}

Response

The request was successful, and the DID may or may not be fully updated yet, as indicated by the "didState.state" and "jobId" output fields. Additional state information plus metadata are available in the response body.

didRegistrationMetadataobject
didDocumentMetadataobject

Example response

{
  "didState": {
    "secret": {
      "verificationMethod": [
        {
          "id": "did:indy:sovrin:WRfXPg8dantKVubE3HX8pw#key-1",
          "type": "JsonWebKey2020",
          "privateKeyJwk": {
            "kty": "OKP",
            "crv": "Ed25519",
            "d": "NzJXR3A3TmdGUjFPcWRpOHpsdDdqUVE0MzRYUjBjTlE",
            "x": "jpIKKU2b77lNXKTNW2NGvw1GUMjU6v_l_tLJAH5uYz0"
          }
        }
      ]
    }
  }
}

Changes

    • breaking

      the //// request property type changed from string to no type

    • breaking

      added subschema #1 subschema #2 subschema #3 to the //// response property oneOf list for the response status

    • breaking

      added subschema #1 subschema #2 subschema #3 to the //// response property oneOf list for the response status

    • breaking

      added subschema #1 subschema #2 subschema #3 to the //// response property oneOf list for the response status

    • breaking

      the //// response's property type changed from string to no type for status

    • breaking

      the //// response's property type changed from string to no type for status

    • breaking

      the //// response's property type changed from string to no type for status

    • info

      added subschema #1 subschema #2 subschema #3 to the //// request property oneOf list

    • breaking

      removed from the ////// request property oneOf list

    • breaking

      added to the /////// response property oneOf list for the response status

    • breaking

      added to the /////// response property oneOf list for the response status

    • breaking

      added to the /////// response property oneOf list for the response status

    • info

      added to the ////// request property oneOf list

    • info

      removed from the /////// response property oneOf list for the response status

    • info

      removed from the /////// response property oneOf list for the response status

    • info

      removed from the /////// response property oneOf list for the response status