{
  "info": {
    "name": "Xynthera AI Interoperability Diagnostics",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Hosted diagnostics of sanitized caller metadata: WRPRC producer/consumer, OpenID4VP boundaries, FCAF evidence mapping. Not credential verification, not certification. Paid availability is authoritative in GET /v1/catalog; a candidate tariff is not activation. Reuse request_id with identical input on retry. Keep signed receipts client-side. Import this collection. Put your budget code in a PRIVATE local variable budget_code; never publish it. Three requests below consume paid credit only once the service opens. Get availability first."
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://pfxxzsnboehxsefyajml.supabase.co/functions/v1/xynthera-ai-payg",
      "type": "string"
    },
    {
      "key": "budget_code",
      "value": "",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "1 — Availability (free)",
      "request": {
        "method": "GET",
        "url": "{{base_url}}/v1/catalog"
      }
    },
    {
      "name": "2 — JWKS (free)",
      "request": {
        "method": "GET",
        "url": "{{base_url}}/jwks.json"
      }
    },
    {
      "name": "xyntheraInteropWrprcDiagnose",
      "request": {
        "method": "POST",
        "url": "{{base_url}}/v1/execute",
        "auth": {
          "type": "bearer",
          "bearer": [
            {
              "key": "token",
              "value": "{{budget_code}}",
              "type": "string"
            }
          ]
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sku\": \"xyntheraInteropWrprcDiagnose\",\n  \"request_id\": \"set-a-unique-id-and-reuse-on-retry\",\n  \"input\": {\n    \"source_version\": \"EUDI reference registrar v0.2.1 / verifier v0.11.1 — public issue #27\",\n    \"producer\": {\n      \"format\": \"jws_json\",\n      \"protected_typ\": \"jose+json\",\n      \"policy_id\": \"{ itu-t(0) identified-organization(4) etsi(0) eudiwrpa(19475) policy-identifiers(3) wrprc (1)}\",\n      \"certificate_policy\": \"ncp-legal (2)\",\n      \"x5c_count\": 0,\n      \"alg\": \"ES256\"\n    },\n    \"consumer\": {\n      \"accepted_format\": \"jws_compact\",\n      \"required_typ\": \"rc-wrp+jwt\",\n      \"require_x5c\": true,\n      \"expected_policy_id\": \"0.4.0.19475.3.1\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('Expected response code', () => pm.expect([200,400,401,402,409,429,503]).to.include(pm.response.code));",
              "if (pm.response.code === 200) { const v = pm.response.json(); pm.test('Signed receipt supplied', () => { pm.expect(v.receipt.signature.alg).to.eql('ES256'); pm.expect(v.receipt.signature.compact.split('.')).to.have.lengthOf(3); }); }"
            ]
          }
        }
      ]
    },
    {
      "name": "xyntheraInteropOpenid4vpAttribute",
      "request": {
        "method": "POST",
        "url": "{{base_url}}/v1/execute",
        "auth": {
          "type": "bearer",
          "bearer": [
            {
              "key": "token",
              "value": "{{budget_code}}",
              "type": "string"
            }
          ]
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sku\": \"xyntheraInteropOpenid4vpAttribute\",\n  \"request_id\": \"set-a-unique-id-and-reuse-on-retry\",\n  \"input\": {\n    \"flow\": {\n      \"jar_mode\": \"by_value\",\n      \"response_mode\": \"direct_post\",\n      \"response_uri\": \"https://example.invalid/callback\",\n      \"credential_format\": \"mDOC\"\n    },\n    \"wallet\": {\n      \"effective_client_id\": \"redirect_uri:https://example.invalid/callback\",\n      \"error_code\": \"InvalidDeviceSignature\"\n    },\n    \"verifier\": {\n      \"handover_client_id\": \"Verifier\",\n      \"error_code\": \"InvalidDeviceSignature\"\n    },\n    \"ui\": {\n      \"authorization_client_id\": \"Verifier\"\n    },\n    \"versions\": {\n      \"evidence\": \"eu-digital-identity-wallet/av-web-verifier-ui#7\"\n    }\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('Expected response code', () => pm.expect([200,400,401,402,409,429,503]).to.include(pm.response.code));",
              "if (pm.response.code === 200) { const v = pm.response.json(); pm.test('Signed receipt supplied', () => { pm.expect(v.receipt.signature.alg).to.eql('ES256'); pm.expect(v.receipt.signature.compact.split('.')).to.have.lengthOf(3); }); }"
            ]
          }
        }
      ]
    },
    {
      "name": "xyntheraInteropFcafEvidence",
      "request": {
        "method": "POST",
        "url": "{{base_url}}/v1/execute",
        "auth": {
          "type": "bearer",
          "bearer": [
            {
              "key": "token",
              "value": "{{budget_code}}",
              "type": "string"
            }
          ]
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"sku\": \"xyntheraInteropFcafEvidence\",\n  \"request_id\": \"set-a-unique-id-and-reuse-on-retry\",\n  \"input\": {\n    \"fcaf_release\": \"demo-fixture-not-official-baseline\",\n    \"implementation\": \"example-wallet-implementation\",\n    \"ics\": {\n      \"remote.presentation\": true,\n      \"proximity.presentation\": false\n    },\n    \"cases\": [\n      {\n        \"id\": \"DEMO-TEST-001-NOT-OFFICIAL\",\n        \"requires\": [\n          \"remote.presentation\"\n        ],\n        \"requirements\": [\n          \"DEMO-CIR-001\"\n        ]\n      },\n      {\n        \"id\": \"DEMO-TEST-002-NOT-OFFICIAL\",\n        \"requires\": [\n          \"proximity.presentation\"\n        ],\n        \"requirements\": [\n          \"DEMO-CIR-002\"\n        ]\n      }\n    ],\n    \"evidence\": []\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "pm.test('Expected response code', () => pm.expect([200,400,401,402,409,429,503]).to.include(pm.response.code));",
              "if (pm.response.code === 200) { const v = pm.response.json(); pm.test('Signed receipt supplied', () => { pm.expect(v.receipt.signature.alg).to.eql('ES256'); pm.expect(v.receipt.signature.compact.split('.')).to.have.lengthOf(3); }); }"
            ]
          }
        }
      ]
    }
  ]
}
