---
title: "PATCH /automated-reasoning-policies/{policyArn}"
method: PATCH
path: "/automated-reasoning-policies/{policyArn}"
---

# PATCH /automated-reasoning-policies/{policyArn}

`PATCH /automated-reasoning-policies/{policyArn}`

Updates an existing Automated Reasoning policy with new rules, variables, or configuration. This creates a new version of the policy while preserving the previous version.

## Path parameters

- `policyArn` string, required

## Request body

- object
  - `policyDefinition` object, required — Contains the formal logic rules, variables, and custom variable types that define an Automated Reasoning policy. The policy definition specifies the constraints used to validate foundation model responses for accuracy and logical consistency.
    - `version` string — The version of the policy definition format.
    - `types` AutomatedReasoningPolicyDefinitionType[] — The custom user-defined vairable types used in the policy. Types are enum-based variable types that provide additional context beyond the predefined variable types.
      - `name` string, password, required — The name of the custom type.
      - `description` string, password — The description of what the custom type represents.
      - `values` AutomatedReasoningPolicyDefinitionTypeValue[], required — The possible values for this enum-based type, each with its own description.
        - `value` string, required — The actual value or identifier for this type value.
        - `description` string, password — A human-readable description explaining what this type value represents and when it should be used.
    - `rules` AutomatedReasoningPolicyDefinitionRule[] — The formal logic rules extracted from the source document. Rules define the logical constraints that determine whether model responses are valid, invalid, or satisfiable.
      - `id` string, required — The unique identifier of the rule within the policy.
      - `expression` string, password, required — The formal logic expression of the rule.
      - `alternateExpression` string, password — The human-readable form of the rule expression, often in natural language or simplified notation.
    - `variables` AutomatedReasoningPolicyDefinitionVariable[] — The variables that represent concepts in the policy. Variables can have values assigned when translating natural language into formal logic. Their descriptions are crucial for accurate translation.
      - `name` string, password, required — The name of the variable. Use descriptive names that clearly indicate the concept being represented.
      - `type` string, password, required — The data type of the variable. Valid types include bool, int, real, enum, and custom types that you can provide.
      - `description` string, password, required — The description of the variable that explains what it represents and how users might refer to it. Clear and comprehensive descriptions are essential for accurate natural language translation.
  - `name` string, password — The updated name for the Automated Reasoning policy.
  - `description` string, password — The updated description for the Automated Reasoning policy.

## Response `200`

Success

- UpdateAutomatedReasoningPolicyResponse
  - `policyArn` string, required — The Amazon Resource Name (ARN) of the updated policy.
  - `name` string, password, required — The updated name of the policy.
  - `definitionHash` string, required — The hash of the updated policy definition.
  - `updatedAt` string, date-time, required — The timestamp when the policy was last updated.

## Other responses

- `480` — ResourceNotFoundException
- `481` — AccessDeniedException
- `482` — ValidationException
- `483` — ConflictException
- `484` — InternalServerException
- `485` — TooManyTagsException
- `486` — ThrottlingException

---

[API](https://skmtc.net/aws/apis/bedrock.md) · [All operations](https://skmtc.net/aws/apis/bedrock/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/bedrock/versions/3bc874e43ecd/schema)
