ADocumentation Index
Fetch the complete documentation index at: https://theseventeen-2abbdf80.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
REQUEST message tells the daemon which keychain operation to perform, which service namespace to target, and which keys to act on. You send one JSON object per line and the daemon responds with a single RESPONSE on the same connection.
Field reference
Must be exactly
"REQUEST". Any other value causes the daemon to return a malformed_request error.The operation to perform. One of:
"read"— retrieve plaintext values for the specified keys."write"— store plaintext values for the specified keys."delete"— remove the specified keys from the keychain."search"— list matching key names without returning their values.
The keychain service namespace to operate in (for example,
"aws", "openai", or "AgentSecrets"). Your binary’s policy must list this service in allowed_read_services or allowed_write_services depending on the action. The daemon enforces this per-connection; if the service is not in your policy the request is denied with service_not_allowed.Controls how
targets are interpreted. Defaults to "exact" when omitted."exact"— each entry intargetsis a full key name."prefix"— each entry intargetsis a prefix string; the daemon matches all keys that start with that prefix. Not allowed for"write".
read and delete require your binary to have can_search: true in its policy, because the daemon must enumerate keys internally to resolve matches.The key identifiers to act on. Required for
read, write, and delete. Optional for search — when provided on a search, entries act as prefix filters applied server-side.For "match": "prefix", each entry is a prefix string (for example, "proj_123:production:").Plaintext values to store. Required only when
action is "write". Each entry corresponds by index to the entry at the same position in targets.Arbitrary key-value string metadata to associate with keys or filter by during searches. All values must be strings.
Strict array alignment for writes: when
action is "write", targets.length must equal values.length. If they differ, the daemon rejects the entire payload with malformed_request and no writes occur.Restrictions summary
| Rule | Details |
|---|---|
"match": "prefix" not allowed on write | Prefix matching has no defined semantics for write operations. |
Prefix read or delete requires can_search: true | The daemon must enumerate keys internally to resolve prefixes. |
values required and aligned for write | targets.length must equal values.length. |
| All-or-nothing batch | If any target fails a policy check, the entire request is rejected before any keychain operation runs. |
Examples
Read
Retrieve exact values for two keys:can_search: true):
Write
Store two keys in a single round-trip:Delete
Delete specific keys by exact name:can_search: true):