Context
An axone-vc authority must expose the credentials it issued so governance logic can retrieve credential identifiers matching a given case.
Expected behavior
Add a Credentials query with filtering and pagination.
Credentials {
filter: CredentialFilter,
limit: Option<u32>,
start_after: Option<Uri>,
}
Expected filter shape:
CredentialFilter {
subject: Option<Uri>,
credential_type: Option<Uri>,
valid_at: Option<Timestamp>,
}
The query must return credentials issued by this authority matching all provided filters.
An empty filter must return credentials issued by this authority, using pagination.
The query must support pagination.
Filtering
subject filters credentials by credential subject identifier.
credential_type filters credentials by one of the extracted VC type values.
valid_at filters credentials whose VC validity interval contains the given timestamp.
For valid_at:
valid_from is inclusive when present.
valid_until is exclusive when present.
- missing
valid_from means no lower bound.
- missing
valid_until means no upper bound.
Response
Expected shape:
CredentialsResponse {
identifiers: Vec<Uri>,
}
Where:
- identifiers = credential identifiers matching the query filters.
Context
An
axone-vcauthority must expose the credentials it issued so governance logic can retrieve credential identifiers matching a given case.Expected behavior
Add a
Credentialsquery with filtering and pagination.Expected filter shape:
The query must return credentials issued by this authority matching all provided filters.
An empty filter must return credentials issued by this authority, using pagination.
The query must support pagination.
Filtering
subjectfilters credentials by credential subject identifier.credential_typefilters credentials by one of the extracted VCtypevalues.valid_atfilters credentials whose VC validity interval contains the given timestamp.For
valid_at:valid_fromis inclusive when present.valid_untilis exclusive when present.valid_frommeans no lower bound.valid_untilmeans no upper bound.Response
Expected shape:
Where: