Download OpenAPI specification:
Standalone claim evaluation, rendering, and credential issuance API.
{- "api_version": "2026-05",
- "auth": {
- "api_key": {
- "header": "x-api-key"
}, - "audience": "demo.registry-notary",
- "bearer": {
- "format": "Bearer <token>",
- "header": "Authorization",
- "scheme": "bearer"
}, - "methods": [
- "api_key",
- "bearer"
]
}, - "batch": {
- "idempotency_window": "PT15M",
- "max_inline_subjects": 20
}, - "claims_url": "/claims",
- "credential_capabilities": {
- "formats": [
- "application/dc+sd-jwt"
], - "sd_jwt_vc": {
- "credential_profiles": [
- {
- "allowed_claims": [
- "farmer-under-4ha"
], - "disclosure": {
- "allowed": [
- "predicate"
]
}, - "format": "application/dc+sd-jwt",
- "holder_binding": {
- "allowed_did_methods": [
- "did:jwk"
], - "mode": "did",
- "proof_of_possession": "required"
}, - "id": "smallholder_sd_jwt",
- "issuer": "did:web:agriculture.demo.example.gov",
- "validity_seconds": 86400,
}
], - "holder_binding_methods": [
- "did:jwk"
], - "issuer_key_types": [
- "OKP/Ed25519"
], - "jwt_typ": "dc+sd-jwt",
- "media_type": "application/dc+sd-jwt",
- "openid4vci": {
- "support": "not_full_issuer"
}, - "signing_algs": [
- "EdDSA"
], - "status_methods": [ ]
}, - "unsupported_features": [
- "application/vc+sd-jwt",
- "json_ld_vc_issuance",
- "data_integrity_proofs",
- "credential_status",
- "mso_mdoc",
- "openid4vci_full_issuer"
]
}, - "formats": [
- {
- "id": "application/dc+sd-jwt",
- "kind": "credential",
- "status": "enabled"
}, - {
- "id": "application/ld+json; profile=\"cccev\"",
- "kind": "renderer",
- "status": "enabled"
}, - {
- "id": "application/vnd.registry-notary.claim-result+json",
- "kind": "claim_result",
- "status": "enabled"
}
], - "formats_url": "/formats",
- "identity": {
- "mapper": "common_subject_id",
- "production_mapper": false
}, - "issuer": {
- "id": "did:web:agriculture.demo.example.gov",
- "name": "demo.registry-notary"
}, - "operations": {
- "batch_evaluate": true,
- "credential_issue": true,
- "evaluate": true,
- "render": true
}, - "service_id": "demo.registry-notary"
}{- "keys": [
- {
- "alg": "EdDSA",
- "crv": "Ed25519",
- "kid": "did:web:agriculture.demo.example.gov#registry-notary-demo-key-1",
- "kty": "OKP",
- "x": "11qYAYKxCrfVS_3XDbXJC2AgYI57qXzcS7P0W5Y9f4Y"
}
]
}Returns the OpenID4VCI issuer metadata for Registry Notary' dc+sd-jwt issuance profile.
{- "credential_configurations_supported": {
- "person_is_alive_sd_jwt": {
- "credential_signing_alg_values_supported": [
- "EdDSA"
], - "cryptographic_binding_methods_supported": [
- "did:jwk"
], - "display": [
- {
- "name": "Person is alive"
}
], - "format": "dc+sd-jwt",
- "proof_types_supported": {
- "jwt": {
- "proof_signing_alg_values_supported": [
- "EdDSA"
]
}
}, - "scope": "person_is_alive",
}
},
}{- "data": [
- {
- "cccev": null,
- "disclosure": {
- "allowed": [
- "value",
- "redacted"
], - "default": "value",
- "downgrade": "deny"
}, - "formats": [
- "application/vnd.registry-notary.claim-result+json",
- "application/ld+json; profile=\"cccev\""
], - "id": "date-of-birth",
- "oots": null,
- "operations": {
- "batch_evaluate": false,
- "evaluate": true
}, - "subject_type": "person",
- "title": "Date of birth",
- "version": "2026-05"
}, - {
- "cccev": {
- "evidence_type": "smallholder_farmer_evidence",
- "requirement_type": "InformationRequirement"
}, - "disclosure": {
- "allowed": [
- "predicate",
- "redacted"
], - "default": "predicate",
- "downgrade": "deny"
}, - "evidence_type": "smallholder_farmer_evidence",
- "formats": [
- "application/vnd.registry-notary.claim-result+json",
- "application/ld+json; profile=\"cccev\"",
- "application/dc+sd-jwt"
], - "id": "farmer-under-4ha",
- "oots": null,
- "operations": {
- "batch_evaluate": true,
- "evaluate": true
}, - "subject_type": "person",
- "title": "Farmer under four hectares",
- "version": "2026-05"
}
]
}| Idempotency-Key | string |
| claims required | Array of strings |
| disclosure | string or null |
| format | string or null |
| purpose | string or null |
required | Array of objects (SubjectRequest) |
{- "claims": [
- "string"
], - "disclosure": "string",
- "format": "string",
- "purpose": "string",
- "subjects": [
- {
- "id": "string",
- "id_type": "string"
}
]
}{- "batch_id": "01HX7Y4N6S7ZK0R2T8Q9V1M3PA",
- "claims": [
- "farmer-under-4ha"
], - "items": [
- {
- "claim_results": [
- {
- "claim_id": "farmer-under-4ha",
- "claim_version": "2026-05",
- "disclosure": "predicate",
- "provenance": {
- "computed_by": "demo.registry-notary",
- "source_count": 1,
- "source_versions": { }
}, - "result_id": "01HX7Y5F31M8BZWQ2HY7P6J9FA",
- "satisfied": true,
- "value": true,
- "value_type": "boolean"
}
], - "errors": [ ],
- "evaluation_id": "01HX7Y5F2WAJ7ZP0Q4M5K9E8NC",
- "input_index": 0,
- "status": "succeeded",
- "subject_ref": "person-1"
}
], - "status": "completed",
- "summary": {
- "failed": 0,
- "succeeded": 1
}
}| claims required | Array of strings |
| disclosure | string or null |
| format | string or null |
| purpose | string or null |
required | object (SubjectRequest) |
{- "claims": [
- "string"
], - "disclosure": "string",
- "format": "string",
- "purpose": "string",
- "subject": {
- "id": "string",
- "id_type": "string"
}
}{- "results": [
- {
- "claim_id": "farmer-under-4ha",
- "claim_version": "2026-05",
- "disclosure": "predicate",
- "evaluation_id": "01HX7Y5F2WAJ7ZP0Q4M5K9E8NC",
- "expires_at": "2026-05-25T12:00:00Z",
- "format": "application/vnd.registry-notary.claim-result+json",
- "issued_at": "2026-05-24T12:00:00Z",
- "provenance": {
- "computed_by": "demo.registry-notary",
- "source_count": 1,
- "source_versions": { }
}, - "satisfied": true,
- "subject_ref": "person-1",
- "subject_type": "person",
- "value": true
}
]
}| claim_id required | string |
{- "cccev": {
- "evidence_type": "smallholder_farmer_evidence",
- "requirement_type": "InformationRequirement"
}, - "disclosure": {
- "allowed": [
- "predicate",
- "redacted"
], - "default": "predicate",
- "downgrade": "deny"
}, - "evidence_type": "smallholder_farmer_evidence",
- "formats": [
- "application/vnd.registry-notary.claim-result+json",
- "application/ld+json; profile=\"cccev\"",
- "application/dc+sd-jwt"
], - "id": "farmer-under-4ha",
- "oots": null,
- "operations": {
- "batch_evaluate": true,
- "evaluate": true
}, - "subject_type": "person",
- "title": "Farmer under four hectares",
- "version": "2026-05"
}| claims | Array of strings or null |
| credential_profile | string or null |
| disclosure | string or null |
| evaluation_id required | string |
| format | string or null |
null or HolderRequest (object) |
{- "claims": [
- "string"
], - "credential_profile": "string",
- "disclosure": "string",
- "evaluation_id": "string",
- "format": "string",
- "holder": { }
}{- "credential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRjK3NkLWp3dCIsImtpZCI6ImRpZDp3ZWI6YWdyaWN1bHR1cmUuZGVtby5leGFtcGxlLmdvdiNyZWdpc3RyeS13aXRuZXNzLWRlbW8ta2V5LTEifQ.eyJpc3MiOiJkaWQ6d2ViOmFncmljdWx0dXJlLmRlbW8uZXhhbXBsZS5nb3YiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKUFMxQWlMQ0pqY25ZaU9pSkZaREkxTlRFNUlpd2llQ0k2SWpFeGNWbEJXVXQ0UTNKbVZsTmZNMWhFWWxoS1F6SkJaMWxKTlRkeFdIcGpVemRRTUZjMVdUbG1ORmtpZlEiLCJpYXQiOjE3Nzk2MjQwMDAsImV4cCI6MTc3OTcxMDQwMCwidmN0IjoiaHR0cHM6Ly9kZW1vLmV4YW1wbGUuZ292L2NyZWRlbnRpYWxzL3NtYWxsaG9sZGVyLWZhcm1lci92MSIsImp0aSI6InVybjpyZWdpc3RyeS13aXRuZXNzOmNyZWRlbnRpYWw6MDFIWDdZNUYyV0FKN1pQMFE0TTVLOUU4TkMiLCJpZCI6InVybjpyZWdpc3RyeS13aXRuZXNzOmNyZWRlbnRpYWw6MDFIWDdZNUYyV0FKN1pQMFE0TTVLOUU4TkMiLCJfc2QiOlsia0ZxYXpKcDdleVhjS1ZIX0tiMzNnQ1lwMGM3dzFDLWd0WjVORkJxbDdYcyJdLCJjbmYiOnsia2lkIjoiZGlkOmp3azpleUpyZEhraU9pSlBTMUFpTENKamNuWWlPaUpGWkRJMU5URTVJaXdpZUNJNklqRXhjVmxCV1V0NFEzSm1WbE5mTTFoRVlsaEtRekpCWjFsSk5UZHhXSHBqVXpkUU1GYzFXVGxtTkZraWZRIiwiandrIjp7Imt0eSI6Ik9LUCIsImNydiI6IkVkMjU1MTkiLCJ4IjoiMTFxWUFZS3hDcmZWU18zWERiWEpDMkFnWUk1N3FYemNTN1AwVzVZOWY0WSJ9fX0.c2lnbmF0dXJl~ZGlzY2xvc3VyZQ~",
- "credential_id": "urn:registry-notary:credential:01HX7Y5F2WAJ7ZP0Q4M5K9E8NC",
- "disclosures": [
- "ZGlzY2xvc3VyZQ"
], - "expires_at": "2026-05-25T12:00:00Z",
- "format": "application/dc+sd-jwt",
- "issuer": "did:web:agriculture.demo.example.gov",
- "issuer_signed_jwt": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRjK3NkLWp3dCIsImtpZCI6ImRpZDp3ZWI6YWdyaWN1bHR1cmUuZGVtby5leGFtcGxlLmdvdiNyZWdpc3RyeS13aXRuZXNzLWRlbW8ta2V5LTEifQ.eyJpc3MiOiJkaWQ6d2ViOmFncmljdWx0dXJlLmRlbW8uZXhhbXBsZS5nb3YiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKUFMxQWlMQ0pqY25ZaU9pSkZaREkxTlRFNUlpd2llQ0k2SWpFeGNWbEJXVXQ0UTNKbVZsTmZNMWhFWWxoS1F6SkJaMWxKTlRkeFdIcGpVemRRTUZjMVdUbG1ORmtpZlEiLCJpYXQiOjE3Nzk2MjQwMDAsImV4cCI6MTc3OTcxMDQwMCwidmN0IjoiaHR0cHM6Ly9kZW1vLmV4YW1wbGUuZ292L2NyZWRlbnRpYWxzL3NtYWxsaG9sZGVyLWZhcm1lci92MSIsImp0aSI6InVybjpyZWdpc3RyeS13aXRuZXNzOmNyZWRlbnRpYWw6MDFIWDdZNUYyV0FKN1pQMFE0TTVLOUU4TkMiLCJpZCI6InVybjpyZWdpc3RyeS13aXRuZXNzOmNyZWRlbnRpYWw6MDFIWDdZNUYyV0FKN1pQMFE0TTVLOUU4TkMiLCJfc2QiOlsia0ZxYXpKcDdleVhjS1ZIX0tiMzNnQ1lwMGM3dzFDLWd0WjVORkJxbDdYcyJdLCJjbmYiOnsia2lkIjoiZGlkOmp3azpleUpyZEhraU9pSlBTMUFpTENKamNuWWlPaUpGWkRJMU5URTVJaXdpZUNJNklqRXhjVmxCV1V0NFEzSm1WbE5mTTFoRVlsaEtRekpCWjFsSk5UZHhXSHBqVXpkUU1GYzFXVGxtTkZraWZRIiwiandrIjp7Imt0eSI6Ik9LUCIsImNydiI6IkVkMjU1MTkiLCJ4IjoiMTFxWUFZS3hDcmZWU18zWERiWEpDMkFnWUk1N3FYemNTN1AwVzVZOWY0WSJ9fX0.c2lnbmF0dXJl"
}| claims | Array of strings or null |
| disclosure | string or null |
| evaluation_id required | string |
| format required | string |
| purpose | string or null |
{- "claims": [
- "string"
], - "disclosure": "string",
- "evaluation_id": "string",
- "format": "string",
- "purpose": "string"
}{- "results": [
- {
- "claim_id": "farmer-under-4ha",
- "claim_version": "2026-05",
- "disclosure": "predicate",
- "evaluation_id": "01HX7Y5F2WAJ7ZP0Q4M5K9E8NC",
- "expires_at": "2026-05-25T12:00:00Z",
- "format": "application/vnd.registry-notary.claim-result+json",
- "issued_at": "2026-05-24T12:00:00Z",
- "provenance": {
- "computed_by": "demo.registry-notary",
- "source_count": 1,
- "source_versions": { }
}, - "satisfied": true,
- "subject_ref": "person-1",
- "subject_type": "person",
- "value": true
}
]
}Accepts a compact JWS request with typ registry-notary-request+jwt. This route is mounted only when federation is enabled and uses body-JWT authentication instead of API key or bearer authentication.
Compact JWS signed federation evaluation request
{- "formats": [
- {
- "id": "application/dc+sd-jwt",
- "kind": "credential",
- "status": "enabled"
}, - {
- "id": "application/ld+json; profile=\"cccev\"",
- "kind": "renderer",
- "status": "enabled"
}, - {
- "id": "application/vnd.registry-notary.claim-result+json",
- "kind": "claim_result",
- "status": "enabled"
}
]
}Issues a dc+sd-jwt credential for an authenticated self-attestation principal. Error responses use the OpenID4VCI error envelope, not RFC 7807 Problem Details.
| credential_configuration_id | string |
| credential_identifier | string |
| format required | string |
required | object |
| vct | string <uri> |
{- "credential_configuration_id": "string",
- "credential_identifier": "string",
- "format": "dc+sd-jwt",
- "proof": {
- "jwt": "string",
- "proof_type": "jwt"
},
}{- "c_nonce": "next-b64url-nonce",
- "c_nonce_expires_in": 300,
- "credential": "eyJhbGciOiJFZERTQSIsInR5cCI6ImRjK3NkLWp3dCJ9.payload.signature~disclosure~",
- "format": "dc+sd-jwt"
}Returns an authorization-code credential offer. Error responses use the OpenID4VCI error envelope, not RFC 7807 Problem Details.
| credential_configuration_id | string |
{- "credential_configuration_ids": [
- "person_is_alive_sd_jwt"
], - "grants": {
- "authorization_code": {
- "issuer_state": "issuer-state"
}
}
}Returns a c_nonce for proof-of-possession. Error responses use the OpenID4VCI error envelope, not RFC 7807 Problem Details.
| credential_configuration_id | string |
{- "credential_configuration_id": "string"
}{- "c_nonce": "b64url-nonce",
- "c_nonce_expires_in": 300
}