Skip to main content
Issue a new bearer grant for this agent with a narrowed scope set. Always requires principal step-up — the first call returns a step-up URL; the second call (with the redeemed sigil) issues the grant.

Metadata

Annotations

Input schema

Output schema

Request examples

This tool always requires a two-call pattern. The first call (without step_up_sigil) returns -32003 with a step_up_url. After the principal completes biometric approval, the second call supplies the redeemed step_up_sigil and receives the new grant.

Response examples

Step 1 — step-up required (first call without sigil always returns this):
Step 2 — successful grant issuance (with valid sigil):
Error — attempted scope escalation (requesting scope not in current grant):
Error — sigil already redeemed or expired:

Errors

Step-up flow

agent.grant.issue unconditionally requires principal biometric approval. Every call without a valid step_up_sigil returns -32003. Here is the full two-call sequence: Call 1 — trigger step-up Send the request without step_up_sigil. The server mints a step-up session and returns -32003 with data.step_up_url. Redirect principal Open or redirect the principal’s browser to step_up_url. Glide’s step-up sheet prompts the principal to approve the scope + TTL using their registered Privy passkey or biometric. On approval the sheet redirects back to your redirect_uri with a sigil query parameter. Call 2 — supply the redeemed sigil Repeat the exact same call (same scope, same ttl_seconds) and include step_up_sigil from the redirect callback. The sigil is single-use; replaying it, or using a sigil minted for a different reason (e.g., rotate_signer), returns -32602 step_up_sigil_invalid. For more detail on the step-up redirect flow, session lifecycle, and sigil expiry, see Step-up authentication.

Auth

Caller’s grant must include the agent:budget:create scope. Grants whose scope set is a superset of the required scope are accepted.