---
title: "Update limited agent settings for a connection"
method: PATCH
path: "/v1/platform/connections/{connectionId}/agents/{agentId}"
tags: ["Platform"]
---

# Update limited agent settings for a connection

`PATCH /v1/platform/connections/{connectionId}/agents/{agentId}`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/platform/connections/{connectionId}/agents/{agentId}`
- Auth: HTTP bearer

Platform-scoped agent update for connected end-users. Allows enabling Intents API,
Execution Intents, and updating the default system prompt without human dashboard access.
Agent must be provisioned on the connection. plt_ auth only.

`raw_signing_enabled: false` is applied directly. `raw_signing_enabled: true` on an
agent that does not already have it is not a platform privilege: the call must carry
`X-Auth-Confirm` with a re-auth token (`rat_...`) the end user obtained for purpose
`security.guardrail.edit` (a password is refused on this route), and the enable runs
through the end user's own `PATCH /v1/agents/{agent_id}` path in their org. That
applies control-plane consensus on `agent.update` (202 `pending_approval`; retry with
`approval_id`), the guardrail step-up, and the widening approval queue when the org
requires approval for guardrail changes (202 `awaiting_approval`). The enable leaves
`raw_signing_policy` at `approve` unless the end user already chose `approve` or
`deny`. Audited `platform.connection.raw_signing_enable` with outcome `applied` or
`queued`.

## Path parameters

- `connectionId` string, uuid, required
- `agentId` string, uuid, required

## Headers

- `X-Auth-Confirm` string

## Request body

- PatchConnectionAgentRequest: At least one field is required.
  - `intents_api_enabled` boolean
  - `execution_intents_enabled` boolean
  - `memory_enabled` boolean: Agent memory, off by default. Until this field existed a platform app had no way to turn it on: a bootstrap template accepted `memory_enabled` in its spec and never read it, so the capability was reachable only from the end user's own dashboard. Templates now honour the flag too.
  - `raw_signing_enabled` boolean: Raw/blind digest signing (`sign_digest`, `eip712_digest`), off by default. The same gap as `memory_enabled` above, one capability later: a template accepted `raw_signing_enabled` and never read it, and this route had no field for it, so a platform app that provisioned an agent for raw signing had no way to switch it on. Reported from production. `false` is applied directly. `true` (on an agent that does not already have it) needs the end user's consent: `X-Auth-Confirm` with their re-auth token for purpose `security.guardrail.edit`. It is applied through the end user's own agent update path, so control-plane consensus and the guardrail widening queue apply and the call can answer 202. Without the token: 403. The enable sets `raw_signing_policy` to `approve` unless the end user already chose `approve` or `deny`. Audited as `platform.connection.raw_signing_enable`.
  - `approval_id` string, uuid: Completes a control-plane consensus gate (`agent.update`) for a raw signing enable: the `pending_approval_id` of an earlier 202, once approved.
  - `system_prompt` string, nullable

## Response `200`

Updated agent settings

- PatchConnectionAgentResponse
  - `agent_id` string, uuid
  - `intents_api_enabled` boolean
  - `execution_intents_enabled` boolean
  - `memory_enabled` boolean
  - `raw_signing_enabled` boolean
  - `system_prompt` string, nullable

## Other responses

- `202`: Raw signing enable held: `pending_approval` (control-plane consensus on `agent.update`; retry with `approval_id`) or `awaiting_approval` (the org's guardrail widening queue). No other field in the request was applied.
- `400`: Invalid request
- `403`: Insufficient permissions
- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
