gateway-policies

Update a gateway policy

Changed on

Partially updates a gateway policy. Only fields present in the request body are applied; absent fields are left unchanged. policy_type is immutable — to change a policy's type, delete it and create a new one.

config if supplied must match the policy's type:

  • spend-cap: {"window": ..., "limit_usd": ...}
  • guard: {"version": 1, "detect": {...}, "timeout_seconds": <number>, "timeout_action": "allow"|"block"}
  • rate-limit: {"version": 1, "limits": [{"metric": "requests"|"tokens", "window": "minute"|"hour", "value": <integer>}]} Mismatched shapes are rejected with 400.

default cascade: editing a default_spend_cap or default_rate_limit updates the config/action/enabled/priority on every attached child policy so the template stays the source of truth across rollouts.

patch/api/v1/platform/gateway-policies/{id}

Request

  • Base URL
    https://api.smith.langchain.com
  • URL
    https://api.smith.langchain.com/api/v1/platform/gateway-policies/{id}
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Path parameters

idstring uuid required

Policy ID

Request body

actionstring
configobject
descriptionstring
enabledboolean
namestring
priorityinteger

Example request

{
  "action": "block",
  "description": "Blocks overspend on the production org",
  "enabled": true,
  "name": "monthly-cap"
}

Response

OK

actionstring
configobject
created_atstring
created_bystring
current_spend_usdnumber

CurrentSpendUSD is the spend in the policy's current window. Set for any spend_cap policy regardless of enabled state — disabled policies still surface usage so users can see what would have been counted. Nil for non-spend_cap policies or when the spend lookup failed.

descriptionstring
enabledboolean
idstring
is_system_generatedboolean
namestring
organization_idstring
parent_policy_idstring

ParentPolicyID is set on materialized children of a default_spend_cap to the default's id. An explicit Update or a Create with the same matchers clears the link and takes ownership of the materialized row. Delete on the parent cascade-soft-deletes children still attached.

policy_typestring
priorityinteger
updated_atstring

Changes