{
  "$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-registration-task-response-schema.json",
  "title": "DescribeThingRegistrationTaskResponse",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-iot-device-defender-thing-registration-tasks-api-openapi.yml#/components/schemas/DescribeThingRegistrationTaskResponse",
  "type": "object",
  "properties": {
    "taskId": {
      "allOf": [
        {
          "$ref": "#/$defs/TaskId"
        },
        {
          "description": "The task ID."
        }
      ]
    },
    "creationDate": {
      "allOf": [
        {
          "$ref": "#/$defs/CreationDate"
        },
        {
          "description": "The task creation date."
        }
      ]
    },
    "lastModifiedDate": {
      "allOf": [
        {
          "$ref": "#/$defs/LastModifiedDate"
        },
        {
          "description": "The date when the task was last modified."
        }
      ]
    },
    "templateBody": {
      "allOf": [
        {
          "$ref": "#/$defs/TemplateBody"
        },
        {
          "description": "The task's template."
        }
      ]
    },
    "inputFileBucket": {
      "allOf": [
        {
          "$ref": "#/$defs/RegistryS3BucketName"
        },
        {
          "description": "The S3 bucket that contains the input file."
        }
      ]
    },
    "inputFileKey": {
      "allOf": [
        {
          "$ref": "#/$defs/RegistryS3KeyName"
        },
        {
          "description": "The input file key."
        }
      ]
    },
    "roleArn": {
      "allOf": [
        {
          "$ref": "#/$defs/RoleArn"
        },
        {
          "description": "The role ARN that grants access to the input file bucket."
        }
      ]
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/$defs/Status"
        },
        {
          "description": "The status of the bulk thing provisioning task."
        }
      ]
    },
    "message": {
      "allOf": [
        {
          "$ref": "#/$defs/ErrorMessage"
        },
        {
          "description": "The message."
        }
      ]
    },
    "successCount": {
      "allOf": [
        {
          "$ref": "#/$defs/Count"
        },
        {
          "description": "The number of things successfully provisioned."
        }
      ]
    },
    "failureCount": {
      "allOf": [
        {
          "$ref": "#/$defs/Count"
        },
        {
          "description": "The number of things that failed to be provisioned."
        }
      ]
    },
    "percentageProgress": {
      "allOf": [
        {
          "$ref": "#/$defs/Percentage"
        },
        {
          "description": "The progress of the bulk provisioning task expressed as a percentage."
        }
      ]
    }
  },
  "$defs": {
    "Count": {
      "type": "integer"
    },
    "CreationDate": {
      "type": "string",
      "format": "date-time"
    },
    "ErrorMessage": {
      "type": "string",
      "maxLength": 2048
    },
    "LastModifiedDate": {
      "type": "string",
      "format": "date-time"
    },
    "Percentage": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "RegistryS3BucketName": {
      "type": "string",
      "pattern": "[a-zA-Z0-9._-]+",
      "minLength": 3,
      "maxLength": 256
    },
    "RegistryS3KeyName": {
      "type": "string",
      "pattern": "[a-zA-Z0-9!_.*'()-\\/]+",
      "minLength": 1,
      "maxLength": 1024
    },
    "RoleArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    },
    "Status": {
      "type": "string",
      "enum": [
        "InProgress",
        "Completed",
        "Failed",
        "Cancelled",
        "Cancelling"
      ]
    },
    "TaskId": {
      "type": "string",
      "maxLength": 40
    },
    "TemplateBody": {
      "type": "string",
      "pattern": "[\\s\\S]*",
      "minLength": 0,
      "maxLength": 10240
    }
  }
}