HTTP endpoints
Eight endpoints. Verification questions are answered off-chain and signed — no gas, nothing written. Only /v1/push sends a transaction.
GET/v1/health
Liveness. Useful for checking your key works.
curl https://<host>/v1/health \
-H "Authorization: Bearer idc_live_…"GET/v1/resolve/{did}
Resolve a DID document. The method in the DID picks the chain.
curl https://<host>/v1/resolve/did:ethr:0xEff9e35… \
-H "Authorization: Bearer idc_live_…"GET/v1/status/{credentialId}
Credential status by bare hash. Takes ?chain= since a hash names no chain.
curl "https://<host>/v1/status/0xabc…?chain=eid" \
-H "Authorization: Bearer idc_live_…"GET/v1/schema/{hash}
Credential schema. eIDChain returns a commitment only; Ethereum and Fabric return the full JSON.
curl "https://<host>/v1/schema/0xdef…?chain=ethr" \
-H "Authorization: Bearer idc_live_…"GET/v1/attestation/{did}/{credentialId}
Read back an attestation from the target chain’s own storage.
curl https://<host>/v1/attestation/did:eid:4pZ…/0xabc… \
-H "Authorization: Bearer idc_live_…"POST/v1/verify
The main path. Send a W3C Verifiable Presentation, get a signed attestation naming the subject.
curl -X POST https://<host>/v1/verify \
-H "Authorization: Bearer idc_live_…" \
-H "Content-Type: application/json" \
-d @presentation.jsonPOST/v1/credential-status
W3C BitstringStatusList check. Chain-independent — works for any compliant issuer.
curl -X POST https://<host>/v1/credential-status \
-H "Authorization: Bearer idc_live_…" \
-H "Content-Type: application/json" \
-d '{"credentialStatus":{…}}'POST/v1/push
Write a signed attestation on-chain. Costs gas — see your plan.
curl -X POST https://<host>/v1/push \
-H "Authorization: Bearer idc_live_…" \
-H "Content-Type: application/json" \
-d '{"target":"ethr","attestation":{…},"signature":"0x…"}'