Skip to content

IDProva is now available -- Get started

Registry API

The IDProva registry is an HTTP server for storing and resolving Agent Identity Documents. Built with Axum and SQLite, it can be self-hosted or used as a managed service.

Base URL: Your self-hosted instance (e.g., http://localhost:3000). A managed registry at registry.idprova.dev is planned for a future release.

Health check endpoint.

Response 200 OK:

{
"status": "healthy",
"version": "0.1.0",
"protocol": "idprova",
"spec_version": "0.1-draft"
}

Protocol metadata and supported algorithms.

Response 200 OK:

{
"protocol": "idprova",
"version": "0.1-draft",
"algorithms": {
"signing": ["Ed25519"],
"hashing": ["BLAKE3", "SHA-256"],
"post_quantum": ["ML-DSA-65"]
},
"did_method": "did:idprova"
}

Register or update an Agent Identity Document.

Path parameters:

ParameterDescription
:idThe agent identifier portion of the DID (e.g., example.com:my-agent)

Request body: AID Document as JSON (W3C DID Document format).

{
"id": "did:idprova:example.com:my-agent",
"controller": "did:idprova:example.com:alice",
"@context": ["https://www.w3.org/ns/did/v1", "https://idprova.dev/ns/v1"],
"verificationMethod": [
{
"id": "did:idprova:example.com:my-agent#key-ed25519-1",
"type": "Ed25519VerificationKey2020",
"controller": "did:idprova:example.com:my-agent",
"publicKeyMultibase": "z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
}
],
"authentication": ["did:idprova:example.com:my-agent#key-ed25519-1"],
"service": []
}

Response 201 Created: AID registered successfully.

Response 200 OK: AID updated successfully.

Response 400 Bad Request: Invalid AID document structure.


Resolve an Agent Identity Document.

Path parameters:

ParameterDescription
:idThe agent identifier portion of the DID

Response 200 OK: AID Document as JSON.

Response 404 Not Found:

{
"error": "not_found",
"message": "AID not found: did:idprova:example.com:my-agent"
}

Soft-delete (deactivate) an Agent Identity Document.

Path parameters:

ParameterDescription
:idThe agent identifier portion of the DID

Response 200 OK: AID deactivated.

Response 404 Not Found: AID not found.


Extract verification methods from an AID.

Path parameters:

ParameterDescription
:idThe agent identifier portion of the DID

Response 200 OK:

{
"did": "did:idprova:example.com:my-agent",
"verificationMethod": [
{
"id": "did:idprova:example.com:my-agent#key-ed25519-1",
"type": "Ed25519VerificationKey2020",
"publicKeyMultibase": "z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
}
]
}

Response 404 Not Found: AID not found.


Terminal window
docker run -d \
--name idprova-registry \
-p 3000:3000 \
-v idprova-data:/app/data \
ghcr.io/techblaze-au/idprova:latest
VariableDefaultDescription
IDPROVA_HOST0.0.0.0Listen address
IDPROVA_PORT3000Listen port
IDPROVA_DB_PATH/app/data/registry.dbSQLite database path
RUST_LOGinfoLog level (debug, info, warn, error)
Terminal window
curl http://localhost:3000/health