Operations
apiKeys.create can return a secret that is shown once. Never log it, paste it into public artifacts, or include it in agent transcripts beyond the minimum private handoff the operator requested.
Raw AI dataset export is intentionally separate from ordinary read access. Add
the exact ai:export scope when a key needs to call
agentObservations.export; read, write, and errors:read do not imply it.
The * scope grants general API permissions, but it does not grant sensitive
remote_access:* permissions. Add each required remote-access scope explicitly.
Remote-access actions use separate scopes. Broad read permits only sanitized targets and project-safe request summaries. An agent key needs the exact remote_access:request scope to preview, create, inspect, or cancel its owned requests. A key must have the exact remote_access:manage scope for administration. Do not put management scope on an agent key. Approval decisions, signing-key fingerprint reveal, target confirmation, and transcript reveal are protected human workflows. Do not use an API key for them.
CLI and MCP
Use the REST API or dashboard for key management. Hosted MCP hides API key operations; do not assumesearch("apiKeys") will return runnable operations.