Skip to content
Veterans Crisis Linedial 988, press 1text 838255
Rally Point

Developers

Build on the Veteran Passport.

Verify veteran status and eligibility inside your product — with the veteran in control, results cryptographically signed, and their SSN, address, and documents never exposed. The API is in private preview; request early access to build with us.

POST /v1/verification_requests
Authorization: Bearer sk_live_…

{
  "claims": ["verified_veteran", "branch", "service_era"],
  "purpose": "Veteran hiring preference",
  "redirect_uri": "https://yourapp.com/verified"
}
PreviewThe Veteran Passport API is in private preview — not generally available yet. QR verification is live today; the rest is open to early-access partners.

What you can build

One verification, trusted anywhere.

Move from “collect a DD-214 and hope” to a signed, consented answer in seconds.

Verify status

Confirm a veteran’s service — verified, not self-claimed — without collecting their PII.

Check eligibility

Ask a policy question (era, discharge, disability ≥ X) and get the answer, not the data.

Receive proof

Every verification returns a signed result and an immutable consent receipt for both sides.

Ways to integrate

Accept Veteran Passport however you build.

QR verification

A veteran shows a QR; you confirm their service on the web — no install. Live today via the verify page.

Live

"Verify with Veteran Passport" button

A drop-in button and widget for your site or app.

Preview

REST verification API

Server-to-server verification and eligibility, with signed results and consent receipts.

Preview

Native wallet presentation

Read a Veteran Passport from a mobile wallet on a modern phone.

Preview

The API

A small, signed surface.

Create a request, the veteran approves, you fetch a signed result. Illustrative — full reference in the API docs.

  • POST/v1/verification_requests
  • GET/v1/verification_requests/{id}
  • POST/v1/verification_requests/{id}/cancel
  • GET/v1/results/{id}
  • GET/v1/credentials/{passport_id}/status
Full API reference

A signed result — the answer, not the data

{
  "state": "approved",
  "claims": {
    "verified_veteran": true,
    "branch": "U.S. Marine Corps",
    "service_era": "Post-9/11"
  },
  "signed": true,
  "consent_receipt": "rcpt_4F1…"
}

Selective disclosure

The answer travels. The data stays.

You receive only the claims the veteran approves — and some things are structurally impossible to return.

Claims you can request

Verified veteranBranch of serviceService eraService datesDischarge statusPassport IDVerification dateDisability status

Claims marked with a key require the veteran’s explicit consent.

Never returned — by construction

SSN Date of birth Home address Original DD-214 Source documents

Webhooks

React to verification events in real time.

  • verification.approvedThe veteran approved the request; a signed result is available.
  • verification.deniedThe veteran declined to share the requested claims.
  • verification.expiredThe request expired before the veteran responded.
  • verification.revokedThe veteran revoked access after approving.
  • credential.status_changedA credential's status changed (e.g., active → revoked).

Sandbox

Test every outcome with fixed sample Passport IDs — no real veterans, no real data.

RP-481042verified
RP-000000not verified
RP-EXP777expired
RP-REV314revoked

Build with us.

The Veteran Passport API is in private preview. Tell us what you want to build and we'll bring you in.