Skip to content

First five API calls

Every Quidnug application eventually does these five things. Here’s the canonical shape.

Terminal window
curl -X POST http://localhost:8080/api/identities \
-H 'Content-Type: application/json' \
-d '{
"quidId":"alice","name":"Alice",
"creator":"alice","updateNonce":1
}'

A quid is an ECDSA P-256 public key plus metadata. The ID is the first 16 hex characters of sha256(publicKey). Your application keeps the private key. See concepts → quids.

Terminal window
curl -X POST http://localhost:8080/api/trust \
-H 'Content-Type: application/json' \
-d '{
"truster":"alice","trustee":"bob",
"trustLevel":0.9,
"domain":"contractors.home","nonce":1
}'

Trust is a signed statement: “observer O trusts target T at level L in domain D”. See concepts → trust.

Terminal window
curl "http://localhost:8080/api/trust/alice/bob?domain=contractors.home&maxDepth=5"

Returns a trust path with a score and hop count. The answer is relative to the observer, see concepts → Proof-of-Trust.

Terminal window
curl -X POST http://localhost:8080/api/events \
-H 'Content-Type: application/json' \
-d '{
"subjectId":"alice","subjectType":"QUID",
"eventType":"profile.updated",
"payload":{"name":"Alice Chen"}
}'

Every quid or title has a monotonically sequenced event stream. Payloads up to 64 KB inline, larger via IPFS CID. See concepts → event streams.

Terminal window
curl -X POST http://localhost:8080/api/anchors \
-H 'Content-Type: application/json' \
-d '{
"kind":"rotation","signerQuid":"alice",
"fromEpoch":0,"toEpoch":1,
"newPublicKey":"<hex>","anchorNonce":1
}'

Rotations move a signer from epoch n to n+1. Optionally cap old-epoch nonces so in-flight transactions have a bounded window. See concepts → key lifecycle.

  • SDK-native versions of these five calls for every supported language live in the integration guide.
  • Guardian recovery (if Alice loses her key) lives in QDP-0002.
  • The full API shape, including request/response schemas and error codes, is in the API reference.