{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-bedrock/json-schema/amazon-bedrock-update-agent-action-group-request-schema.json",
  "title": "UpdateAgentActionGroupRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-bedrock-actiongroups-api-openapi.yml#/components/schemas/UpdateAgentActionGroupRequest",
  "type": "object",
  "properties": {
    "agentId": {
      "type": "string",
      "description": "The unique identifier of the agent for which to update the action group."
    },
    "agentVersion": {
      "type": "string",
      "description": "The unique identifier of the agent version for which to update the action group."
    },
    "actionGroupId": {
      "type": "string",
      "description": "The unique identifier of the action group."
    },
    "actionGroupName": {
      "type": "string",
      "description": "Specifies a new name for the action group."
    },
    "description": {
      "type": "string",
      "description": "Specifies a new name for the action group."
    },
    "parentActionGroupSignature": {
      "type": "string",
      "enum": [
        "AMAZON.UserInput",
        "AMAZON.CodeInterpreter",
        "ANTHROPIC.Computer",
        "ANTHROPIC.Bash",
        "ANTHROPIC.TextEditor"
      ],
      "description": "Update the built-in or computer use action for this action group. If you specify a value, you must leave the description, apiSchema, and actionGroupExecutor fields empty for this action group. To allow your agent to request the user for additional information when trying to complete a task, set this field to AMAZON.UserInput. To allow your agent to generate, run, and troubleshoot code when trying to complete a task, set this field to AMAZON.CodeInterpreter. To allow your agent to use an Anthropic computer use tool, specify one of the following values. Computer use is a new Anthropic Claude mod"
    },
    "parentActionGroupSignatureParams": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "The configuration settings for a computer use action. Computer use is a new Anthropic Claude model capability (in beta) available with Claude 3.7 Sonnet and Claude 3.5 Sonnet v2 only. For more information, see Configure an Amazon Bedrock Agent to complete tasks with computer use tools."
    },
    "actionGroupExecutor": {
      "$ref": "#/$defs/ActionGroupExecutor"
    },
    "actionGroupState": {
      "type": "string",
      "enum": [
        "ENABLED",
        "DISABLED"
      ],
      "description": "Specifies whether the action group is available for the agent to invoke or not when sending an InvokeAgent request."
    },
    "apiSchema": {
      "$ref": "#/$defs/APISchema"
    },
    "functionSchema": {
      "$ref": "#/$defs/FunctionSchema"
    }
  },
  "required": [
    "agentId",
    "agentVersion",
    "actionGroupId",
    "actionGroupName"
  ],
  "$defs": {
    "APISchema": {
      "type": "object",
      "properties": {
        "s3": {
          "$ref": "#/$defs/S3Identifier"
        },
        "payload": {
          "type": "string",
          "description": "The JSON or YAML-formatted payload defining the OpenAPI schema for the action group. For more information, see Action group OpenAPI schemas."
        }
      },
      "description": "Exactly one member is set."
    },
    "ActionGroupExecutor": {
      "type": "object",
      "properties": {
        "lambda": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action."
        },
        "customControl": {
          "type": "string",
          "enum": [
            "RETURN_CONTROL"
          ],
          "description": "To return the action group invocation results directly in the InvokeAgent response, specify RETURN_CONTROL."
        }
      },
      "description": "Exactly one member is set."
    },
    "Function": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A name for the function."
        },
        "description": {
          "type": "string",
          "description": "A description of the function and its purpose."
        },
        "parameters": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/ParameterDetail"
          },
          "description": "The parameters that the agent elicits from the user to fulfill the function."
        },
        "requireConfirmation": {
          "type": "string",
          "enum": [
            "ENABLED",
            "DISABLED"
          ],
          "description": "Contains information if user confirmation is required to invoke the function."
        }
      },
      "required": [
        "name"
      ]
    },
    "FunctionSchema": {
      "type": "object",
      "properties": {
        "functions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Function"
          },
          "description": "A list of functions that each define an action in the action group."
        }
      },
      "description": "Exactly one member is set."
    },
    "ParameterDetail": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A description of the parameter. Helps the foundation model determine how to elicit the parameters from the user."
        },
        "type": {
          "type": "string",
          "enum": [
            "string",
            "number",
            "integer",
            "boolean",
            "array"
          ],
          "description": "The data type of the parameter."
        },
        "required": {
          "type": "boolean",
          "description": "Whether the parameter is required for the agent to complete the function for action group invocation."
        }
      },
      "required": [
        "type"
      ]
    },
    "S3Identifier": {
      "type": "object",
      "properties": {
        "s3BucketName": {
          "type": "string",
          "description": "The name of the S3 bucket."
        },
        "s3ObjectKey": {
          "type": "string",
          "description": "The S3 object key for the S3 resource."
        }
      }
    }
  }
}