{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/guides/sidebars.yaml","api-docs-docs/openapi/credential-invitations-v1.yaml":"api-docs-docs/openapi/credential-invitations-v1.yaml","api-docs-docs/openapi/credential-offers-v1.yaml":"api-docs-docs/openapi/credential-offers-v1.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","openapi-code-sample","json-schema"]},"type":"markdown"},"seo":{"title":"Credential Issuance Flow"},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"credential-issuance-flow","__idx":0},"children":["Credential Issuance Flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide explains both B2B issuance branches: an immediate credential offer and a partner-delivered invitation code. Both branches end in the same credential-offer and issued-credential lifecycle."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An API credential with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deepcredentials.issue"]}," scope. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/authentication"},"children":["Authentication"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A credential definition configured for your organization in the portal."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Issuer setup completed (DID + status list) in the portal."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["For webhook progress notifications, a destination and event subscriptions configured in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Webhooks"]}," in the portal."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Portal configuration comes first. At runtime, your partner integration uses the B2B endpoints below; invitation redemption is the one anonymous public step performed for the recipient."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If issuance follows an eID check, wait for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status: success"]}," and evaluate ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential_status"]}," through the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/verification-flow"},"children":["Verification Flow"]},", then fetch the disclosed values with authenticated GET. Your system decides how to build the new credential claims: it may copy, transform, supplement, or ignore the verified values. Issuance does not accept a verification-session ID and does not require the new claims to match the eID."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choose-a-delivery-branch","__idx":2},"children":["Choose a delivery branch"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Branch"},"children":["Branch"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Create call"},"children":["Create call"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What your system receives"},"children":["What your system receives"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Who delivers it"},"children":["Who delivers it"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Immediate offer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /b2b/v1/credential-offers"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An OID4VCI deeplink and QR image"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your system displays or delivers the offer. The existing optional offer-email delivery is separate from invitations."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invitation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /b2b/v1/credential-invitations"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invitation metadata and a one-time code"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your system delivers the code and controls the redemption experience. DeepCredentials sends no B2B invitation email."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the immediate branch when the holder can consume the offer now. Use an invitation when the holder should redeem later or through a separate channel controlled by your system."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"offer-lifecycle","__idx":3},"children":["Offer lifecycle"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"stateDiagram-v2\n    [*] --> pending: POST /credential-offers\n    pending --> issued: Wallet accepts the credential\n    pending --> expired: Offer TTL exceeded\n    pending --> failed: Issuance error\n    issued --> [*]\n    expired --> [*]\n    failed --> [*]\n","diagramHtml":"<svg id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"statediagram\" style=\"max-width: 499.390625px;\" viewBox=\"0 0 499.390625 346\" role=\"graphics-document document\" aria-roledescription=\"stateDiagram\"><style>\n    #diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .error-icon{fill:#552222;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .error-text{fill:#552222;stroke:#552222;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-thickness-normal{stroke-width:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-thickness-thick{stroke-width:3.5px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-pattern-solid{stroke-dasharray:0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .marker{fill:#333333;stroke:#333333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .marker.cross{stroke:#333333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 p{margin:0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 defs [id$=\"-barbEnd\"]{fill:#333333;stroke:#333333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 g.stateGroup line{stroke:#333333;stroke-width:1;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .transition{stroke:#333333;stroke-width:1;fill:none;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .stateGroup .composit{fill:white;border-bottom:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .state-note{stroke:#aaaa33;fill:#fff5ad;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .state-note text{fill:black;stroke:none;font-size:10px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .edgeLabel .label text{fill:#333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .label div .edgeLabel{color:#333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .node circle.state-start{fill:#333333;stroke:#333333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .node .fork-join{fill:#333333;stroke:#333333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .end-state-inner{fill:white;stroke-width:1.5;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [id$=\"-barbEnd\"]{fill:#333333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .cluster-label,#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .nodeLabel{color:#131300;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-cluster rect.outer{rx:5px;ry:5px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-state .divider{stroke:#9370DB;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-state .title-state{rx:5px;ry:5px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-cluster.statediagram-cluster .inner{fill:white;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-cluster .inner{rx:0;ry:0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-state rect.basic{rx:5px;ry:5px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .note-edge{stroke-dasharray:5;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-note text{fill:black;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram-note .nodeLabel{color:black;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagram .edgeLabel{color:red;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [id$=\"-dependencyStart\"],#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [id$=\"-dependencyEnd\"]{fill:#333333;stroke:#333333;stroke-width:1;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].statediagram-cluster rect.outer{rx:5px;ry:5px;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 .node .neo-node{stroke:#9370DB;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node rect,#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].cluster rect,#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><defs><marker id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd\" refX=\"19\" refY=\"7\" markerWidth=\"20\" markerHeight=\"14\" markerUnits=\"userSpaceOnUse\" orient=\"auto\"><path d=\"M 19,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M298.563,22L298.563,28.167C298.563,34.333,298.563,46.667,298.563,59C298.563,71.333,298.563,83.667,298.563,89.833L298.563,96\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge0\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge0\" data-points=\"W3sieCI6Mjk4LjU2MjUsInkiOjIyfSx7IngiOjI5OC41NjI1LCJ5Ijo1OX0seyJ4IjoyOTguNTYyNSwieSI6OTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path><path d=\"M262.086,129.208L236.405,138.506C210.724,147.805,159.362,166.403,133.681,183.868C108,201.333,108,217.667,108,225.833L108,234\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge1\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge1\" data-points=\"W3sieCI6MjYyLjA4NTkzNzUsInkiOjEyOS4yMDc2NTAwNDkxOTY0NX0seyJ4IjoxMDgsInkiOjE4NX0seyJ4IjoxMDgsInkiOjIzNH1d\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path><path d=\"M298.563,136L298.563,144.167C298.563,152.333,298.563,168.667,298.563,185C298.563,201.333,298.563,217.667,298.563,225.833L298.563,234\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge2\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge2\" data-points=\"W3sieCI6Mjk4LjU2MjUsInkiOjEzNn0seyJ4IjoyOTguNTYyNSwieSI6MTg1fSx7IngiOjI5OC41NjI1LCJ5IjoyMzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path><path d=\"M335.039,133.763L352.576,142.302C370.112,150.842,405.185,167.921,422.721,184.627C440.258,201.333,440.258,217.667,440.258,225.833L440.258,234\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge3\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge3\" data-points=\"W3sieCI6MzM1LjAzOTA2MjUsInkiOjEzMy43NjI2Mzk5MDczNzE2Nn0seyJ4Ijo0NDAuMjU3ODEyNSwieSI6MTg1fSx7IngiOjQ0MC4yNTc4MTI1LCJ5IjoyMzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path><path d=\"M108,274L108,278.167C108,282.333,108,290.667,138.609,299.973C169.218,309.28,230.435,319.56,261.044,324.7L291.653,329.84\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge4\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge4\" data-points=\"W3sieCI6MTA4LCJ5IjoyNzR9LHsieCI6MTA4LCJ5IjoyOTl9LHsieCI6MjkxLjY1MjYwMDI3NDU1ODA0LCJ5IjozMjkuODM5NjYyNjIzOTk5MjN9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path><path d=\"M298.563,274L298.563,278.167C298.563,282.333,298.563,290.667,298.563,298.999C298.563,307.331,298.563,315.662,298.563,319.828L298.563,323.993\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge5\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge5\" data-points=\"W3sieCI6Mjk4LjU2MjUsInkiOjI3NH0seyJ4IjoyOTguNTYyNSwieSI6Mjk5fSx7IngiOjI5OC41NjI1LCJ5IjozMjMuOTkzMzUzMzY2ODUxOH1d\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path><path d=\"M440.258,274L440.258,278.167C440.258,282.333,440.258,290.667,417.781,299.909C395.304,309.152,350.351,319.304,327.874,324.38L305.397,329.457\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-edge6\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge6\" data-points=\"W3sieCI6NDQwLjI1NzgxMjUsInkiOjI3NH0seyJ4Ijo0NDAuMjU3ODEyNSwieSI6Mjk5fSx7IngiOjMwNS4zOTcwMjYwMTE2MTk4LCJ5IjozMjkuNDU2NTEzMjg1MzUwN31d\" data-look=\"classic\" marker-end=\"url(#diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96_stateDiagram-barbEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(298.5625, 59)\"><g class=\"label\" data-id=\"edge0\" transform=\"translate(-83.296875, -12)\"><foreignObject width=\"166.59375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>POST /credential-offers</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(108, 185)\"><g class=\"label\" data-id=\"edge1\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>Wallet accepts the credential</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(298.5625, 185)\"><g class=\"label\" data-id=\"edge2\" transform=\"translate(-70.5625, -12)\"><foreignObject width=\"141.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>Offer TTL exceeded</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(440.2578125, 185)\"><g class=\"label\" data-id=\"edge3\" transform=\"translate(-51.1328125, -12)\"><foreignObject width=\"102.265625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>Issuance error</p></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"edge4\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"edge5\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"edge6\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-state-root_start-0\" data-look=\"classic\" transform=\"translate(298.5625, 15)\"><circle class=\"state-start\" r=\"7\" width=\"14\" height=\"14\"></circle></g><g class=\"node  statediagram-state\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-state-pending-3\" data-look=\"classic\" transform=\"translate(298.5625, 116)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-36.4765625\" y=\"-20\" width=\"72.953125\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-28.4765625, -12)\"><rect></rect><foreignObject width=\"56.953125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>pending</p></span></div></foreignObject></g></g><g class=\"node  statediagram-state\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-state-issued-4\" data-look=\"classic\" transform=\"translate(108, 254)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-31.125\" y=\"-20\" width=\"62.25\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.125, -12)\"><rect></rect><foreignObject width=\"46.25\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>issued</p></span></div></foreignObject></g></g><g class=\"node  statediagram-state\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-state-expired-5\" data-look=\"classic\" transform=\"translate(298.5625, 254)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-34.2421875\" y=\"-20\" width=\"68.484375\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-26.2421875, -12)\"><rect></rect><foreignObject width=\"52.484375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>expired</p></span></div></foreignObject></g></g><g class=\"node  statediagram-state\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-state-failed-6\" data-look=\"classic\" transform=\"translate(440.2578125, 254)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-27.125\" y=\"-20\" width=\"54.25\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-19.125, -12)\"><rect></rect><foreignObject width=\"38.25\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>failed</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-state-root_end-6\" data-look=\"classic\" transform=\"translate(298.5625, 331)\"><g class=\"outer-path\"><path d=\"M7 0 C7 0.40517908122283747, 6.964012880168563 0.816513743121899, 6.893654271085456 1.2155372436685123 C6.823295662002349 1.6145607442151257, 6.716427752933756 2.013397210557766, 6.5778483455013586 2.394141003279681 C6.439268938068961 2.7748847960015954, 6.26476736710249 3.149104622578984, 6.062177826491071 3.4999999999999996 C5.859588285879653 3.8508953774210153, 5.622755194947063 4.189128084166967, 5.362311101832846 4.499513267805774 C5.10186700871863 4.809898451444582, 4.809898451444583 5.10186700871863, 4.499513267805775 5.362311101832846 C4.189128084166968 5.622755194947063, 3.8508953774210166 5.859588285879652, 3.500000000000001 6.06217782649107 C3.149104622578985 6.264767367102489, 2.7748847960015963 6.439268938068961, 2.3941410032796817 6.5778483455013586 C2.013397210557767 6.716427752933756, 1.6145607442151264 6.823295662002349, 1.2155372436685128 6.893654271085456 C0.8165137431218992 6.964012880168563, 0.4051790812228379 7, 4.286263797015736e-16 7 C-0.405179081222837 7, -0.8165137431218985 6.964012880168563, -1.2155372436685121 6.893654271085456 C-1.6145607442151257 6.823295662002349, -2.0133972105577667 6.716427752933756, -2.394141003279681 6.5778483455013586 C-2.774884796001595 6.439268938068961, -3.149104622578983 6.26476736710249, -3.4999999999999982 6.062177826491071 C-3.8508953774210135 5.859588285879653, -4.189128084166966 5.6227551949470636, -4.499513267805773 5.362311101832848 C-4.809898451444581 5.101867008718632, -5.101867008718628 4.809898451444586, -5.3623111018328435 4.499513267805779 C-5.622755194947059 4.189128084166971, -5.859588285879649 3.8508953774210206, -6.062177826491068 3.5000000000000053 C-6.264767367102486 3.14910462257899, -6.439268938068958 2.774884796001602, -6.577848345501356 2.394141003279688 C-6.716427752933754 2.0133972105577738, -6.823295662002347 1.614560744215134, -6.893654271085454 1.215537243668521 C-6.9640128801685615 0.816513743121908, -6.999999999999999 0.4051790812228472, -7 1.0183126166254463e-14 C-7.000000000000001 -0.40517908122282686, -6.964012880168565 -0.8165137431218878, -6.893654271085459 -1.215537243668501 C-6.823295662002352 -1.6145607442151142, -6.716427752933759 -2.0133972105577542, -6.577848345501363 -2.394141003279669 C-6.439268938068967 -2.7748847960015834, -6.264767367102496 -3.149104622578972, -6.062177826491078 -3.4999999999999876 C-5.859588285879661 -3.8508953774210033, -5.6227551949470715 -4.1891280841669545, -5.362311101832856 -4.499513267805763 C-5.10186700871864 -4.809898451444571, -4.809898451444594 -5.10186700871862, -4.499513267805787 -5.362311101832836 C-4.189128084166979 -5.622755194947053, -3.850895377421028 -5.859588285879643, -3.5000000000000133 -6.062177826491062 C-3.1491046225789985 -6.264767367102482, -2.774884796001611 -6.439268938068954, -2.3941410032796973 -6.577848345501353 C-2.0133972105577835 -6.716427752933752, -1.6145607442151435 -6.823295662002345, -1.2155372436685306 -6.893654271085453 C-0.8165137431219176 -6.9640128801685615, -0.40517908122285695 -6.999999999999999, -1.9937625952807352e-14 -7 C0.4051790812228171 -7.000000000000001, 0.8165137431218781 -6.964012880168565, 1.2155372436684913 -6.89365427108546 C1.6145607442151044 -6.823295662002354, 2.013397210557745 -6.716427752933763, 2.3941410032796595 -6.5778483455013665 C2.774884796001574 -6.43926893806897, 3.149104622578963 -6.2647673671025, 3.499999999999979 -6.062177826491083 C3.8508953774209953 -5.859588285879665, 4.189128084166947 -5.622755194947077, 4.499513267805756 -5.362311101832862 C4.809898451444564 -5.1018670087186475, 5.101867008718613 -4.809898451444602, 5.362311101832829 -4.499513267805796 C5.622755194947046 -4.189128084166989, 5.859588285879637 -3.8508953774210393, 6.062177826491056 -3.500000000000025 C6.2647673671024755 -3.1491046225790105, 6.439268938068949 -2.774884796001623, 6.577848345501348 -2.3941410032797092 C6.716427752933747 -2.0133972105577955, 6.823295662002342 -1.6145607442151562, 6.893654271085451 -1.2155372436685434 C6.96401288016856 -0.8165137431219307, 6.982275711847575 -0.2025895406114567, 7 -3.2800750208310675e-14 C7.017724288152425 0.2025895406113911, 7.017724288152424 -0.2025895406114242, 7 0\" stroke=\"none\" stroke-width=\"0\" fill=\"#ECECFF\" style=\"\"></path><path d=\"M7 0 C7 0.40517908122283747, 6.964012880168563 0.816513743121899, 6.893654271085456 1.2155372436685123 C6.823295662002349 1.6145607442151257, 6.716427752933756 2.013397210557766, 6.5778483455013586 2.394141003279681 C6.439268938068961 2.7748847960015954, 6.26476736710249 3.149104622578984, 6.062177826491071 3.4999999999999996 C5.859588285879653 3.8508953774210153, 5.622755194947063 4.189128084166967, 5.362311101832846 4.499513267805774 C5.10186700871863 4.809898451444582, 4.809898451444583 5.10186700871863, 4.499513267805775 5.362311101832846 C4.189128084166968 5.622755194947063, 3.8508953774210166 5.859588285879652, 3.500000000000001 6.06217782649107 C3.149104622578985 6.264767367102489, 2.7748847960015963 6.439268938068961, 2.3941410032796817 6.5778483455013586 C2.013397210557767 6.716427752933756, 1.6145607442151264 6.823295662002349, 1.2155372436685128 6.893654271085456 C0.8165137431218992 6.964012880168563, 0.4051790812228379 7, 4.286263797015736e-16 7 C-0.405179081222837 7, -0.8165137431218985 6.964012880168563, -1.2155372436685121 6.893654271085456 C-1.6145607442151257 6.823295662002349, -2.0133972105577667 6.716427752933756, -2.394141003279681 6.5778483455013586 C-2.774884796001595 6.439268938068961, -3.149104622578983 6.26476736710249, -3.4999999999999982 6.062177826491071 C-3.8508953774210135 5.859588285879653, -4.189128084166966 5.6227551949470636, -4.499513267805773 5.362311101832848 C-4.809898451444581 5.101867008718632, -5.101867008718628 4.809898451444586, -5.3623111018328435 4.499513267805779 C-5.622755194947059 4.189128084166971, -5.859588285879649 3.8508953774210206, -6.062177826491068 3.5000000000000053 C-6.264767367102486 3.14910462257899, -6.439268938068958 2.774884796001602, -6.577848345501356 2.394141003279688 C-6.716427752933754 2.0133972105577738, -6.823295662002347 1.614560744215134, -6.893654271085454 1.215537243668521 C-6.9640128801685615 0.816513743121908, -6.999999999999999 0.4051790812228472, -7 1.0183126166254463e-14 C-7.000000000000001 -0.40517908122282686, -6.964012880168565 -0.8165137431218878, -6.893654271085459 -1.215537243668501 C-6.823295662002352 -1.6145607442151142, -6.716427752933759 -2.0133972105577542, -6.577848345501363 -2.394141003279669 C-6.439268938068967 -2.7748847960015834, -6.264767367102496 -3.149104622578972, -6.062177826491078 -3.4999999999999876 C-5.859588285879661 -3.8508953774210033, -5.6227551949470715 -4.1891280841669545, -5.362311101832856 -4.499513267805763 C-5.10186700871864 -4.809898451444571, -4.809898451444594 -5.10186700871862, -4.499513267805787 -5.362311101832836 C-4.189128084166979 -5.622755194947053, -3.850895377421028 -5.859588285879643, -3.5000000000000133 -6.062177826491062 C-3.1491046225789985 -6.264767367102482, -2.774884796001611 -6.439268938068954, -2.3941410032796973 -6.577848345501353 C-2.0133972105577835 -6.716427752933752, -1.6145607442151435 -6.823295662002345, -1.2155372436685306 -6.893654271085453 C-0.8165137431219176 -6.9640128801685615, -0.40517908122285695 -6.999999999999999, -1.9937625952807352e-14 -7 C0.4051790812228171 -7.000000000000001, 0.8165137431218781 -6.964012880168565, 1.2155372436684913 -6.89365427108546 C1.6145607442151044 -6.823295662002354, 2.013397210557745 -6.716427752933763, 2.3941410032796595 -6.5778483455013665 C2.774884796001574 -6.43926893806897, 3.149104622578963 -6.2647673671025, 3.499999999999979 -6.062177826491083 C3.8508953774209953 -5.859588285879665, 4.189128084166947 -5.622755194947077, 4.499513267805756 -5.362311101832862 C4.809898451444564 -5.1018670087186475, 5.101867008718613 -4.809898451444602, 5.362311101832829 -4.499513267805796 C5.622755194947046 -4.189128084166989, 5.859588285879637 -3.8508953774210393, 6.062177826491056 -3.500000000000025 C6.2647673671024755 -3.1491046225790105, 6.439268938068949 -2.774884796001623, 6.577848345501348 -2.3941410032797092 C6.716427752933747 -2.0133972105577955, 6.823295662002342 -1.6145607442151562, 6.893654271085451 -1.2155372436685434 C6.96401288016856 -0.8165137431219307, 6.982275711847575 -0.2025895406114567, 7 -3.2800750208310675e-14 C7.017724288152425 0.2025895406113911, 7.017724288152424 -0.2025895406114242, 7 0\" stroke=\"#333333\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"0 0\" style=\"\"></path><g><path d=\"M2.5 0 C2.5 0.14470681472244193, 2.487147457203058 0.29161205111496386, 2.46201938253052 0.4341204441673258 C2.436891307857982 0.5766288372196877, 2.3987241974763416 0.7190704323420595, 2.3492315519647713 0.8550503583141718 C2.299738906453201 0.991030284286284, 2.2374169168223177 1.124680222349637, 2.165063509461097 1.2499999999999998 C2.092710102099876 1.3753197776503625, 2.0081268553382365 1.496117172916774, 1.915111107797445 1.6069690242163481 C1.8220953602566536 1.7178208755159223, 1.7178208755159226 1.8220953602566536, 1.6069690242163484 1.915111107797445 C1.4961171729167742 2.0081268553382365, 1.375319777650363 2.0927101020998755, 1.2500000000000002 2.1650635094610964 C1.1246802223496375 2.2374169168223172, 0.9910302842862845 2.2997389064532, 0.8550503583141721 2.349231551964771 C0.7190704323420597 2.3987241974763416, 0.576628837219688 2.436891307857982, 0.43412044416732604 2.46201938253052 C0.291612051114964 2.487147457203058, 0.14470681472244212 2.5, 1.5308084989341916e-16 2.5 C-0.1447068147224418 2.5, -0.2916120511149638 2.487147457203058, -0.43412044416732576 2.46201938253052 C-0.5766288372196877 2.436891307857982, -0.7190704323420595 2.3987241974763416, -0.8550503583141718 2.3492315519647713 C-0.991030284286284 2.299738906453201, -1.124680222349637 2.2374169168223177, -1.2499999999999996 2.165063509461097 C-1.375319777650362 2.092710102099876, -1.4961171729167733 2.008126855338237, -1.6069690242163475 1.9151111077974459 C-1.7178208755159217 1.8220953602566548, -1.822095360256653 1.7178208755159234, -1.9151111077974443 1.6069690242163495 C-2.0081268553382357 1.4961171729167755, -2.0927101020998746 1.3753197776503645, -2.1650635094610955 1.250000000000002 C-2.2374169168223164 1.1246802223496395, -2.2997389064531992 0.9910302842862865, -2.34923155196477 0.8550503583141743 C-2.3987241974763407 0.7190704323420621, -2.436891307857981 0.5766288372196907, -2.4620193825305194 0.434120444167329 C-2.487147457203058 0.29161205111496724, -2.5 0.14470681472244545, -2.5 3.636830773662308e-15 C-2.5 -0.14470681472243818, -2.4871474572030587 -0.2916120511149599, -2.4620193825305208 -0.4341204441673218 C-2.436891307857983 -0.5766288372196837, -2.398724197476343 -0.7190704323420553, -2.3492315519647726 -0.8550503583141675 C-2.2997389064532023 -0.9910302842862798, -2.23741691682232 -1.1246802223496328, -2.165063509461099 -1.2499999999999956 C-2.092710102099878 -1.3753197776503583, -2.00812685533824 -1.4961171729167695, -1.9151111077974488 -1.606969024216344 C-1.8220953602566576 -1.7178208755159183, -1.7178208755159263 -1.82209536025665, -1.6069690242163523 -1.9151111077974416 C-1.4961171729167784 -2.0081268553382334, -1.3753197776503672 -2.0927101020998724, -1.2500000000000047 -2.1650635094610937 C-1.1246802223496422 -2.237416916822315, -0.9910302842862897 -2.299738906453198, -0.8550503583141776 -2.3492315519647686 C-0.7190704323420656 -2.3987241974763394, -0.5766288372196942 -2.4368913078579806, -0.43412044416733236 -2.462019382530519 C-0.29161205111497057 -2.4871474572030574, -0.1447068147224489 -2.4999999999999996, -7.120580697431198e-15 -2.5 C0.14470681472243463 -2.5000000000000004, 0.29161205111495647 -2.487147457203059, 0.4341204441673183 -2.4620193825305217 C0.5766288372196802 -2.436891307857984, 0.7190704323420518 -2.3987241974763442, 0.8550503583141642 -2.349231551964774 C0.9910302842862766 -2.2997389064532037, 1.1246802223496295 -2.2374169168223212, 1.2499999999999925 -2.165063509461101 C1.3753197776503554 -2.0927101020998804, 1.4961171729167668 -2.008126855338242, 1.6069690242163412 -1.915111107797451 C1.7178208755159157 -1.82209536025666, 1.8220953602566472 -1.7178208755159294, 1.915111107797439 -1.6069690242163557 C2.0081268553382308 -1.496117172916782, 2.09271010209987 -1.3753197776503712, 2.1650635094610915 -1.2500000000000089 C2.237416916822313 -1.1246802223496466, 2.299738906453196 -0.9910302842862939, 2.3492315519647673 -0.855050358314182 C2.3987241974763385 -0.71907043234207, 2.4368913078579792 -0.5766288372196986, 2.462019382530518 -0.4341204441673369 C2.487147457203057 -0.29161205111497523, 2.4936698970884197 -0.07235340736123454, 2.5 -1.1714553645825241e-14 C2.5063301029115803 0.07235340736121111, 2.50633010291158 -0.07235340736122292, 2.5 0\" stroke=\"none\" stroke-width=\"0\" fill=\"#9370DB\" style=\"\"></path><path d=\"M2.5 0 C2.5 0.14470681472244193, 2.487147457203058 0.29161205111496386, 2.46201938253052 0.4341204441673258 C2.436891307857982 0.5766288372196877, 2.3987241974763416 0.7190704323420595, 2.3492315519647713 0.8550503583141718 C2.299738906453201 0.991030284286284, 2.2374169168223177 1.124680222349637, 2.165063509461097 1.2499999999999998 C2.092710102099876 1.3753197776503625, 2.0081268553382365 1.496117172916774, 1.915111107797445 1.6069690242163481 C1.8220953602566536 1.7178208755159223, 1.7178208755159226 1.8220953602566536, 1.6069690242163484 1.915111107797445 C1.4961171729167742 2.0081268553382365, 1.375319777650363 2.0927101020998755, 1.2500000000000002 2.1650635094610964 C1.1246802223496375 2.2374169168223172, 0.9910302842862845 2.2997389064532, 0.8550503583141721 2.349231551964771 C0.7190704323420597 2.3987241974763416, 0.576628837219688 2.436891307857982, 0.43412044416732604 2.46201938253052 C0.291612051114964 2.487147457203058, 0.14470681472244212 2.5, 1.5308084989341916e-16 2.5 C-0.1447068147224418 2.5, -0.2916120511149638 2.487147457203058, -0.43412044416732576 2.46201938253052 C-0.5766288372196877 2.436891307857982, -0.7190704323420595 2.3987241974763416, -0.8550503583141718 2.3492315519647713 C-0.991030284286284 2.299738906453201, -1.124680222349637 2.2374169168223177, -1.2499999999999996 2.165063509461097 C-1.375319777650362 2.092710102099876, -1.4961171729167733 2.008126855338237, -1.6069690242163475 1.9151111077974459 C-1.7178208755159217 1.8220953602566548, -1.822095360256653 1.7178208755159234, -1.9151111077974443 1.6069690242163495 C-2.0081268553382357 1.4961171729167755, -2.0927101020998746 1.3753197776503645, -2.1650635094610955 1.250000000000002 C-2.2374169168223164 1.1246802223496395, -2.2997389064531992 0.9910302842862865, -2.34923155196477 0.8550503583141743 C-2.3987241974763407 0.7190704323420621, -2.436891307857981 0.5766288372196907, -2.4620193825305194 0.434120444167329 C-2.487147457203058 0.29161205111496724, -2.5 0.14470681472244545, -2.5 3.636830773662308e-15 C-2.5 -0.14470681472243818, -2.4871474572030587 -0.2916120511149599, -2.4620193825305208 -0.4341204441673218 C-2.436891307857983 -0.5766288372196837, -2.398724197476343 -0.7190704323420553, -2.3492315519647726 -0.8550503583141675 C-2.2997389064532023 -0.9910302842862798, -2.23741691682232 -1.1246802223496328, -2.165063509461099 -1.2499999999999956 C-2.092710102099878 -1.3753197776503583, -2.00812685533824 -1.4961171729167695, -1.9151111077974488 -1.606969024216344 C-1.8220953602566576 -1.7178208755159183, -1.7178208755159263 -1.82209536025665, -1.6069690242163523 -1.9151111077974416 C-1.4961171729167784 -2.0081268553382334, -1.3753197776503672 -2.0927101020998724, -1.2500000000000047 -2.1650635094610937 C-1.1246802223496422 -2.237416916822315, -0.9910302842862897 -2.299738906453198, -0.8550503583141776 -2.3492315519647686 C-0.7190704323420656 -2.3987241974763394, -0.5766288372196942 -2.4368913078579806, -0.43412044416733236 -2.462019382530519 C-0.29161205111497057 -2.4871474572030574, -0.1447068147224489 -2.4999999999999996, -7.120580697431198e-15 -2.5 C0.14470681472243463 -2.5000000000000004, 0.29161205111495647 -2.487147457203059, 0.4341204441673183 -2.4620193825305217 C0.5766288372196802 -2.436891307857984, 0.7190704323420518 -2.3987241974763442, 0.8550503583141642 -2.349231551964774 C0.9910302842862766 -2.2997389064532037, 1.1246802223496295 -2.2374169168223212, 1.2499999999999925 -2.165063509461101 C1.3753197776503554 -2.0927101020998804, 1.4961171729167668 -2.008126855338242, 1.6069690242163412 -1.915111107797451 C1.7178208755159157 -1.82209536025666, 1.8220953602566472 -1.7178208755159294, 1.915111107797439 -1.6069690242163557 C2.0081268553382308 -1.496117172916782, 2.09271010209987 -1.3753197776503712, 2.1650635094610915 -1.2500000000000089 C2.237416916822313 -1.1246802223496466, 2.299738906453196 -0.9910302842862939, 2.3492315519647673 -0.855050358314182 C2.3987241974763385 -0.71907043234207, 2.4368913078579792 -0.5766288372196986, 2.462019382530518 -0.4341204441673369 C2.487147457203057 -0.29161205111497523, 2.4936698970884197 -0.07235340736123454, 2.5 -1.1714553645825241e-14 C2.5063301029115803 0.07235340736121111, 2.50633010291158 -0.07235340736122292, 2.5 0\" stroke=\"#9370DB\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"0 0\" style=\"\"></path></g></g></g></g></g></g><defs><filter id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-89fb7ecfada65d25640df81f1dc95310a6c85b0645b066ff9770e101f536ce96-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"statediagram\" style=\"max-width: 499.390625px;\" viewBox=\"0 0 499.390625 346\" role=\"graphics-document document\" aria-roledescription=\"stateDiagram\"><style>\n    #diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .error-icon{fill:#a44141;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .error-text{fill:#ddd;stroke:#ddd;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-thickness-normal{stroke-width:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-thickness-thick{stroke-width:3.5px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-pattern-solid{stroke-dasharray:0;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .marker.cross{stroke:lightgrey;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 p{margin:0;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 defs [id$=\"-barbEnd\"]{fill:lightgrey;stroke:lightgrey;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 g.stateGroup text{fill:#ccc;stroke:none;font-size:10px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 g.stateGroup text{fill:#ccc;stroke:none;font-size:10px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 g.stateGroup .state-title{font-weight:bolder;fill:#e0dfdf;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 g.stateGroup rect{fill:#1f2020;stroke:#ccc;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 g.stateGroup line{stroke:lightgrey;stroke-width:1;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .transition{stroke:lightgrey;stroke-width:1;fill:none;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .stateGroup .composit{fill:#333;border-bottom:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .state-note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .state-note text{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;font-size:10px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .stateLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edgeLabel .label rect{fill:#1f2020;opacity:0.5;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .edgeLabel .label text{fill:#ccc;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .label div .edgeLabel{color:#ccc;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .stateLabel text{fill:#e0dfdf;font-size:10px;font-weight:bold;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .node circle.state-start{fill:#f4f4f4;stroke:#f4f4f4;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .node .fork-join{fill:#f4f4f4;stroke:#f4f4f4;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .node circle.state-end{fill:#cccccc;stroke:#333;stroke-width:1.5;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .end-state-inner{fill:#333;stroke-width:1.5;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .node rect{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .node polygon{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [id$=\"-barbEnd\"]{fill:lightgrey;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-cluster rect{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .cluster-label,#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .nodeLabel{color:#e0dfdf;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-cluster rect.outer{rx:5px;ry:5px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-state .divider{stroke:#ccc;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-state .title-state{rx:5px;ry:5px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-cluster.statediagram-cluster .inner{fill:#333;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#555;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-cluster .inner{rx:0;ry:0;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-state rect.basic{rx:5px;ry:5px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#555;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .note-edge{stroke-dasharray:5;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-note rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:hsl(180, 0%, 18.3529411765%);stroke-width:1px;rx:0;ry:0;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-note rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:hsl(180, 0%, 18.3529411765%);stroke-width:1px;rx:0;ry:0;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-note text{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram-note .nodeLabel{color:rgb(183.8476190475, 181.5523809523, 181.5523809523);}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagram .edgeLabel{color:red;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [id$=\"-dependencyStart\"],#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [id$=\"-dependencyEnd\"]{fill:lightgrey;stroke:lightgrey;stroke-width:1;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].statediagram-cluster rect{fill:#1f2020;stroke:url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient);stroke-width:1;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].statediagram-cluster rect.outer{rx:5px;ry:5px;filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 .node .neo-node{stroke:#ccc;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node rect,#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].cluster rect,#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node polygon{stroke:url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node path{stroke:url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient);stroke-width:1px;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node circle{stroke:url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><defs><marker id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd\" refX=\"19\" refY=\"7\" markerWidth=\"20\" markerHeight=\"14\" markerUnits=\"userSpaceOnUse\" orient=\"auto\"><path d=\"M 19,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M298.563,22L298.563,28.167C298.563,34.333,298.563,46.667,298.563,59C298.563,71.333,298.563,83.667,298.563,89.833L298.563,96\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge0\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge0\" data-points=\"W3sieCI6Mjk4LjU2MjUsInkiOjIyfSx7IngiOjI5OC41NjI1LCJ5Ijo1OX0seyJ4IjoyOTguNTYyNSwieSI6OTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path><path d=\"M262.086,129.208L236.405,138.506C210.724,147.805,159.362,166.403,133.681,183.868C108,201.333,108,217.667,108,225.833L108,234\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge1\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge1\" data-points=\"W3sieCI6MjYyLjA4NTkzNzUsInkiOjEyOS4yMDc2NTAwNDkxOTY0NX0seyJ4IjoxMDgsInkiOjE4NX0seyJ4IjoxMDgsInkiOjIzNH1d\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path><path d=\"M298.563,136L298.563,144.167C298.563,152.333,298.563,168.667,298.563,185C298.563,201.333,298.563,217.667,298.563,225.833L298.563,234\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge2\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge2\" data-points=\"W3sieCI6Mjk4LjU2MjUsInkiOjEzNn0seyJ4IjoyOTguNTYyNSwieSI6MTg1fSx7IngiOjI5OC41NjI1LCJ5IjoyMzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path><path d=\"M335.039,133.763L352.576,142.302C370.112,150.842,405.185,167.921,422.721,184.627C440.258,201.333,440.258,217.667,440.258,225.833L440.258,234\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge3\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge3\" data-points=\"W3sieCI6MzM1LjAzOTA2MjUsInkiOjEzMy43NjI2Mzk5MDczNzE2Nn0seyJ4Ijo0NDAuMjU3ODEyNSwieSI6MTg1fSx7IngiOjQ0MC4yNTc4MTI1LCJ5IjoyMzR9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path><path d=\"M108,274L108,278.167C108,282.333,108,290.667,138.609,299.973C169.218,309.28,230.435,319.56,261.044,324.7L291.653,329.84\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge4\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge4\" data-points=\"W3sieCI6MTA4LCJ5IjoyNzR9LHsieCI6MTA4LCJ5IjoyOTl9LHsieCI6MjkxLjY1MjYwMDI3NDU1ODA0LCJ5IjozMjkuODM5NjYyNjIzOTk5MjN9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path><path d=\"M298.563,274L298.563,278.167C298.563,282.333,298.563,290.667,298.563,298.999C298.563,307.331,298.563,315.662,298.563,319.828L298.563,323.993\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge5\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge5\" data-points=\"W3sieCI6Mjk4LjU2MjUsInkiOjI3NH0seyJ4IjoyOTguNTYyNSwieSI6Mjk5fSx7IngiOjI5OC41NjI1LCJ5IjozMjMuOTkzMzUzMzY2ODUxOH1d\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path><path d=\"M440.258,274L440.258,278.167C440.258,282.333,440.258,290.667,417.781,299.909C395.304,309.152,350.351,319.304,327.874,324.38L305.397,329.457\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-edge6\" class=\"edge-thickness-normal edge-pattern-solid transition\" style=\"fill:none;;;fill:none\" data-edge=\"true\" data-et=\"edge\" data-id=\"edge6\" data-points=\"W3sieCI6NDQwLjI1NzgxMjUsInkiOjI3NH0seyJ4Ijo0NDAuMjU3ODEyNSwieSI6Mjk5fSx7IngiOjMwNS4zOTcwMjYwMTE2MTk4LCJ5IjozMjkuNDU2NTEzMjg1MzUwN31d\" data-look=\"classic\" marker-end=\"url(#diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374_stateDiagram-barbEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(298.5625, 59)\"><g class=\"label\" data-id=\"edge0\" transform=\"translate(-83.296875, -12)\"><foreignObject width=\"166.59375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>POST /credential-offers</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(108, 185)\"><g class=\"label\" data-id=\"edge1\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>Wallet accepts the credential</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(298.5625, 185)\"><g class=\"label\" data-id=\"edge2\" transform=\"translate(-70.5625, -12)\"><foreignObject width=\"141.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>Offer TTL exceeded</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(440.2578125, 185)\"><g class=\"label\" data-id=\"edge3\" transform=\"translate(-51.1328125, -12)\"><foreignObject width=\"102.265625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>Issuance error</p></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"edge4\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"edge5\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"edge6\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-state-root_start-0\" data-look=\"classic\" transform=\"translate(298.5625, 15)\"><circle class=\"state-start\" r=\"7\" width=\"14\" height=\"14\"></circle></g><g class=\"node  statediagram-state\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-state-pending-3\" data-look=\"classic\" transform=\"translate(298.5625, 116)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-36.4765625\" y=\"-20\" width=\"72.953125\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-28.4765625, -12)\"><rect></rect><foreignObject width=\"56.953125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>pending</p></span></div></foreignObject></g></g><g class=\"node  statediagram-state\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-state-issued-4\" data-look=\"classic\" transform=\"translate(108, 254)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-31.125\" y=\"-20\" width=\"62.25\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.125, -12)\"><rect></rect><foreignObject width=\"46.25\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>issued</p></span></div></foreignObject></g></g><g class=\"node  statediagram-state\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-state-expired-5\" data-look=\"classic\" transform=\"translate(298.5625, 254)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-34.2421875\" y=\"-20\" width=\"68.484375\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-26.2421875, -12)\"><rect></rect><foreignObject width=\"52.484375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>expired</p></span></div></foreignObject></g></g><g class=\"node  statediagram-state\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-state-failed-6\" data-look=\"classic\" transform=\"translate(440.2578125, 254)\"><rect class=\"basic label-container\" style=\"\" rx=\"5\" ry=\"5\" x=\"-27.125\" y=\"-20\" width=\"54.25\" height=\"40\"></rect><g class=\"label\" style=\"\" transform=\"translate(-19.125, -12)\"><rect></rect><foreignObject width=\"38.25\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel markdown-node-label\"><p>failed</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-state-root_end-6\" data-look=\"classic\" transform=\"translate(298.5625, 331)\"><g class=\"outer-path\"><path d=\"M7 0 C7 0.40517908122283747, 6.964012880168563 0.816513743121899, 6.893654271085456 1.2155372436685123 C6.823295662002349 1.6145607442151257, 6.716427752933756 2.013397210557766, 6.5778483455013586 2.394141003279681 C6.439268938068961 2.7748847960015954, 6.26476736710249 3.149104622578984, 6.062177826491071 3.4999999999999996 C5.859588285879653 3.8508953774210153, 5.622755194947063 4.189128084166967, 5.362311101832846 4.499513267805774 C5.10186700871863 4.809898451444582, 4.809898451444583 5.10186700871863, 4.499513267805775 5.362311101832846 C4.189128084166968 5.622755194947063, 3.8508953774210166 5.859588285879652, 3.500000000000001 6.06217782649107 C3.149104622578985 6.264767367102489, 2.7748847960015963 6.439268938068961, 2.3941410032796817 6.5778483455013586 C2.013397210557767 6.716427752933756, 1.6145607442151264 6.823295662002349, 1.2155372436685128 6.893654271085456 C0.8165137431218992 6.964012880168563, 0.4051790812228379 7, 4.286263797015736e-16 7 C-0.405179081222837 7, -0.8165137431218985 6.964012880168563, -1.2155372436685121 6.893654271085456 C-1.6145607442151257 6.823295662002349, -2.0133972105577667 6.716427752933756, -2.394141003279681 6.5778483455013586 C-2.774884796001595 6.439268938068961, -3.149104622578983 6.26476736710249, -3.4999999999999982 6.062177826491071 C-3.8508953774210135 5.859588285879653, -4.189128084166966 5.6227551949470636, -4.499513267805773 5.362311101832848 C-4.809898451444581 5.101867008718632, -5.101867008718628 4.809898451444586, -5.3623111018328435 4.499513267805779 C-5.622755194947059 4.189128084166971, -5.859588285879649 3.8508953774210206, -6.062177826491068 3.5000000000000053 C-6.264767367102486 3.14910462257899, -6.439268938068958 2.774884796001602, -6.577848345501356 2.394141003279688 C-6.716427752933754 2.0133972105577738, -6.823295662002347 1.614560744215134, -6.893654271085454 1.215537243668521 C-6.9640128801685615 0.816513743121908, -6.999999999999999 0.4051790812228472, -7 1.0183126166254463e-14 C-7.000000000000001 -0.40517908122282686, -6.964012880168565 -0.8165137431218878, -6.893654271085459 -1.215537243668501 C-6.823295662002352 -1.6145607442151142, -6.716427752933759 -2.0133972105577542, -6.577848345501363 -2.394141003279669 C-6.439268938068967 -2.7748847960015834, -6.264767367102496 -3.149104622578972, -6.062177826491078 -3.4999999999999876 C-5.859588285879661 -3.8508953774210033, -5.6227551949470715 -4.1891280841669545, -5.362311101832856 -4.499513267805763 C-5.10186700871864 -4.809898451444571, -4.809898451444594 -5.10186700871862, -4.499513267805787 -5.362311101832836 C-4.189128084166979 -5.622755194947053, -3.850895377421028 -5.859588285879643, -3.5000000000000133 -6.062177826491062 C-3.1491046225789985 -6.264767367102482, -2.774884796001611 -6.439268938068954, -2.3941410032796973 -6.577848345501353 C-2.0133972105577835 -6.716427752933752, -1.6145607442151435 -6.823295662002345, -1.2155372436685306 -6.893654271085453 C-0.8165137431219176 -6.9640128801685615, -0.40517908122285695 -6.999999999999999, -1.9937625952807352e-14 -7 C0.4051790812228171 -7.000000000000001, 0.8165137431218781 -6.964012880168565, 1.2155372436684913 -6.89365427108546 C1.6145607442151044 -6.823295662002354, 2.013397210557745 -6.716427752933763, 2.3941410032796595 -6.5778483455013665 C2.774884796001574 -6.43926893806897, 3.149104622578963 -6.2647673671025, 3.499999999999979 -6.062177826491083 C3.8508953774209953 -5.859588285879665, 4.189128084166947 -5.622755194947077, 4.499513267805756 -5.362311101832862 C4.809898451444564 -5.1018670087186475, 5.101867008718613 -4.809898451444602, 5.362311101832829 -4.499513267805796 C5.622755194947046 -4.189128084166989, 5.859588285879637 -3.8508953774210393, 6.062177826491056 -3.500000000000025 C6.2647673671024755 -3.1491046225790105, 6.439268938068949 -2.774884796001623, 6.577848345501348 -2.3941410032797092 C6.716427752933747 -2.0133972105577955, 6.823295662002342 -1.6145607442151562, 6.893654271085451 -1.2155372436685434 C6.96401288016856 -0.8165137431219307, 6.982275711847575 -0.2025895406114567, 7 -3.2800750208310675e-14 C7.017724288152425 0.2025895406113911, 7.017724288152424 -0.2025895406114242, 7 0\" stroke=\"none\" stroke-width=\"0\" fill=\"#1f2020\" style=\"\"></path><path d=\"M7 0 C7 0.40517908122283747, 6.964012880168563 0.816513743121899, 6.893654271085456 1.2155372436685123 C6.823295662002349 1.6145607442151257, 6.716427752933756 2.013397210557766, 6.5778483455013586 2.394141003279681 C6.439268938068961 2.7748847960015954, 6.26476736710249 3.149104622578984, 6.062177826491071 3.4999999999999996 C5.859588285879653 3.8508953774210153, 5.622755194947063 4.189128084166967, 5.362311101832846 4.499513267805774 C5.10186700871863 4.809898451444582, 4.809898451444583 5.10186700871863, 4.499513267805775 5.362311101832846 C4.189128084166968 5.622755194947063, 3.8508953774210166 5.859588285879652, 3.500000000000001 6.06217782649107 C3.149104622578985 6.264767367102489, 2.7748847960015963 6.439268938068961, 2.3941410032796817 6.5778483455013586 C2.013397210557767 6.716427752933756, 1.6145607442151264 6.823295662002349, 1.2155372436685128 6.893654271085456 C0.8165137431218992 6.964012880168563, 0.4051790812228379 7, 4.286263797015736e-16 7 C-0.405179081222837 7, -0.8165137431218985 6.964012880168563, -1.2155372436685121 6.893654271085456 C-1.6145607442151257 6.823295662002349, -2.0133972105577667 6.716427752933756, -2.394141003279681 6.5778483455013586 C-2.774884796001595 6.439268938068961, -3.149104622578983 6.26476736710249, -3.4999999999999982 6.062177826491071 C-3.8508953774210135 5.859588285879653, -4.189128084166966 5.6227551949470636, -4.499513267805773 5.362311101832848 C-4.809898451444581 5.101867008718632, -5.101867008718628 4.809898451444586, -5.3623111018328435 4.499513267805779 C-5.622755194947059 4.189128084166971, -5.859588285879649 3.8508953774210206, -6.062177826491068 3.5000000000000053 C-6.264767367102486 3.14910462257899, -6.439268938068958 2.774884796001602, -6.577848345501356 2.394141003279688 C-6.716427752933754 2.0133972105577738, -6.823295662002347 1.614560744215134, -6.893654271085454 1.215537243668521 C-6.9640128801685615 0.816513743121908, -6.999999999999999 0.4051790812228472, -7 1.0183126166254463e-14 C-7.000000000000001 -0.40517908122282686, -6.964012880168565 -0.8165137431218878, -6.893654271085459 -1.215537243668501 C-6.823295662002352 -1.6145607442151142, -6.716427752933759 -2.0133972105577542, -6.577848345501363 -2.394141003279669 C-6.439268938068967 -2.7748847960015834, -6.264767367102496 -3.149104622578972, -6.062177826491078 -3.4999999999999876 C-5.859588285879661 -3.8508953774210033, -5.6227551949470715 -4.1891280841669545, -5.362311101832856 -4.499513267805763 C-5.10186700871864 -4.809898451444571, -4.809898451444594 -5.10186700871862, -4.499513267805787 -5.362311101832836 C-4.189128084166979 -5.622755194947053, -3.850895377421028 -5.859588285879643, -3.5000000000000133 -6.062177826491062 C-3.1491046225789985 -6.264767367102482, -2.774884796001611 -6.439268938068954, -2.3941410032796973 -6.577848345501353 C-2.0133972105577835 -6.716427752933752, -1.6145607442151435 -6.823295662002345, -1.2155372436685306 -6.893654271085453 C-0.8165137431219176 -6.9640128801685615, -0.40517908122285695 -6.999999999999999, -1.9937625952807352e-14 -7 C0.4051790812228171 -7.000000000000001, 0.8165137431218781 -6.964012880168565, 1.2155372436684913 -6.89365427108546 C1.6145607442151044 -6.823295662002354, 2.013397210557745 -6.716427752933763, 2.3941410032796595 -6.5778483455013665 C2.774884796001574 -6.43926893806897, 3.149104622578963 -6.2647673671025, 3.499999999999979 -6.062177826491083 C3.8508953774209953 -5.859588285879665, 4.189128084166947 -5.622755194947077, 4.499513267805756 -5.362311101832862 C4.809898451444564 -5.1018670087186475, 5.101867008718613 -4.809898451444602, 5.362311101832829 -4.499513267805796 C5.622755194947046 -4.189128084166989, 5.859588285879637 -3.8508953774210393, 6.062177826491056 -3.500000000000025 C6.2647673671024755 -3.1491046225790105, 6.439268938068949 -2.774884796001623, 6.577848345501348 -2.3941410032797092 C6.716427752933747 -2.0133972105577955, 6.823295662002342 -1.6145607442151562, 6.893654271085451 -1.2155372436685434 C6.96401288016856 -0.8165137431219307, 6.982275711847575 -0.2025895406114567, 7 -3.2800750208310675e-14 C7.017724288152425 0.2025895406113911, 7.017724288152424 -0.2025895406114242, 7 0\" stroke=\"lightgrey\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"0 0\" style=\"\"></path><g><path d=\"M2.5 0 C2.5 0.14470681472244193, 2.487147457203058 0.29161205111496386, 2.46201938253052 0.4341204441673258 C2.436891307857982 0.5766288372196877, 2.3987241974763416 0.7190704323420595, 2.3492315519647713 0.8550503583141718 C2.299738906453201 0.991030284286284, 2.2374169168223177 1.124680222349637, 2.165063509461097 1.2499999999999998 C2.092710102099876 1.3753197776503625, 2.0081268553382365 1.496117172916774, 1.915111107797445 1.6069690242163481 C1.8220953602566536 1.7178208755159223, 1.7178208755159226 1.8220953602566536, 1.6069690242163484 1.915111107797445 C1.4961171729167742 2.0081268553382365, 1.375319777650363 2.0927101020998755, 1.2500000000000002 2.1650635094610964 C1.1246802223496375 2.2374169168223172, 0.9910302842862845 2.2997389064532, 0.8550503583141721 2.349231551964771 C0.7190704323420597 2.3987241974763416, 0.576628837219688 2.436891307857982, 0.43412044416732604 2.46201938253052 C0.291612051114964 2.487147457203058, 0.14470681472244212 2.5, 1.5308084989341916e-16 2.5 C-0.1447068147224418 2.5, -0.2916120511149638 2.487147457203058, -0.43412044416732576 2.46201938253052 C-0.5766288372196877 2.436891307857982, -0.7190704323420595 2.3987241974763416, -0.8550503583141718 2.3492315519647713 C-0.991030284286284 2.299738906453201, -1.124680222349637 2.2374169168223177, -1.2499999999999996 2.165063509461097 C-1.375319777650362 2.092710102099876, -1.4961171729167733 2.008126855338237, -1.6069690242163475 1.9151111077974459 C-1.7178208755159217 1.8220953602566548, -1.822095360256653 1.7178208755159234, -1.9151111077974443 1.6069690242163495 C-2.0081268553382357 1.4961171729167755, -2.0927101020998746 1.3753197776503645, -2.1650635094610955 1.250000000000002 C-2.2374169168223164 1.1246802223496395, -2.2997389064531992 0.9910302842862865, -2.34923155196477 0.8550503583141743 C-2.3987241974763407 0.7190704323420621, -2.436891307857981 0.5766288372196907, -2.4620193825305194 0.434120444167329 C-2.487147457203058 0.29161205111496724, -2.5 0.14470681472244545, -2.5 3.636830773662308e-15 C-2.5 -0.14470681472243818, -2.4871474572030587 -0.2916120511149599, -2.4620193825305208 -0.4341204441673218 C-2.436891307857983 -0.5766288372196837, -2.398724197476343 -0.7190704323420553, -2.3492315519647726 -0.8550503583141675 C-2.2997389064532023 -0.9910302842862798, -2.23741691682232 -1.1246802223496328, -2.165063509461099 -1.2499999999999956 C-2.092710102099878 -1.3753197776503583, -2.00812685533824 -1.4961171729167695, -1.9151111077974488 -1.606969024216344 C-1.8220953602566576 -1.7178208755159183, -1.7178208755159263 -1.82209536025665, -1.6069690242163523 -1.9151111077974416 C-1.4961171729167784 -2.0081268553382334, -1.3753197776503672 -2.0927101020998724, -1.2500000000000047 -2.1650635094610937 C-1.1246802223496422 -2.237416916822315, -0.9910302842862897 -2.299738906453198, -0.8550503583141776 -2.3492315519647686 C-0.7190704323420656 -2.3987241974763394, -0.5766288372196942 -2.4368913078579806, -0.43412044416733236 -2.462019382530519 C-0.29161205111497057 -2.4871474572030574, -0.1447068147224489 -2.4999999999999996, -7.120580697431198e-15 -2.5 C0.14470681472243463 -2.5000000000000004, 0.29161205111495647 -2.487147457203059, 0.4341204441673183 -2.4620193825305217 C0.5766288372196802 -2.436891307857984, 0.7190704323420518 -2.3987241974763442, 0.8550503583141642 -2.349231551964774 C0.9910302842862766 -2.2997389064532037, 1.1246802223496295 -2.2374169168223212, 1.2499999999999925 -2.165063509461101 C1.3753197776503554 -2.0927101020998804, 1.4961171729167668 -2.008126855338242, 1.6069690242163412 -1.915111107797451 C1.7178208755159157 -1.82209536025666, 1.8220953602566472 -1.7178208755159294, 1.915111107797439 -1.6069690242163557 C2.0081268553382308 -1.496117172916782, 2.09271010209987 -1.3753197776503712, 2.1650635094610915 -1.2500000000000089 C2.237416916822313 -1.1246802223496466, 2.299738906453196 -0.9910302842862939, 2.3492315519647673 -0.855050358314182 C2.3987241974763385 -0.71907043234207, 2.4368913078579792 -0.5766288372196986, 2.462019382530518 -0.4341204441673369 C2.487147457203057 -0.29161205111497523, 2.4936698970884197 -0.07235340736123454, 2.5 -1.1714553645825241e-14 C2.5063301029115803 0.07235340736121111, 2.50633010291158 -0.07235340736122292, 2.5 0\" stroke=\"none\" stroke-width=\"0\" fill=\"#ccc\" style=\"\"></path><path d=\"M2.5 0 C2.5 0.14470681472244193, 2.487147457203058 0.29161205111496386, 2.46201938253052 0.4341204441673258 C2.436891307857982 0.5766288372196877, 2.3987241974763416 0.7190704323420595, 2.3492315519647713 0.8550503583141718 C2.299738906453201 0.991030284286284, 2.2374169168223177 1.124680222349637, 2.165063509461097 1.2499999999999998 C2.092710102099876 1.3753197776503625, 2.0081268553382365 1.496117172916774, 1.915111107797445 1.6069690242163481 C1.8220953602566536 1.7178208755159223, 1.7178208755159226 1.8220953602566536, 1.6069690242163484 1.915111107797445 C1.4961171729167742 2.0081268553382365, 1.375319777650363 2.0927101020998755, 1.2500000000000002 2.1650635094610964 C1.1246802223496375 2.2374169168223172, 0.9910302842862845 2.2997389064532, 0.8550503583141721 2.349231551964771 C0.7190704323420597 2.3987241974763416, 0.576628837219688 2.436891307857982, 0.43412044416732604 2.46201938253052 C0.291612051114964 2.487147457203058, 0.14470681472244212 2.5, 1.5308084989341916e-16 2.5 C-0.1447068147224418 2.5, -0.2916120511149638 2.487147457203058, -0.43412044416732576 2.46201938253052 C-0.5766288372196877 2.436891307857982, -0.7190704323420595 2.3987241974763416, -0.8550503583141718 2.3492315519647713 C-0.991030284286284 2.299738906453201, -1.124680222349637 2.2374169168223177, -1.2499999999999996 2.165063509461097 C-1.375319777650362 2.092710102099876, -1.4961171729167733 2.008126855338237, -1.6069690242163475 1.9151111077974459 C-1.7178208755159217 1.8220953602566548, -1.822095360256653 1.7178208755159234, -1.9151111077974443 1.6069690242163495 C-2.0081268553382357 1.4961171729167755, -2.0927101020998746 1.3753197776503645, -2.1650635094610955 1.250000000000002 C-2.2374169168223164 1.1246802223496395, -2.2997389064531992 0.9910302842862865, -2.34923155196477 0.8550503583141743 C-2.3987241974763407 0.7190704323420621, -2.436891307857981 0.5766288372196907, -2.4620193825305194 0.434120444167329 C-2.487147457203058 0.29161205111496724, -2.5 0.14470681472244545, -2.5 3.636830773662308e-15 C-2.5 -0.14470681472243818, -2.4871474572030587 -0.2916120511149599, -2.4620193825305208 -0.4341204441673218 C-2.436891307857983 -0.5766288372196837, -2.398724197476343 -0.7190704323420553, -2.3492315519647726 -0.8550503583141675 C-2.2997389064532023 -0.9910302842862798, -2.23741691682232 -1.1246802223496328, -2.165063509461099 -1.2499999999999956 C-2.092710102099878 -1.3753197776503583, -2.00812685533824 -1.4961171729167695, -1.9151111077974488 -1.606969024216344 C-1.8220953602566576 -1.7178208755159183, -1.7178208755159263 -1.82209536025665, -1.6069690242163523 -1.9151111077974416 C-1.4961171729167784 -2.0081268553382334, -1.3753197776503672 -2.0927101020998724, -1.2500000000000047 -2.1650635094610937 C-1.1246802223496422 -2.237416916822315, -0.9910302842862897 -2.299738906453198, -0.8550503583141776 -2.3492315519647686 C-0.7190704323420656 -2.3987241974763394, -0.5766288372196942 -2.4368913078579806, -0.43412044416733236 -2.462019382530519 C-0.29161205111497057 -2.4871474572030574, -0.1447068147224489 -2.4999999999999996, -7.120580697431198e-15 -2.5 C0.14470681472243463 -2.5000000000000004, 0.29161205111495647 -2.487147457203059, 0.4341204441673183 -2.4620193825305217 C0.5766288372196802 -2.436891307857984, 0.7190704323420518 -2.3987241974763442, 0.8550503583141642 -2.349231551964774 C0.9910302842862766 -2.2997389064532037, 1.1246802223496295 -2.2374169168223212, 1.2499999999999925 -2.165063509461101 C1.3753197776503554 -2.0927101020998804, 1.4961171729167668 -2.008126855338242, 1.6069690242163412 -1.915111107797451 C1.7178208755159157 -1.82209536025666, 1.8220953602566472 -1.7178208755159294, 1.915111107797439 -1.6069690242163557 C2.0081268553382308 -1.496117172916782, 2.09271010209987 -1.3753197776503712, 2.1650635094610915 -1.2500000000000089 C2.237416916822313 -1.1246802223496466, 2.299738906453196 -0.9910302842862939, 2.3492315519647673 -0.855050358314182 C2.3987241974763385 -0.71907043234207, 2.4368913078579792 -0.5766288372196986, 2.462019382530518 -0.4341204441673369 C2.487147457203057 -0.29161205111497523, 2.4936698970884197 -0.07235340736123454, 2.5 -1.1714553645825241e-14 C2.5063301029115803 0.07235340736121111, 2.50633010291158 -0.07235340736122292, 2.5 0\" stroke=\"#ccc\" stroke-width=\"2\" fill=\"none\" stroke-dasharray=\"0 0\" style=\"\"></path></g></g></g></g></g></g><defs><filter id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-39b1ad94642c0be8e62e8d970f9b9ef0065c4c6d25a4299af16ecf3f4b681374-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["stateDiagram-v2\n    [*] --> pending: POST /credential-offers\n    pending --> issued: Wallet accepts the credential\n    pending --> expired: Offer TTL exceeded\n    pending --> failed: Issuance error\n    issued --> [*]\n    expired --> [*]\n    failed --> [*]\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"offer-statuses","__idx":4},"children":["Offer statuses"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status    "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Offer created, waiting for the wallet holder to scan the QR and accept."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Credential successfully issued to the wallet. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued_credential_id"]}," is set."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Offer exceeded its TTL without being claimed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Issuance failed. Check ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error_code"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error_description"]}," for details."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"credential-statuses","__idx":5},"children":["Credential statuses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once issued, a credential has its own lifecycle:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status    "]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["active"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Credential is valid and can be presented by the holder."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["suspended"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Temporarily suspended. Can be reactivated."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["revoked"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Permanently revoked. Cannot be reactivated."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These three values cover the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["revocation"]}," lifecycle (status-list driven). Expiration is an orthogonal axis — see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#credential-validity"},"children":["Credential validity"]}," below."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"credential-validity","__idx":6},"children":["Credential validity"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every credential carries an SD-JWT ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," claim (when set) that wallets and verifiers honour independently of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]},". The lifetime is resolved at issuance time from this fallback chain:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["validity_seconds"]}," on the create request"]}," — explicit override, only for this offer."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["default_validity_seconds"]}," on the credential definition"]}," — tenant-set default for this ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vct"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," claim"]}," — credential never expires (only reached if both above are absent)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The value is stamped onto the SD-JWT at signing time. The resolved lifetime is echoed back on the offer response as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential_validity_seconds"]},"; once the credential is issued it surfaces as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["valid_until"]}," (alongside ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["valid_from"]},", which mirrors ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iat"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nbf"]},") on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["issued-credential"]}," response — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /b2b/v1/issued-credentials/{id}"]},". These surfaces are read-only — credentials are immutably signed, so once issued the validity window cannot be changed without re-issuing."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Concept"},"children":["Concept"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Spec"},"children":["Spec"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Carrier"},"children":["Carrier"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Offer (QR / pre-auth) TTL"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["How long the wallet has to pick up the offer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Offer record"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expires_at"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Credential lifetime"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When the credential itself stops being valid"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SD-JWT payload"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," → issued-credential ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["valid_until"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Status ≠ expiration"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A credential can be ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["active"]}," and past its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["valid_until"]}," simultaneously. Wallets show it as expired; verifiers reject it on the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," claim; our status list is unchanged. To shorten the lifetime of an existing credential you must revoke it via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH /b2b/v1/issued-credentials/{id}/status"]}," and re-issue — the JWT is signed and immutable."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Range: 60 seconds to 10 years (315 360 000 seconds). Self-service flows always carry their own explicit validity chosen on the config; the request-level override here is for direct B2B issuance only."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"partner-delivered-invitation-flow","__idx":7},"children":["Partner-delivered invitation flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An invitation stores the credential claims and eventual offer settings until the recipient redeems a one-time code. B2B list, get, and revoke responses never expose the code or claims. Only successful create and rotate responses contain the plaintext code."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"invitation-statuses","__idx":8},"children":["Invitation statuses"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The current code can be redeemed, subject to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expires_at"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redeemed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The recipient redeemed the code and DeepCredentials created ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redeemed_offer_id"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The pending code passed its expiry and can no longer be redeemed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["revoked"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your organization revoked the invitation before redemption."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-an-invitation","__idx":9},"children":["Create an invitation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/openapi/credential-invitations-v1"},"children":["Open in API reference →"]}]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-invitations-v1.yaml","operationId":"POST:b2b.CreateCredentialInvitation","parameters":{},"requestBody":{"credential_definition_id":"YOUR_CREDENTIAL_DEFINITION_ID","email":"alice@example.com","claims":{"given_name":"Alice","employee_number":"E-1042"},"reference_id":"partner-invitation-1042","invitation_ttl_seconds":86400,"offer_validity_seconds":600,"validity_seconds":31536000},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X POST \\\n  https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \\\n  -d '{\n    \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n    \"email\": \"alice@example.com\",\n    \"claims\": {\n      \"given_name\": \"Alice\",\n      \"employee_number\": \"E-1042\"\n    },\n    \"reference_id\": \"partner-invitation-1042\",\n    \"invitation_ttl_seconds\": 86400,\n    \"offer_validity_seconds\": 600,\n    \"validity_seconds\": 31536000\n  }'"},{"lang":"javascript","title":"JavaScript","source":"const resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations`,\n  {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    },\n    body: JSON.stringify({\n      credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n      email: 'alice@example.com',\n      claims: {\n        given_name: 'Alice',\n        employee_number: 'E-1042'\n      },\n      reference_id: 'partner-invitation-1042',\n      invitation_ttl_seconds: 86400,\n      offer_validity_seconds: 600,\n      validity_seconds: 31536000\n    })\n  }\n);\n\nconst data = await resp.json();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations`,\n    {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      },\n      body: JSON.stringify({\n        credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n        email: 'alice@example.com',\n        claims: {\n          given_name: 'Alice',\n          employee_number: 'E-1042'\n        },\n        reference_id: 'partner-invitation-1042',\n        invitation_ttl_seconds: 86400,\n        offer_validity_seconds: 600,\n        validity_seconds: 31536000\n      })\n    }\n  );\n\n  const data = await resp.json();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\"\n\npayload = {\n  \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n  \"email\": \"alice@example.com\",\n  \"claims\": {\n    \"given_name\": \"Alice\",\n    \"employee_number\": \"E-1042\"\n  },\n  \"reference_id\": \"partner-invitation-1042\",\n  \"invitation_ttl_seconds\": 86400,\n  \"offer_validity_seconds\": 600,\n  \"validity_seconds\": 31536000\n}\n\nheaders = {\n  \"Content-Type\": \"application/json\",\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.post(url, json=payload, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var payload = String.join(\"\\n\"\n      , \"{\"\n      , \" \\\"credential_definition_id\\\": \\\"YOUR_CREDENTIAL_DEFINITION_ID\\\",\"\n      , \" \\\"email\\\": \\\"alice@example.com\\\",\"\n      , \" \\\"claims\\\": {\"\n      , \"  \\\"given_name\\\": \\\"Alice\\\",\"\n      , \"  \\\"employee_number\\\": \\\"E-1042\\\"\"\n      , \" },\"\n      , \" \\\"reference_id\\\": \\\"partner-invitation-1042\\\",\"\n      , \" \\\"invitation_ttl_seconds\\\": 86400,\"\n      , \" \\\"offer_validity_seconds\\\": 600,\"\n      , \" \\\"validity_seconds\\\": 31536000\"\n      , \"}\"\n    );\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var pathname = \"/b2b/v1/credential-invitations\";\n    var request = HttpRequest.newBuilder()\n      .POST(HttpRequest.BodyPublishers.ofString(payload))\n      .uri(URI.create(host + pathname ))\n      .header(\"Content-Type\", \"application/json\")\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Text;\nusing System.Text.Json;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n    string json = JsonSerializer.Serialize(new\n    {\n      credential_definition_id = \"YOUR_CREDENTIAL_DEFINITION_ID\",\n      email = \"alice@example.com\",\n      claims = new {\n        given_name = \"Alice\",\n        employee_number = \"E-1042\"\n      },\n      reference_id = \"partner-invitation-1042\",\n      invitation_ttl_seconds = \"86400\",\n      offer_validity_seconds = \"600\",\n      validity_seconds = \"31536000\"\n    });\n\n    using StringContent postData = new(json, Encoding.UTF8, \"application/json\");\n    using HttpResponseMessage request = await client.PostAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\", postData);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\n$curl = curl_init();\n\n$payload = array(\n  \"credential_definition_id\" => \"YOUR_CREDENTIAL_DEFINITION_ID\",\n  \"email\" => \"alice@example.com\",\n  \"claims\" => array(\n    \"given_name\" => \"Alice\",\n    \"employee_number\" => \"E-1042\"\n  ),\n  \"reference_id\" => \"partner-invitation-1042\",\n  \"invitation_ttl_seconds\" => 86400,\n  \"offer_validity_seconds\" => 600,\n  \"validity_seconds\" => 31536000\n);\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"Content-Type: application/json\",\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_POSTFIELDS => json_encode($payload),\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"bytes\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\"\n  var data = []byte(`{\n    \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n    \"email\": \"alice@example.com\",\n    \"claims\": {\n      \"given_name\": \"Alice\",\n      \"employee_number\": \"E-1042\"\n    },\n    \"reference_id\": \"partner-invitation-1042\",\n    \"invitation_ttl_seconds\": 86400,\n    \"offer_validity_seconds\": 600,\n    \"validity_seconds\": 31536000\n  }`)\n  req, err := http.NewRequest(\"POST\", reqUrl, bytes.NewBuffer(data))\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'json'\nrequire 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations')\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest['Content-Type'] = 'application/json'\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\nrequest.body = {\n  credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n  email: 'alice@example.com',\n  claims: {\n    given_name: 'Alice',\n    employee_number: 'E-1042'\n  },\n  reference_id: 'partner-invitation-1042',\n  invitation_ttl_seconds: 86400,\n  offer_validity_seconds: 600,\n  validity_seconds: 31536000\n}.to_json\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\nbody = '{\n   \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n   \"email\": \"alice@example.com\",\n   \"claims\": {\n    \"given_name\": \"Alice\",\n    \"employee_number\": \"E-1042\"\n   },\n   \"reference_id\": \"partner-invitation-1042\",\n   \"invitation_ttl_seconds\": 86400,\n   \"offer_validity_seconds\": 600,\n   \"validity_seconds\": 31536000\n}'\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\"\n\ndata_req <- POST(\n  url,\n  add_headers(\"Content-Type\" = \"application/json\", \"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  body = body,\n  encode = \"json\",\n  verbose()\n)\n\ncontent(data_req)"},{"lang":"json","title":"Payload application/json","source":"{\n  \"credential_definition_id\": \"db167a9d-8182-430c-bff0-f9baa6d48bb6\",\n  \"email\": \"alice@example.com\",\n  \"claims\": {\n    \"given_name\": \"Alice\",\n    \"employee_number\": \"E-1042\"\n  },\n  \"reference_id\": \"partner-invitation-1042\",\n  \"invitation_ttl_seconds\": 86400,\n  \"offer_validity_seconds\": 600,\n  \"validity_seconds\": 31536000\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reference_id"]}," is optional correlation metadata echoed on the invitation. It is not an idempotency key, uniqueness constraint, or cached-response key. Repeating create can create another resource unless the pending-recipient uniqueness rule rejects it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The successful response includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["code"]},", formatted like ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["7KMTD-5X7Q9"]},". Send that secret through your own email, SMS, or other channel. DeepCredentials does not send the email and does not return a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redemption_url"]}," for this B2B operation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep the submitted ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["claims"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["validity_seconds"]}," in your own durable request record. Invitation create, list, and get responses intentionally omit both, so they cannot be reconstructed from the B2B resource later."]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"../openapi/credential-invitations-v1.yaml#/components/schemas/CredentialInvitationWithCode"},"options":{"requiredPropsFirst":true},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/CredentialInvitationWithCode"},"CredentialInvitationStatus":{"type":"string","enum":["pending","redeemed","expired","revoked"],"description":"Current invitation lifecycle state."},"CredentialInvitation":{"type":"object","required":["invitation_id","environment","credential_definition_id","credential_definition_name","email","code_last4","status","expires_at","created_at"],"properties":{"invitation_id":{"type":"string","format":"uuid","description":"Credential invitation ID."},"environment":{"type":"string","enum":["beta","production"],"description":"Environment selected by `X-Environment` when the invitation was created."},"credential_definition_id":{"type":"string","format":"uuid","description":"Credential definition used for the eventual offer."},"credential_definition_name":{"type":"string","description":"Credential definition name captured when the invitation was created."},"email":{"type":"string","format":"email","description":"Normalized recipient email required for public redemption."},"code_last4":{"type":"string","minLength":4,"maxLength":4,"pattern":"^[0-9A-HJKMNP-TV-Z]{4}$","description":"Last four normalized code characters for support and delivery confirmation. This is not a redeemable code."},"status":{"$ref":"#/components/schemas/CredentialInvitationStatus"},"reference_id":{"type":"string","description":"Optional correlation identifier from your system; echoed on the resource."},"offer_validity_seconds":{"type":"integer","format":"int64","description":"Configured lifetime of the offer created after redemption, when supplied at creation."},"redeemed_offer_id":{"type":"string","format":"uuid","description":"Offer created by a successful redemption. Present only after redemption."},"expires_at":{"type":"string","format":"date-time","description":"Invitation-code expiry timestamp in RFC 3339 UTC."},"redeemed_at":{"type":"string","format":"date-time","description":"Successful redemption timestamp in RFC 3339 UTC."},"revoked_at":{"type":"string","format":"date-time","description":"Revocation timestamp in RFC 3339 UTC."},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp in RFC 3339 UTC."}}},"CredentialInvitationWithCode":{"allOf":[{"$ref":"#/components/schemas/CredentialInvitation"},{"type":"object","required":["code"],"properties":{"code":{"type":"string","minLength":11,"maxLength":11,"pattern":"^[0-9A-HJKMNP-TV-Z]{5}-[0-9A-HJKMNP-TV-Z]{5}$","description":"One-time plaintext invitation code. Returned only by create and rotate; the caller owns secure delivery."}}}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"redeem-the-invitation","__idx":10},"children":["Redeem the invitation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your system decides where and how to present the redemption experience. Once it has the recipient's email address and one-time code, its backend exchanges them through the anonymous public endpoint:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"POST /api/v1/public/credential-invitations/redeem\nContent-Type: application/json\n\n{\n  \"email\": \"alice@example.com\",\n  \"code\": \"7KMTD-5X7Q9\"\n}\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response contains a fresh OID4VCI ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deeplink"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qr_content_base64"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offer_id"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expires_at"]},". Your system decides how to deliver or display those values to the recipient. This endpoint requires no service-user token; do not expose a B2B token to the recipient or include one in the redemption call."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A successful redemption atomically marks the invitation ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redeemed"]}," and creates a fresh OID4VCI offer. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential_invitation.status_changed"]}," webhook contains the resulting ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offer_id"]},"; from that point, track the offer through ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /b2b/v1/credential-offers/{offerId}"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issuing.status_changed"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"list-and-get-invitations","__idx":11},"children":["List and get invitations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List results are scoped by your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Org-Id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Environment"]},", ordered newest first, and contain no plaintext code or claims. The optional filters are exact matches."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-invitations-v1.yaml","operationId":"GET:b2b.ListCredentialInvitations","parameters":{"query":{"status":"pending","credential_definition_id":"YOUR_CREDENTIAL_DEFINITION_ID","email":"alice@example.com","reference_id":"partner-invitation-1042","limit":50,"offset":0}},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X GET \\\n  'https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations?limit=50&offset=0&status=pending&credential_definition_id=YOUR_CREDENTIAL_DEFINITION_ID&email=alice%40example.com&reference_id=partner-invitation-1042' \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'"},{"lang":"javascript","title":"JavaScript","source":"const query = new URLSearchParams({\n  limit: '50',\n  offset: '0',\n  status: 'pending',\n  credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n  email: 'alice@example.com',\n  reference_id: 'partner-invitation-1042'\n}).toString();\n\nconst resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations?${query}`,\n  {\n    method: 'GET',\n    headers: {\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    }\n  }\n);\n\nconst data = await resp.text();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const query = new URLSearchParams({\n    limit: '50',\n    offset: '0',\n    status: 'pending',\n    credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n    email: 'alice@example.com',\n    reference_id: 'partner-invitation-1042'\n  }).toString();\n\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations?${query}`,\n    {\n      method: 'GET',\n      headers: {\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      }\n    }\n  );\n\n  const data = await resp.text();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\"\n\nquery = {\n  \"limit\": \"50\",\n  \"offset\": \"0\",\n  \"status\": \"pending\",\n  \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n  \"email\": \"alice@example.com\",\n  \"reference_id\": \"partner-invitation-1042\"\n}\n\nheaders = {\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.get(url, headers=headers, params=query)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\nimport java.nio.charset.StandardCharsets;\nimport java.util.stream.Collectors;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    HashMap<String, String> params = new HashMap<>();\n    params.put(\"limit\", \"50\");\n    params.put(\"offset\", \"0\");\n    params.put(\"status\", \"pending\");\n    params.put(\"credential_definition_id\", \"YOUR_CREDENTIAL_DEFINITION_ID\");\n    params.put(\"email\", \"alice@example.com\");\n    params.put(\"reference_id\", \"partner-invitation-1042\");\n\n    var query = params.keySet().stream()\n      .map(key -> key + \"=\" + URLEncoder.encode(params.get(key), StandardCharsets.UTF_8))\n      .collect(Collectors.joining(\"&\"));\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var pathname = \"/b2b/v1/credential-invitations\";\n    var request = HttpRequest.newBuilder()\n      .GET()\n      .uri(URI.create(host + pathname + '?' + query))\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n    using HttpResponseMessage request = await client.GetAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations?limit=50&offset=0&status=pending&credential_definition_id=YOUR_CREDENTIAL_DEFINITION_ID&email=alice%40example.com&reference_id=partner-invitation-1042\");\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\n$query = array(\n  \"limit\" => \"50\",\n  \"offset\" => \"0\",\n  \"status\" => \"pending\",\n  \"credential_definition_id\" => \"YOUR_CREDENTIAL_DEFINITION_ID\",\n  \"email\" => \"alice@example.com\",\n  \"reference_id\" => \"partner-invitation-1042\"\n);\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations?\" . http_build_query($query),\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations\"\n  req, err := http.NewRequest(\"GET\", reqUrl, nil)\n\n  query := req.URL.Query()\n  query.Add(\"limit\", \"50\")\n  query.Add(\"offset\", \"0\")\n  query.Add(\"status\", \"pending\")\n  query.Add(\"credential_definition_id\", \"YOUR_CREDENTIAL_DEFINITION_ID\")\n  query.Add(\"email\", \"alice@example.com\")\n  query.Add(\"reference_id\", \"partner-invitation-1042\")\n  req.URL.RawQuery = query.Encode()\n\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations')\nparams = {\n  limit: '50',\n  offset: '0',\n  status: 'pending',\n  credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n  email: 'alice@example.com',\n  reference_id: 'partner-invitation-1042'\n}\nurl.query = URI.encode_www_form(params)\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations?limit=50&offset=0&status=pending&credential_definition_id=YOUR_CREDENTIAL_DEFINITION_ID&email=alice%40example.com&reference_id=partner-invitation-1042\"\n\ndata_req <- GET(\n  url,\n  add_headers(\"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  verbose()\n)\n\ncontent(data_req)"}]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use get when you already have the invitation ID:"]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-invitations-v1.yaml","operationId":"GET:b2b.GetCredentialInvitation","parameters":{"path":{"invitationId":"305ac8b8-299a-4e63-a969-405840e67772"}},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X GET \\\n  https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/305ac8b8-299a-4e63-a969-405840e67772 \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'"},{"lang":"javascript","title":"JavaScript","source":"const invitationId = '305ac8b8-299a-4e63-a969-405840e67772';\nconst resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/${invitationId}`,\n  {\n    method: 'GET',\n    headers: {\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    }\n  }\n);\n\nconst data = await resp.text();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const invitationId = '305ac8b8-299a-4e63-a969-405840e67772';\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/${invitationId}`,\n    {\n      method: 'GET',\n      headers: {\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      }\n    }\n  );\n\n  const data = await resp.text();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\ninvitation_id = \"305ac8b8-299a-4e63-a969-405840e67772\"\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + invitation_id\n\nheaders = {\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.get(url, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var invitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n    var pathname = \"/b2b/v1/credential-invitations/%7BinvitationId%7D\";\n    var request = HttpRequest.newBuilder()\n      .GET()\n      .uri(URI.create(host + pathname ))\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n      var InvitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n    using HttpResponseMessage request = await client.GetAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + InvitationId);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\nconst invitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" . invitationId,\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  invitationId := \"305ac8b8-299a-4e63-a969-405840e67772\";\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + invitationId\n  req, err := http.NewRequest(\"GET\", reqUrl, nil)\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\ninvitation_id = '305ac8b8-299a-4e63-a969-405840e67772'\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/' + invitation_id)\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\ninvitation_id = \"305ac8b8-299a-4e63-a969-405840e67772\"\n\n# create you own operator\n\"%&%\" <- function(x, y)paste0(x,y)\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" %&% invitation_id\n\ndata_req <- GET(\n  url,\n  add_headers(\"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  verbose()\n)\n\ncontent(data_req)"}]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recover-from-a-lost-create-response","__idx":12},"children":["Recover from a lost create response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Because create is not idempotent, do not blindly retry after an ambiguous transport failure. Persist the complete create request locally and use a distinct ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reference_id"]}," for each intended invitation:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["List with the exact ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential_definition_id"]},", normalized ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["email"]},", and your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reference_id"]},"; do not restrict the first lookup to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},", because the invitation may have reached a terminal state while the response was unavailable."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If there is exactly one match, compare all returned metadata with your durable request record. Reconcile a terminal match through its status and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redeemed_offer_id"]}," rather than creating another invitation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Rotate only when the matching invitation is still ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}," and your system can establish that it belongs to this create attempt, then deliver only the replacement code returned by rotate."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If there is no match, retry create. If that returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["already_exists"]},", list by pending status, definition, and email without ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reference_id"]}," and resolve the conflicting resource manually."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If there is more than one match or the identity is otherwise ambiguous, do not select, rotate, or revoke a resource automatically."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The pending-recipient uniqueness rule prevents two pending invitations for the same organization, environment, credential definition, and normalized email. That rule supports discovery but does not turn ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reference_id"]}," into an idempotency key. List/get responses do not expose claims or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["validity_seconds"]},", so those hidden inputs can be verified only against the request record retained by your system."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rotate-a-code","__idx":13},"children":["Rotate a code"]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-invitations-v1.yaml","operationId":"POST:b2b.RotateCredentialInvitationCode","parameters":{"path":{"invitationId":"305ac8b8-299a-4e63-a969-405840e67772"}},"requestBody":{"invitation_ttl_seconds":86400},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X POST \\\n  https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/305ac8b8-299a-4e63-a969-405840e67772/rotate-code \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \\\n  -d '{\n    \"invitation_ttl_seconds\": 86400\n  }'"},{"lang":"javascript","title":"JavaScript","source":"const invitationId = '305ac8b8-299a-4e63-a969-405840e67772';\nconst resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/${invitationId}/rotate-code`,\n  {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    },\n    body: JSON.stringify({\n      invitation_ttl_seconds: 86400\n    })\n  }\n);\n\nconst data = await resp.json();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const invitationId = '305ac8b8-299a-4e63-a969-405840e67772';\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/${invitationId}/rotate-code`,\n    {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      },\n      body: JSON.stringify({\n        invitation_ttl_seconds: 86400\n      })\n    }\n  );\n\n  const data = await resp.json();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\ninvitation_id = \"305ac8b8-299a-4e63-a969-405840e67772\"\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + invitation_id + \"/rotate-code\"\n\npayload = {\n  \"invitation_ttl_seconds\": 86400\n}\n\nheaders = {\n  \"Content-Type\": \"application/json\",\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.post(url, json=payload, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var payload = String.join(\"\\n\"\n      , \"{\"\n      , \" \\\"invitation_ttl_seconds\\\": 86400\"\n      , \"}\"\n    );\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var invitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n    var pathname = \"/b2b/v1/credential-invitations/%7BinvitationId%7D/rotate-code\";\n    var request = HttpRequest.newBuilder()\n      .POST(HttpRequest.BodyPublishers.ofString(payload))\n      .uri(URI.create(host + pathname ))\n      .header(\"Content-Type\", \"application/json\")\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Text;\nusing System.Text.Json;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n    string json = JsonSerializer.Serialize(new\n    {\n      invitation_ttl_seconds = \"86400\"\n    });\n\n    using StringContent postData = new(json, Encoding.UTF8, \"application/json\");\n      var InvitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n    using HttpResponseMessage request = await client.PostAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + InvitationId + \"/rotate-code\", postData);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\nconst invitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n$curl = curl_init();\n\n$payload = array(\n  \"invitation_ttl_seconds\" => 86400\n);\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"Content-Type: application/json\",\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_POSTFIELDS => json_encode($payload),\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" . invitationId . \"/rotate-code\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"bytes\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  invitationId := \"305ac8b8-299a-4e63-a969-405840e67772\";\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + invitationId + \"/rotate-code\"\n  var data = []byte(`{\n    \"invitation_ttl_seconds\": 86400\n  }`)\n  req, err := http.NewRequest(\"POST\", reqUrl, bytes.NewBuffer(data))\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'json'\nrequire 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\ninvitation_id = '305ac8b8-299a-4e63-a969-405840e67772'\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/' + invitation_id + '/rotate-code')\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest['Content-Type'] = 'application/json'\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\nrequest.body = {\n  invitation_ttl_seconds: 86400\n}.to_json\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\nbody = '{\n   \"invitation_ttl_seconds\": 86400\n}'\n\ninvitation_id = \"305ac8b8-299a-4e63-a969-405840e67772\"\n\n# create you own operator\n\"%&%\" <- function(x, y)paste0(x,y)\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" %&% invitation_id %&% \"/rotate-code\"\n\ndata_req <- POST(\n  url,\n  add_headers(\"Content-Type\" = \"application/json\", \"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  body = body,\n  encode = \"json\",\n  verbose()\n)\n\ncontent(data_req)"},{"lang":"json","title":"Payload application/json","source":"{\n  \"invitation_ttl_seconds\": 86400\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rotation is deliberately non-idempotent. Every successful call generates a new code, invalidates the previous one, resets failed attempts, and replaces the expiry. If the response is lost, call rotate again until you receive a response; then use only that response's code. DeepCredentials never emails a B2B replacement code."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"revoke-an-invitation","__idx":14},"children":["Revoke an invitation"]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-invitations-v1.yaml","operationId":"POST:b2b.RevokeCredentialInvitation","parameters":{"path":{"invitationId":"305ac8b8-299a-4e63-a969-405840e67772"}},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X POST \\\n  https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/305ac8b8-299a-4e63-a969-405840e67772/revoke \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'"},{"lang":"javascript","title":"JavaScript","source":"const invitationId = '305ac8b8-299a-4e63-a969-405840e67772';\nconst resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/${invitationId}/revoke`,\n  {\n    method: 'POST',\n    headers: {\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    }\n  }\n);\n\nconst data = await resp.text();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const invitationId = '305ac8b8-299a-4e63-a969-405840e67772';\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/${invitationId}/revoke`,\n    {\n      method: 'POST',\n      headers: {\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      }\n    }\n  );\n\n  const data = await resp.text();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\ninvitation_id = \"305ac8b8-299a-4e63-a969-405840e67772\"\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + invitation_id + \"/revoke\"\n\nheaders = {\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.post(url, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var invitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n    var pathname = \"/b2b/v1/credential-invitations/%7BinvitationId%7D/revoke\";\n    var request = HttpRequest.newBuilder()\n      .POST(HttpRequest.BodyPublishers.ofString(\"some body text\"))\n      .uri(URI.create(host + pathname ))\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n      var InvitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n    using HttpResponseMessage request = await client.PostAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + InvitationId + \"/revoke\", null);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\nconst invitationId = \"305ac8b8-299a-4e63-a969-405840e67772\";\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" . invitationId . \"/revoke\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  invitationId := \"305ac8b8-299a-4e63-a969-405840e67772\";\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" + invitationId + \"/revoke\"\n  req, err := http.NewRequest(\"POST\", reqUrl, nil)\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\ninvitation_id = '305ac8b8-299a-4e63-a969-405840e67772'\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/' + invitation_id + '/revoke')\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\ninvitation_id = \"305ac8b8-299a-4e63-a969-405840e67772\"\n\n# create you own operator\n\"%&%\" <- function(x, y)paste0(x,y)\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-invitations/\" %&% invitation_id %&% \"/revoke\"\n\ndata_req <- POST(\n  url,\n  add_headers(\"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  verbose()\n)\n\ncontent(data_req)"}]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only a pending invitation can be revoked. Repeating revoke, or revoking an invitation that is already redeemed or expired, returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed_precondition"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-create-an-offer","__idx":15},"children":["Step 1: Create an offer"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/openapi/credential-offers-v1"},"children":["Open in API reference →"]}]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-offers-v1.yaml","operationId":"POST:b2b.CreateCredentialOffer","parameters":{},"requestBody":{"credential_definition_id":"YOUR_CREDENTIAL_DEFINITION_ID","claims":{"given_name":"Max","family_name":"Mustermann","is_over_18":true},"reference_id":"employee-12345","validity_seconds":31536000},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X POST \\\n  https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers \\\n  -H 'Content-Type: application/json' \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \\\n  -d '{\n    \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n    \"claims\": {\n      \"given_name\": \"Max\",\n      \"family_name\": \"Mustermann\",\n      \"is_over_18\": true\n    },\n    \"reference_id\": \"employee-12345\",\n    \"validity_seconds\": 31536000\n  }'"},{"lang":"javascript","title":"JavaScript","source":"const resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers`,\n  {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json',\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    },\n    body: JSON.stringify({\n      credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n      claims: {\n        given_name: 'Max',\n        family_name: 'Mustermann',\n        is_over_18: true\n      },\n      reference_id: 'employee-12345',\n      validity_seconds: 31536000\n    })\n  }\n);\n\nconst data = await resp.json();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers`,\n    {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      },\n      body: JSON.stringify({\n        credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n        claims: {\n          given_name: 'Max',\n          family_name: 'Mustermann',\n          is_over_18: true\n        },\n        reference_id: 'employee-12345',\n        validity_seconds: 31536000\n      })\n    }\n  );\n\n  const data = await resp.json();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers\"\n\npayload = {\n  \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n  \"claims\": {\n    \"given_name\": \"Max\",\n    \"family_name\": \"Mustermann\",\n    \"is_over_18\": True\n  },\n  \"reference_id\": \"employee-12345\",\n  \"validity_seconds\": 31536000\n}\n\nheaders = {\n  \"Content-Type\": \"application/json\",\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.post(url, json=payload, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var payload = String.join(\"\\n\"\n      , \"{\"\n      , \" \\\"credential_definition_id\\\": \\\"YOUR_CREDENTIAL_DEFINITION_ID\\\",\"\n      , \" \\\"claims\\\": {\"\n      , \"  \\\"given_name\\\": \\\"Max\\\",\"\n      , \"  \\\"family_name\\\": \\\"Mustermann\\\",\"\n      , \"  \\\"is_over_18\\\": true\"\n      , \" },\"\n      , \" \\\"reference_id\\\": \\\"employee-12345\\\",\"\n      , \" \\\"validity_seconds\\\": 31536000\"\n      , \"}\"\n    );\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var pathname = \"/b2b/v1/credential-offers\";\n    var request = HttpRequest.newBuilder()\n      .POST(HttpRequest.BodyPublishers.ofString(payload))\n      .uri(URI.create(host + pathname ))\n      .header(\"Content-Type\", \"application/json\")\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Text;\nusing System.Text.Json;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n    string json = JsonSerializer.Serialize(new\n    {\n      credential_definition_id = \"YOUR_CREDENTIAL_DEFINITION_ID\",\n      claims = new {\n        given_name = \"Max\",\n        family_name = \"Mustermann\",\n        is_over_18 = \"true\"\n      },\n      reference_id = \"employee-12345\",\n      validity_seconds = \"31536000\"\n    });\n\n    using StringContent postData = new(json, Encoding.UTF8, \"application/json\");\n    using HttpResponseMessage request = await client.PostAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers\", postData);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\n$curl = curl_init();\n\n$payload = array(\n  \"credential_definition_id\" => \"YOUR_CREDENTIAL_DEFINITION_ID\",\n  \"claims\" => array(\n    \"given_name\" => \"Max\",\n    \"family_name\" => \"Mustermann\",\n    \"is_over_18\" => true\n  ),\n  \"reference_id\" => \"employee-12345\",\n  \"validity_seconds\" => 31536000\n);\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"Content-Type: application/json\",\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_POSTFIELDS => json_encode($payload),\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"bytes\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers\"\n  var data = []byte(`{\n    \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n    \"claims\": {\n      \"given_name\": \"Max\",\n      \"family_name\": \"Mustermann\",\n      \"is_over_18\": true\n    },\n    \"reference_id\": \"employee-12345\",\n    \"validity_seconds\": 31536000\n  }`)\n  req, err := http.NewRequest(\"POST\", reqUrl, bytes.NewBuffer(data))\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'json'\nrequire 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers')\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest['Content-Type'] = 'application/json'\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\nrequest.body = {\n  credential_definition_id: 'YOUR_CREDENTIAL_DEFINITION_ID',\n  claims: {\n    given_name: 'Max',\n    family_name: 'Mustermann',\n    is_over_18: true\n  },\n  reference_id: 'employee-12345',\n  validity_seconds: 31536000\n}.to_json\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\nbody = '{\n   \"credential_definition_id\": \"YOUR_CREDENTIAL_DEFINITION_ID\",\n   \"claims\": {\n    \"given_name\": \"Max\",\n    \"family_name\": \"Mustermann\",\n    \"is_over_18\": true\n   },\n   \"reference_id\": \"employee-12345\",\n   \"validity_seconds\": 31536000\n}'\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers\"\n\ndata_req <- POST(\n  url,\n  add_headers(\"Content-Type\" = \"application/json\", \"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  body = body,\n  encode = \"json\",\n  verbose()\n)\n\ncontent(data_req)"},{"lang":"json","title":"Payload application/json","source":"{\n  \"credential_definition_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"claims\": {\n    \"given_name\": \"Max\",\n    \"family_name\": \"Mustermann\",\n    \"date_of_birth\": \"1990-01-15\",\n    \"is_over_18\": true\n  },\n  \"reference_id\": \"order-12345\",\n  \"offer_validity_seconds\": 600\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["validity_seconds"]}," is optional — omit to inherit the credential definition's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["default_validity_seconds"]},". See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#credential-validity"},"children":["Credential validity"]}," for the full fallback chain."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"response","__idx":16},"children":["Response"]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"../openapi/credential-offers-v1.yaml#/paths/~1b2b~1v1~1credential-offers/post/responses/200/content/application~1json/schema"},"options":{"requiredPropsFirst":true},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/schema"},"issuer.OfferStatus":{"type":"string","enum":["pending","issued","accepted","expired","failed"],"description":"Lifecycle state of a credential offer."},"schema":{"properties":{"claims":{"description":"Claim values for the credential (echoed from the request).","type":"object"},"created_at":{"format":"date-time","description":"When the offer was created (RFC3339).","type":"string"},"deeplink":{"description":"OID4VCI wallet deep link (e.g. openid-credential-offer://...).","type":"string"},"expires_at":{"format":"date-time","description":"Offer TTL deadline (RFC3339).","type":"string"},"id":{"type":"string","format":"uuid","description":"UUID v4 identifier.","example":"550e8400-e29b-41d4-a716-446655440000"},"qr_content_base64":{"description":"Base64-encoded PNG; QR payload is the same URI as deeplink.","type":"string"},"status":{"$ref":"#/components/schemas/issuer.OfferStatus"}},"required":["id","status","deeplink","qr_content_base64","claims","expires_at","created_at"],"type":"object"}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The response includes a QR code and deeplink for the wallet holder."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Claim validation"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Claim values are validated against the credential definition. Boolean claims must be JSON ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},", integer and number claims must be JSON numbers, string claims must be JSON strings. Missing mandatory claims are rejected."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-present-the-qr-code","__idx":17},"children":["Step 2: Present the QR code"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You have two options to present the issuance offer to the wallet holder:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"qr-code-desktop--in-person","__idx":18},"children":["QR code (desktop / in-person)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qr_content_base64"]}," field is a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["standard Base64-encoded PNG image"]},". Display it directly:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"html","header":{"controls":{"copy":{}}},"source":"<img src=\"data:image/png;base64,iVBORw0KGgo...\" alt=\"Scan to receive your credential\" />\n","lang":"html"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"deeplink-mobile","__idx":19},"children":["Deeplink (mobile)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deeplink"]}," field contains a URI that opens the wallet app directly:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"openid-credential-offer://?credential_offer=...\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this when the user is on a mobile device — redirect them to the deeplink instead of showing a QR code."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-track-issuance","__idx":20},"children":["Step 3: Track issuance"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"option-a-polling","__idx":21},"children":["Option A: Polling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Poll ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /b2b/v1/credential-offers/{offerId}"]}," until the status is no longer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},":"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/openapi/credential-offers-v1"},"children":["Open in API reference →"]}]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/openapi/credential-offers-v1.yaml","operationId":"GET:b2b.GetCredentialOffer","parameters":{"path":{"offerId":"770e8400-e29b-41d4-a716-446655440000"}},"environments":{"https://api.dev.deepcredentials.swiss":{"BearerAuth":"YOUR_ACCESS_TOKEN"}},"environment":"https://api.dev.deepcredentials.swiss","codeSamplesResolved":[{"lang":"shell","title":"curl","source":"curl -i -X GET \\\n  https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/770e8400-e29b-41d4-a716-446655440000 \\\n  -H 'X-Environment: beta' \\\n  -H 'X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'"},{"lang":"javascript","title":"JavaScript","source":"const offerId = '770e8400-e29b-41d4-a716-446655440000';\nconst resp = await fetch(\n  `https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/${offerId}`,\n  {\n    method: 'GET',\n    headers: {\n      'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n      'X-Environment': 'beta'\n    }\n  }\n);\n\nconst data = await resp.text();\nconsole.log(data);"},{"lang":"javascript","title":"Node.js","source":"import fetch from 'node-fetch';\n\nasync function run() {\n  const offerId = '770e8400-e29b-41d4-a716-446655440000';\n  const resp = await fetch(\n    `https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/${offerId}`,\n    {\n      method: 'GET',\n      headers: {\n        'X-Org-Id': '497f6eca-6276-4993-bfeb-53cbbbba6f08',\n        'X-Environment': 'beta'\n      }\n    }\n  );\n\n  const data = await resp.text();\n  console.log(data);\n}\n\nrun();"},{"lang":"python","title":"Python","source":"import requests\n\noffer_id = \"770e8400-e29b-41d4-a716-446655440000\"\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/\" + offer_id\n\nheaders = {\n  \"X-Org-Id\": \"497f6eca-6276-4993-bfeb-53cbbbba6f08\",\n  \"X-Environment\": \"beta\"\n}\n\nresponse = requests.get(url, headers=headers)\n\ndata = response.json()\nprint(data)"},{"lang":"java","title":"Java","source":"import java.net.*;\nimport java.net.http.*;\nimport java.util.*;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    var httpClient = HttpClient.newBuilder().build();\n\n    var host = \"https://api.dev.deepcredentials.swiss\";\n    var offerId = \"770e8400-e29b-41d4-a716-446655440000\";\n    var pathname = \"/b2b/v1/credential-offers/%7BofferId%7D\";\n    var request = HttpRequest.newBuilder()\n      .GET()\n      .uri(URI.create(host + pathname ))\n      .header(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n      .header(\"X-Environment\", \"beta\")\n      .build();\n\n    var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());\n\n    System.out.println(response.body());\n  }\n}"},{"lang":"csharp","title":"C#","source":"using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\npublic class Program\n{\n  public static async Task Main()\n  {\n    System.Net.Http.HttpClient client = new()\n    {\n      DefaultRequestHeaders =\n      {\n        {\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\"},\n        {\"X-Environment\", \"beta\"},\n      }\n    };\n\n      var OfferId = \"770e8400-e29b-41d4-a716-446655440000\";\n    using HttpResponseMessage request = await client.GetAsync(\"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/\" + OfferId);\n    string response = await request.Content.ReadAsStringAsync();\n\n    Console.WriteLine(response);\n  }\n}"},{"lang":"php","title":"PHP","source":"/**\n * Requires libcurl\n */\n\nconst offerId = \"770e8400-e29b-41d4-a716-446655440000\";\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_HTTPHEADER => [\n    \"X-Environment: beta\",\n    \"X-Org-Id: 497f6eca-6276-4993-bfeb-53cbbbba6f08\"\n  ],\n  CURLOPT_URL => \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/\" . offerId,\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n]);\n\n$response = curl_exec($curl);\n$error = curl_error($curl);\n\ncurl_close($curl);\n\nif ($error) {\n  echo \"cURL Error #:\" . $error;\n} else {\n  echo $response;\n}"},{"lang":"go","title":"Go","source":"package main\n\nimport (\n  \"fmt\"\n  \"net/http\"\n  \"io/ioutil\"\n)\n\nfunc main() {\n  offerId := \"770e8400-e29b-41d4-a716-446655440000\";\n  reqUrl := \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/\" + offerId\n  req, err := http.NewRequest(\"GET\", reqUrl, nil)\n  if err != nil {\n    panic(err)\n  }\n  req.Header.Add(\"X-Org-Id\", \"497f6eca-6276-4993-bfeb-53cbbbba6f08\")\n  req.Header.Add(\"X-Environment\", \"beta\")\n  res, err := http.DefaultClient.Do(req)\n  if err != nil {\n    panic(err)\n  }\n  defer res.Body.Close()\n  body, err := ioutil.ReadAll(res.Body)\n  if err != nil {\n    panic(err)\n  }\n\n  fmt.Println(res)\n  fmt.Println(string(body))\n}"},{"lang":"ruby","title":"Ruby","source":"require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\noffer_id = '770e8400-e29b-41d4-a716-446655440000'\nurl = URI('https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/' + offer_id)\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest['X-Org-Id'] = '497f6eca-6276-4993-bfeb-53cbbbba6f08'\nrequest['X-Environment'] = 'beta'\n\nresponse = http.request(request)\nputs response.read_body\n"},{"lang":"r","title":"R","source":"library(httr)\n\noffer_id = \"770e8400-e29b-41d4-a716-446655440000\"\n\n# create you own operator\n\"%&%\" <- function(x, y)paste0(x,y)\n\nurl = \"https://api.dev.deepcredentials.swiss/b2b/v1/credential-offers/\" %&% offer_id\n\ndata_req <- GET(\n  url,\n  add_headers(\"X-Org-Id\" = \"497f6eca-6276-4993-bfeb-53cbbbba6f08\", \"X-Environment\" = \"beta\"),\n  verbose()\n)\n\ncontent(data_req)"}]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"response-1","__idx":22},"children":["Response"]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"../openapi/credential-offers-v1.yaml#/components/schemas/b2b.b2bOfferResponse"},"options":{"requiredPropsFirst":true},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/b2b.b2bOfferResponse"},"b2b.credentialDefinitionRef":{"properties":{"has_logo":{"description":"Whether the credential definition currently has an uploaded logo.","type":"boolean"},"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Credential definition UUID. UUID v4 identifier."},"name":{"description":"Human-readable credential definition name.","type":"string"},"vct":{"description":"Verifiable credential type (e.g. \"urn:ietf:params:oauth:vct:PersonId\").","type":"string"}},"required":["id","vct","name","has_logo"],"description":"A compact reference to the credential definition.","type":"object"},"issuer.OfferStatus":{"type":"string","enum":["pending","issued","accepted","expired","failed"],"description":"Lifecycle state of a credential offer."},"b2b.b2bOfferResponse":{"properties":{"claims":{"description":"Claim values for the credential.","type":"object"},"completed_at":{"format":"date-time","description":"Set when the offer leaves pending (issued, failed, or expired).","type":"string"},"created_at":{"format":"date-time","description":"When the offer was created (RFC3339).","type":"string"},"credential_definition":{"allOf":[{"$ref":"#/components/schemas/b2b.credentialDefinitionRef"}],"description":"Credential definition reference."},"credential_validity_seconds":{"format":"int64","description":"Credential lifetime to apply at issuance (SD-JWT exp = iat + N). Absent means the credential will be issued without an exp claim.","type":"integer"},"deeplink":{"description":"Only when status is pending: OID4VCI wallet deep link.","type":"string"},"environment":{"description":"Swiyu environment: \"beta\" or \"production\".","type":"string"},"error_code":{"description":"Machine-readable failure reason when status is failed or expired.","type":"string"},"error_description":{"description":"Human-readable error detail when status is failed or expired.","type":"string"},"expires_at":{"format":"date-time","description":"When a pending offer expires if not completed (RFC3339).","type":"string"},"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Offer id (matches the value returned at creation time). UUID v4 identifier."},"invitation_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"InvitationID / SelfServiceRequestID expose the upstream lineage anchors when this offer was created from one. nil for plain portal or B2B offers."},"issued_credential_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Only when status is issued: ID of the issued credential. UUID v4 identifier."},"qr_content_base64":{"description":"Only when status is pending: Base64-encoded PNG QR code (240×240 px).","type":"string"},"reference_id":{"description":"Your reference_id from the create request, if any.","type":"string"},"self_service_request_id":{"type":"string","format":"uuid","description":"UUID v4 identifier.","example":"550e8400-e29b-41d4-a716-446655440000"},"source":{"description":"Source records where this offer originated: \"portal\" (admin UI), \"b2b\" (API caller), \"invitation\" (redeemed email invitation), or \"self\\_service\" (admin approval of a public request). Stable at row level — captured at create and never mutated.","type":"string"},"status":{"allOf":[{"$ref":"#/components/schemas/issuer.OfferStatus"}],"description":"Current lifecycle state of the offer."}},"required":["id","environment","credential_definition","status","claims","expires_at","created_at","source"],"description":"The full detail of a credential offer.","type":"object"}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["While ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deeplink"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qr_content_base64"]}," are present. When ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," changes to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued"]},", the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued_credential_id"]}," field contains the credential ID and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deeplink"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qr_content_base64"]}," are omitted."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When status is no longer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deeplink"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["qr_content_base64"]}," are omitted from the response — the wallet flow is complete."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Polling recommendations:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Poll every 2–3 seconds."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Stop when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Respect the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expires_at"]}," timestamp — stop polling after expiration."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"option-b-webhooks","__idx":23},"children":["Option B: Webhooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Subscribe to the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issuing.status_changed"]}," webhook event to receive a slim terminal-state hint (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offer_id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]},"). Follow every callback with authenticated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /b2b/v1/credential-offers/{offerId}"]}," when you need the authoritative offer snapshot. The webhook does not contain the offer claims or duplicate the GET response."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the delayed branch, also opt in to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential_invitation.status_changed"]},". It fires only for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redeemed"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["revoked"]},". A redeemed callback contains ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offer_id"]},", which is the handoff to the normal offer lifecycle; expired and revoked callbacks omit it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/webhooks"},"children":["Webhooks guide"]}," for setup, signature verification, and secret rotation."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-manage-credentials","__idx":24},"children":["Step 4: Manage credentials"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-credential-details","__idx":25},"children":["Get credential details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /b2b/v1/issued-credentials/{credentialId}"]}," to retrieve details about an issued credential, including its current status."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"important-issuance-does-not-confirm-holder-acceptance","__idx":26},"children":["Important: Issuance does not confirm holder acceptance"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Issued ≠ Accepted"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the offer status changes to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued"]},", it means the credential was ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["delivered to the wallet"]},". However, the current swiyu wallet does not send a confirmation callback — the issuer has no way to know whether the holder actually accepted the credential or dismissed it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is a known limitation of the swiyu Public Beta infrastructure. The OID4VCI specification defines an optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notification_endpoint"]}," for this purpose, but the swiyu wallet does not implement it yet."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-verify-after-issuance","__idx":27},"children":["Recommended: Verify after issuance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To confirm that a holder actually has the credential in their wallet, use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/verification-flow"},"children":["Verification API"]}," to request a presentation of the recently issued credential:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Issue the credential"]}," via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /b2b/v1/credential-offers"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Wait for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued"]}," status"]}," (poll or webhook)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create a verification session"]}," via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /b2b/v1/verification-sessions"]}," using the same credential definition."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ask the holder to present"]}," the credential by scanning the verification QR code."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["success"]}]}," — the credential is confirmed to be in the holder's wallet and valid."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This \"issue-then-verify\" pattern gives you cryptographic proof that the holder possesses the credential, which ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["issued"]}," status alone cannot guarantee."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"sequenceDiagram\n    participant You as Your System\n    participant API as DeepCredentials API\n    participant Wallet as Holder's Wallet\n\n    You->>API: POST /credential-offers\n    API-->>You: offer (QR code)\n    You->>Wallet: Show QR to holder\n    Wallet->>API: OID4VCI flow\n    API-->>You: status: issued\n\n    Note over You: Credential delivered, but accepted?\n\n    You->>API: POST /verification-sessions\n    API-->>You: verification QR\n    You->>Wallet: Show verification QR\n    Wallet->>API: OID4VP presentation\n    API-->>You: status: success + claims\n\n    Note over You: Confirmed — holder has the credential\n","diagramHtml":"<svg id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 809px;\" viewBox=\"-122 -10 809 716\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"487\" y=\"630\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"Wallet\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"562\" y=\"662.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"562\" dy=\"0\">Holder's Wallet</tspan></text></g><g><rect x=\"256.5\" y=\"630\" fill=\"#eaeaea\" stroke=\"#666\" width=\"169\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"341\" y=\"662.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"341\" dy=\"0\">DeepCredentials API</tspan></text></g><g><rect x=\"0\" y=\"630\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"You\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"662.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Your System</tspan></text></g><g><line id=\"actor2\" x1=\"562\" y1=\"65\" x2=\"562\" y2=\"630\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"Wallet\" data-et=\"life-line\" data-id=\"Wallet\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"Wallet\"><rect x=\"487\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"Wallet\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"562\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"562\" dy=\"0\">Holder's Wallet</tspan></text></g></g><g><line id=\"actor1\" x1=\"341\" y1=\"65\" x2=\"341\" y2=\"630\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"API\" data-et=\"life-line\" data-id=\"API\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"API\"><rect x=\"256.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"169\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"341\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"341\" dy=\"0\">DeepCredentials API</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"630\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"You\" data-et=\"life-line\" data-id=\"You\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"You\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"You\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Your System</tspan></text></g></g><style>#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .error-icon{fill:#552222;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .error-text{fill:#552222;stroke:#552222;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-thickness-normal{stroke-width:1px;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-thickness-thick{stroke-width:3.5px;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-pattern-solid{stroke-dasharray:0;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-pattern-dashed{stroke-dasharray:3;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .edge-pattern-dotted{stroke-dasharray:2;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .marker{fill:#333333;stroke:#333333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .marker.cross{stroke:#333333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d p{margin:0;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .actor{stroke:#9370DB;fill:#ECECFF;stroke-width:1;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d rect.note[data-look=\"neo\"]{stroke:#aaaa33;fill:#fff5ad;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d text.actor&gt;tspan{fill:black;stroke:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .actor-line{stroke:#9370DB;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [id$=\"-arrowhead\"] path{fill:#333;stroke:#333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .sequenceNumber{fill:white;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [id$=\"-sequencenumber\"]{fill:#333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [id$=\"-crosshead\"] path{fill:#333;stroke:#333;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .messageText{fill:#333;stroke:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .labelBox{stroke:#9370DB;fill:#ECECFF;filter:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .labelText,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .labelText&gt;tspan{fill:black;stroke:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .loopText,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .loopText&gt;tspan{fill:black;stroke:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .sectionTitle,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .sectionTitle&gt;tspan{fill:black;stroke:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#9370DB;fill:#9370DB;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .note{stroke:#aaaa33;fill:#fff5ad;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .noteText,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .noteText&gt;tspan{fill:black;stroke:none;font-weight:normal;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .activation0{fill:#f4f4f4;stroke:#666;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .activation1{fill:#f4f4f4;stroke:#666;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .activation2{fill:#f4f4f4;stroke:#666;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .actorPopupMenu{position:absolute;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .actor-man circle,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d line{fill:#ECECFF;stroke-width:2px;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d g rect.rect{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));stroke:#9370DB;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d .node .neo-node{stroke:#9370DB;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node rect,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].cluster rect,#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"note\" data-id=\"i5\"><rect x=\"-61\" y=\"299\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"272\" height=\"38\" class=\"note\"></rect><text x=\"75\" y=\"304\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"75\">Credential delivered, but accepted?</tspan></text></g><g data-et=\"note\" data-id=\"i11\"><rect x=\"-72\" y=\"573\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"294\" height=\"37\" class=\"note\"></rect><text x=\"75\" y=\"578\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"75\">Confirmed — holder has the credential</tspan></text></g><text x=\"207\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">POST /credential-offers</text><line x1=\"76\" y1=\"109\" x2=\"337\" y2=\"109\" class=\"messageLine0\" data-et=\"message\" data-id=\"i0\" data-from=\"You\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"124\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">offer (QR code)</text><line x1=\"340\" y1=\"155\" x2=\"79\" y2=\"155\" class=\"messageLine1\" data-et=\"message\" data-id=\"i1\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"317\" y=\"170\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Show QR to holder</text><line x1=\"76\" y1=\"201\" x2=\"558\" y2=\"201\" class=\"messageLine0\" data-et=\"message\" data-id=\"i2\" data-from=\"You\" data-to=\"Wallet\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"fill: none;\"></line><text x=\"453\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">OID4VCI flow</text><line x1=\"561\" y1=\"245\" x2=\"345\" y2=\"245\" class=\"messageLine0\" data-et=\"message\" data-id=\"i3\" data-from=\"Wallet\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"260\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">status: issued</text><line x1=\"340\" y1=\"289\" x2=\"79\" y2=\"289\" class=\"messageLine1\" data-et=\"message\" data-id=\"i4\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"207\" y=\"352\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">POST /verification-sessions</text><line x1=\"76\" y1=\"381\" x2=\"337\" y2=\"381\" class=\"messageLine0\" data-et=\"message\" data-id=\"i6\" data-from=\"You\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"396\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">verification QR</text><line x1=\"340\" y1=\"427\" x2=\"79\" y2=\"427\" class=\"messageLine1\" data-et=\"message\" data-id=\"i7\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"317\" y=\"442\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Show verification QR</text><line x1=\"76\" y1=\"473\" x2=\"558\" y2=\"473\" class=\"messageLine0\" data-et=\"message\" data-id=\"i8\" data-from=\"You\" data-to=\"Wallet\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"fill: none;\"></line><text x=\"453\" y=\"488\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">OID4VP presentation</text><line x1=\"561\" y1=\"519\" x2=\"345\" y2=\"519\" class=\"messageLine0\" data-et=\"message\" data-id=\"i9\" data-from=\"Wallet\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"534\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">status: success + claims</text><line x1=\"340\" y1=\"563\" x2=\"79\" y2=\"563\" class=\"messageLine1\" data-et=\"message\" data-id=\"i10\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-b0572b4c90231e5a645d42842299a8618c1dd5104d36a4dd23a2ed24b134439d-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line></svg>","diagramHtmlDark":"<svg id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 809px;\" viewBox=\"-122 -10 809 716\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"487\" y=\"630\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"Wallet\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"562\" y=\"662.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"562\" dy=\"0\">Holder's Wallet</tspan></text></g><g><rect x=\"256.5\" y=\"630\" fill=\"#eaeaea\" stroke=\"#666\" width=\"169\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"341\" y=\"662.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"341\" dy=\"0\">DeepCredentials API</tspan></text></g><g><rect x=\"0\" y=\"630\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"You\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"662.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Your System</tspan></text></g><g><line id=\"actor2\" x1=\"562\" y1=\"65\" x2=\"562\" y2=\"630\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"Wallet\" data-et=\"life-line\" data-id=\"Wallet\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"Wallet\"><rect x=\"487\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"Wallet\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"562\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"562\" dy=\"0\">Holder's Wallet</tspan></text></g></g><g><line id=\"actor1\" x1=\"341\" y1=\"65\" x2=\"341\" y2=\"630\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"API\" data-et=\"life-line\" data-id=\"API\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"API\"><rect x=\"256.5\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"169\" height=\"65\" name=\"API\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"341\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"341\" dy=\"0\">DeepCredentials API</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"630\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"You\" data-et=\"life-line\" data-id=\"You\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"You\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"You\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">Your System</tspan></text></g></g><style>#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .error-icon{fill:#a44141;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .error-text{fill:#ddd;stroke:#ddd;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-thickness-normal{stroke-width:1px;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-thickness-thick{stroke-width:3.5px;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-pattern-solid{stroke-dasharray:0;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .marker{fill:lightgrey;stroke:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .marker.cross{stroke:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db p{margin:0;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .actor{stroke:#ccc;fill:#1f2020;stroke-width:1;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db rect.note[data-look=\"neo\"]{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db text.actor&gt;tspan{fill:lightgrey;stroke:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .actor-line{stroke:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [id$=\"-arrowhead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .sequenceNumber{fill:black;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [id$=\"-sequencenumber\"]{fill:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [id$=\"-crosshead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .messageText{fill:lightgrey;stroke:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .labelBox{stroke:#ccc;fill:#1f2020;filter:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .labelText,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .labelText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .loopText,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .loopText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .sectionTitle,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .sectionTitle&gt;tspan{fill:lightgrey;stroke:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#ccc;fill:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .noteText,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .noteText&gt;tspan{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;font-weight:normal;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .activation0{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .activation1{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .activation2{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .actorPopupMenu{position:absolute;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .actorPopupMenuPanel{position:absolute;fill:#1f2020;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .actor-man circle,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db line{fill:#1f2020;stroke-width:2px;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db g rect.rect{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));stroke:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db .node .neo-node{stroke:#ccc;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node rect,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].cluster rect,#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node polygon{stroke:url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node path{stroke:url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-gradient);stroke-width:1px;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node circle{stroke:url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"note\" data-id=\"i5\"><rect x=\"-61\" y=\"299\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"272\" height=\"38\" class=\"note\"></rect><text x=\"75\" y=\"304\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"75\">Credential delivered, but accepted?</tspan></text></g><g data-et=\"note\" data-id=\"i11\"><rect x=\"-72\" y=\"573\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"294\" height=\"37\" class=\"note\"></rect><text x=\"75\" y=\"578\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"75\">Confirmed — holder has the credential</tspan></text></g><text x=\"207\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">POST /credential-offers</text><line x1=\"76\" y1=\"109\" x2=\"337\" y2=\"109\" class=\"messageLine0\" data-et=\"message\" data-id=\"i0\" data-from=\"You\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"124\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">offer (QR code)</text><line x1=\"340\" y1=\"155\" x2=\"79\" y2=\"155\" class=\"messageLine1\" data-et=\"message\" data-id=\"i1\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"317\" y=\"170\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Show QR to holder</text><line x1=\"76\" y1=\"201\" x2=\"558\" y2=\"201\" class=\"messageLine0\" data-et=\"message\" data-id=\"i2\" data-from=\"You\" data-to=\"Wallet\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"fill: none;\"></line><text x=\"453\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">OID4VCI flow</text><line x1=\"561\" y1=\"245\" x2=\"345\" y2=\"245\" class=\"messageLine0\" data-et=\"message\" data-id=\"i3\" data-from=\"Wallet\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"260\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">status: issued</text><line x1=\"340\" y1=\"289\" x2=\"79\" y2=\"289\" class=\"messageLine1\" data-et=\"message\" data-id=\"i4\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"207\" y=\"352\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">POST /verification-sessions</text><line x1=\"76\" y1=\"381\" x2=\"337\" y2=\"381\" class=\"messageLine0\" data-et=\"message\" data-id=\"i6\" data-from=\"You\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"396\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">verification QR</text><line x1=\"340\" y1=\"427\" x2=\"79\" y2=\"427\" class=\"messageLine1\" data-et=\"message\" data-id=\"i7\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"317\" y=\"442\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Show verification QR</text><line x1=\"76\" y1=\"473\" x2=\"558\" y2=\"473\" class=\"messageLine0\" data-et=\"message\" data-id=\"i8\" data-from=\"You\" data-to=\"Wallet\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"fill: none;\"></line><text x=\"453\" y=\"488\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">OID4VP presentation</text><line x1=\"561\" y1=\"519\" x2=\"345\" y2=\"519\" class=\"messageLine0\" data-et=\"message\" data-id=\"i9\" data-from=\"Wallet\" data-to=\"API\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"fill: none;\"></line><text x=\"210\" y=\"534\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">status: success + claims</text><line x1=\"340\" y1=\"563\" x2=\"79\" y2=\"563\" class=\"messageLine1\" data-et=\"message\" data-id=\"i10\" data-from=\"API\" data-to=\"You\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-1ae36b401735dd49759ba426ed061d4519df97d361217084b99611fda73ab5db-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line></svg>"},"children":["sequenceDiagram\n    participant You as Your System\n    participant API as DeepCredentials API\n    participant Wallet as Holder's Wallet\n\n    You->>API: POST /credential-offers\n    API-->>You: offer (QR code)\n    You->>Wallet: Show QR to holder\n    Wallet->>API: OID4VCI flow\n    API-->>You: status: issued\n\n    Note over You: Credential delivered, but accepted?\n\n    You->>API: POST /verification-sessions\n    API-->>You: verification QR\n    You->>Wallet: Show verification QR\n    Wallet->>API: OID4VP presentation\n    API-->>You: status: success + claims\n\n    Note over You: Confirmed — holder has the credential\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-handling","__idx":28},"children":["Error handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On failure:"]}," the offer status changes to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]},". Create a new offer to retry."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On expiration:"]}," offers that remain ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}," past their ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expires_at"]}," transition to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]}," automatically. Default TTL is 10 minutes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/error-handling"},"children":["Error Handling"]}," for a complete list of error codes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":29},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/webhooks"},"children":["Webhooks"]}," — Receive issuance results in real time."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/verification-flow"},"children":["Verification Flow"]}," — Verify credentials from wallet holders."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/guides/error-handling"},"children":["Error Handling"]}," — Handle all possible error scenarios."]}]}]},"headings":[{"value":"Credential Issuance Flow","id":"credential-issuance-flow","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Choose a delivery branch","id":"choose-a-delivery-branch","depth":2},{"value":"Offer lifecycle","id":"offer-lifecycle","depth":2},{"value":"Offer statuses","id":"offer-statuses","depth":3},{"value":"Credential statuses","id":"credential-statuses","depth":3},{"value":"Credential validity","id":"credential-validity","depth":2},{"value":"Partner-delivered invitation flow","id":"partner-delivered-invitation-flow","depth":2},{"value":"Invitation statuses","id":"invitation-statuses","depth":3},{"value":"Create an invitation","id":"create-an-invitation","depth":3},{"value":"Redeem the invitation","id":"redeem-the-invitation","depth":3},{"value":"List and get invitations","id":"list-and-get-invitations","depth":3},{"value":"Recover from a lost create response","id":"recover-from-a-lost-create-response","depth":3},{"value":"Rotate a code","id":"rotate-a-code","depth":3},{"value":"Revoke an invitation","id":"revoke-an-invitation","depth":3},{"value":"Step 1: Create an offer","id":"step-1-create-an-offer","depth":2},{"value":"Response","id":"response","depth":3},{"value":"Step 2: Present the QR code","id":"step-2-present-the-qr-code","depth":2},{"value":"QR code (desktop / in-person)","id":"qr-code-desktop--in-person","depth":3},{"value":"Deeplink (mobile)","id":"deeplink-mobile","depth":3},{"value":"Step 3: Track issuance","id":"step-3-track-issuance","depth":2},{"value":"Option A: Polling","id":"option-a-polling","depth":3},{"value":"Response","id":"response-1","depth":3},{"value":"Option B: Webhooks","id":"option-b-webhooks","depth":3},{"value":"Step 4: Manage credentials","id":"step-4-manage-credentials","depth":2},{"value":"Get credential details","id":"get-credential-details","depth":3},{"value":"Important: Issuance does not confirm holder acceptance","id":"important-issuance-does-not-confirm-holder-acceptance","depth":2},{"value":"Recommended: Verify after issuance","id":"recommended-verify-after-issuance","depth":3},{"value":"Error handling","id":"error-handling","depth":2},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Credential Issuance Flow"}},"lastModified":"2026-08-19T08:56:28.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/guides/issuance-flow","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}