Nodex (6.1.1)

Download OpenAPI specification:Download

License: Apache-2.0

Get DID by device name

query Parameters
device_name
required
string
Example: device_name=device-001

The name of the device to retrieve the associated DID

Responses

Response samples

Content type
application/json
{
  • "did": "did:webvh:QmAbc123DefGhi456JklMno789PqrStu012VwxYz345AbcDef:example.com"
}

Resolve a DID document

Resolves the given DID and returns its DID document. Returns null when the identifier cannot be resolved. The document follows the DID WebVH layout (P-384 / Ed25519 keys, JsonWebKey2020 / Ed25519VerificationKey2018).

path Parameters
did
required
string
Example: did:webvh:QmAbc123DefGhi456JklMno789PqrStu012VwxYz345AbcDef:example.com

The DID to resolve

Responses

Response samples

Content type
application/json
null

Create a DIDComm message

Encrypts the given plaintext message for the destination DID using P-384 ECDH-1PU key agreement with AES-256-GCM content encryption (FIPS 140-3 compliant). Returns the resulting DIDComm JSON envelope as a JSON-encoded string with alg: "ECDH-1PU+A256KW" and enc: "A256GCM".

Request Body schema: application/json
required
destination_did
required
string

DID of the recipient

message
required
string

Plaintext message body to encrypt for the recipient.

Responses

Request samples

Content type
application/json
{
  • "destination_did": "did:webvh:QmAbc123DefGhi456JklMno789PqrStu012VwxYz345AbcDef:example.com",
  • "message": "{\"hello\":\"world\"}"
}

Response samples

Content type
application/json
"{\"ciphertext\":\"...\",\"iv\":\"...\",\"protected\":\"...\",\"recipients\":[{\"encrypted_key\":\"...\",\"header\":{\"alg\":\"ECDH-1PU+A256KW\",\"epk\":{\"crv\":\"P-384\",\"kty\":\"EC\",\"x\":\"...\",\"y\":\"...\"},\"iv\":\"...\",\"key_ops\":[],\"kid\":\"\",\"tag\":\"...\"}}],\"tag\":\"...\"}"

Verify a DIDComm message

Verifies and decrypts a DIDComm message. The request body wraps the DIDComm envelope as a JSON-encoded string under the message field (matching the output of /create-didcomm-message). The envelope must use alg: "ECDH-1PU+A256KW" with enc: "A256GCM" over P-384.

Request Body schema: application/json
required
message
required
string

JSON-encoded string of the DIDComm v2 envelope to verify. After parsing it has the shape {ciphertext, iv, protected, recipients: [{encrypted_key, header}], tag}.

Responses

Request samples

Content type
application/json
{
  • "message": "{\"ciphertext\":\"...\",\"iv\":\"...\",\"protected\":\"...\",\"recipients\":[],\"tag\":\"...\"}"
}

Response samples

Content type
application/json
{
  • "message_id": "12345678-abcd-ef01-2345-6789abcdef01",
  • "payload": "{\"message\":\"hello\"}",
  • "created_at": "2025-05-29T12:34:56.789012345+00:00",
  • "sender_did": "did:webvh:QmAbc123DefGhi456JklMno789PqrStu012VwxYz345AbcDef:example.com"
}

Send events

Request Body schema: application/json
required
Array
key
required
string (Key)
detail
required
string (Detail)
occurred_at
required
integer <int64> (Occurred At (epoch milliseconds))

Unix epoch time in milliseconds

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 1050,
  • "message": "invalid key"
}

Send custom metrics

Request Body schema: application/json
required
Array
key
required
string (Key)
value
required
number <float> (Value)
occurred_at
required
integer <int64> (Occurred At (epoch milliseconds))

Unix epoch time in milliseconds

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 1040,
  • "message": "invalid key"
}

Send logs

Request Body schema: application/json
required
Array
key
required
string (Key)
message
required
string (Message)
occurred_at
required
integer <int64> (Occurred At (epoch milliseconds))

Unix epoch time in milliseconds

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": 1060,
  • "message": "message is required"
}

Send an attribute

Request Body schema: application/json
required
key_name
required
string (Key name)
value
required
string (Value)

Responses

Request samples

Content type
application/json
{
  • "key_name": "test-key-name",
  • "value": "test-value"
}

Response samples

Content type
application/json
{
  • "code": 1030,
  • "message": "key_name is required"
}

Execute device operation

Triggers execution of any pending device operations that have been reserved for this device. Use this to manually trigger an operation instead of waiting for the automatic polling mechanism.

Responses

Response samples

Content type
application/json
{
  • "status": "executed",
  • "message": "Device operation executed successfully"
}

Get agent version

Returns the running agent's Cargo package version.

Responses

Response samples

Content type
application/json
{
  • "version": "6.1.1"
}