igrantio-dcql-query-pid

Provides DCQL claim templates for requesting PID credentials via OpenID4VP presentation definitions.

1|Updated Jul 14, 2026
One-click install
npx skills add https://github.com/L3-iGrant/skills --skill igrantio-dcql-query-pid-l3-igrant
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: igrantio-dcql-query-pid
Source: https://github.com/L3-iGrant/skills/tree/main/presentation-definitions/igrantio-dcql-query-pid
Command: npx skills add https://github.com/L3-iGrant/skills --skill igrantio-dcql-query-pid-l3-igrant

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building an OpenID4VP presentation definition that asks an EUDI Wallet for Person Identification Data (PID) requires exact claim paths per credential format, and the claim names differ between dc+sd-jwt, jwt_vc_json, and mso_mdoc. This Skill supplies the verified claim lists, vct/doctype identifiers, and API call patterns so the request is correct the first time. ## Core Features & Use Cases - Format-specific claim templates: Full claim lists for dc+sd-jwt (vct urn:eu.europa.ec.eudi:pid:1), jwt_vc_json, and mso_mdoc (doctype eu.europa.ec.eudi.pid.1), covering name, birth date, address, contact, and age-over claims. - iGrant.io API integration: Step-by-step creation of a presentation definition via POST /v2/config/digital-wallet/openid/sdjwt/presentation-definition and sending the verification request via the V3 send operation. - Use Case: Build an age-verification check that requests only the is_over_18 claim (SD-JWT VC) or age_over_18 element (mso_mdoc) from an EUDI Wallet, without exposing the holder's birth date. ## Quick Start Ask your agent to build an OpenID4VP presentation definition that requests the PID age-over-18 claim from an EUDI Wallet using the iGrant.io verifier API.

Frequently Asked Questions about igrantio-dcql-query-pid

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I request PID claims from an EUDI Wallet with OpenID4VP?▼

Create a presentation definition via POST /v2/config/digital-wallet/openid/sdjwt/presentation-definition with one dcqlQuery.credentials entry containing the format, meta, and claims, then send it with the V3 verification send operation. The response returns a QR deep link and a presentation exchange id.

What is the DCQL claim path for an age-over-18 check?▼

For dc+sd-jwt and jwt_vc_json the claim is is_over_18 (under credentialSubject for jwt_vc_json); for mso_mdoc it is ["eu.europa.ec.eudi.pid.1", "age_over_18"]. Request only that boolean claim rather than the birth date.

What is the difference between PID claims in SD-JWT VC and mso_mdoc?▼

SD-JWT VC uses birthdate and is_over_18 with a nested address object, while mso_mdoc uses birth_date and age_over_18 with flat resident_* data elements. mDoc paths always contain exactly two elements: namespace and data element identifier.

Which meta value does each credential format need in a DCQL query?▼

dc+sd-jwt takes vct_values with urn:eu.europa.ec.eudi:pid:1, mso_mdoc takes doctype_value eu.europa.ec.eudi.pid.1, and jwt_vc_json takes type_values as an array of arrays containing the URN. Sending the wrong meta key causes the request to fail.

Why does the wallet show an unverified warning for my presentation request?▼

The warning appears when your Wallet-Relying Party Access Certificate (WRPAC) is not registered in the trust list. Contact support@igrant.io and follow the trust-list registration guide to resolve it.

When should I use the PID v2 query instead of this template?▼

Use igrantio-dcql-query-pid-v2 when you need the PID defined by EU ARF 2.8.0. This template follows the earlier PID rules from registry version 2025.7.1, and the registry source wins if the two disagree.