igrantio-dcql-claim-setslisted
Install: claude install-skill L3-iGrant/skills
# DCQL: claim sets (preferred claim with fallback)
## Scenario
A verifier needs an age check. It prefers the minimal boolean `is_over_21`;
if the wallet's PID lacks it, the query falls back to `birth_date`.
`claim_sets` are ordered - the wallet satisfies the first set it can.
**Before you build**: run the integrator intake in `igrantio-ows-overview` - environment, API key, tenancy, backend host, webhooks, frontend - one question at a time, a recommended default with each.
## The DCQL query
```json
{
"credentials": [
{
"id": "pid",
"format": "dc+sd-jwt",
"meta": {
"vct_values": [
"eu.europa.ec.eudi:pid.1"
]
},
"claims": [
{
"id": "over_21",
"path": [
"is_over_21"
]
},
{
"id": "birthdate",
"path": [
"birth_date"
]
}
],
"claim_sets": [
[
"over_21"
],
[
"birthdate"
]
]
}
]
}
```
## Run it on OWS
1. Store the query as a presentation definition, keep the
`presentationDefinitionId` (`igrantio-ows-overview` api-reference §3).
2. Send the verification request (v3), render QR / DC API, await
`presentation_acked` with `verified === true` (api-reference §2).
3. Read the disclosed claim from `presentation[0]` - handle BOTH shapes:
the boolean, or a birthdate you must compare yourself.
## Adjust for your deployment
- Change th