{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-iot-device-defender/json-schema/amazon-iot-device-defender-describe-thing-group-response-schema.json",
  "title": "DescribeThingGroupResponse",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-iot-device-defender-thing-groups-api-openapi.yml#/components/schemas/DescribeThingGroupResponse",
  "type": "object",
  "properties": {
    "thingGroupName": {
      "allOf": [
        {
          "$ref": "#/$defs/ThingGroupName"
        },
        {
          "description": "The name of the thing group."
        }
      ]
    },
    "thingGroupId": {
      "allOf": [
        {
          "$ref": "#/$defs/ThingGroupId"
        },
        {
          "description": "The thing group ID."
        }
      ]
    },
    "thingGroupArn": {
      "allOf": [
        {
          "$ref": "#/$defs/ThingGroupArn"
        },
        {
          "description": "The thing group ARN."
        }
      ]
    },
    "version": {
      "allOf": [
        {
          "$ref": "#/$defs/Version"
        },
        {
          "description": "The version of the thing group."
        }
      ]
    },
    "thingGroupProperties": {
      "allOf": [
        {
          "$ref": "#/$defs/ThingGroupProperties"
        },
        {
          "description": "The thing group properties."
        }
      ]
    },
    "thingGroupMetadata": {
      "allOf": [
        {
          "$ref": "#/$defs/ThingGroupMetadata"
        },
        {
          "description": "Thing group metadata."
        }
      ]
    },
    "indexName": {
      "allOf": [
        {
          "$ref": "#/$defs/IndexName"
        },
        {
          "description": "The dynamic thing group index name."
        }
      ]
    },
    "queryString": {
      "allOf": [
        {
          "$ref": "#/$defs/QueryString"
        },
        {
          "description": "The dynamic thing group search query string."
        }
      ]
    },
    "queryVersion": {
      "allOf": [
        {
          "$ref": "#/$defs/QueryVersion"
        },
        {
          "description": "The dynamic thing group query version."
        }
      ]
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/$defs/DynamicGroupStatus"
        },
        {
          "description": "The dynamic thing group status."
        }
      ]
    }
  },
  "$defs": {
    "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>"
            }
          ]
        }
      },
      "description": "The attribute payload."
    },
    "AttributeValue": {
      "type": "string",
      "pattern": "[a-zA-Z0-9_.,@/:#-]*",
      "maxLength": 800
    },
    "Attributes": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/AttributeValue"
      }
    },
    "CreationDate": {
      "type": "string",
      "format": "date-time"
    },
    "DynamicGroupStatus": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "BUILDING",
        "REBUILDING"
      ]
    },
    "Flag": {
      "type": "boolean"
    },
    "GroupNameAndArn": {
      "type": "object",
      "properties": {
        "groupName": {
          "allOf": [
            {
              "$ref": "#/$defs/ThingGroupName"
            },
            {
              "description": "The group name."
            }
          ]
        },
        "groupArn": {
          "allOf": [
            {
              "$ref": "#/$defs/ThingGroupArn"
            },
            {
              "description": "The group ARN."
            }
          ]
        }
      },
      "description": "The name and ARN of a group."
    },
    "IndexName": {
      "type": "string",
      "pattern": "[a-zA-Z0-9:_-]+",
      "minLength": 1,
      "maxLength": 128
    },
    "QueryString": {
      "type": "string",
      "minLength": 1
    },
    "QueryVersion": {
      "type": "string"
    },
    "ThingGroupArn": {
      "type": "string"
    },
    "ThingGroupDescription": {
      "type": "string",
      "pattern": "[\\p{Graph}\\x20]*",
      "maxLength": 2028
    },
    "ThingGroupId": {
      "type": "string",
      "pattern": "[a-zA-Z0-9\\-]+",
      "minLength": 1,
      "maxLength": 128
    },
    "ThingGroupMetadata": {
      "type": "object",
      "properties": {
        "parentGroupName": {
          "allOf": [
            {
              "$ref": "#/$defs/ThingGroupName"
            },
            {
              "description": "The parent thing group name."
            }
          ]
        },
        "rootToParentThingGroups": {
          "allOf": [
            {
              "$ref": "#/$defs/ThingGroupNameAndArnList"
            },
            {
              "description": "The root parent thing group."
            }
          ]
        },
        "creationDate": {
          "allOf": [
            {
              "$ref": "#/$defs/CreationDate"
            },
            {
              "description": "The UNIX timestamp of when the thing group was created."
            }
          ]
        }
      },
      "description": "Thing group metadata."
    },
    "ThingGroupName": {
      "type": "string",
      "pattern": "[a-zA-Z0-9:_-]+",
      "minLength": 1,
      "maxLength": 128
    },
    "ThingGroupNameAndArnList": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/GroupNameAndArn"
      }
    },
    "ThingGroupProperties": {
      "type": "object",
      "properties": {
        "thingGroupDescription": {
          "allOf": [
            {
              "$ref": "#/$defs/ThingGroupDescription"
            },
            {
              "description": "The thing group description."
            }
          ]
        },
        "attributePayload": {
          "allOf": [
            {
              "$ref": "#/$defs/AttributePayload"
            },
            {
              "description": "The thing group attributes in JSON format."
            }
          ]
        }
      },
      "description": "Thing group properties."
    },
    "Version": {
      "type": "integer"
    }
  }
}