Universal Registrar

Execute a DID operation

Changed on

This endpoint executes an operation that uses the DID but is not related to the standard create/update/deactivate operations. As input it takes the existing DID, an operation, operation data, plus optional DID registration options and secrets needed to execute the operation. The output is a state object that represents the current state of the execution process, and an operation result.

See the DID Registration specification for additional details.

post/execute

Request

Request body

didstring required

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

operationstring[]

This input field indicates which operation should be executed. See <a href="https://identity.foundation/did-registration/#operation">https://identity.foundation/did-registration/#operation</a>.

operationDataobject[]

This input field contains additional data. See <a href="https://identity.foundation/did-registration/#operationdata">https://identity.foundation/did-registration/#operationdata</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",
  "operation": [
    "executeMyOperation"
  ],
  "operationData": [
    {
      "myOperationData": "myOperationValue"
    }
  ]
}

Response

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

didRegistrationMetadataobject
didDocumentMetadataobject
operationResultobject[]

This output field contains the result of the operation. See <a href="https://identity.foundation/did-registration/#operationdata">https://identity.foundation/did-registration/#operationdata</a>.

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"
          }
        }
      ]
    }
  },
  "operationResult": [
    {
      "myOperationData": "myOperationValue"
    }
  ]
}

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