Fetch the bridge-adapter keyset, a current freshness statement, and the binary policy table.
Daemon trust bundle for declarative local-bridge adapters (ADR-2026-09-23 D7). The keyset and its freshness statement always travel together. 503 `adapter_trust_unavailable` is retryable. `consents` (D8) lists the calling host's unrevoked binary consents: {binaryName, subcommandSet, subcommandSetSha256, versionConstraint, hostParams, consentedAt}. Only a runtime-JWT worker whose host resolves gets rows, and only its own host's; every other caller gets []. Consents are authenticated, not signed: the daemon applies them as a policy change (permit what is listed, drop what is not) intersected with its host floor.
AuthorizationBearer <rsk_live_*>Rensei API key presented as Authorization: Bearer rsk_live_. Required API-key scopes are recorded per operation in x-rensei-required-scopes.
Keyset, freshness statement and policy table.
application/json- response
schemaVersions*array<string>keyset*Root-signed keyset; domain rensei-bridge-adapter-keyset/v1\n.
freshness*Freshness statement naming this keyset version; domain rensei-bridge-adapter-freshness/v1\n, validity at most 7 days, issuedAt strictly increasing.
policies*Registry per-binary policy, keyed by binary name. ADVISORY and narrow-only: daemons union it with their compiled-in floor and never relax that floor with it.
testOnly*booleanTrue only when TEST-ONLY material is served under the explicit BRIDGE_ADAPTER_ALLOW_TEST_KEYS=1 opt-in.
consents*array<>The CALLING host's unrevoked binary consents (ADR-2026-09-23 D8), sorted by binaryName. Host-bound worker auth only; empty for rsk_*, user and session callers. A binary absent here is not permitted on this host; the daemon's effective set is consents ∩ its host floor.
curl -X GET 'https://app.rensei.ai/api/daemon/plugin-verbs/adapter-keyset'{ "schemaVersions": [ "string" ], "keyset": { "payload": "string", "kid": "string", "signature": "string" }, "freshness": { "payload": "string", "kid": "string", "signature": "string" }, "policies": { "property1": { "forbiddenSubcommands": [ [ "string" ] ], "forbiddenArgs": [ "string" ], "forbiddenEnv": [ "string" ], "requiredEnv": { "property1": "string", "property2": "string" }, "requiredArgs": [ "string" ] }, "property2": { "forbiddenSubcommands": [ [ "string" ] ], "forbiddenArgs": [ "string" ], "forbiddenEnv": [ "string" ], "requiredEnv": { "property1": "string", "property2": "string" }, "requiredArgs": [ "string" ] } }, "testOnly": true, "consents": [ { "binaryName": "string", "subcommandSet": [ "string" ], "subcommandSetSha256": "string", "versionConstraint": "string", "hostParams": { "property1": "string", "property2": "string" }, "consentedAt": "string" } ]}Publish a local plugin source version
Called by the daemon to register a new version of a locally-developed plugin. Validates the manifest, creates or updates the plugin record in the registry, and links the tarball URL if provided. Only `local-path` source-class mounts are accepted. Auth: `Bearer rsk_*` via `getCliOrSessionAuth`. The mount's `scopeOwnerId` must match the caller's `orgId`. Publish authority: human callers need the org admin or owner role; plain `api_key` callers need the `plugins:publish` scope; `oauth_agent` and registration-bound credentials are refused. Every publish appends a `plugin.published` audit event.
Acknowledge Donmai's durable privileged-verification claim
Runtime-JWT-only, receiver-bound CAS for `rensei.verify.run`. The strict JSON body is limited to 4096 bytes. This is the only transition from reservation (`delivered`) to durable local claim (`claimed`); replays return retained duplicate receipt bytes and changed authority conflicts.