Integrators Β· Step 4

Partner verification requests

Portable reuse loop β€” partner creates request, holder consents, policy engine returns decision.

Create a request (server-side)

POST /api/v1/verification-requests
Authorization: Bearer abx_live_YOUR_KEY

{
  "policy_id": "cielo-verified-guest-v1",
  "requested_action": "verified_rate",
  "sui_address": "0x…"
}

β†’ { request_id, consent_url, expires_at }

Holder consent

  • Redirect holder to consent_url (/passport?verify_request=…)
  • Holder sees selective disclosure preview β€” claims only, never documents
  • Approve β†’ POST …/consent (browser session, not client wallet spoofing)
  • Decline β†’ POST …/decline β€” request cancelled

Poll decision

After approval, poll GET /api/v1/decisions/{id}/status before settlement. Decisions can expire or be revoked β€” fail closed.

Open Passport β†’Partner dashboardCredential portability