{"agency_types":{"instrumental":"Agency granted for a specific task or operation. The agent acts on your behalf for a defined action, then the grant expires.","specific":"Agency granted for a single, named resource. The agent can access exactly one thing — nothing more.","standing":"Agency granted for ongoing access to a category of resources. The agent maintains access until the user revokes it."},"approval_url_template":"https://staging-ia.moltaicorp.com/dashboard/{session_id}","dashboard_url":"https://staging-ia.moltaicorp.com/dashboard","description":"Instrumental Agency — passkey-rooted agency for cloud resources.","flow":{"create_session":{"body":{"agency_type":"instrumental | standing | specific","agent_did":"did:agent:optional","description":"What access the agent needs and why","scope":["calendar.readonly"],"ttl_seconds":30},"method":"POST","path":"/api/agency/request","returns":["session_id","approval_url","qr_ascii","events_url","event_token"]},"human_approval":{"description":"Show approval_url or qr_ascii to the user. The user opens the UUID session in their signed-in dashboard and approves with their registered passkey."},"receive_token":{"description":"Connect to events_url with event_token. After passkey approval the stream delivers the exact-scope Google bearer, reports provider expiry, and schedules bearer revocation when the 30-second IA lease ends."}},"service":"instrumental-agency","valid_scopes":{"note":"Use short names (e.g. 'email') or full URIs (e.g. 'https://www.googleapis.com/auth/userinfo.email'). Invalid scopes are rejected at request creation with a 400 error.","short_names":["openid","email","profile","gmail.readonly","gmail.send","calendar.readonly","calendar.events","drive.readonly","drive.file","contacts.readonly","cloud-platform"]},"version":"v1"}