Agents

Update an agent

Human users only. Control-plane consensus on agent.update runs first: when the org requires it the call answers 202 pending_approval, and the same PATCH with approval_id set to the approved pending_approval_id proceeds.

A change to any transaction guardrail needs a step-up: X-Auth-Confirm with a re-auth token for purpose security.guardrail.edit or the account password. Since 2026-10-18 that includes raw_signing_enabled and raw_signing_policy, because blind signing bypasses every other guardrail; before, enabling it was a plain agent.update. The step-up applies whenever the value actually changes, tightening included. A widening (turning raw signing on, or moving raw_signing_policy from deny toward approve or allow) is queued for human approval when the org requires approval for guardrail changes: the call answers 202 awaiting_approval and the change is applied by the server when that approval is approved. Spend-cap fields record a revision and can queue, but do not need the step-up.

patch/v1/agents/{agent_id}

Request

  • Base URL: https://api.1claw.co
  • URL: https://api.1claw.co/v1/agents/{agent_id}
  • Auth: HTTP bearer

Path parameters

agent_idstring uuid required

Headers

X-Auth-Confirmstring

Required when the request changes a transaction guardrail, including raw_signing_enabled and raw_signing_policy: a re-auth token for purpose security.guardrail.edit, or the account password.

Request body

smart_account_addressstring

Smart account address associated with this agent.

smart_account_chainstring

Chain name for the smart account.

smart_account_chain_idinteger

EVM chain id for the smart account.

smart_account_noncestring

Smart account deployment nonce.

smart_account_init_dataobject

Smart account initialisation data.

message_signing_enabledboolean

Allow this agent to sign arbitrary messages.

eip712_domain_allowlistobject

EIP-712 domains this agent may sign under.

eip712_default_policystring

Default policy applied to EIP-712 signing requests.

raw_signing_enabledboolean

Allow this agent to sign raw digests (blind signing; bypasses transaction guardrails). A change needs the guardrail step-up (X-Auth-Confirm, purpose security.guardrail.edit); turning it on is a widening and queues when the org requires approval for guardrail changes.

default_llm_providerstring nullable

Default LLM provider for automations and Shroud.

default_llm_modelstring nullable

Default LLM model for automations and Shroud.

discoverableboolean

List this agent in the cross-org agent directory.

public_descriptionstring nullable

Description shown on the public directory listing.

public_tagsstring[]

Tags shown on the public directory listing.

memory_enabledboolean

Enable durable key-value and semantic memory for this agent. Required before PUT /v1/agents/{agent_id}/memory/{namespace}/{key} will accept a write; without it that endpoint returns 403.

memory_namespace_allowliststring[]

Namespaces this agent may use. Empty or omitted means unrestricted.

memory_max_entry_bytesinteger nullable

Maximum size of a single memory entry value. Null uses the platform default (64 KiB).

namestring
scopesstring[]
is_activeboolean
expires_atstring date-time
intents_api_enabledboolean
tx_to_allowliststring[]
tx_max_valuestring

Maximum value per transaction in native major units for the transacting chain family (ETH on EVM, BTC on Bitcoin, SOL on Solana, XRP, ADA, TRX).

tx_daily_limitstring

Rolling daily spend cap in native major units, enforced per chain family at signing time.

tx_max_value_ethstring

Deprecated alias for tx_max_value. Same unit semantics (native major units, not ETH-only).

tx_daily_limit_ethstring

Deprecated alias for tx_daily_limit.

tx_allowed_chainsstring[]
token_ttl_secondsinteger nullable
vault_idsstring[]
shroud_enabledboolean

Enable/disable Shroud LLM Proxy

system_promptstring nullable

Default system prompt for agent chat (null clears).

execution_intents_enabledboolean

Enable/disable Execution Intents for this agent

execution_guardrailsobject

Guardrails applied to all execution intents for this agent

intents_require_teeboolean

When true, transaction/sign requests must arrive via a TEE host (Pro+ only)

execution_require_teeboolean

When true, execute requests must arrive via TEE and all direct secret reads are blocked (Pro+ only)

tx_max_per_dayinteger nullable

Max transactions per UTC calendar day. Null = unlimited.

tx_overhead_budgetobject nullable

Per-chain daily overhead budget in native units.

solana_ata_allowliststring[]

Solana wallet addresses whose ATAs may be created.

cards_enabledboolean

Whether this agent may order payment cards (x402 card ordering). Pro+ tier.

card_max_order_usdstring nullable

Maximum USD amount for a single card order. null clears.

card_daily_limit_usdstring nullable

Maximum cumulative USD spent ordering cards per rolling 24h window. null clears.

usdc_daily_limit_usdstring nullable

One cap across ALL of this agent's x402 stablecoin spend — POST /v1/pay and card orders together. Calendar day, UTC. null clears it. Applied in addition to the per-route caps, never instead of them: tx_* bounds signing and submitting, pay_* bounds POST /v1/pay, and card_* bounds card orders. None of those three bounds the others, so this is the only field that caps an agent's total stablecoin spend.

card_payto_allowliststring[]

Allowed x402 payTo recipients for card orders (empty = built-in Laso recipients).

card_reveal_enabledboolean

Whether agents may reveal card details subject to per-card reveal policy.

card_require_approvalboolean

When true, card orders route through the human approval queue before x402 payment.

tx_approval_policyobject nullable

Graduated transaction approval policy (HITL thresholds).

action_approval_policyobject nullable

Which business actions this agent must ask a human about, and above what amount. {} means no per-action rules.

Shape: { "default_mode": "deny|approve|allow", "rules": [ { "action_type": "refund.create", "mode": "approve", "require_for_amount_above_usd": "50", "summary_template": "Refund {{amount_usd}} to {{customer_email}}" } ] }.

A rule can only raise the bar. Editing this is classified as a guardrail widening, so it routes through the same approval flow as loosening a transaction limit. Malformed rules are rejected on write rather than ignored at request time.

typed_data_policy'deny' | 'approve' nullable

EIP-712 escalation policy.

simulation_failure_policy'deny' | 'approve' nullable

Simulation failure escalation policy.

tx_block_unlimited_approvalsboolean

Block unlimited ERC-20 approvals (max uint256 / setApprovalForAll).

tx_per_recipient_max_per_dayinteger nullable

Max transactions to the same recipient per UTC day. Null clears.

tx_per_recipient_daily_limitstring nullable

Max native spend to same recipient per UTC day. Null clears.

new_recipient_cap_nativestring nullable

First-time recipient native cap. Null clears.

tx_max_value_usdstring nullable

Per-tx USD cap. Null clears.

tx_daily_limit_usdstring nullable

Rolling 24h USD spend cap. Null clears.

raw_signing_policy'allow' | 'deny' | 'approve'

Raw digest signing policy. A change needs the guardrail step-up (X-Auth-Confirm, purpose security.guardrail.edit); moving toward allow is a widening and queues when the org requires approval for guardrail changes.

personal_sign_policyobject

personal_sign guardrails JSON.

allow_erc4337boolean

Allow ERC-4337 gasless UserOperations.

allow_eip7702boolean

Allow EIP-7702 (tx type 4).

clear_auto_suspendedboolean

When true, clears circuit-breaker auto-suspension (human owner/admin only).

federation_enabledboolean

Enable OIDC federation (RFC 8693 token-exchange) for this agent. When true, the agent may call POST /v1/auth/federated-token to mint federation tokens for the audiences listed in federation_audiences.

federation_audiencesstring[]

Allowlist of aud values the federation token-exchange may issue tokens for (e.g. ["https://api.anthropic.com"]). Empty array blocks all federation requests (zero-trust default).

federated_token_ttl_secondsinteger nullable

Per-agent TTL override for federation tokens (seconds). NULL falls back to the global default (ONECLAW_JWT_FEDERATED_TOKEN_EXPIRY_SECS). Hard-capped at 3600 seconds.

tx_token_allowliststring[]

Token contract/mint addresses this agent may interact with. Empty = unrestricted.

tx_known_tokens_onlyboolean

When true, only tokens in the known_tokens registry may be used.

xrpl_allowed_tx_typesstring[]

Allowed XRP Ledger transaction types (Payment, TrustSet, etc.). Empty = all allowed.

per_chain_guardrailsobject

Per-chain guardrail overrides. Keys are signing chains (ethereum, bitcoin, solana, xrp, cardano, tron). Each value may include max_value, daily_limit, to_allowlist, token_allowlist (legacy *_eth keys accepted), max_fee_per_gas_gwei, max_gas_limit, gas_daily_budget_native (UTC-day cumulative EVM gas in native units). Strictest of global and per-chain limits wins. Daily limits apply per chain family spend, not cross-chain totals.

api_key_expires_atstring date-time nullable

Optional expiration time for the agent's API key. Set to null to clear.

environmentstring nullable

Named environment for this agent (production, preview, development, or custom).

environment_lockedboolean

When true, the environment tag cannot be changed after creation.

env_auto_resolveboolean

When true, env var resolve endpoints auto-fill environment from this agent's tag.

per_environment_guardrailsobject

Per-environment guardrail overrides keyed by environment slug.

address_screening_policyobject

Recipient address screening policy. mode may be off, deny, or approve.

approval_idstring uuid

Completes a control-plane consensus gate on agent.update: the pending_approval_id of an earlier 202, once approved. It does not apply a queued guardrail widening and cannot bypass the widening queue: a queued widening is applied by the server when its approval is approved, with nothing to resubmit.

Response

Agent updated

agent_type'standard' | 'child'

A child is a sub-agent under parent_agent_id that inherits its parent's policies and does not count against the plan's agent cap.

parent_agent_idstring uuid

Present on child agents.

memory_enabledboolean

Whether durable key-value and semantic memory is enabled. Omitted when false: the server skips serializing this field unless it is true, so an absent key means disabled.

memory_namespace_allowliststring[]

Namespaces this agent may use. Omitted when empty, which means unrestricted.

memory_max_entry_bytesinteger nullable

Maximum size of a single memory entry value. Omitted when unset, which means the platform default (64 KiB).

idstring uuid required
namestring required
descriptionstring
auth_method'api_key' | 'mtls' | 'oidc_client_credentials' required
scopesstring[]
is_activeboolean required
intents_api_enabledboolean required
tx_to_allowliststring[]
tx_max_valuestring

Maximum value per transaction in native major units for the transacting chain family (ETH on EVM, BTC on Bitcoin, SOL on Solana, XRP, ADA, TRX).

tx_daily_limitstring

Rolling daily spend cap in native major units, enforced per chain family at signing time.

tx_max_value_ethstring

Deprecated alias for tx_max_value. Same unit semantics (native major units, not ETH-only).

tx_daily_limit_ethstring

Deprecated alias for tx_daily_limit.

tx_spent_todaystring

Sum of today's spend across all chain families in major units. Prefer tx_spent_today_by_chain.

tx_spent_today_ethstring

Deprecated alias for tx_spent_today.

tx_allowed_chainsstring[]
token_ttl_secondsinteger nullable
vault_idsstring[]
client_cert_fingerprintstring

SHA-256 fingerprint of the client certificate (mTLS agents)

oidc_issuerstring

OIDC issuer URL (oidc_client_credentials agents)

oidc_client_idstring

OIDC client ID (oidc_client_credentials agents)

ssh_public_keystring

Ed25519 SSH public key (base64-encoded, auto-generated at creation)

ecdh_public_keystring

P-256 ECDH public key (base64 SEC1 uncompressed point, auto-generated at creation)

shroud_enabledboolean required

Whether this agent routes LLM traffic through the Shroud TEE proxy

system_promptstring

Default system prompt for agent chat when requests do not override it.

execution_intents_enabledboolean

Whether Execution Intents (bindings and execute endpoint) are enabled for this agent

execution_guardrailsobject

Guardrails applied to all execution intents for this agent

intents_require_teeboolean

When true, transaction/sign requests must arrive via a TEE host (Pro+ only)

execution_require_teeboolean

When true, execute requests must arrive via TEE and all direct secret reads are blocked (Pro+ only)

tx_max_per_dayinteger nullable

Max transactions per UTC calendar day. Null = unlimited.

tx_overhead_budgetobject nullable

Per-chain daily overhead budget in native units.

solana_ata_allowliststring[]

Solana wallet addresses whose ATAs may be created.

cards_enabledboolean

Whether this agent may order payment cards (x402 card ordering).

card_max_order_usdstring

Maximum USD amount for a single card order.

card_daily_limit_usdstring

Maximum cumulative USD spent ordering cards per rolling 24h window.

usdc_daily_limit_usdstring

One cap across ALL of this agent's x402 stablecoin spend — POST /v1/pay and card orders together. Calendar day, UTC. Omit for no cap. Applied in addition to the per-route caps, never instead of them: tx_* bounds signing and submitting, pay_* bounds POST /v1/pay, and card_* bounds card orders. None of those three bounds the others, so this is the only field that caps an agent's total stablecoin spend.

card_payto_allowliststring[]

Allowed x402 payTo recipients for card orders (empty = built-in Laso recipients).

card_reveal_enabledboolean

Whether agents may reveal card details subject to per-card reveal policy.

card_require_approvalboolean

When true, card orders route through the human approval queue before x402 payment.

tx_approval_policyobject nullable

Graduated transaction approval policy (HITL thresholds).

action_approval_policyobject nullable

Which business actions this agent must ask a human about, and above what amount. {} means no per-action rules.

Shape: { "default_mode": "deny|approve|allow", "rules": [ { "action_type": "refund.create", "mode": "approve", "require_for_amount_above_usd": "50", "summary_template": "Refund {{amount_usd}} to {{customer_email}}" } ] }.

A rule can only raise the bar. Editing this is classified as a guardrail widening, so it routes through the same approval flow as loosening a transaction limit. Malformed rules are rejected on write rather than ignored at request time.

typed_data_policy'deny' | 'approve' nullable
simulation_failure_policy'deny' | 'approve' nullable
tx_block_unlimited_approvalsboolean

Block unlimited ERC-20 approvals.

tx_per_recipient_max_per_dayinteger nullable
tx_per_recipient_daily_limitstring nullable
new_recipient_cap_nativestring nullable
tx_max_value_usdstring nullable
tx_daily_limit_usdstring nullable
raw_signing_policy'allow' | 'deny' | 'approve'
personal_sign_policyobject nullable
allow_erc4337boolean
allow_eip7702boolean
auto_suspendedboolean

True when circuit breaker auto-suspended the agent after repeated guardrail denials.

tx_count_todayinteger

Today's transaction count (UTC calendar day). Present when intents_api_enabled.

tx_overhead_today_by_chainobject

Today's overhead spend by chain in native units.

federation_enabledboolean

Whether this agent may mint OIDC federation tokens via POST /v1/auth/federated-token. False by default.

federation_audiencesstring[]

Allowlist of audience URIs the agent may federate to.

federated_token_ttl_secondsinteger nullable

Per-agent TTL override for federation tokens (60..=3600).

signing_chainsstring[]

Chains for which this agent has provisioned signing keys.

eip712_domain_allowlistobject[]

JSON array of allowed EIP-712 domain entries.

eip712_default_policy'deny' | 'allow'

Default EIP-712 policy (deny blocks all unless allowlisted).

message_signing_enabledboolean

Whether EIP-191 personal_sign is enabled.

raw_signing_enabledboolean

Whether the raw/precomputed-digest signing intent (eip712_digest) is enabled. Blind signing — bypasses transaction guardrails; OFF by default and human-set. Required for ERC-1271/ERC-7739 flows (e.g. Polymarket).

tx_token_allowliststring[]

Token contract/mint addresses this agent may interact with.

tx_known_tokens_onlyboolean

When true, only tokens in the known_tokens registry may be used.

xrpl_allowed_tx_typesstring[]

Allowed XRP Ledger transaction types.

per_chain_guardrailsobject

Per-chain guardrail overrides.

tx_spent_today_by_chainobject

Per-chain-family daily spend in native major units (keys: evm, bitcoin, solana, xrp, cardano, tron).

api_key_expires_atstring date-time nullable

Optional expiration time for the agent's API key.

evm_addressstring nullable

Agent's Ethereum EOA address (used as Safe signer for smart accounts and Intents API).

created_atstring date-time required
expires_atstring date-time
last_active_atstring date-time
environmentstring nullable

Named environment this agent belongs to (production, preview, development, or custom).

environment_lockedboolean

When true, the environment tag is locked and cannot be changed.

env_auto_resolveboolean

When true, env var resolve endpoints auto-fill environment from this agent's tag.

per_environment_guardrailsobject

Per-environment guardrail overrides keyed by environment slug.

address_screening_policyobject

Recipient address screening policy. mode may be off, deny, or approve.

Changes

No recorded changes to this operation across all 1 revision of this API.