Developer Quickstart
5-Minute Flow
This quickstart covers the minimum integration path:
- Request issuance nonce from issuer
- Sign nonce with agent private key
- Mint Agent Passport
- Present passport-backed identity to a verifier
Step 1: Request Nonce
curl -X POST https://issuer.example.com/v1/issuance/nonce \ -H "Content-Type: application/json" \ -d '{"principal_id":"principal-123","realm_id":"default"}'Step 2: Sign Nonce
Use your agent private key to sign the nonce payload.
Step 3: Mint Passport
curl -X POST https://issuer.example.com/v1/passports \ -H "Content-Type: application/json" \ -d @passport-mint-request.jsonpassport-mint-request.json should include public_key, signed_nonce, principal context, and agent declaration fields.
Step 4: Verify at Runtime
Verifier flow:
- Resolve issuer metadata
- Fetch issuer JWKS
- Verify passport and action signatures
- Check status and
revocation_nonce - Enforce mandate scope
Minimal Python Example
from passport_sdk import PassportClient
client = PassportClient( token="<passport_or_access_token>", issuer_url="https://issuer.example.com")
result = client.verify_action( action="email.send", payload={"to": "ops@example.com", "subject": "APIS test"})
print(result)