{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-iot-device-defender/json-schema/amazon-iot-device-defender-attribute-payload-schema.json",
  "title": "AttributePayload",
  "description": "The attribute payload.",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-iot-device-defender-dynamic-thing-groups-api-openapi.yml#/components/schemas/AttributePayload",
  "type": "object",
  "properties": {
    "attributes": {
      "allOf": [
        {
          "$ref": "#/$defs/Attributes"
        },
        {
          "description": "<p>A JSON string containing up to three key-value pair in JSON format. For example:</p> <p> <code>{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}</code> </p>"
        }
      ]
    },
    "merge": {
      "allOf": [
        {
          "$ref": "#/$defs/Flag"
        },
        {
          "description": "<p>Specifies whether the list of attributes provided in the <code>AttributePayload</code> is merged with the attributes stored in the registry, instead of overwriting them.</p> <p>To remove an attribute, call <code>UpdateThing</code> with an empty attribute value.</p> <note> <p>The <code>merge</code> attribute is only valid when calling <code>UpdateThing</code> or <code>UpdateThingGroup</code>.</p> </note>"
        }
      ]
    }
  },
  "$defs": {
    "AttributeValue": {
      "type": "string",
      "pattern": "[a-zA-Z0-9_.,@/:#-]*",
      "maxLength": 800
    },
    "Attributes": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/AttributeValue"
      }
    },
    "Flag": {
      "type": "boolean"
    }
  }
}