Skip to content

IDProva launches April 7 — Registry packages coming at launch. Build from source now.

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: https://registry.idprova.dev (managed) or your self-hosted instance.

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 \
techblaze/idprova:latest
Terminal window
git clone https://github.com/techblaze-au/idprova.git
cd idprova
cargo run --release -p idprova-registry
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