keyring_authenticated_request
Make authenticated API calls using managed secrets without exposing keys in responses. It retrieves the secret, executes the request, and logs every call for auditing.
Instructions
Make an authenticated API call using a managed secret. The key never appears in the response.
The keyring retrieves the secret, makes the API call, and returns only the response data. Every call is logged to the checkout ledger.
Args: service: Service identifier (e.g. 'agentmail', 'stripe', 'ga4', 'firebase'). For unregistered services, pass any name — the generic adapter handles the request if base_url is in params. secret_name: Name of the secret to use (from keyring_list_available). method: HTTP method (GET, POST, PUT, DELETE). endpoint: API endpoint path (appended to service base URL). params: Query parameters for the request. For unregistered services, include: base_url (required), auth_type ('bearer'|'header'|'basic'|'query', default 'bearer'), auth_header (header name when auth_type='header'). body: JSON body for POST/PUT requests. scope: Optional scope for multi-value keys (e.g. 'fleet', 'mcp'). When set, tries secret_name:scope first, falls back to secret_name. purpose: Why this request is being made (logged to ledger). did: Agent's DID for identity verification. agentmail_token: AgentMail API key for identity fallback. agentmail_inbox: Agent's AgentMail address for identity fallback.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| did | No | ||
| body | No | ||
| scope | No | ||
| method | No | GET | |
| params | No | ||
| purpose | No | ||
| service | Yes | ||
| endpoint | No | ||
| secret_name | Yes | ||
| agentmail_inbox | No | ||
| agentmail_token | No |