This environment is intended for testing verification workflows and conducting interoperability sessions. For enquiries or support, please contact support@igrant.io

Session Detail

Inspect a single verification session

0205e536-a075-40b3-a0aa-503e8274df8e

failed
direct_post

e8d0b861-d55b-47a5-a32c-838872597ec0
redirect_uri:https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post
pUkeiUZo1GZ5OfOtzOm0oMu_U7osRY2MQ08OaNjUqMU

https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post
600s
age_verification_over_18
2026-08-18 13:44:18 UTC    2026-08-18 13:44:19 UTC

DCQL Query

View Query
{
  "credentials": [
    {
      "id": "age_verification",
      "format": "mso_mdoc",
      "meta": {
        "doctype_value": "eu.europa.ec.av.1"
      },
      "claims": [
        {
          "path": [
            "eu.europa.ec.av.1",
            "age_over_18"
          ],
          "intent_to_retain": false
        }
      ]
    }
  ]
}

Validation Result

Invalid
age_verification
mso_mdoc
Invalid
'dict' object has no attribute 'doctype'
View Details
{
  "valid": false,
  "format": "mso_mdoc",
  "disclosed_claims": {},
  "issuer": null,
  "error": "'dict' object has no attribute 'doctype'",
  "checks": []
}

VP Token

View Raw Token
{
  "age_verification": [
    "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WEBXCD5ZEIQ6AtwGN39BKvW5ytRuQEM6jvjhw0ae1ZCvfEoUt5zDxY3jWnHGyfS1fA7kxgtAV2lqISCO4xRMVniqam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQIaMIICFjCCAbygAwIBAgIUXPJ0WdTpIETWDp3B07DpRahoGMUwCgYIKoZIzj0EAwIwJTELMAkGA1UEBhMCRlIxFjAUBgNVBAMMDW1ETCBUZXN0IElBQ0EwHhcNMjYwODE3MTIxNjIxWhcNMjcwODE4MTIxNjIxWjAjMQswCQYDVQQGEwJGUjEUMBIGA1UEAwwLbURMIFRlc3QgRFMwWjAUBgcqhkjOPQIBBgkrJAMDAggBAQcDQgAEQWi0SLQb9TybV7Jgy1ZM_YCxAim1_vFakMp8dpjZHp121luvMabqemY5aYAl8ZHI2518DbGUgPfUxLhInH3RUqOByjCBxzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB_wQEAwIHgDAdBgNVHQ4EFgQUgcECOrWZCVO7fRsSQt8XsFFJcwUwHwYDVR0jBBgwFoAUYxaYXfMI1xn7A3RzD-RQd4SF7K8wJAYDVR0RBB0wG4YZaHR0cHM6Ly9tZGwtdGVzdC5pbnZhbGlkLzAtBgNVHR8EJjAkMCKgIKAehhxodHRwczovL21kbC10ZXN0LmludmFsaWQvY3JsMBIGA1UdJQQLMAkGByiBjF0FAQIwCgYIKoZIzj0EAwIDSAAwRQIhALhesE8j8739j0zVClkfm5B2CTIhU_OPrP46_DPXhlB1AiB2SYN2oHsSLFexbo_OHxFc7W_ouCUMnkR1TaopzbrmBlkBfdgYWQF4pmdkb2NUeXBlcWV1LmV1cm9wYS5lYy5hdi4xZ3ZlcnNpb25jMS4wbHZhbGlkaXR5SW5mb6Nmc2lnbmVkwHQyMDI2LTA4LTE4VDEzOjM5OjE5Wml2YWxpZEZyb23AdDIwMjYtMDgtMThUMTM6Mzk6MTlaanZhbGlkVW50aWzAdDIwMjctMDgtMThUMTM6NDQ6MTlabHZhbHVlRGlnZXN0c6FxZXUuZXVyb3BhLmVjLmF2LjGiAFgg-pDoyGUsL1WYC4GCtI-rFHGjdmH3Eq7ly95EGl1GmXABWCBv5kzR_Eg6J00WUQJInciOJJolD4fywvGz2RC4LSUPMG1kZXZpY2VLZXlJbmZvoWlkZXZpY2VLZXmkAQIgGQEAIVggZWmOhun0Sod5gLo_AyjBGqsOdxuyJDr1BM5GXwMQG8giWCAUrw4uQzZFawOXjmuZV8eJUquIXZc6qSE62DV6ASWq729kaWdlc3RBbGdvcml0aG1nU0hBLTI1NlhAiH2ReDZgB_PhwxxQjfgZGS3sODD0VXTwdrwC3_HGlyaJrBQSAWCljM5gQk2jRTY2uYPVAsnde34x6nlV6_NStWpuYW1lU3BhY2VzoXFldS5ldXJvcGEuZWMuYXYuMYHYGFhgpGZyYW5kb21YIC_Iw6_gnuMNfz-4Y2-aiB09QM96wxt8uEO1cO8WM-hZaGRpZ2VzdElEAGxlbGVtZW50VmFsdWX1cWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4"
  ]
}

Decoded Token

Decoded JWT headers, payloads, disclosures, and key binding

View Decoded Token
{
  "age_verification": {
    "status": 0,
    "version": "1.0",
    "documents": [
      {
        "docType": "eu.europa.ec.av.1",
        "deviceSigned": {
          "deviceAuth": {
            "deviceSignature": [
              "b'\\xa1\\x01&'",
              {},
              null,
              "b'W\\x08>Y\\x10\\x84:\\x02\\xdc\\x067\\x7fA*\\xf5\\xb9\\xca\\xd4n@C:\\x8e\\xf8\\xe1\\xc3F\\x9e\\xd5\\x90\\xaf|J\\x14\\xb7\\x9c\\xc3\\xc5\\x8d\\xe3Zq\\xc6\\xc9\\xf4\\xb5|\\x0e\\xe4\\xc6\\x0b@Wij! \\x8e\\xe3\\x14LVx\\xaa'"
            ]
          },
          "nameSpaces": "CBORTag(24, b'\\xa0')"
        },
        "issuerSigned": {
          "issuerAuth": [
            "b'\\xa1\\x01&'",
            {
              "33": "b'0\\x82\\x02\\x160\\x82\\x01\\xbc\\xa0\\x03\\x02\\x01\\x02\\x02\\x14\\\\\\xf2tY\\xd4\\xe9 D\\xd6\\x0e\\x9d\\xc1\\xd3\\xb0\\xe9E\\xa8h\\x18\\xc50\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x020%1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02FR1\\x160\\x14\\x06\\x03U\\x04\\x03\\x0c\\rmDL Test IACA0\\x1e\\x17\\r260817121621Z\\x17\\r270818121621Z0#1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02FR1\\x140\\x12\\x06\\x03U\\x04\\x03\\x0c\\x0bmDL Test DS0Z0\\x14\\x06\\x07*\\x86H\\xce=\\x02\\x01\\x06\\t+$\\x03\\x03\\x02\\x08\\x01\\x01\\x07\\x03B\\x00\\x04Ah\\xb4H\\xb4\\x1b\\xf5<\\x9bW\\xb2`\\xcbVL\\xfd\\x80\\xb1\\x02)\\xb5\\xfe\\xf1Z\\x90\\xca|v\\x98\\xd9\\x1e\\x9dv\\xd6[\\xaf1\\xa6\\xeazf9i\\x80%\\xf1\\x91\\xc8\\xdb\\x9d|\\r\\xb1\\x94\\x80\\xf7\\xd4\\xc4\\xb8H\\x9c}\\xd1R\\xa3\\x81\\xca0\\x81\\xc70\\x0c\\x06\\x03U\\x1d\\x13\\x01\\x01\\xff\\x04\\x020\\x000\\x0e\\x06\\x03U\\x1d\\x0f\\x01\\x01\\xff\\x04\\x04\\x03\\x02\\x07\\x800\\x1d\\x06\\x03U\\x1d\\x0e\\x04\\x16\\x04\\x14\\x81\\xc1\\x02:\\xb5\\x99\\tS\\xbb}\\x1b\\x12B\\xdf\\x17\\xb0QIs\\x050\\x1f\\x06\\x03U\\x1d#\\x04\\x180\\x16\\x80\\x14c\\x16\\x98]\\xf3\\x08\\xd7\\x19\\xfb\\x03ts\\x0f\\xe4Pw\\x84\\x85\\xec\\xaf0$\\x06\\x03U\\x1d\\x11\\x04\\x1d0\\x1b\\x86\\x19https://mdl-test.invalid/0-\\x06\\x03U\\x1d\\x1f\\x04&0$0\"\\xa0 \\xa0\\x1e\\x86\\x1chttps://mdl-test.invalid/crl0\\x12\\x06\\x03U\\x1d%\\x04\\x0b0\\t\\x06\\x07(\\x81\\x8c]\\x05\\x01\\x020\\n\\x06\\x08*\\x86H\\xce=\\x04\\x03\\x02\\x03H\\x000E\\x02!\\x00\\xb8^\\xb0O#\\xf3\\xbd\\xfd\\x8fL\\xd5\\nY\\x1f\\x9b\\x90v\\t2!S\\xf3\\x8f\\xac\\xfe:\\xfc3\\xd7\\x86Pu\\x02 vI\\x83v\\xa0{\\x12,W\\xb1n\\x8f\\xce\\x1f\\x11\\\\\\xedo\\xe8\\xb8%\\x0c\\x9eDuM\\xaa)\\xcd\\xba\\xe6\\x06'"
            },
            "b'\\xd8\\x18Y\\x01x\\xa6gdocTypeqeu.europa.ec.av.1gversionc1.0lvalidityInfo\\xa3fsigned\\xc0t2026-08-18T13:39:19ZivalidFrom\\xc0t2026-08-18T13:39:19ZjvalidUntil\\xc0t2027-08-18T13:44:19ZlvalueDigests\\xa1qeu.europa.ec.av.1\\xa2\\x00X \\xfa\\x90\\xe8\\xc8e,/U\\x98\\x0b\\x81\\x82\\xb4\\x8f\\xab\\x14q\\xa3va\\xf7\\x12\\xae\\xe5\\xcb\\xdeD\\x1a]F\\x99p\\x01X o\\xe6L\\xd1\\xfcH:\\'M\\x16Q\\x02H\\x9d\\xc8\\x8e$\\x9a%\\x0f\\x87\\xf2\\xc2\\xf1\\xb3\\xd9\\x10\\xb8-%\\x0f0mdeviceKeyInfo\\xa1ideviceKey\\xa4\\x01\\x02 \\x19\\x01\\x00!X ei\\x8e\\x86\\xe9\\xf4J\\x87y\\x80\\xba?\\x03(\\xc1\\x1a\\xab\\x0ew\\x1b\\xb2$:\\xf5\\x04\\xceF_\\x03\\x10\\x1b\\xc8\"X \\x14\\xaf\\x0e.C6Ek\\x03\\x97\\x8ek\\x99W\\xc7\\x89R\\xab\\x88]\\x97:\\xa9!:\\xd85z\\x01%\\xaa\\xefodigestAlgorithmgSHA-256'",
            "b'\\x88}\\x91x6`\\x07\\xf3\\xe1\\xc3\\x1cP\\x8d\\xf8\\x19\\x19-\\xec80\\xf4Ut\\xf0v\\xbc\\x02\\xdf\\xf1\\xc6\\x97&\\x89\\xac\\x14\\x12\\x01`\\xa5\\x8c\\xce`BM\\xa3E66\\xb9\\x83\\xd5\\x02\\xc9\\xdd{~1\\xeayU\\xeb\\xf3R\\xb5'"
          ],
          "nameSpaces": {
            "eu.europa.ec.av.1": [
              "CBORTag(24, b'\\xa4frandomX /\\xc8\\xc3\\xaf\\xe0\\x9e\\xe3\\r\\x7f?\\xb8co\\x9a\\x88\\x1d=@\\xcfz\\xc3\\x1b|\\xb8C\\xb5p\\xef\\x163\\xe8YhdigestID\\x00lelementValue\\xf5qelementIdentifierkage_over_18')"
            ]
          }
        }
      }
    ]
  }
}

Session Logs

4 total
2026-08-18 13:44:18 UTC INFO /presentations Presentation request created
Data:
{
  "request_headers": {
    "host": "api.playground.france-identite.gouv.local:32689",
    "x-forwarded-server": "api.playground.france-identite.gouv.fr",
    "referer": "https://api.playground.france-identite.gouv.fr/igrantio/verifier/admin/create-request/",
    "upgrade-insecure-requests": "1",
    "x-forwarded-host": "api.playground.france-identite.gouv.fr",
    "accept-language": "fr,fr-FR;q=0.9,en-US;q=0.8,en;q=0.7",
    "x-forwarded-for": "45.80.21.154, 127.0.0.1,10.42.7.1",
    "accept-encoding": "gzip, deflate, br, zstd",
    "sec-fetch-dest": "document",
    "content-type": "application/x-www-form-urlencoded",
    "user-agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:147.0) Gecko/20100101 Firefox/147.0",
    "priority": "u=0, i",
    "sec-fetch-mode": "navigate",
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "x-forwarded-proto": "https",
    "sec-fetch-site": "same-origin",
    "origin": "https://api.playground.france-identite.gouv.fr",
    "via": "1.1 Caddy",
    "sec-fetch-user": "?1",
    "content-length": "136",
    "cookie": "p2r_cookie_consent=%7B%22essential%22%3Atrue%2C%22analytics%22%3Afalse%2C%22preferences%22%3Afalse%2C%22timestamp%22%3A%222026-08-10T14%3A04%3A44.382Z%22%2C%22version%22%3A%222%22%7D; csrftoken=GChFZlMAX855aIEY5DXrSmiqcTftLtbr; rpsessionid=xbi3gq9c7r80bngis15na9g11z98oii9",
    "x-envoy-external-address": "10.42.7.1",
    "x-request-id": "ea53af0c-36f1-4298-bb95-450a78099beb",
    "x-envoy-attempt-count": "1",
    "x-envoy-original-path": "/igrantio/verifier/admin/create-request/",
    "x-forwarded-client-cert": "By=spiffe://cluster.local/ns/igrantio/sa/igrantio-playground-unfold;Hash=9cf625618a990724fb45e434ea38b12140b63e3a9368da51a33c5f5f9ca71c1a;Subject=\"\";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",
    "traceparent": "00-8c3e9facd74400e3aab9c8edfe847bd6-40cc15cba393dbbe-00",
    "tracestate": ""
  },
  "request_body": {
    "dcql_query": {
      "credentials": [
        {
          "id": "age_verification",
          "format": "mso_mdoc",
          "meta": {
            "doctype_value": "eu.europa.ec.av.1"
          },
          "claims": [
            {
              "path": [
                "eu.europa.ec.av.1",
                "age_over_18"
              ],
              "intent_to_retain": false
            }
          ]
        }
      ]
    },
    "preset_id": "age_verification_over_18",
    "protocol_profile": "av",
    "wallet_url_scheme": "av://"
  },
  "transaction_id": "0205e536-a075-40b3-a0aa-503e8274df8e",
  "request_id": "e8d0b861-d55b-47a5-a32c-838872597ec0",
  "nonce": "pUkeiUZo1GZ5OfOtzOm0oMu_U7osRY2MQ08OaNjUqMU",
  "client_id": "redirect_uri:https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post",
  "response_uri": "https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post",
  "response_mode": "direct_post",
  "dcql_query": {
    "credentials": [
      {
        "id": "age_verification",
        "format": "mso_mdoc",
        "meta": {
          "doctype_value": "eu.europa.ec.av.1"
        },
        "claims": [
          {
            "path": [
              "eu.europa.ec.av.1",
              "age_over_18"
            ],
            "intent_to_retain": false
          }
        ]
      }
    ]
  },
  "preset_id": "age_verification_over_18",
  "protocol_profile": "av"
}
2026-08-18 13:44:19 UTC INFO /post VP Token received
Data:
{
  "vp_token": {
    "age_verification": [
      "o2ZzdGF0dXMAZ3ZlcnNpb25jMS4waWRvY3VtZW50c4GjZ2RvY1R5cGVxZXUuZXVyb3BhLmVjLmF2LjFsZGV2aWNlU2lnbmVkompkZXZpY2VBdXRooW9kZXZpY2VTaWduYXR1cmWEQ6EBJqD2WEBXCD5ZEIQ6AtwGN39BKvW5ytRuQEM6jvjhw0ae1ZCvfEoUt5zDxY3jWnHGyfS1fA7kxgtAV2lqISCO4xRMVniqam5hbWVTcGFjZXPYGEGgbGlzc3VlclNpZ25lZKJqaXNzdWVyQXV0aIRDoQEmoRghWQIaMIICFjCCAbygAwIBAgIUXPJ0WdTpIETWDp3B07DpRahoGMUwCgYIKoZIzj0EAwIwJTELMAkGA1UEBhMCRlIxFjAUBgNVBAMMDW1ETCBUZXN0IElBQ0EwHhcNMjYwODE3MTIxNjIxWhcNMjcwODE4MTIxNjIxWjAjMQswCQYDVQQGEwJGUjEUMBIGA1UEAwwLbURMIFRlc3QgRFMwWjAUBgcqhkjOPQIBBgkrJAMDAggBAQcDQgAEQWi0SLQb9TybV7Jgy1ZM_YCxAim1_vFakMp8dpjZHp121luvMabqemY5aYAl8ZHI2518DbGUgPfUxLhInH3RUqOByjCBxzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB_wQEAwIHgDAdBgNVHQ4EFgQUgcECOrWZCVO7fRsSQt8XsFFJcwUwHwYDVR0jBBgwFoAUYxaYXfMI1xn7A3RzD-RQd4SF7K8wJAYDVR0RBB0wG4YZaHR0cHM6Ly9tZGwtdGVzdC5pbnZhbGlkLzAtBgNVHR8EJjAkMCKgIKAehhxodHRwczovL21kbC10ZXN0LmludmFsaWQvY3JsMBIGA1UdJQQLMAkGByiBjF0FAQIwCgYIKoZIzj0EAwIDSAAwRQIhALhesE8j8739j0zVClkfm5B2CTIhU_OPrP46_DPXhlB1AiB2SYN2oHsSLFexbo_OHxFc7W_ouCUMnkR1TaopzbrmBlkBfdgYWQF4pmdkb2NUeXBlcWV1LmV1cm9wYS5lYy5hdi4xZ3ZlcnNpb25jMS4wbHZhbGlkaXR5SW5mb6Nmc2lnbmVkwHQyMDI2LTA4LTE4VDEzOjM5OjE5Wml2YWxpZEZyb23AdDIwMjYtMDgtMThUMTM6Mzk6MTlaanZhbGlkVW50aWzAdDIwMjctMDgtMThUMTM6NDQ6MTlabHZhbHVlRGlnZXN0c6FxZXUuZXVyb3BhLmVjLmF2LjGiAFgg-pDoyGUsL1WYC4GCtI-rFHGjdmH3Eq7ly95EGl1GmXABWCBv5kzR_Eg6J00WUQJInciOJJolD4fywvGz2RC4LSUPMG1kZXZpY2VLZXlJbmZvoWlkZXZpY2VLZXmkAQIgGQEAIVggZWmOhun0Sod5gLo_AyjBGqsOdxuyJDr1BM5GXwMQG8giWCAUrw4uQzZFawOXjmuZV8eJUquIXZc6qSE62DV6ASWq729kaWdlc3RBbGdvcml0aG1nU0hBLTI1NlhAiH2ReDZgB_PhwxxQjfgZGS3sODD0VXTwdrwC3_HGlyaJrBQSAWCljM5gQk2jRTY2uYPVAsnde34x6nlV6_NStWpuYW1lU3BhY2VzoXFldS5ldXJvcGEuZWMuYXYuMYHYGFhgpGZyYW5kb21YIC_Iw6_gnuMNfz-4Y2-aiB09QM96wxt8uEO1cO8WM-hZaGRpZ2VzdElEAGxlbGVtZW50VmFsdWX1cWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4"
    ]
  },
  "state": "e8d0b861-d55b-47a5-a32c-838872597ec0",
  "nonce": "pUkeiUZo1GZ5OfOtzOm0oMu_U7osRY2MQ08OaNjUqMU",
  "client_id": "redirect_uri:https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post",
  "response_uri": "https://api.playground.france-identite.gouv.fr/igrantio/verifier-backend/post"
}
2026-08-18 13:44:19 UTC WARNING /post Validation failed
How to fix:
One or more credentials failed verification. Check the 'credentials' object below for per-credential errors.
Data:
{
  "hint": "One or more credentials failed verification. Check the 'credentials' object below for per-credential errors.",
  "credentials": {
    "age_verification": {
      "valid": false,
      "format": "mso_mdoc",
      "error": "'dict' object has no attribute 'doctype'",
      "checks": []
    }
  }
}
2026-08-18 13:44:23 UTC ERROR /post direct_post handling failed
How to fix:
The direct_post handler rejected the response. This usually means the state does not match a known transaction or the transaction is not in the expected status.
View specification →
Error:
Transaction in unexpected status 'failed'
Stack trace
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/verifier/routers/protocol/direct_post.py", line 498, in wallet_direct_post
    txn, response_code = await handle_direct_post(store, state, vp_token)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openid4vp_direct_post/handler.py", line 36, in handle_direct_post
    raise ValueError(f"Transaction in unexpected status '{txn.status}'")
ValueError: Transaction in unexpected status 'failed'
Data:
{
  "hint": "The direct_post handler rejected the response. This usually means the state does not match a known transaction or the transaction is not in the expected status.",
  "spec_url": "https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-7.1",
  "state": "e8d0b861-d55b-47a5-a32c-838872597ec0"
}