Download OpenAPI specification:Download
OpenAPI specification for issuing and verifying verifiable credentials (VCs).
The VC API issues AgeOver18 credentials after registry verification and consent. Issued credentials can be verified by ID without re-checking registries.
Issued credentials are permanent and immutable in the current implementation:
Future enhancements (see PRD-004 Section 7):
vc_issuanceIssues an AgeOver18 credential after verifying the user's date of birth via the citizen registry. In regulated mode, PII is stripped from claims.
Audit: Emits vc_issued event on success.
| type required | string Value: "AgeOver18" Credential type to issue |
| national_id required | string [ 6 .. 20 ] characters ^[A-Z0-9]{6,20}$ National identifier to verify |
{- "type": "AgeOver18",
- "national_id": "123456789"
}{- "credential_id": "vc_550e8400-e29b-41d4-a716-446655440000",
- "type": "AgeOver18",
- "subject": "user_def456",
- "issuer": "credo",
- "issued_at": "2025-12-03T10:00:00Z",
- "claims": {
- "is_over_18": true,
- "verified_via": "national_registry"
}
}Verifies an issued credential by ID and returns its stored content.
Audit: Emits vc_verified event on success.
| credential_id required | string = 39 characters ^vc_[0-9a-fA-F-]{36}$ Credential identifier |
{- "credential_id": "vc_550e8400-e29b-41d4-a716-446655440000"
}{- "valid": true,
- "credential_id": "vc_550e8400-e29b-41d4-a716-446655440000",
- "type": "AgeOver18",
- "subject": "user_def456",
- "issued_at": "2025-12-03T10:00:00Z",
- "claims": {
- "is_over_18": true
}
}