

# Actions
<a name="API_Operations"></a>

The following actions are supported by AWS IoT:
+  [AcceptCertificateTransfer](API_AcceptCertificateTransfer.md) 
+  [AddThingToBillingGroup](API_AddThingToBillingGroup.md) 
+  [AddThingToThingGroup](API_AddThingToThingGroup.md) 
+  [AssociateSbomWithPackageVersion](API_AssociateSbomWithPackageVersion.md) 
+  [AssociateTargetsWithJob](API_AssociateTargetsWithJob.md) 
+  [AttachPolicy](API_AttachPolicy.md) 
+  [AttachPrincipalPolicy](API_AttachPrincipalPolicy.md) 
+  [AttachSecurityProfile](API_AttachSecurityProfile.md) 
+  [AttachThingPrincipal](API_AttachThingPrincipal.md) 
+  [CancelAuditMitigationActionsTask](API_CancelAuditMitigationActionsTask.md) 
+  [CancelAuditTask](API_CancelAuditTask.md) 
+  [CancelCertificateTransfer](API_CancelCertificateTransfer.md) 
+  [CancelDetectMitigationActionsTask](API_CancelDetectMitigationActionsTask.md) 
+  [CancelJob](API_CancelJob.md) 
+  [CancelJobExecution](API_CancelJobExecution.md) 
+  [ClearDefaultAuthorizer](API_ClearDefaultAuthorizer.md) 
+  [ConfirmTopicRuleDestination](API_ConfirmTopicRuleDestination.md) 
+  [CreateAuditSuppression](API_CreateAuditSuppression.md) 
+  [CreateAuthorizer](API_CreateAuthorizer.md) 
+  [CreateBillingGroup](API_CreateBillingGroup.md) 
+  [CreateCertificateFromCsr](API_CreateCertificateFromCsr.md) 
+  [CreateCertificateProvider](API_CreateCertificateProvider.md) 
+  [CreateCommand](API_CreateCommand.md) 
+  [CreateCustomMetric](API_CreateCustomMetric.md) 
+  [CreateDimension](API_CreateDimension.md) 
+  [CreateDomainConfiguration](API_CreateDomainConfiguration.md) 
+  [CreateDynamicThingGroup](API_CreateDynamicThingGroup.md) 
+  [CreateFleetMetric](API_CreateFleetMetric.md) 
+  [CreateJob](API_CreateJob.md) 
+  [CreateJobTemplate](API_CreateJobTemplate.md) 
+  [CreateKeysAndCertificate](API_CreateKeysAndCertificate.md) 
+  [CreateMitigationAction](API_CreateMitigationAction.md) 
+  [CreateOTAUpdate](API_CreateOTAUpdate.md) 
+  [CreatePackage](API_CreatePackage.md) 
+  [CreatePackageVersion](API_CreatePackageVersion.md) 
+  [CreatePolicy](API_CreatePolicy.md) 
+  [CreatePolicyVersion](API_CreatePolicyVersion.md) 
+  [CreateProvisioningClaim](API_CreateProvisioningClaim.md) 
+  [CreateProvisioningTemplate](API_CreateProvisioningTemplate.md) 
+  [CreateProvisioningTemplateVersion](API_CreateProvisioningTemplateVersion.md) 
+  [CreateRoleAlias](API_CreateRoleAlias.md) 
+  [CreateScheduledAudit](API_CreateScheduledAudit.md) 
+  [CreateSecurityProfile](API_CreateSecurityProfile.md) 
+  [CreateStream](API_CreateStream.md) 
+  [CreateThing](API_CreateThing.md) 
+  [CreateThingGroup](API_CreateThingGroup.md) 
+  [CreateThingType](API_CreateThingType.md) 
+  [CreateTopicRule](API_CreateTopicRule.md) 
+  [CreateTopicRuleDestination](API_CreateTopicRuleDestination.md) 
+  [DeleteAccountAuditConfiguration](API_DeleteAccountAuditConfiguration.md) 
+  [DeleteAuditSuppression](API_DeleteAuditSuppression.md) 
+  [DeleteAuthorizer](API_DeleteAuthorizer.md) 
+  [DeleteBillingGroup](API_DeleteBillingGroup.md) 
+  [DeleteCACertificate](API_DeleteCACertificate.md) 
+  [DeleteCertificate](API_DeleteCertificate.md) 
+  [DeleteCertificateProvider](API_DeleteCertificateProvider.md) 
+  [DeleteCommand](API_DeleteCommand.md) 
+  [DeleteCommandExecution](API_DeleteCommandExecution.md) 
+  [DeleteCustomMetric](API_DeleteCustomMetric.md) 
+  [DeleteDimension](API_DeleteDimension.md) 
+  [DeleteDomainConfiguration](API_DeleteDomainConfiguration.md) 
+  [DeleteDynamicThingGroup](API_DeleteDynamicThingGroup.md) 
+  [DeleteFleetMetric](API_DeleteFleetMetric.md) 
+  [DeleteJob](API_DeleteJob.md) 
+  [DeleteJobExecution](API_DeleteJobExecution.md) 
+  [DeleteJobTemplate](API_DeleteJobTemplate.md) 
+  [DeleteMitigationAction](API_DeleteMitigationAction.md) 
+  [DeleteOTAUpdate](API_DeleteOTAUpdate.md) 
+  [DeletePackage](API_DeletePackage.md) 
+  [DeletePackageVersion](API_DeletePackageVersion.md) 
+  [DeletePolicy](API_DeletePolicy.md) 
+  [DeletePolicyVersion](API_DeletePolicyVersion.md) 
+  [DeleteProvisioningTemplate](API_DeleteProvisioningTemplate.md) 
+  [DeleteProvisioningTemplateVersion](API_DeleteProvisioningTemplateVersion.md) 
+  [DeleteRegistrationCode](API_DeleteRegistrationCode.md) 
+  [DeleteRoleAlias](API_DeleteRoleAlias.md) 
+  [DeleteScheduledAudit](API_DeleteScheduledAudit.md) 
+  [DeleteSecurityProfile](API_DeleteSecurityProfile.md) 
+  [DeleteStream](API_DeleteStream.md) 
+  [DeleteThing](API_DeleteThing.md) 
+  [DeleteThingGroup](API_DeleteThingGroup.md) 
+  [DeleteThingType](API_DeleteThingType.md) 
+  [DeleteTopicRule](API_DeleteTopicRule.md) 
+  [DeleteTopicRuleDestination](API_DeleteTopicRuleDestination.md) 
+  [DeleteV2LoggingLevel](API_DeleteV2LoggingLevel.md) 
+  [DeprecateThingType](API_DeprecateThingType.md) 
+  [DescribeAccountAuditConfiguration](API_DescribeAccountAuditConfiguration.md) 
+  [DescribeAuditFinding](API_DescribeAuditFinding.md) 
+  [DescribeAuditMitigationActionsTask](API_DescribeAuditMitigationActionsTask.md) 
+  [DescribeAuditSuppression](API_DescribeAuditSuppression.md) 
+  [DescribeAuditTask](API_DescribeAuditTask.md) 
+  [DescribeAuthorizer](API_DescribeAuthorizer.md) 
+  [DescribeBillingGroup](API_DescribeBillingGroup.md) 
+  [DescribeCACertificate](API_DescribeCACertificate.md) 
+  [DescribeCertificate](API_DescribeCertificate.md) 
+  [DescribeCertificateProvider](API_DescribeCertificateProvider.md) 
+  [DescribeCustomMetric](API_DescribeCustomMetric.md) 
+  [DescribeDefaultAuthorizer](API_DescribeDefaultAuthorizer.md) 
+  [DescribeDetectMitigationActionsTask](API_DescribeDetectMitigationActionsTask.md) 
+  [DescribeDimension](API_DescribeDimension.md) 
+  [DescribeDomainConfiguration](API_DescribeDomainConfiguration.md) 
+  [DescribeEncryptionConfiguration](API_DescribeEncryptionConfiguration.md) 
+  [DescribeEndpoint](API_DescribeEndpoint.md) 
+  [DescribeEventConfigurations](API_DescribeEventConfigurations.md) 
+  [DescribeFleetMetric](API_DescribeFleetMetric.md) 
+  [DescribeIndex](API_DescribeIndex.md) 
+  [DescribeJob](API_DescribeJob.md) 
+  [DescribeJobExecution](API_DescribeJobExecution.md) 
+  [DescribeJobTemplate](API_DescribeJobTemplate.md) 
+  [DescribeManagedJobTemplate](API_DescribeManagedJobTemplate.md) 
+  [DescribeMitigationAction](API_DescribeMitigationAction.md) 
+  [DescribeProvisioningTemplate](API_DescribeProvisioningTemplate.md) 
+  [DescribeProvisioningTemplateVersion](API_DescribeProvisioningTemplateVersion.md) 
+  [DescribeRoleAlias](API_DescribeRoleAlias.md) 
+  [DescribeScheduledAudit](API_DescribeScheduledAudit.md) 
+  [DescribeSecurityProfile](API_DescribeSecurityProfile.md) 
+  [DescribeStream](API_DescribeStream.md) 
+  [DescribeThing](API_DescribeThing.md) 
+  [DescribeThingGroup](API_DescribeThingGroup.md) 
+  [DescribeThingRegistrationTask](API_DescribeThingRegistrationTask.md) 
+  [DescribeThingType](API_DescribeThingType.md) 
+  [DetachPolicy](API_DetachPolicy.md) 
+  [DetachPrincipalPolicy](API_DetachPrincipalPolicy.md) 
+  [DetachSecurityProfile](API_DetachSecurityProfile.md) 
+  [DetachThingPrincipal](API_DetachThingPrincipal.md) 
+  [DisableTopicRule](API_DisableTopicRule.md) 
+  [DisassociateSbomFromPackageVersion](API_DisassociateSbomFromPackageVersion.md) 
+  [EnableTopicRule](API_EnableTopicRule.md) 
+  [GetBehaviorModelTrainingSummaries](API_GetBehaviorModelTrainingSummaries.md) 
+  [GetBucketsAggregation](API_GetBucketsAggregation.md) 
+  [GetCardinality](API_GetCardinality.md) 
+  [GetCommand](API_GetCommand.md) 
+  [GetCommandExecution](API_GetCommandExecution.md) 
+  [GetEffectivePolicies](API_GetEffectivePolicies.md) 
+  [GetIndexingConfiguration](API_GetIndexingConfiguration.md) 
+  [GetJobDocument](API_GetJobDocument.md) 
+  [GetLoggingOptions](API_GetLoggingOptions.md) 
+  [GetOTAUpdate](API_GetOTAUpdate.md) 
+  [GetPackage](API_GetPackage.md) 
+  [GetPackageConfiguration](API_GetPackageConfiguration.md) 
+  [GetPackageVersion](API_GetPackageVersion.md) 
+  [GetPercentiles](API_GetPercentiles.md) 
+  [GetPolicy](API_GetPolicy.md) 
+  [GetPolicyVersion](API_GetPolicyVersion.md) 
+  [GetRegistrationCode](API_GetRegistrationCode.md) 
+  [GetStatistics](API_GetStatistics.md) 
+  [GetThingConnectivityData](API_GetThingConnectivityData.md) 
+  [GetTopicRule](API_GetTopicRule.md) 
+  [GetTopicRuleDestination](API_GetTopicRuleDestination.md) 
+  [GetV2LoggingOptions](API_GetV2LoggingOptions.md) 
+  [ListActiveViolations](API_ListActiveViolations.md) 
+  [ListAttachedPolicies](API_ListAttachedPolicies.md) 
+  [ListAuditFindings](API_ListAuditFindings.md) 
+  [ListAuditMitigationActionsExecutions](API_ListAuditMitigationActionsExecutions.md) 
+  [ListAuditMitigationActionsTasks](API_ListAuditMitigationActionsTasks.md) 
+  [ListAuditSuppressions](API_ListAuditSuppressions.md) 
+  [ListAuditTasks](API_ListAuditTasks.md) 
+  [ListAuthorizers](API_ListAuthorizers.md) 
+  [ListBillingGroups](API_ListBillingGroups.md) 
+  [ListCACertificates](API_ListCACertificates.md) 
+  [ListCertificateProviders](API_ListCertificateProviders.md) 
+  [ListCertificates](API_ListCertificates.md) 
+  [ListCertificatesByCA](API_ListCertificatesByCA.md) 
+  [ListCommandExecutions](API_ListCommandExecutions.md) 
+  [ListCommands](API_ListCommands.md) 
+  [ListCustomMetrics](API_ListCustomMetrics.md) 
+  [ListDetectMitigationActionsExecutions](API_ListDetectMitigationActionsExecutions.md) 
+  [ListDetectMitigationActionsTasks](API_ListDetectMitigationActionsTasks.md) 
+  [ListDimensions](API_ListDimensions.md) 
+  [ListDomainConfigurations](API_ListDomainConfigurations.md) 
+  [ListFleetMetrics](API_ListFleetMetrics.md) 
+  [ListIndices](API_ListIndices.md) 
+  [ListJobExecutionsForJob](API_ListJobExecutionsForJob.md) 
+  [ListJobExecutionsForThing](API_ListJobExecutionsForThing.md) 
+  [ListJobs](API_ListJobs.md) 
+  [ListJobTemplates](API_ListJobTemplates.md) 
+  [ListManagedJobTemplates](API_ListManagedJobTemplates.md) 
+  [ListMetricValues](API_ListMetricValues.md) 
+  [ListMitigationActions](API_ListMitigationActions.md) 
+  [ListOTAUpdates](API_ListOTAUpdates.md) 
+  [ListOutgoingCertificates](API_ListOutgoingCertificates.md) 
+  [ListPackages](API_ListPackages.md) 
+  [ListPackageVersions](API_ListPackageVersions.md) 
+  [ListPolicies](API_ListPolicies.md) 
+  [ListPolicyPrincipals](API_ListPolicyPrincipals.md) 
+  [ListPolicyVersions](API_ListPolicyVersions.md) 
+  [ListPrincipalPolicies](API_ListPrincipalPolicies.md) 
+  [ListPrincipalThings](API_ListPrincipalThings.md) 
+  [ListPrincipalThingsV2](API_ListPrincipalThingsV2.md) 
+  [ListProvisioningTemplates](API_ListProvisioningTemplates.md) 
+  [ListProvisioningTemplateVersions](API_ListProvisioningTemplateVersions.md) 
+  [ListRelatedResourcesForAuditFinding](API_ListRelatedResourcesForAuditFinding.md) 
+  [ListRoleAliases](API_ListRoleAliases.md) 
+  [ListSbomValidationResults](API_ListSbomValidationResults.md) 
+  [ListScheduledAudits](API_ListScheduledAudits.md) 
+  [ListSecurityProfiles](API_ListSecurityProfiles.md) 
+  [ListSecurityProfilesForTarget](API_ListSecurityProfilesForTarget.md) 
+  [ListStreams](API_ListStreams.md) 
+  [ListTagsForResource](API_ListTagsForResource.md) 
+  [ListTargetsForPolicy](API_ListTargetsForPolicy.md) 
+  [ListTargetsForSecurityProfile](API_ListTargetsForSecurityProfile.md) 
+  [ListThingGroups](API_ListThingGroups.md) 
+  [ListThingGroupsForThing](API_ListThingGroupsForThing.md) 
+  [ListThingPrincipals](API_ListThingPrincipals.md) 
+  [ListThingPrincipalsV2](API_ListThingPrincipalsV2.md) 
+  [ListThingRegistrationTaskReports](API_ListThingRegistrationTaskReports.md) 
+  [ListThingRegistrationTasks](API_ListThingRegistrationTasks.md) 
+  [ListThings](API_ListThings.md) 
+  [ListThingsInBillingGroup](API_ListThingsInBillingGroup.md) 
+  [ListThingsInThingGroup](API_ListThingsInThingGroup.md) 
+  [ListThingTypes](API_ListThingTypes.md) 
+  [ListTopicRuleDestinations](API_ListTopicRuleDestinations.md) 
+  [ListTopicRules](API_ListTopicRules.md) 
+  [ListV2LoggingLevels](API_ListV2LoggingLevels.md) 
+  [ListViolationEvents](API_ListViolationEvents.md) 
+  [PutVerificationStateOnViolation](API_PutVerificationStateOnViolation.md) 
+  [RegisterCACertificate](API_RegisterCACertificate.md) 
+  [RegisterCertificate](API_RegisterCertificate.md) 
+  [RegisterCertificateWithoutCA](API_RegisterCertificateWithoutCA.md) 
+  [RegisterThing](API_RegisterThing.md) 
+  [RejectCertificateTransfer](API_RejectCertificateTransfer.md) 
+  [RemoveThingFromBillingGroup](API_RemoveThingFromBillingGroup.md) 
+  [RemoveThingFromThingGroup](API_RemoveThingFromThingGroup.md) 
+  [ReplaceTopicRule](API_ReplaceTopicRule.md) 
+  [SearchIndex](API_SearchIndex.md) 
+  [SetDefaultAuthorizer](API_SetDefaultAuthorizer.md) 
+  [SetDefaultPolicyVersion](API_SetDefaultPolicyVersion.md) 
+  [SetLoggingOptions](API_SetLoggingOptions.md) 
+  [SetV2LoggingLevel](API_SetV2LoggingLevel.md) 
+  [SetV2LoggingOptions](API_SetV2LoggingOptions.md) 
+  [StartAuditMitigationActionsTask](API_StartAuditMitigationActionsTask.md) 
+  [StartDetectMitigationActionsTask](API_StartDetectMitigationActionsTask.md) 
+  [StartOnDemandAuditTask](API_StartOnDemandAuditTask.md) 
+  [StartThingRegistrationTask](API_StartThingRegistrationTask.md) 
+  [StopThingRegistrationTask](API_StopThingRegistrationTask.md) 
+  [TagResource](API_TagResource.md) 
+  [TestAuthorization](API_TestAuthorization.md) 
+  [TestInvokeAuthorizer](API_TestInvokeAuthorizer.md) 
+  [TransferCertificate](API_TransferCertificate.md) 
+  [UntagResource](API_UntagResource.md) 
+  [UpdateAccountAuditConfiguration](API_UpdateAccountAuditConfiguration.md) 
+  [UpdateAuditSuppression](API_UpdateAuditSuppression.md) 
+  [UpdateAuthorizer](API_UpdateAuthorizer.md) 
+  [UpdateBillingGroup](API_UpdateBillingGroup.md) 
+  [UpdateCACertificate](API_UpdateCACertificate.md) 
+  [UpdateCertificate](API_UpdateCertificate.md) 
+  [UpdateCertificateProvider](API_UpdateCertificateProvider.md) 
+  [UpdateCommand](API_UpdateCommand.md) 
+  [UpdateCustomMetric](API_UpdateCustomMetric.md) 
+  [UpdateDimension](API_UpdateDimension.md) 
+  [UpdateDomainConfiguration](API_UpdateDomainConfiguration.md) 
+  [UpdateDynamicThingGroup](API_UpdateDynamicThingGroup.md) 
+  [UpdateEncryptionConfiguration](API_UpdateEncryptionConfiguration.md) 
+  [UpdateEventConfigurations](API_UpdateEventConfigurations.md) 
+  [UpdateFleetMetric](API_UpdateFleetMetric.md) 
+  [UpdateIndexingConfiguration](API_UpdateIndexingConfiguration.md) 
+  [UpdateJob](API_UpdateJob.md) 
+  [UpdateMitigationAction](API_UpdateMitigationAction.md) 
+  [UpdatePackage](API_UpdatePackage.md) 
+  [UpdatePackageConfiguration](API_UpdatePackageConfiguration.md) 
+  [UpdatePackageVersion](API_UpdatePackageVersion.md) 
+  [UpdateProvisioningTemplate](API_UpdateProvisioningTemplate.md) 
+  [UpdateRoleAlias](API_UpdateRoleAlias.md) 
+  [UpdateScheduledAudit](API_UpdateScheduledAudit.md) 
+  [UpdateSecurityProfile](API_UpdateSecurityProfile.md) 
+  [UpdateStream](API_UpdateStream.md) 
+  [UpdateThing](API_UpdateThing.md) 
+  [UpdateThingGroup](API_UpdateThingGroup.md) 
+  [UpdateThingGroupsForThing](API_UpdateThingGroupsForThing.md) 
+  [UpdateThingType](API_UpdateThingType.md) 
+  [UpdateTopicRuleDestination](API_UpdateTopicRuleDestination.md) 
+  [ValidateSecurityProfileBehaviors](API_ValidateSecurityProfileBehaviors.md) 

The following actions are supported by AWS IoT data:
+  [DeleteConnection](API_iotdata_DeleteConnection.md) 
+  [DeleteThingShadow](API_iotdata_DeleteThingShadow.md) 
+  [GetRetainedMessage](API_iotdata_GetRetainedMessage.md) 
+  [GetThingShadow](API_iotdata_GetThingShadow.md) 
+  [ListNamedShadowsForThing](API_iotdata_ListNamedShadowsForThing.md) 
+  [ListRetainedMessages](API_iotdata_ListRetainedMessages.md) 
+  [Publish](API_iotdata_Publish.md) 
+  [UpdateThingShadow](API_iotdata_UpdateThingShadow.md) 

The following actions are supported by AWS IoT jobs data:
+  [DescribeJobExecution](API_iot-jobs-data_DescribeJobExecution.md) 
+  [GetPendingJobExecutions](API_iot-jobs-data_GetPendingJobExecutions.md) 
+  [StartCommandExecution](API_iot-jobs-data_StartCommandExecution.md) 
+  [StartNextPendingJobExecution](API_iot-jobs-data_StartNextPendingJobExecution.md) 
+  [UpdateJobExecution](API_iot-jobs-data_UpdateJobExecution.md) 

The following actions are supported by AWS IoT Core Device Advisor:
+  [CreateSuiteDefinition](API_iotdeviceadvisor_CreateSuiteDefinition.md) 
+  [DeleteSuiteDefinition](API_iotdeviceadvisor_DeleteSuiteDefinition.md) 
+  [GetEndpoint](API_iotdeviceadvisor_GetEndpoint.md) 
+  [GetSuiteDefinition](API_iotdeviceadvisor_GetSuiteDefinition.md) 
+  [GetSuiteRun](API_iotdeviceadvisor_GetSuiteRun.md) 
+  [GetSuiteRunReport](API_iotdeviceadvisor_GetSuiteRunReport.md) 
+  [ListSuiteDefinitions](API_iotdeviceadvisor_ListSuiteDefinitions.md) 
+  [ListSuiteRuns](API_iotdeviceadvisor_ListSuiteRuns.md) 
+  [ListTagsForResource](API_iotdeviceadvisor_ListTagsForResource.md) 
+  [StartSuiteRun](API_iotdeviceadvisor_StartSuiteRun.md) 
+  [StopSuiteRun](API_iotdeviceadvisor_StopSuiteRun.md) 
+  [TagResource](API_iotdeviceadvisor_TagResource.md) 
+  [UntagResource](API_iotdeviceadvisor_UntagResource.md) 
+  [UpdateSuiteDefinition](API_iotdeviceadvisor_UpdateSuiteDefinition.md) 

The following actions are supported by AWS IoT Secure Tunneling:
+  [CloseTunnel](API_iot-secure-tunneling_CloseTunnel.md) 
+  [DescribeTunnel](API_iot-secure-tunneling_DescribeTunnel.md) 
+  [ListTagsForResource](API_iot-secure-tunneling_ListTagsForResource.md) 
+  [ListTunnels](API_iot-secure-tunneling_ListTunnels.md) 
+  [OpenTunnel](API_iot-secure-tunneling_OpenTunnel.md) 
+  [RotateTunnelAccessToken](API_iot-secure-tunneling_RotateTunnelAccessToken.md) 
+  [TagResource](API_iot-secure-tunneling_TagResource.md) 
+  [UntagResource](API_iot-secure-tunneling_UntagResource.md) 

# AWS IoT
<a name="API_Operations_AWS_IoT"></a>

The following actions are supported by AWS IoT:
+  [AcceptCertificateTransfer](API_AcceptCertificateTransfer.md) 
+  [AddThingToBillingGroup](API_AddThingToBillingGroup.md) 
+  [AddThingToThingGroup](API_AddThingToThingGroup.md) 
+  [AssociateSbomWithPackageVersion](API_AssociateSbomWithPackageVersion.md) 
+  [AssociateTargetsWithJob](API_AssociateTargetsWithJob.md) 
+  [AttachPolicy](API_AttachPolicy.md) 
+  [AttachPrincipalPolicy](API_AttachPrincipalPolicy.md) 
+  [AttachSecurityProfile](API_AttachSecurityProfile.md) 
+  [AttachThingPrincipal](API_AttachThingPrincipal.md) 
+  [CancelAuditMitigationActionsTask](API_CancelAuditMitigationActionsTask.md) 
+  [CancelAuditTask](API_CancelAuditTask.md) 
+  [CancelCertificateTransfer](API_CancelCertificateTransfer.md) 
+  [CancelDetectMitigationActionsTask](API_CancelDetectMitigationActionsTask.md) 
+  [CancelJob](API_CancelJob.md) 
+  [CancelJobExecution](API_CancelJobExecution.md) 
+  [ClearDefaultAuthorizer](API_ClearDefaultAuthorizer.md) 
+  [ConfirmTopicRuleDestination](API_ConfirmTopicRuleDestination.md) 
+  [CreateAuditSuppression](API_CreateAuditSuppression.md) 
+  [CreateAuthorizer](API_CreateAuthorizer.md) 
+  [CreateBillingGroup](API_CreateBillingGroup.md) 
+  [CreateCertificateFromCsr](API_CreateCertificateFromCsr.md) 
+  [CreateCertificateProvider](API_CreateCertificateProvider.md) 
+  [CreateCommand](API_CreateCommand.md) 
+  [CreateCustomMetric](API_CreateCustomMetric.md) 
+  [CreateDimension](API_CreateDimension.md) 
+  [CreateDomainConfiguration](API_CreateDomainConfiguration.md) 
+  [CreateDynamicThingGroup](API_CreateDynamicThingGroup.md) 
+  [CreateFleetMetric](API_CreateFleetMetric.md) 
+  [CreateJob](API_CreateJob.md) 
+  [CreateJobTemplate](API_CreateJobTemplate.md) 
+  [CreateKeysAndCertificate](API_CreateKeysAndCertificate.md) 
+  [CreateMitigationAction](API_CreateMitigationAction.md) 
+  [CreateOTAUpdate](API_CreateOTAUpdate.md) 
+  [CreatePackage](API_CreatePackage.md) 
+  [CreatePackageVersion](API_CreatePackageVersion.md) 
+  [CreatePolicy](API_CreatePolicy.md) 
+  [CreatePolicyVersion](API_CreatePolicyVersion.md) 
+  [CreateProvisioningClaim](API_CreateProvisioningClaim.md) 
+  [CreateProvisioningTemplate](API_CreateProvisioningTemplate.md) 
+  [CreateProvisioningTemplateVersion](API_CreateProvisioningTemplateVersion.md) 
+  [CreateRoleAlias](API_CreateRoleAlias.md) 
+  [CreateScheduledAudit](API_CreateScheduledAudit.md) 
+  [CreateSecurityProfile](API_CreateSecurityProfile.md) 
+  [CreateStream](API_CreateStream.md) 
+  [CreateThing](API_CreateThing.md) 
+  [CreateThingGroup](API_CreateThingGroup.md) 
+  [CreateThingType](API_CreateThingType.md) 
+  [CreateTopicRule](API_CreateTopicRule.md) 
+  [CreateTopicRuleDestination](API_CreateTopicRuleDestination.md) 
+  [DeleteAccountAuditConfiguration](API_DeleteAccountAuditConfiguration.md) 
+  [DeleteAuditSuppression](API_DeleteAuditSuppression.md) 
+  [DeleteAuthorizer](API_DeleteAuthorizer.md) 
+  [DeleteBillingGroup](API_DeleteBillingGroup.md) 
+  [DeleteCACertificate](API_DeleteCACertificate.md) 
+  [DeleteCertificate](API_DeleteCertificate.md) 
+  [DeleteCertificateProvider](API_DeleteCertificateProvider.md) 
+  [DeleteCommand](API_DeleteCommand.md) 
+  [DeleteCommandExecution](API_DeleteCommandExecution.md) 
+  [DeleteCustomMetric](API_DeleteCustomMetric.md) 
+  [DeleteDimension](API_DeleteDimension.md) 
+  [DeleteDomainConfiguration](API_DeleteDomainConfiguration.md) 
+  [DeleteDynamicThingGroup](API_DeleteDynamicThingGroup.md) 
+  [DeleteFleetMetric](API_DeleteFleetMetric.md) 
+  [DeleteJob](API_DeleteJob.md) 
+  [DeleteJobExecution](API_DeleteJobExecution.md) 
+  [DeleteJobTemplate](API_DeleteJobTemplate.md) 
+  [DeleteMitigationAction](API_DeleteMitigationAction.md) 
+  [DeleteOTAUpdate](API_DeleteOTAUpdate.md) 
+  [DeletePackage](API_DeletePackage.md) 
+  [DeletePackageVersion](API_DeletePackageVersion.md) 
+  [DeletePolicy](API_DeletePolicy.md) 
+  [DeletePolicyVersion](API_DeletePolicyVersion.md) 
+  [DeleteProvisioningTemplate](API_DeleteProvisioningTemplate.md) 
+  [DeleteProvisioningTemplateVersion](API_DeleteProvisioningTemplateVersion.md) 
+  [DeleteRegistrationCode](API_DeleteRegistrationCode.md) 
+  [DeleteRoleAlias](API_DeleteRoleAlias.md) 
+  [DeleteScheduledAudit](API_DeleteScheduledAudit.md) 
+  [DeleteSecurityProfile](API_DeleteSecurityProfile.md) 
+  [DeleteStream](API_DeleteStream.md) 
+  [DeleteThing](API_DeleteThing.md) 
+  [DeleteThingGroup](API_DeleteThingGroup.md) 
+  [DeleteThingType](API_DeleteThingType.md) 
+  [DeleteTopicRule](API_DeleteTopicRule.md) 
+  [DeleteTopicRuleDestination](API_DeleteTopicRuleDestination.md) 
+  [DeleteV2LoggingLevel](API_DeleteV2LoggingLevel.md) 
+  [DeprecateThingType](API_DeprecateThingType.md) 
+  [DescribeAccountAuditConfiguration](API_DescribeAccountAuditConfiguration.md) 
+  [DescribeAuditFinding](API_DescribeAuditFinding.md) 
+  [DescribeAuditMitigationActionsTask](API_DescribeAuditMitigationActionsTask.md) 
+  [DescribeAuditSuppression](API_DescribeAuditSuppression.md) 
+  [DescribeAuditTask](API_DescribeAuditTask.md) 
+  [DescribeAuthorizer](API_DescribeAuthorizer.md) 
+  [DescribeBillingGroup](API_DescribeBillingGroup.md) 
+  [DescribeCACertificate](API_DescribeCACertificate.md) 
+  [DescribeCertificate](API_DescribeCertificate.md) 
+  [DescribeCertificateProvider](API_DescribeCertificateProvider.md) 
+  [DescribeCustomMetric](API_DescribeCustomMetric.md) 
+  [DescribeDefaultAuthorizer](API_DescribeDefaultAuthorizer.md) 
+  [DescribeDetectMitigationActionsTask](API_DescribeDetectMitigationActionsTask.md) 
+  [DescribeDimension](API_DescribeDimension.md) 
+  [DescribeDomainConfiguration](API_DescribeDomainConfiguration.md) 
+  [DescribeEncryptionConfiguration](API_DescribeEncryptionConfiguration.md) 
+  [DescribeEndpoint](API_DescribeEndpoint.md) 
+  [DescribeEventConfigurations](API_DescribeEventConfigurations.md) 
+  [DescribeFleetMetric](API_DescribeFleetMetric.md) 
+  [DescribeIndex](API_DescribeIndex.md) 
+  [DescribeJob](API_DescribeJob.md) 
+  [DescribeJobExecution](API_DescribeJobExecution.md) 
+  [DescribeJobTemplate](API_DescribeJobTemplate.md) 
+  [DescribeManagedJobTemplate](API_DescribeManagedJobTemplate.md) 
+  [DescribeMitigationAction](API_DescribeMitigationAction.md) 
+  [DescribeProvisioningTemplate](API_DescribeProvisioningTemplate.md) 
+  [DescribeProvisioningTemplateVersion](API_DescribeProvisioningTemplateVersion.md) 
+  [DescribeRoleAlias](API_DescribeRoleAlias.md) 
+  [DescribeScheduledAudit](API_DescribeScheduledAudit.md) 
+  [DescribeSecurityProfile](API_DescribeSecurityProfile.md) 
+  [DescribeStream](API_DescribeStream.md) 
+  [DescribeThing](API_DescribeThing.md) 
+  [DescribeThingGroup](API_DescribeThingGroup.md) 
+  [DescribeThingRegistrationTask](API_DescribeThingRegistrationTask.md) 
+  [DescribeThingType](API_DescribeThingType.md) 
+  [DetachPolicy](API_DetachPolicy.md) 
+  [DetachPrincipalPolicy](API_DetachPrincipalPolicy.md) 
+  [DetachSecurityProfile](API_DetachSecurityProfile.md) 
+  [DetachThingPrincipal](API_DetachThingPrincipal.md) 
+  [DisableTopicRule](API_DisableTopicRule.md) 
+  [DisassociateSbomFromPackageVersion](API_DisassociateSbomFromPackageVersion.md) 
+  [EnableTopicRule](API_EnableTopicRule.md) 
+  [GetBehaviorModelTrainingSummaries](API_GetBehaviorModelTrainingSummaries.md) 
+  [GetBucketsAggregation](API_GetBucketsAggregation.md) 
+  [GetCardinality](API_GetCardinality.md) 
+  [GetCommand](API_GetCommand.md) 
+  [GetCommandExecution](API_GetCommandExecution.md) 
+  [GetEffectivePolicies](API_GetEffectivePolicies.md) 
+  [GetIndexingConfiguration](API_GetIndexingConfiguration.md) 
+  [GetJobDocument](API_GetJobDocument.md) 
+  [GetLoggingOptions](API_GetLoggingOptions.md) 
+  [GetOTAUpdate](API_GetOTAUpdate.md) 
+  [GetPackage](API_GetPackage.md) 
+  [GetPackageConfiguration](API_GetPackageConfiguration.md) 
+  [GetPackageVersion](API_GetPackageVersion.md) 
+  [GetPercentiles](API_GetPercentiles.md) 
+  [GetPolicy](API_GetPolicy.md) 
+  [GetPolicyVersion](API_GetPolicyVersion.md) 
+  [GetRegistrationCode](API_GetRegistrationCode.md) 
+  [GetStatistics](API_GetStatistics.md) 
+  [GetThingConnectivityData](API_GetThingConnectivityData.md) 
+  [GetTopicRule](API_GetTopicRule.md) 
+  [GetTopicRuleDestination](API_GetTopicRuleDestination.md) 
+  [GetV2LoggingOptions](API_GetV2LoggingOptions.md) 
+  [ListActiveViolations](API_ListActiveViolations.md) 
+  [ListAttachedPolicies](API_ListAttachedPolicies.md) 
+  [ListAuditFindings](API_ListAuditFindings.md) 
+  [ListAuditMitigationActionsExecutions](API_ListAuditMitigationActionsExecutions.md) 
+  [ListAuditMitigationActionsTasks](API_ListAuditMitigationActionsTasks.md) 
+  [ListAuditSuppressions](API_ListAuditSuppressions.md) 
+  [ListAuditTasks](API_ListAuditTasks.md) 
+  [ListAuthorizers](API_ListAuthorizers.md) 
+  [ListBillingGroups](API_ListBillingGroups.md) 
+  [ListCACertificates](API_ListCACertificates.md) 
+  [ListCertificateProviders](API_ListCertificateProviders.md) 
+  [ListCertificates](API_ListCertificates.md) 
+  [ListCertificatesByCA](API_ListCertificatesByCA.md) 
+  [ListCommandExecutions](API_ListCommandExecutions.md) 
+  [ListCommands](API_ListCommands.md) 
+  [ListCustomMetrics](API_ListCustomMetrics.md) 
+  [ListDetectMitigationActionsExecutions](API_ListDetectMitigationActionsExecutions.md) 
+  [ListDetectMitigationActionsTasks](API_ListDetectMitigationActionsTasks.md) 
+  [ListDimensions](API_ListDimensions.md) 
+  [ListDomainConfigurations](API_ListDomainConfigurations.md) 
+  [ListFleetMetrics](API_ListFleetMetrics.md) 
+  [ListIndices](API_ListIndices.md) 
+  [ListJobExecutionsForJob](API_ListJobExecutionsForJob.md) 
+  [ListJobExecutionsForThing](API_ListJobExecutionsForThing.md) 
+  [ListJobs](API_ListJobs.md) 
+  [ListJobTemplates](API_ListJobTemplates.md) 
+  [ListManagedJobTemplates](API_ListManagedJobTemplates.md) 
+  [ListMetricValues](API_ListMetricValues.md) 
+  [ListMitigationActions](API_ListMitigationActions.md) 
+  [ListOTAUpdates](API_ListOTAUpdates.md) 
+  [ListOutgoingCertificates](API_ListOutgoingCertificates.md) 
+  [ListPackages](API_ListPackages.md) 
+  [ListPackageVersions](API_ListPackageVersions.md) 
+  [ListPolicies](API_ListPolicies.md) 
+  [ListPolicyPrincipals](API_ListPolicyPrincipals.md) 
+  [ListPolicyVersions](API_ListPolicyVersions.md) 
+  [ListPrincipalPolicies](API_ListPrincipalPolicies.md) 
+  [ListPrincipalThings](API_ListPrincipalThings.md) 
+  [ListPrincipalThingsV2](API_ListPrincipalThingsV2.md) 
+  [ListProvisioningTemplates](API_ListProvisioningTemplates.md) 
+  [ListProvisioningTemplateVersions](API_ListProvisioningTemplateVersions.md) 
+  [ListRelatedResourcesForAuditFinding](API_ListRelatedResourcesForAuditFinding.md) 
+  [ListRoleAliases](API_ListRoleAliases.md) 
+  [ListSbomValidationResults](API_ListSbomValidationResults.md) 
+  [ListScheduledAudits](API_ListScheduledAudits.md) 
+  [ListSecurityProfiles](API_ListSecurityProfiles.md) 
+  [ListSecurityProfilesForTarget](API_ListSecurityProfilesForTarget.md) 
+  [ListStreams](API_ListStreams.md) 
+  [ListTagsForResource](API_ListTagsForResource.md) 
+  [ListTargetsForPolicy](API_ListTargetsForPolicy.md) 
+  [ListTargetsForSecurityProfile](API_ListTargetsForSecurityProfile.md) 
+  [ListThingGroups](API_ListThingGroups.md) 
+  [ListThingGroupsForThing](API_ListThingGroupsForThing.md) 
+  [ListThingPrincipals](API_ListThingPrincipals.md) 
+  [ListThingPrincipalsV2](API_ListThingPrincipalsV2.md) 
+  [ListThingRegistrationTaskReports](API_ListThingRegistrationTaskReports.md) 
+  [ListThingRegistrationTasks](API_ListThingRegistrationTasks.md) 
+  [ListThings](API_ListThings.md) 
+  [ListThingsInBillingGroup](API_ListThingsInBillingGroup.md) 
+  [ListThingsInThingGroup](API_ListThingsInThingGroup.md) 
+  [ListThingTypes](API_ListThingTypes.md) 
+  [ListTopicRuleDestinations](API_ListTopicRuleDestinations.md) 
+  [ListTopicRules](API_ListTopicRules.md) 
+  [ListV2LoggingLevels](API_ListV2LoggingLevels.md) 
+  [ListViolationEvents](API_ListViolationEvents.md) 
+  [PutVerificationStateOnViolation](API_PutVerificationStateOnViolation.md) 
+  [RegisterCACertificate](API_RegisterCACertificate.md) 
+  [RegisterCertificate](API_RegisterCertificate.md) 
+  [RegisterCertificateWithoutCA](API_RegisterCertificateWithoutCA.md) 
+  [RegisterThing](API_RegisterThing.md) 
+  [RejectCertificateTransfer](API_RejectCertificateTransfer.md) 
+  [RemoveThingFromBillingGroup](API_RemoveThingFromBillingGroup.md) 
+  [RemoveThingFromThingGroup](API_RemoveThingFromThingGroup.md) 
+  [ReplaceTopicRule](API_ReplaceTopicRule.md) 
+  [SearchIndex](API_SearchIndex.md) 
+  [SetDefaultAuthorizer](API_SetDefaultAuthorizer.md) 
+  [SetDefaultPolicyVersion](API_SetDefaultPolicyVersion.md) 
+  [SetLoggingOptions](API_SetLoggingOptions.md) 
+  [SetV2LoggingLevel](API_SetV2LoggingLevel.md) 
+  [SetV2LoggingOptions](API_SetV2LoggingOptions.md) 
+  [StartAuditMitigationActionsTask](API_StartAuditMitigationActionsTask.md) 
+  [StartDetectMitigationActionsTask](API_StartDetectMitigationActionsTask.md) 
+  [StartOnDemandAuditTask](API_StartOnDemandAuditTask.md) 
+  [StartThingRegistrationTask](API_StartThingRegistrationTask.md) 
+  [StopThingRegistrationTask](API_StopThingRegistrationTask.md) 
+  [TagResource](API_TagResource.md) 
+  [TestAuthorization](API_TestAuthorization.md) 
+  [TestInvokeAuthorizer](API_TestInvokeAuthorizer.md) 
+  [TransferCertificate](API_TransferCertificate.md) 
+  [UntagResource](API_UntagResource.md) 
+  [UpdateAccountAuditConfiguration](API_UpdateAccountAuditConfiguration.md) 
+  [UpdateAuditSuppression](API_UpdateAuditSuppression.md) 
+  [UpdateAuthorizer](API_UpdateAuthorizer.md) 
+  [UpdateBillingGroup](API_UpdateBillingGroup.md) 
+  [UpdateCACertificate](API_UpdateCACertificate.md) 
+  [UpdateCertificate](API_UpdateCertificate.md) 
+  [UpdateCertificateProvider](API_UpdateCertificateProvider.md) 
+  [UpdateCommand](API_UpdateCommand.md) 
+  [UpdateCustomMetric](API_UpdateCustomMetric.md) 
+  [UpdateDimension](API_UpdateDimension.md) 
+  [UpdateDomainConfiguration](API_UpdateDomainConfiguration.md) 
+  [UpdateDynamicThingGroup](API_UpdateDynamicThingGroup.md) 
+  [UpdateEncryptionConfiguration](API_UpdateEncryptionConfiguration.md) 
+  [UpdateEventConfigurations](API_UpdateEventConfigurations.md) 
+  [UpdateFleetMetric](API_UpdateFleetMetric.md) 
+  [UpdateIndexingConfiguration](API_UpdateIndexingConfiguration.md) 
+  [UpdateJob](API_UpdateJob.md) 
+  [UpdateMitigationAction](API_UpdateMitigationAction.md) 
+  [UpdatePackage](API_UpdatePackage.md) 
+  [UpdatePackageConfiguration](API_UpdatePackageConfiguration.md) 
+  [UpdatePackageVersion](API_UpdatePackageVersion.md) 
+  [UpdateProvisioningTemplate](API_UpdateProvisioningTemplate.md) 
+  [UpdateRoleAlias](API_UpdateRoleAlias.md) 
+  [UpdateScheduledAudit](API_UpdateScheduledAudit.md) 
+  [UpdateSecurityProfile](API_UpdateSecurityProfile.md) 
+  [UpdateStream](API_UpdateStream.md) 
+  [UpdateThing](API_UpdateThing.md) 
+  [UpdateThingGroup](API_UpdateThingGroup.md) 
+  [UpdateThingGroupsForThing](API_UpdateThingGroupsForThing.md) 
+  [UpdateThingType](API_UpdateThingType.md) 
+  [UpdateTopicRuleDestination](API_UpdateTopicRuleDestination.md) 
+  [ValidateSecurityProfileBehaviors](API_ValidateSecurityProfileBehaviors.md) 

# AcceptCertificateTransfer
<a name="API_AcceptCertificateTransfer"></a>

Accepts a pending certificate transfer. The default state of the certificate is INACTIVE.

To check for pending certificate transfers, call [ListCertificates](API_ListCertificates.md) to enumerate your certificates.

Requires permission to access the [AcceptCertificateTransfer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AcceptCertificateTransfer_RequestSyntax"></a>

```
PATCH /accept-certificate-transfer/certificateId?setAsActive=setAsActive HTTP/1.1
```

## URI Request Parameters
<a name="API_AcceptCertificateTransfer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_AcceptCertificateTransfer_RequestSyntax) **   <a name="iot-AcceptCertificateTransfer-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

 ** [setAsActive](#API_AcceptCertificateTransfer_RequestSyntax) **   <a name="iot-AcceptCertificateTransfer-request-uri-setAsActive"></a>
Specifies whether the certificate is active.

## Request Body
<a name="API_AcceptCertificateTransfer_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_AcceptCertificateTransfer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AcceptCertificateTransfer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AcceptCertificateTransfer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** TransferAlreadyCompletedException **   
You can't revert the certificate transfer because the transfer is already complete.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_AcceptCertificateTransfer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AcceptCertificateTransfer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AcceptCertificateTransfer) 

# AddThingToBillingGroup
<a name="API_AddThingToBillingGroup"></a>

Adds a thing to a billing group.

Requires permission to access the [AddThingToBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AddThingToBillingGroup_RequestSyntax"></a>

```
PUT /billing-groups/addThingToBillingGroup HTTP/1.1
Content-type: application/json

{
   "billingGroupArn": "string",
   "billingGroupName": "string",
   "thingArn": "string",
   "thingName": "string"
}
```

## URI Request Parameters
<a name="API_AddThingToBillingGroup_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_AddThingToBillingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [billingGroupArn](#API_AddThingToBillingGroup_RequestSyntax) **   <a name="iot-AddThingToBillingGroup-request-billingGroupArn"></a>
The ARN of the billing group.  
Type: String  
Required: No

 ** [billingGroupName](#API_AddThingToBillingGroup_RequestSyntax) **   <a name="iot-AddThingToBillingGroup-request-billingGroupName"></a>
The name of the billing group.  
This call is asynchronous. It might take several seconds for the detachment to propagate.
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingArn](#API_AddThingToBillingGroup_RequestSyntax) **   <a name="iot-AddThingToBillingGroup-request-thingArn"></a>
The ARN of the thing to be added to the billing group.  
Type: String  
Required: No

 ** [thingName](#API_AddThingToBillingGroup_RequestSyntax) **   <a name="iot-AddThingToBillingGroup-request-thingName"></a>
The name of the thing to be added to the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_AddThingToBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AddThingToBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AddThingToBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_AddThingToBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AddThingToBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AddThingToBillingGroup) 

# AddThingToThingGroup
<a name="API_AddThingToThingGroup"></a>

Adds a thing to a thing group.

Requires permission to access the [AddThingToThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AddThingToThingGroup_RequestSyntax"></a>

```
PUT /thing-groups/addThingToThingGroup HTTP/1.1
Content-type: application/json

{
   "overrideDynamicGroups": boolean,
   "thingArn": "string",
   "thingGroupArn": "string",
   "thingGroupName": "string",
   "thingName": "string"
}
```

## URI Request Parameters
<a name="API_AddThingToThingGroup_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_AddThingToThingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [overrideDynamicGroups](#API_AddThingToThingGroup_RequestSyntax) **   <a name="iot-AddThingToThingGroup-request-overrideDynamicGroups"></a>
Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.  
Type: Boolean  
Required: No

 ** [thingArn](#API_AddThingToThingGroup_RequestSyntax) **   <a name="iot-AddThingToThingGroup-request-thingArn"></a>
The ARN of the thing to add to a group.  
Type: String  
Required: No

 ** [thingGroupArn](#API_AddThingToThingGroup_RequestSyntax) **   <a name="iot-AddThingToThingGroup-request-thingGroupArn"></a>
The ARN of the group to which you are adding a thing.  
Type: String  
Required: No

 ** [thingGroupName](#API_AddThingToThingGroup_RequestSyntax) **   <a name="iot-AddThingToThingGroup-request-thingGroupName"></a>
The name of the group to which you are adding a thing.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingName](#API_AddThingToThingGroup_RequestSyntax) **   <a name="iot-AddThingToThingGroup-request-thingName"></a>
The name of the thing to add to a group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_AddThingToThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AddThingToThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AddThingToThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_AddThingToThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AddThingToThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AddThingToThingGroup) 

# AssociateSbomWithPackageVersion
<a name="API_AssociateSbomWithPackageVersion"></a>

Associates the selected software bill of materials (SBOM) with a specific software package version.

Requires permission to access the [AssociateSbomWithPackageVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AssociateSbomWithPackageVersion_RequestSyntax"></a>

```
PUT /packages/packageName/versions/versionName/sbom?clientToken=clientToken HTTP/1.1
Content-type: application/json

{
   "sbom": { 
      "s3Location": { 
         "bucket": "string",
         "key": "string",
         "version": "string"
      }
   }
}
```

## URI Request Parameters
<a name="API_AssociateSbomWithPackageVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_AssociateSbomWithPackageVersion_RequestSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_AssociateSbomWithPackageVersion_RequestSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-request-uri-packageName"></a>
The name of the new software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [versionName](#API_AssociateSbomWithPackageVersion_RequestSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-request-uri-versionName"></a>
The name of the new package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_AssociateSbomWithPackageVersion_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [sbom](#API_AssociateSbomWithPackageVersion_RequestSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-request-sbom"></a>
A specific software bill of matrerials associated with a software package version.  
Type: [Sbom](API_Sbom.md) object  
Required: Yes

## Response Syntax
<a name="API_AssociateSbomWithPackageVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "packageName": "string",
   "sbom": { 
      "s3Location": { 
         "bucket": "string",
         "key": "string",
         "version": "string"
      }
   },
   "sbomValidationStatus": "string",
   "versionName": "string"
}
```

## Response Elements
<a name="API_AssociateSbomWithPackageVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [packageName](#API_AssociateSbomWithPackageVersion_ResponseSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-response-packageName"></a>
The name of the new software package.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+` 

 ** [sbom](#API_AssociateSbomWithPackageVersion_ResponseSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-response-sbom"></a>
A specific software bill of matrerials associated with a software package version.  
Type: [Sbom](API_Sbom.md) object

 ** [sbomValidationStatus](#API_AssociateSbomWithPackageVersion_ResponseSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-response-sbomValidationStatus"></a>
The status of the initial validation for the software bill of materials against the Software Package Data Exchange (SPDX) and CycloneDX industry standard formats.  
Type: String  
Valid Values: `IN_PROGRESS | FAILED | SUCCEEDED` 

 ** [versionName](#API_AssociateSbomWithPackageVersion_ResponseSyntax) **   <a name="iot-AssociateSbomWithPackageVersion-response-versionName"></a>
The name of the new package version.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+` 

## Errors
<a name="API_AssociateSbomWithPackageVersion_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceQuotaExceededException **   
Service quota has been exceeded.  
HTTP Status Code: 402

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_AssociateSbomWithPackageVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AssociateSbomWithPackageVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AssociateSbomWithPackageVersion) 

# AssociateTargetsWithJob
<a name="API_AssociateTargetsWithJob"></a>

Associates a group with a continuous job. The following criteria must be met: 
+ The job must have been created with the `targetSelection` field set to "CONTINUOUS".
+ The job status must currently be "IN\$1PROGRESS".
+ The total number of targets associated with a job must not exceed 100.

Requires permission to access the [AssociateTargetsWithJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AssociateTargetsWithJob_RequestSyntax"></a>

```
POST /jobs/jobId/targets?namespaceId=namespaceId HTTP/1.1
Content-type: application/json

{
   "comment": "string",
   "targets": [ "string" ]
}
```

## URI Request Parameters
<a name="API_AssociateTargetsWithJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobId](#API_AssociateTargetsWithJob_RequestSyntax) **   <a name="iot-AssociateTargetsWithJob-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [namespaceId](#API_AssociateTargetsWithJob_RequestSyntax) **   <a name="iot-AssociateTargetsWithJob-request-uri-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Pattern: `[a-zA-Z0-9_-]+` 

## Request Body
<a name="API_AssociateTargetsWithJob_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [comment](#API_AssociateTargetsWithJob_RequestSyntax) **   <a name="iot-AssociateTargetsWithJob-request-comment"></a>
An optional comment string describing why the job was associated with the targets.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [targets](#API_AssociateTargetsWithJob_RequestSyntax) **   <a name="iot-AssociateTargetsWithJob-request-targets"></a>
A list of thing group ARNs that define the targets of the job.  
Type: Array of strings  
Array Members: Minimum number of 1 item.  
Length Constraints: Maximum length of 2048.  
Required: Yes

## Response Syntax
<a name="API_AssociateTargetsWithJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "jobArn": "string",
   "jobId": "string"
}
```

## Response Elements
<a name="API_AssociateTargetsWithJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_AssociateTargetsWithJob_ResponseSyntax) **   <a name="iot-AssociateTargetsWithJob-response-description"></a>
A short text description of the job.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [jobArn](#API_AssociateTargetsWithJob_ResponseSyntax) **   <a name="iot-AssociateTargetsWithJob-response-jobArn"></a>
An ARN identifying the job.  
Type: String

 ** [jobId](#API_AssociateTargetsWithJob_ResponseSyntax) **   <a name="iot-AssociateTargetsWithJob-response-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_AssociateTargetsWithJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_AssociateTargetsWithJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AssociateTargetsWithJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AssociateTargetsWithJob) 

# AttachPolicy
<a name="API_AttachPolicy"></a>

Attaches the specified policy to the specified principal (certificate or other credential).

Requires permission to access the [AttachPolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AttachPolicy_RequestSyntax"></a>

```
PUT /target-policies/policyName HTTP/1.1
Content-type: application/json

{
   "target": "string"
}
```

## URI Request Parameters
<a name="API_AttachPolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_AttachPolicy_RequestSyntax) **   <a name="iot-AttachPolicy-request-uri-policyName"></a>
The name of the policy to attach.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_AttachPolicy_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [target](#API_AttachPolicy_RequestSyntax) **   <a name="iot-AttachPolicy-request-target"></a>
The [identity](https://docs.aws.amazon.com/iot/latest/developerguide/security-iam.html) to which the policy is attached. For example, a thing group or a certificate.  
Type: String  
Required: Yes

## Response Syntax
<a name="API_AttachPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AttachPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AttachPolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_AttachPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AttachPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AttachPolicy) 

# AttachPrincipalPolicy
<a name="API_AttachPrincipalPolicy"></a>

Attaches the specified policy to the specified principal (certificate or other credential).

 **Note:** This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use [AttachPolicy](API_AttachPolicy.md) instead.

Requires permission to access the [AttachPrincipalPolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AttachPrincipalPolicy_RequestSyntax"></a>

```
PUT /principal-policies/policyName HTTP/1.1
x-amzn-iot-principal: principal
```

## URI Request Parameters
<a name="API_AttachPrincipalPolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_AttachPrincipalPolicy_RequestSyntax) **   <a name="iot-AttachPrincipalPolicy-request-uri-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

 ** [principal](#API_AttachPrincipalPolicy_RequestSyntax) **   <a name="iot-AttachPrincipalPolicy-request-principal"></a>
The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.  
Required: Yes

## Request Body
<a name="API_AttachPrincipalPolicy_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_AttachPrincipalPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AttachPrincipalPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AttachPrincipalPolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_AttachPrincipalPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AttachPrincipalPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AttachPrincipalPolicy) 

# AttachSecurityProfile
<a name="API_AttachSecurityProfile"></a>

Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it.

Requires permission to access the [AttachSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AttachSecurityProfile_RequestSyntax"></a>

```
PUT /security-profiles/securityProfileName/targets?securityProfileTargetArn=securityProfileTargetArn HTTP/1.1
```

## URI Request Parameters
<a name="API_AttachSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [securityProfileName](#API_AttachSecurityProfile_RequestSyntax) **   <a name="iot-AttachSecurityProfile-request-uri-securityProfileName"></a>
The security profile that is attached.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [securityProfileTargetArn](#API_AttachSecurityProfile_RequestSyntax) **   <a name="iot-AttachSecurityProfile-request-uri-securityProfileTargetArn"></a>
The ARN of the target (thing group) to which the security profile is attached.  
Required: Yes

## Request Body
<a name="API_AttachSecurityProfile_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_AttachSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AttachSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AttachSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_AttachSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AttachSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AttachSecurityProfile) 

# AttachThingPrincipal
<a name="API_AttachThingPrincipal"></a>

Attaches the specified principal to the specified thing. A principal can be X.509 certificates, Amazon Cognito identities or federated identities.

Requires permission to access the [AttachThingPrincipal](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_AttachThingPrincipal_RequestSyntax"></a>

```
PUT /things/thingName/principals?thingPrincipalType=thingPrincipalType HTTP/1.1
x-amzn-principal: principal
```

## URI Request Parameters
<a name="API_AttachThingPrincipal_RequestParameters"></a>

The request uses the following URI parameters.

 ** [principal](#API_AttachThingPrincipal_RequestSyntax) **   <a name="iot-AttachThingPrincipal-request-principal"></a>
The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.  
Required: Yes

 ** [thingName](#API_AttachThingPrincipal_RequestSyntax) **   <a name="iot-AttachThingPrincipal-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [thingPrincipalType](#API_AttachThingPrincipal_RequestSyntax) **   <a name="iot-AttachThingPrincipal-request-uri-thingPrincipalType"></a>
The type of the relation you want to specify when you attach a principal to a thing.  
+  `EXCLUSIVE_THING` - Attaches the specified principal to the specified thing, exclusively. The thing will be the only thing that’s attached to the principal.
+  `NON_EXCLUSIVE_THING` - Attaches the specified principal to the specified thing. Multiple things can be attached to the principal.
Valid Values: `EXCLUSIVE_THING | NON_EXCLUSIVE_THING` 

## Request Body
<a name="API_AttachThingPrincipal_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_AttachThingPrincipal_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_AttachThingPrincipal_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AttachThingPrincipal_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_AttachThingPrincipal_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/AttachThingPrincipal) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/AttachThingPrincipal) 

# CancelAuditMitigationActionsTask
<a name="API_CancelAuditMitigationActionsTask"></a>

Cancels a mitigation action task that is in progress. If the task is not in progress, an InvalidRequestException occurs.

Requires permission to access the [CancelAuditMitigationActionsTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CancelAuditMitigationActionsTask_RequestSyntax"></a>

```
PUT /audit/mitigationactions/tasks/taskId/cancel HTTP/1.1
```

## URI Request Parameters
<a name="API_CancelAuditMitigationActionsTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_CancelAuditMitigationActionsTask_RequestSyntax) **   <a name="iot-CancelAuditMitigationActionsTask-request-uri-taskId"></a>
The unique identifier for the task that you want to cancel.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CancelAuditMitigationActionsTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_CancelAuditMitigationActionsTask_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CancelAuditMitigationActionsTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CancelAuditMitigationActionsTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CancelAuditMitigationActionsTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CancelAuditMitigationActionsTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CancelAuditMitigationActionsTask) 

# CancelAuditTask
<a name="API_CancelAuditTask"></a>

Cancels an audit that is in progress. The audit can be either scheduled or on demand. If the audit isn't in progress, an "InvalidRequestException" occurs.

Requires permission to access the [CancelAuditTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CancelAuditTask_RequestSyntax"></a>

```
PUT /audit/tasks/taskId/cancel HTTP/1.1
```

## URI Request Parameters
<a name="API_CancelAuditTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_CancelAuditTask_RequestSyntax) **   <a name="iot-CancelAuditTask-request-uri-taskId"></a>
The ID of the audit you want to cancel. You can only cancel an audit that is "IN\$1PROGRESS".  
Length Constraints: Minimum length of 1. Maximum length of 40.  
Pattern: `[a-zA-Z0-9\-]+`   
Required: Yes

## Request Body
<a name="API_CancelAuditTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_CancelAuditTask_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CancelAuditTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CancelAuditTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CancelAuditTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CancelAuditTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CancelAuditTask) 

# CancelCertificateTransfer
<a name="API_CancelCertificateTransfer"></a>

Cancels a pending transfer for the specified certificate.

 **Note** Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use [RejectCertificateTransfer](API_RejectCertificateTransfer.md) instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled.

After a certificate transfer is cancelled, the status of the certificate changes from PENDING\$1TRANSFER to INACTIVE.

Requires permission to access the [CancelCertificateTransfer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CancelCertificateTransfer_RequestSyntax"></a>

```
PATCH /cancel-certificate-transfer/certificateId HTTP/1.1
```

## URI Request Parameters
<a name="API_CancelCertificateTransfer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_CancelCertificateTransfer_RequestSyntax) **   <a name="iot-CancelCertificateTransfer-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

## Request Body
<a name="API_CancelCertificateTransfer_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_CancelCertificateTransfer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CancelCertificateTransfer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CancelCertificateTransfer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** TransferAlreadyCompletedException **   
You can't revert the certificate transfer because the transfer is already complete.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CancelCertificateTransfer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CancelCertificateTransfer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CancelCertificateTransfer) 

# CancelDetectMitigationActionsTask
<a name="API_CancelDetectMitigationActionsTask"></a>

 Cancels a Device Defender ML Detect mitigation action. 

Requires permission to access the [CancelDetectMitigationActionsTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CancelDetectMitigationActionsTask_RequestSyntax"></a>

```
PUT /detect/mitigationactions/tasks/taskId/cancel HTTP/1.1
```

## URI Request Parameters
<a name="API_CancelDetectMitigationActionsTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_CancelDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-CancelDetectMitigationActionsTask-request-uri-taskId"></a>
 The unique identifier of the task.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CancelDetectMitigationActionsTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_CancelDetectMitigationActionsTask_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CancelDetectMitigationActionsTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CancelDetectMitigationActionsTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CancelDetectMitigationActionsTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CancelDetectMitigationActionsTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CancelDetectMitigationActionsTask) 

# CancelJob
<a name="API_CancelJob"></a>

Cancels a job.

Requires permission to access the [CancelJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CancelJob_RequestSyntax"></a>

```
PUT /jobs/jobId/cancel?force=force HTTP/1.1
Content-type: application/json

{
   "comment": "string",
   "reasonCode": "string"
}
```

## URI Request Parameters
<a name="API_CancelJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [force](#API_CancelJob_RequestSyntax) **   <a name="iot-CancelJob-request-uri-force"></a>
(Optional) If `true` job executions with status "IN\$1PROGRESS" and "QUEUED" are canceled, otherwise only job executions with status "QUEUED" are canceled. The default is `false`.  
Canceling a job which is "IN\$1PROGRESS", will cause a device which is executing the job to be unable to update the job execution status. Use caution and ensure that each device executing a job which is canceled is able to recover to a valid state.

 ** [jobId](#API_CancelJob_RequestSyntax) **   <a name="iot-CancelJob-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CancelJob_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [comment](#API_CancelJob_RequestSyntax) **   <a name="iot-CancelJob-request-comment"></a>
An optional comment string describing why the job was canceled.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [reasonCode](#API_CancelJob_RequestSyntax) **   <a name="iot-CancelJob-request-reasonCode"></a>
(Optional)A reason code string that explains why the job was canceled.  
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\p{Upper}\p{Digit}_]+`   
Required: No

## Response Syntax
<a name="API_CancelJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "jobArn": "string",
   "jobId": "string"
}
```

## Response Elements
<a name="API_CancelJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_CancelJob_ResponseSyntax) **   <a name="iot-CancelJob-response-description"></a>
A short text description of the job.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [jobArn](#API_CancelJob_ResponseSyntax) **   <a name="iot-CancelJob-response-jobArn"></a>
The job ARN.  
Type: String

 ** [jobId](#API_CancelJob_ResponseSyntax) **   <a name="iot-CancelJob-response-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_CancelJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CancelJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CancelJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CancelJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CancelJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CancelJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CancelJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CancelJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CancelJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CancelJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CancelJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CancelJob) 

# CancelJobExecution
<a name="API_CancelJobExecution"></a>

Cancels the execution of a job for a given thing.

Requires permission to access the [CancelJobExecution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CancelJobExecution_RequestSyntax"></a>

```
PUT /things/thingName/jobs/jobId/cancel?force=force HTTP/1.1
Content-type: application/json

{
   "expectedVersion": number,
   "statusDetails": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_CancelJobExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [force](#API_CancelJobExecution_RequestSyntax) **   <a name="iot-CancelJobExecution-request-uri-force"></a>
(Optional) If `true` the job execution will be canceled if it has status IN\$1PROGRESS or QUEUED, otherwise the job execution will be canceled only if it has status QUEUED. If you attempt to cancel a job execution that is IN\$1PROGRESS, and you do not set `force` to `true`, then an `InvalidStateTransitionException` will be thrown. The default is `false`.  
Canceling a job execution which is "IN\$1PROGRESS", will cause the device to be unable to update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

 ** [jobId](#API_CancelJobExecution_RequestSyntax) **   <a name="iot-CancelJobExecution-request-uri-jobId"></a>
The ID of the job to be canceled.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [thingName](#API_CancelJobExecution_RequestSyntax) **   <a name="iot-CancelJobExecution-request-uri-thingName"></a>
The name of the thing whose execution of the job will be canceled.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CancelJobExecution_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [expectedVersion](#API_CancelJobExecution_RequestSyntax) **   <a name="iot-CancelJobExecution-request-expectedVersion"></a>
(Optional) The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)  
Type: Long  
Required: No

 ** [statusDetails](#API_CancelJobExecution_RequestSyntax) **   <a name="iot-CancelJobExecution-request-statusDetails"></a>
A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.  
Type: String to string map  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+`   
Required: No

## Response Syntax
<a name="API_CancelJobExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CancelJobExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CancelJobExecution_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidStateTransitionException **   
An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN\$1PROGRESS" without setting the `force` parameter.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_CancelJobExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CancelJobExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CancelJobExecution) 

# ClearDefaultAuthorizer
<a name="API_ClearDefaultAuthorizer"></a>

Clears the default authorizer.

Requires permission to access the [ClearDefaultAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ClearDefaultAuthorizer_RequestSyntax"></a>

```
DELETE /default-authorizer HTTP/1.1
```

## URI Request Parameters
<a name="API_ClearDefaultAuthorizer_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_ClearDefaultAuthorizer_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ClearDefaultAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_ClearDefaultAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_ClearDefaultAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ClearDefaultAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ClearDefaultAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ClearDefaultAuthorizer) 

# ConfirmTopicRuleDestination
<a name="API_ConfirmTopicRuleDestination"></a>

Confirms a topic rule destination. When you create a rule requiring a destination, AWS IoT sends a confirmation message to the endpoint or base address you specify. The message includes a token which you pass back when calling `ConfirmTopicRuleDestination` to confirm that you own or have access to the endpoint.

Requires permission to access the [ConfirmTopicRuleDestination](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ConfirmTopicRuleDestination_RequestSyntax"></a>

```
GET /confirmdestination/confirmationToken+ HTTP/1.1
```

## URI Request Parameters
<a name="API_ConfirmTopicRuleDestination_RequestParameters"></a>

The request uses the following URI parameters.

 ** [confirmationToken](#API_ConfirmTopicRuleDestination_RequestSyntax) **   <a name="iot-ConfirmTopicRuleDestination-request-uri-confirmationToken"></a>
The token used to confirm ownership or access to the topic rule confirmation URL.  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Required: Yes

## Request Body
<a name="API_ConfirmTopicRuleDestination_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ConfirmTopicRuleDestination_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_ConfirmTopicRuleDestination_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_ConfirmTopicRuleDestination_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ConfirmTopicRuleDestination_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ConfirmTopicRuleDestination) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ConfirmTopicRuleDestination) 

# CreateAuditSuppression
<a name="API_CreateAuditSuppression"></a>

 Creates a Device Defender audit suppression. 

Requires permission to access the [CreateAuditSuppression](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateAuditSuppression_RequestSyntax"></a>

```
POST /audit/suppressions/create HTTP/1.1
Content-type: application/json

{
   "checkName": "string",
   "clientRequestToken": "string",
   "description": "string",
   "expirationDate": number,
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   },
   "suppressIndefinitely": boolean
}
```

## URI Request Parameters
<a name="API_CreateAuditSuppression_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_CreateAuditSuppression_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [checkName](#API_CreateAuditSuppression_RequestSyntax) **   <a name="iot-CreateAuditSuppression-request-checkName"></a>
An audit check name. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: String  
Required: Yes

 ** [clientRequestToken](#API_CreateAuditSuppression_RequestSyntax) **   <a name="iot-CreateAuditSuppression-request-clientRequestToken"></a>
 Each audit supression must have a unique client request token. If you try to create a new audit suppression with the same token as one that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[a-zA-Z0-9-_]+$`   
Required: Yes

 ** [description](#API_CreateAuditSuppression_RequestSyntax) **   <a name="iot-CreateAuditSuppression-request-description"></a>
 The description of the audit suppression.   
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

 ** [expirationDate](#API_CreateAuditSuppression_RequestSyntax) **   <a name="iot-CreateAuditSuppression-request-expirationDate"></a>
 The epoch timestamp in seconds at which this suppression expires.   
Type: Timestamp  
Required: No

 ** [resourceIdentifier](#API_CreateAuditSuppression_RequestSyntax) **   <a name="iot-CreateAuditSuppression-request-resourceIdentifier"></a>
Information that identifies the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object  
Required: Yes

 ** [suppressIndefinitely](#API_CreateAuditSuppression_RequestSyntax) **   <a name="iot-CreateAuditSuppression-request-suppressIndefinitely"></a>
 Indicates whether a suppression should exist indefinitely or not.   
Type: Boolean  
Required: No

## Response Syntax
<a name="API_CreateAuditSuppression_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CreateAuditSuppression_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CreateAuditSuppression_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateAuditSuppression_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateAuditSuppression) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateAuditSuppression) 

# CreateAuthorizer
<a name="API_CreateAuthorizer"></a>

Creates an authorizer.

Requires permission to access the [CreateAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateAuthorizer_RequestSyntax"></a>

```
POST /authorizer/authorizerName HTTP/1.1
Content-type: application/json

{
   "authorizerFunctionArn": "string",
   "enableCachingForHttp": boolean,
   "signingDisabled": boolean,
   "status": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "tokenKeyName": "string",
   "tokenSigningPublicKeys": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_CreateAuthorizer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [authorizerName](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-uri-authorizerName"></a>
The authorizer name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_CreateAuthorizer_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [authorizerFunctionArn](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-authorizerFunctionArn"></a>
The ARN of the authorizer's Lambda function.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [enableCachingForHttp](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-enableCachingForHttp"></a>
When `true`, the result from the authorizer’s Lambda function is cached for clients that use persistent HTTP connections. The results are cached for the time specified by the Lambda function in `refreshAfterInSeconds`. This value does not affect authorization of clients that use MQTT connections.  
The default value is `false`.  
Type: Boolean  
Required: No

 ** [signingDisabled](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-signingDisabled"></a>
Specifies whether AWS IoT validates the token signature in an authorization request.  
Type: Boolean  
Required: No

 ** [status](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-status"></a>
The status of the create authorizer request.  
Type: String  
Valid Values: `ACTIVE | INACTIVE`   
Required: No

 ** [tags](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-tags"></a>
Metadata which can be used to manage the custom authorizer.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [tokenKeyName](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-tokenKeyName"></a>
The name of the token key used to extract the token from the HTTP headers.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: No

 ** [tokenSigningPublicKeys](#API_CreateAuthorizer_RequestSyntax) **   <a name="iot-CreateAuthorizer-request-tokenSigningPublicKeys"></a>
The public keys used to verify the digital signature returned by your custom authentication service.  
Type: String to string map  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Maximum length of 5120.  
Value Pattern: `[\s\S]*`   
Required: No

## Response Syntax
<a name="API_CreateAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authorizerArn": "string",
   "authorizerName": "string"
}
```

## Response Elements
<a name="API_CreateAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authorizerArn](#API_CreateAuthorizer_ResponseSyntax) **   <a name="iot-CreateAuthorizer-response-authorizerArn"></a>
The authorizer ARN.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [authorizerName](#API_CreateAuthorizer_ResponseSyntax) **   <a name="iot-CreateAuthorizer-response-authorizerName"></a>
The authorizer's name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

## Errors
<a name="API_CreateAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateAuthorizer) 

# CreateBillingGroup
<a name="API_CreateBillingGroup"></a>

Creates a billing group. If this call is made multiple times using the same billing group name and configuration, the call will succeed. If this call is made with the same billing group name but different configuration a `ResourceAlreadyExistsException` is thrown.

Requires permission to access the [CreateBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateBillingGroup_RequestSyntax"></a>

```
POST /billing-groups/billingGroupName HTTP/1.1
Content-type: application/json

{
   "billingGroupProperties": { 
      "billingGroupDescription": "string"
   },
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateBillingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [billingGroupName](#API_CreateBillingGroup_RequestSyntax) **   <a name="iot-CreateBillingGroup-request-uri-billingGroupName"></a>
The name you wish to give to the billing group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateBillingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [billingGroupProperties](#API_CreateBillingGroup_RequestSyntax) **   <a name="iot-CreateBillingGroup-request-billingGroupProperties"></a>
The properties of the billing group.  
Type: [BillingGroupProperties](API_BillingGroupProperties.md) object  
Required: No

 ** [tags](#API_CreateBillingGroup_RequestSyntax) **   <a name="iot-CreateBillingGroup-request-tags"></a>
Metadata which can be used to manage the billing group.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "billingGroupArn": "string",
   "billingGroupId": "string",
   "billingGroupName": "string"
}
```

## Response Elements
<a name="API_CreateBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [billingGroupArn](#API_CreateBillingGroup_ResponseSyntax) **   <a name="iot-CreateBillingGroup-response-billingGroupArn"></a>
The ARN of the billing group.  
Type: String

 ** [billingGroupId](#API_CreateBillingGroup_ResponseSyntax) **   <a name="iot-CreateBillingGroup-response-billingGroupId"></a>
The ID of the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [billingGroupName](#API_CreateBillingGroup_ResponseSyntax) **   <a name="iot-CreateBillingGroup-response-billingGroupName"></a>
The name you gave to the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateBillingGroup) 

# CreateCertificateFromCsr
<a name="API_CreateCertificateFromCsr"></a>

Creates an X.509 certificate using the specified certificate signing request. 

Requires permission to access the [CreateCertificateFromCsr](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action. 

**Note**  
The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported certificates, consult [ Certificate signing algorithms supported by AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms). 

**Note**  
Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple `.csr` files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is: 

 `$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}` 

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the `aws iot create-certificate-from-csr` AWS CLI command to create a certificate for the corresponding CSR. 

You can also run the `aws iot create-certificate-from-csr` part of the command in parallel to speed up the certificate creation process:

 `$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{} ` 

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

 `> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_} ` 

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

 `> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path" ` 

## Request Syntax
<a name="API_CreateCertificateFromCsr_RequestSyntax"></a>

```
POST /certificates?setAsActive=setAsActive HTTP/1.1
Content-type: application/json

{
   "certificateSigningRequest": "string"
}
```

## URI Request Parameters
<a name="API_CreateCertificateFromCsr_RequestParameters"></a>

The request uses the following URI parameters.

 ** [setAsActive](#API_CreateCertificateFromCsr_RequestSyntax) **   <a name="iot-CreateCertificateFromCsr-request-uri-setAsActive"></a>
Specifies whether the certificate is active.

## Request Body
<a name="API_CreateCertificateFromCsr_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [certificateSigningRequest](#API_CreateCertificateFromCsr_RequestSyntax) **   <a name="iot-CreateCertificateFromCsr-request-certificateSigningRequest"></a>
The certificate signing request (CSR).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 4096.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax
<a name="API_CreateCertificateFromCsr_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateArn": "string",
   "certificateId": "string",
   "certificatePem": "string"
}
```

## Response Elements
<a name="API_CreateCertificateFromCsr_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateArn](#API_CreateCertificateFromCsr_ResponseSyntax) **   <a name="iot-CreateCertificateFromCsr-response-certificateArn"></a>
The Amazon Resource Name (ARN) of the certificate. You can use the ARN as a principal for policy operations.  
Type: String

 ** [certificateId](#API_CreateCertificateFromCsr_ResponseSyntax) **   <a name="iot-CreateCertificateFromCsr-response-certificateId"></a>
The ID of the certificate. Certificate management operations only take a certificateId.  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

 ** [certificatePem](#API_CreateCertificateFromCsr_ResponseSyntax) **   <a name="iot-CreateCertificateFromCsr-response-certificatePem"></a>
The certificate data, in PEM format.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*` 

## Errors
<a name="API_CreateCertificateFromCsr_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateCertificateFromCsr_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateCertificateFromCsr) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateCertificateFromCsr) 

# CreateCertificateProvider
<a name="API_CreateCertificateProvider"></a>

Creates an AWS IoT Core certificate provider. You can use AWS IoT Core certificate provider to customize how to sign a certificate signing request (CSR) in AWS IoT fleet provisioning. For more information, see [Customizing certificate signing using AWS IoT Core certificate provider](https://docs.aws.amazon.com/iot/latest/developerguide/provisioning-cert-provider.html) from * AWS IoT Core Developer Guide*.

Requires permission to access the [CreateCertificateProvider](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Important**  
After you create a certificate provider, the behavior of [`CreateCertificateFromCsr` API for fleet provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/fleet-provision-api.html#create-cert-csr) will change and all API calls to `CreateCertificateFromCsr` will invoke the certificate provider to create the certificates. It can take up to a few minutes for this behavior to change after a certificate provider is created.

## Request Syntax
<a name="API_CreateCertificateProvider_RequestSyntax"></a>

```
POST /certificate-providers/certificateProviderName HTTP/1.1
Content-type: application/json

{
   "accountDefaultForOperations": [ "string" ],
   "clientToken": "string",
   "lambdaFunctionArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateCertificateProvider_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateProviderName](#API_CreateCertificateProvider_RequestSyntax) **   <a name="iot-CreateCertificateProvider-request-uri-certificateProviderName"></a>
The name of the certificate provider.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_CreateCertificateProvider_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [accountDefaultForOperations](#API_CreateCertificateProvider_RequestSyntax) **   <a name="iot-CreateCertificateProvider-request-accountDefaultForOperations"></a>
A list of the operations that the certificate provider will use to generate certificates. Valid value: `CreateCertificateFromCsr`.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Valid Values: `CreateCertificateFromCsr`   
Required: Yes

 ** [clientToken](#API_CreateCertificateProvider_RequestSyntax) **   <a name="iot-CreateCertificateProvider-request-clientToken"></a>
A string that you can optionally pass in the `CreateCertificateProvider` request to make sure the request is idempotent.  
Type: String  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}`   
Required: No

 ** [lambdaFunctionArn](#API_CreateCertificateProvider_RequestSyntax) **   <a name="iot-CreateCertificateProvider-request-lambdaFunctionArn"></a>
The ARN of the Lambda function that defines the authentication logic.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [tags](#API_CreateCertificateProvider_RequestSyntax) **   <a name="iot-CreateCertificateProvider-request-tags"></a>
Metadata which can be used to manage the certificate provider.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateCertificateProvider_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateProviderArn": "string",
   "certificateProviderName": "string"
}
```

## Response Elements
<a name="API_CreateCertificateProvider_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateProviderArn](#API_CreateCertificateProvider_ResponseSyntax) **   <a name="iot-CreateCertificateProvider-response-certificateProviderArn"></a>
The ARN of the certificate provider.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [certificateProviderName](#API_CreateCertificateProvider_ResponseSyntax) **   <a name="iot-CreateCertificateProvider-response-certificateProviderName"></a>
The name of the certificate provider.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

## Errors
<a name="API_CreateCertificateProvider_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateCertificateProvider_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateCertificateProvider) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateCertificateProvider) 

# CreateCommand
<a name="API_CreateCommand"></a>

Creates a command. A command contains reusable configurations that can be applied before they are sent to the devices.

## Request Syntax
<a name="API_CreateCommand_RequestSyntax"></a>

```
PUT /commands/commandId HTTP/1.1
Content-type: application/json

{
   "description": "string",
   "displayName": "string",
   "mandatoryParameters": [ 
      { 
         "defaultValue": { 
            "B": boolean,
            "BIN": blob,
            "D": number,
            "I": number,
            "L": number,
            "S": "string",
            "UL": "string"
         },
         "description": "string",
         "name": "string",
         "type": "string",
         "value": { 
            "B": boolean,
            "BIN": blob,
            "D": number,
            "I": number,
            "L": number,
            "S": "string",
            "UL": "string"
         },
         "valueConditions": [ 
            { 
               "comparisonOperator": "string",
               "operand": { 
                  "number": "string",
                  "numberRange": { 
                     "max": "string",
                     "min": "string"
                  },
                  "numbers": [ "string" ],
                  "string": "string",
                  "strings": [ "string" ]
               }
            }
         ]
      }
   ],
   "namespace": "string",
   "payload": { 
      "content": blob,
      "contentType": "string"
   },
   "payloadTemplate": "string",
   "preprocessor": { 
      "awsJsonSubstitution": { 
         "outputFormat": "string"
      }
   },
   "roleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateCommand_RequestParameters"></a>

The request uses the following URI parameters.

 ** [commandId](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-uri-commandId"></a>
A unique identifier for the command. We recommend using UUID. Alpha-numeric characters, hyphens, and underscores are valid for use here.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateCommand_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [description](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-description"></a>
A short text decription of the command.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]*`   
Required: No

 ** [displayName](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-displayName"></a>
The user-friendly name in the console for the command. This name doesn't have to be unique. You can update the user-friendly name after you define it.  
Type: String  
Length Constraints: Maximum length of 64.  
Pattern: `[^\p{C}]*`   
Required: No

 ** [mandatoryParameters](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-mandatoryParameters"></a>
A list of parameters that are used by `StartCommandExecution` API for execution payload generation.  
Type: Array of [CommandParameter](API_CommandParameter.md) objects  
Array Members: Minimum number of 1 item.  
Required: No

 ** [namespace](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-namespace"></a>
The namespace of the command. The MQTT reserved topics and validations will be used for command executions according to the namespace setting.  
Type: String  
Valid Values: `AWS-IoT | AWS-IoT-FleetWise`   
Required: No

 ** [payload](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-payload"></a>
The payload object for the static command.  
You can upload a static payload file from your local storage that contains the instructions for the device to process. The payload file can use any format. To make sure that the device correctly interprets the payload, we recommend you to specify the payload content type.  
Type: [CommandPayload](API_CommandPayload.md) object  
Required: No

 ** [payloadTemplate](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-payloadTemplate"></a>
The payload template for the dynamic command.  
This parameter is required for dynamic commands where the command execution placeholders are supplied either from `mandatoryParameters` or when `StartCommandExecution` is invoked.
Type: String  
Length Constraints: Maximum length of 32768.  
Required: No

 ** [preprocessor](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-preprocessor"></a>
Configuration that determines how `payloadTemplate` is processed to generate command execution payload.  
This parameter is required for dynamic commands, along with `payloadTemplate`, and `mandatoryParameters`.
Type: [CommandPreprocessor](API_CommandPreprocessor.md) object  
Required: No

 ** [roleArn](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-roleArn"></a>
The IAM role that you must provide when using the `AWS-IoT-FleetWise` namespace. The role grants IoT Device Management the permission to access IoT FleetWise resources for generating the payload for the command. This field is not supported when you use the `AWS-IoT` namespace.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: No

 ** [tags](#API_CreateCommand_RequestSyntax) **   <a name="iot-CreateCommand-request-tags"></a>
Name-value pairs that are used as metadata to manage a command.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateCommand_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "commandArn": "string",
   "commandId": "string"
}
```

## Response Elements
<a name="API_CreateCommand_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [commandArn](#API_CreateCommand_ResponseSyntax) **   <a name="iot-CreateCommand-response-commandArn"></a>
The Amazon Resource Number (ARN) of the command. For example, `arn:aws:iot:<region>:<accountid>:command/<commandId>`   
Type: String

 ** [commandId](#API_CreateCommand_ResponseSyntax) **   <a name="iot-CreateCommand-response-commandId"></a>
The unique identifier for the command.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_CreateCommand_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
Service quota has been exceeded.  
HTTP Status Code: 402

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_CreateCommand_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateCommand) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateCommand) 

# CreateCustomMetric
<a name="API_CreateCustomMetric"></a>

 Use this API to define a Custom Metric published by your devices to Device Defender. 

Requires permission to access the [CreateCustomMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateCustomMetric_RequestSyntax"></a>

```
POST /custom-metric/metricName HTTP/1.1
Content-type: application/json

{
   "clientRequestToken": "string",
   "displayName": "string",
   "metricType": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateCustomMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_CreateCustomMetric_RequestSyntax) **   <a name="iot-CreateCustomMetric-request-uri-metricName"></a>
 The name of the custom metric. This will be used in the metric report submitted from the device/thing. The name can't begin with `aws:`. You can't change the name after you define it.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateCustomMetric_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [clientRequestToken](#API_CreateCustomMetric_RequestSyntax) **   <a name="iot-CreateCustomMetric-request-clientRequestToken"></a>
Each custom metric must have a unique client request token. If you try to create a new custom metric that already exists with a different token, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[a-zA-Z0-9-_]+$`   
Required: Yes

 ** [displayName](#API_CreateCustomMetric_RequestSyntax) **   <a name="iot-CreateCustomMetric-request-displayName"></a>
 The friendly name in the console for the custom metric. This name doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. You can update the friendly name after you define it.  
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

 ** [metricType](#API_CreateCustomMetric_RequestSyntax) **   <a name="iot-CreateCustomMetric-request-metricType"></a>
 The type of the custom metric.   
The type `number` only takes a single metric value as an input, but when you submit the metrics value in the DeviceMetrics report, you must pass it as an array with a single value.
Type: String  
Valid Values: `string-list | ip-address-list | number-list | number`   
Required: Yes

 ** [tags](#API_CreateCustomMetric_RequestSyntax) **   <a name="iot-CreateCustomMetric-request-tags"></a>
 Metadata that can be used to manage the custom metric.   
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateCustomMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "metricArn": "string",
   "metricName": "string"
}
```

## Response Elements
<a name="API_CreateCustomMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [metricArn](#API_CreateCustomMetric_ResponseSyntax) **   <a name="iot-CreateCustomMetric-response-metricArn"></a>
 The Amazon Resource Number (ARN) of the custom metric. For example, `arn:aws-partition:iot:region:accountId:custommetric/metricName `   
Type: String

 ** [metricName](#API_CreateCustomMetric_ResponseSyntax) **   <a name="iot-CreateCustomMetric-response-metricName"></a>
 The name of the custom metric to be used in the metric report.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateCustomMetric_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateCustomMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateCustomMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateCustomMetric) 

# CreateDimension
<a name="API_CreateDimension"></a>

Create a dimension that you can use to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a `TOPIC_FILTER` dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

Requires permission to access the [CreateDimension](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateDimension_RequestSyntax"></a>

```
POST /dimensions/name HTTP/1.1
Content-type: application/json

{
   "clientRequestToken": "string",
   "stringValues": [ "string" ],
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "type": "string"
}
```

## URI Request Parameters
<a name="API_CreateDimension_RequestParameters"></a>

The request uses the following URI parameters.

 ** [name](#API_CreateDimension_RequestSyntax) **   <a name="iot-CreateDimension-request-uri-name"></a>
A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateDimension_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [clientRequestToken](#API_CreateDimension_RequestSyntax) **   <a name="iot-CreateDimension-request-clientRequestToken"></a>
Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[a-zA-Z0-9-_]+$`   
Required: Yes

 ** [stringValues](#API_CreateDimension_RequestSyntax) **   <a name="iot-CreateDimension-request-stringValues"></a>
Specifies the value or list of values for the dimension. For `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT topic (for example, "admin/\$1").  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

 ** [tags](#API_CreateDimension_RequestSyntax) **   <a name="iot-CreateDimension-request-tags"></a>
Metadata that can be used to manage the dimension.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [type](#API_CreateDimension_RequestSyntax) **   <a name="iot-CreateDimension-request-type"></a>
Specifies the type of dimension. Supported types: `TOPIC_FILTER.`   
Type: String  
Valid Values: `TOPIC_FILTER`   
Required: Yes

## Response Syntax
<a name="API_CreateDimension_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "arn": "string",
   "name": "string"
}
```

## Response Elements
<a name="API_CreateDimension_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [arn](#API_CreateDimension_ResponseSyntax) **   <a name="iot-CreateDimension-response-arn"></a>
The Amazon Resource Name (ARN) of the created dimension.  
Type: String

 ** [name](#API_CreateDimension_ResponseSyntax) **   <a name="iot-CreateDimension-response-name"></a>
A unique identifier for the dimension.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateDimension_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateDimension_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateDimension) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateDimension) 

# CreateDomainConfiguration
<a name="API_CreateDomainConfiguration"></a>

Creates a domain configuration.

Requires permission to access the [CreateDomainConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateDomainConfiguration_RequestSyntax"></a>

```
POST /domainConfigurations/domainConfigurationName HTTP/1.1
Content-type: application/json

{
   "applicationProtocol": "string",
   "authenticationType": "string",
   "authorizerConfig": { 
      "allowAuthorizerOverride": boolean,
      "defaultAuthorizerName": "string"
   },
   "clientCertificateConfig": { 
      "clientCertificateCallbackArn": "string"
   },
   "domainName": "string",
   "serverCertificateArns": [ "string" ],
   "serverCertificateConfig": { 
      "enableOCSPCheck": boolean,
      "ocspAuthorizedResponderArn": "string",
      "ocspLambdaArn": "string"
   },
   "serviceType": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "tlsConfig": { 
      "securityPolicy": "string"
   },
   "validationCertificateArn": "string"
}
```

## URI Request Parameters
<a name="API_CreateDomainConfiguration_RequestParameters"></a>

The request uses the following URI parameters.

 ** [domainConfigurationName](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-uri-domainConfigurationName"></a>
The name of the domain configuration. This value must be unique to a region.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.-]+`   
Required: Yes

## Request Body
<a name="API_CreateDomainConfiguration_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [applicationProtocol](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-applicationProtocol"></a>
An enumerated string that speciﬁes the application-layer protocol.  
+  `SECURE_MQTT` - MQTT over TLS.
+  `MQTT_WSS` - MQTT over WebSocket.
+  `HTTPS` - HTTP over TLS.
+  `DEFAULT` - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application\$1layer protocol. For more information, see [Device communication protocols](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).
Type: String  
Valid Values: `SECURE_MQTT | MQTT_WSS | HTTPS | DEFAULT`   
Required: No

 ** [authenticationType](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-authenticationType"></a>
An enumerated string that speciﬁes the authentication type.  
+  `CUSTOM_AUTH_X509` - Use custom authentication and authorization with additional details from the X.509 client certificate.
+  `CUSTOM_AUTH` - Use custom authentication and authorization. For more information, see [Custom authentication and authorization](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html).
+  `AWS_X509` - Use X.509 client certificates without custom authentication and authorization. For more information, see [X.509 client certificates](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html).
+  `AWS_SIGV4` - Use AWS Signature Version 4. For more information, see [IAM users, groups, and roles](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html).
+  `DEFAULT` - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see [Device communication protocols](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).
Type: String  
Valid Values: `CUSTOM_AUTH_X509 | CUSTOM_AUTH | AWS_X509 | AWS_SIGV4 | DEFAULT`   
Required: No

 ** [authorizerConfig](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-authorizerConfig"></a>
An object that specifies the authorization service for a domain.  
Type: [AuthorizerConfig](API_AuthorizerConfig.md) object  
Required: No

 ** [clientCertificateConfig](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-clientCertificateConfig"></a>
An object that speciﬁes the client certificate conﬁguration for a domain.  
Type: [ClientCertificateConfig](API_ClientCertificateConfig.md) object  
Required: No

 ** [domainName](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-domainName"></a>
The name of the domain.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 253.  
Pattern: `[\s\S]*`   
Required: No

 ** [serverCertificateArns](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-serverCertificateArns"></a>
The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS-managed domains.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 1 item.  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws(-cn|-us-gov|-iso-b|-iso)?:acm:[a-z]{2}-(gov-|iso-|isob-)?[a-z]{4,9}-\d{1}:\d{12}:certificate/[a-zA-Z0-9/-]+`   
Required: No

 ** [serverCertificateConfig](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-serverCertificateConfig"></a>
The server certificate configuration.  
Type: [ServerCertificateConfig](API_ServerCertificateConfig.md) object  
Required: No

 ** [serviceType](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-serviceType"></a>
The type of service delivered by the endpoint.  
 AWS IoT Core currently supports only the `DATA` service type.
Type: String  
Valid Values: `DATA | CREDENTIAL_PROVIDER | JOBS`   
Required: No

 ** [tags](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-tags"></a>
Metadata which can be used to manage the domain configuration.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [tlsConfig](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-tlsConfig"></a>
An object that specifies the TLS configuration for a domain.  
Type: [TlsConfig](API_TlsConfig.md) object  
Required: No

 ** [validationCertificateArn](#API_CreateDomainConfiguration_RequestSyntax) **   <a name="iot-CreateDomainConfiguration-request-validationCertificateArn"></a>
The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for AWS-managed domains.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws(-cn|-us-gov|-iso-b|-iso)?:acm:[a-z]{2}-(gov-|iso-|isob-)?[a-z]{4,9}-\d{1}:\d{12}:certificate/[a-zA-Z0-9/-]+`   
Required: No

## Response Syntax
<a name="API_CreateDomainConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "domainConfigurationArn": "string",
   "domainConfigurationName": "string"
}
```

## Response Elements
<a name="API_CreateDomainConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [domainConfigurationArn](#API_CreateDomainConfiguration_ResponseSyntax) **   <a name="iot-CreateDomainConfiguration-response-domainConfigurationArn"></a>
The ARN of the domain configuration.  
Type: String

 ** [domainConfigurationName](#API_CreateDomainConfiguration_ResponseSyntax) **   <a name="iot-CreateDomainConfiguration-response-domainConfigurationName"></a>
The name of the domain configuration.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.-]+` 

## Errors
<a name="API_CreateDomainConfiguration_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateDomainConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateDomainConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateDomainConfiguration) 

# CreateDynamicThingGroup
<a name="API_CreateDynamicThingGroup"></a>

Creates a dynamic thing group.

Requires permission to access the [CreateDynamicThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateDynamicThingGroup_RequestSyntax"></a>

```
POST /dynamic-thing-groups/thingGroupName HTTP/1.1
Content-type: application/json

{
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "thingGroupProperties": { 
      "attributePayload": { 
         "attributes": { 
            "string" : "string" 
         },
         "merge": boolean
      },
      "thingGroupDescription": "string"
   }
}
```

## URI Request Parameters
<a name="API_CreateDynamicThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingGroupName](#API_CreateDynamicThingGroup_RequestSyntax) **   <a name="iot-CreateDynamicThingGroup-request-uri-thingGroupName"></a>
The dynamic thing group name to create.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateDynamicThingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [indexName](#API_CreateDynamicThingGroup_RequestSyntax) **   <a name="iot-CreateDynamicThingGroup-request-indexName"></a>
The dynamic thing group index name.  
Currently one index is supported: `AWS_Things`.
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [queryString](#API_CreateDynamicThingGroup_RequestSyntax) **   <a name="iot-CreateDynamicThingGroup-request-queryString"></a>
The dynamic thing group search query string.  
See [Query Syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html) for information about query string syntax.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_CreateDynamicThingGroup_RequestSyntax) **   <a name="iot-CreateDynamicThingGroup-request-queryVersion"></a>
The dynamic thing group query version.  
Currently one query version is supported: "2017-09-30". If not specified, the query version defaults to this value.
Type: String  
Required: No

 ** [tags](#API_CreateDynamicThingGroup_RequestSyntax) **   <a name="iot-CreateDynamicThingGroup-request-tags"></a>
Metadata which can be used to manage the dynamic thing group.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [thingGroupProperties](#API_CreateDynamicThingGroup_RequestSyntax) **   <a name="iot-CreateDynamicThingGroup-request-thingGroupProperties"></a>
The dynamic thing group properties.  
Type: [ThingGroupProperties](API_ThingGroupProperties.md) object  
Required: No

## Response Syntax
<a name="API_CreateDynamicThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string",
   "thingGroupArn": "string",
   "thingGroupId": "string",
   "thingGroupName": "string"
}
```

## Response Elements
<a name="API_CreateDynamicThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [indexName](#API_CreateDynamicThingGroup_ResponseSyntax) **   <a name="iot-CreateDynamicThingGroup-response-indexName"></a>
The dynamic thing group index name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [queryString](#API_CreateDynamicThingGroup_ResponseSyntax) **   <a name="iot-CreateDynamicThingGroup-response-queryString"></a>
The dynamic thing group search query string.  
Type: String  
Length Constraints: Minimum length of 1.

 ** [queryVersion](#API_CreateDynamicThingGroup_ResponseSyntax) **   <a name="iot-CreateDynamicThingGroup-response-queryVersion"></a>
The dynamic thing group query version.  
Type: String

 ** [thingGroupArn](#API_CreateDynamicThingGroup_ResponseSyntax) **   <a name="iot-CreateDynamicThingGroup-response-thingGroupArn"></a>
The dynamic thing group ARN.  
Type: String

 ** [thingGroupId](#API_CreateDynamicThingGroup_ResponseSyntax) **   <a name="iot-CreateDynamicThingGroup-response-thingGroupId"></a>
The dynamic thing group ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [thingGroupName](#API_CreateDynamicThingGroup_ResponseSyntax) **   <a name="iot-CreateDynamicThingGroup-response-thingGroupName"></a>
The dynamic thing group name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateDynamicThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateDynamicThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateDynamicThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateDynamicThingGroup) 

# CreateFleetMetric
<a name="API_CreateFleetMetric"></a>

Creates a fleet metric.

Requires permission to access the [CreateFleetMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateFleetMetric_RequestSyntax"></a>

```
PUT /fleet-metric/metricName HTTP/1.1
Content-type: application/json

{
   "aggregationField": "string",
   "aggregationType": { 
      "name": "string",
      "values": [ "string" ]
   },
   "description": "string",
   "indexName": "string",
   "period": number,
   "queryString": "string",
   "queryVersion": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "unit": "string"
}
```

## URI Request Parameters
<a name="API_CreateFleetMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-uri-metricName"></a>
The name of the fleet metric to create.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_\-\.]+`   
Required: Yes

## Request Body
<a name="API_CreateFleetMetric_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [aggregationField](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-aggregationField"></a>
The field to aggregate.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [aggregationType](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-aggregationType"></a>
The type of the aggregation query.  
Type: [AggregationType](API_AggregationType.md) object  
Required: Yes

 ** [description](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-description"></a>
The fleet metric description.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

 ** [indexName](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-indexName"></a>
The name of the index to search.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [period](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-period"></a>
The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.  
Type: Integer  
Valid Range: Minimum value of 60. Maximum value of 86400.  
Required: Yes

 ** [queryString](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-queryString"></a>
The search query string.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-queryVersion"></a>
The query version.  
Type: String  
Required: No

 ** [tags](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-tags"></a>
Metadata, which can be used to manage the fleet metric.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [unit](#API_CreateFleetMetric_RequestSyntax) **   <a name="iot-CreateFleetMetric-request-unit"></a>
Used to support unit transformation such as milliseconds to seconds. The unit must be supported by [CW metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html). Default to null.  
Type: String  
Valid Values: `Seconds | Microseconds | Milliseconds | Bytes | Kilobytes | Megabytes | Gigabytes | Terabytes | Bits | Kilobits | Megabits | Gigabits | Terabits | Percent | Count | Bytes/Second | Kilobytes/Second | Megabytes/Second | Gigabytes/Second | Terabytes/Second | Bits/Second | Kilobits/Second | Megabits/Second | Gigabits/Second | Terabits/Second | Count/Second | None`   
Required: No

## Response Syntax
<a name="API_CreateFleetMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "metricArn": "string",
   "metricName": "string"
}
```

## Response Elements
<a name="API_CreateFleetMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [metricArn](#API_CreateFleetMetric_ResponseSyntax) **   <a name="iot-CreateFleetMetric-response-metricArn"></a>
The Amazon Resource Name (ARN) of the new fleet metric.  
Type: String

 ** [metricName](#API_CreateFleetMetric_ResponseSyntax) **   <a name="iot-CreateFleetMetric-response-metricName"></a>
The name of the fleet metric to create.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_\-\.]+` 

## Errors
<a name="API_CreateFleetMetric_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidAggregationException **   
The aggregation is invalid.  
HTTP Status Code: 400

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateFleetMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateFleetMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateFleetMetric) 

# CreateJob
<a name="API_CreateJob"></a>

Creates a job.

Requires permission to access the [CreateJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateJob_RequestSyntax"></a>

```
PUT /jobs/jobId HTTP/1.1
Content-type: application/json

{
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "description": "string",
   "destinationPackageVersions": [ "string" ],
   "document": "string",
   "documentParameters": { 
      "string" : "string" 
   },
   "documentSource": "string",
   "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
   },
   "jobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "jobTemplateArn": "string",
   "namespaceId": "string",
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "schedulingConfig": { 
      "endBehavior": "string",
      "endTime": "string",
      "maintenanceWindows": [ 
         { 
            "durationInMinutes": number,
            "startTime": "string"
         }
      ],
      "startTime": "string"
   },
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "targets": [ "string" ],
   "targetSelection": "string",
   "timeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   }
}
```

## URI Request Parameters
<a name="API_CreateJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobId](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-uri-jobId"></a>
A job identifier which must be unique for your account. We recommend using a UUID. Alpha-numeric characters, "-" and "\$1" are valid for use here.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateJob_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [abortConfig](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-abortConfig"></a>
Allows you to create the criteria to abort a job.  
Type: [AbortConfig](API_AbortConfig.md) object  
Required: No

 ** [description](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-description"></a>
A short text description of the job.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [destinationPackageVersions](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-destinationPackageVersions"></a>
The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).   
 **Note:**The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$`   
Required: No

 ** [document](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-document"></a>
The job document. Required if you don't specify a value for `documentSource`.  
Type: String  
Length Constraints: Maximum length of 32768.  
Required: No

 ** [documentParameters](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-documentParameters"></a>
Parameters of an AWS managed template that you can specify to create the job document.  
 `documentParameters` can only be used when creating jobs from AWS managed templates. This parameter can't be used with custom job templates or to create jobs from them.
Type: String to string map  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9_-]+`   
Value Length Constraints: Minimum length of 1. Maximum length of 30720.  
Value Pattern: `[^\p{C}]+`   
Required: No

 ** [documentSource](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-documentSource"></a>
An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for `document`.  
For example, `--document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0`   
For more information, see [Methods for accessing a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1350.  
Required: No

 ** [jobExecutionsRetryConfig](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-jobExecutionsRetryConfig"></a>
Allows you to create the criteria to retry a job.  
Type: [JobExecutionsRetryConfig](API_JobExecutionsRetryConfig.md) object  
Required: No

 ** [jobExecutionsRolloutConfig](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-jobExecutionsRolloutConfig"></a>
Allows you to create a staged rollout of the job.  
Type: [JobExecutionsRolloutConfig](API_JobExecutionsRolloutConfig.md) object  
Required: No

 ** [jobTemplateArn](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-jobTemplateArn"></a>
The ARN of the job template used to create the job.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$`   
Required: No

 ** [namespaceId](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Type: String  
Pattern: `[a-zA-Z0-9_-]+`   
Required: No

 ** [presignedUrlConfig](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-presignedUrlConfig"></a>
Configuration information for pre-signed S3 URLs.  
Type: [PresignedUrlConfig](API_PresignedUrlConfig.md) object  
Required: No

 ** [schedulingConfig](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-schedulingConfig"></a>
The configuration that allows you to schedule a job for a future date and time in addition to specifying the end behavior for each job execution.  
Type: [SchedulingConfig](API_SchedulingConfig.md) object  
Required: No

 ** [tags](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-tags"></a>
Metadata which can be used to manage the job.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [targets](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-targets"></a>
A list of things and thing groups to which the job should be sent.  
Type: Array of strings  
Array Members: Minimum number of 1 item.  
Length Constraints: Maximum length of 2048.  
Required: Yes

 ** [targetSelection](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-targetSelection"></a>
Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.  
We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.
Type: String  
Valid Values: `CONTINUOUS | SNAPSHOT`   
Required: No

 ** [timeoutConfig](#API_CreateJob_RequestSyntax) **   <a name="iot-CreateJob-request-timeoutConfig"></a>
Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to `IN_PROGRESS`. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to `TIMED_OUT`.  
Type: [TimeoutConfig](API_TimeoutConfig.md) object  
Required: No

## Response Syntax
<a name="API_CreateJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "jobArn": "string",
   "jobId": "string"
}
```

## Response Elements
<a name="API_CreateJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_CreateJob_ResponseSyntax) **   <a name="iot-CreateJob-response-description"></a>
The job description.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [jobArn](#API_CreateJob_ResponseSyntax) **   <a name="iot-CreateJob-response-jobArn"></a>
The job ARN.  
Type: String

 ** [jobId](#API_CreateJob_ResponseSyntax) **   <a name="iot-CreateJob-response-jobId"></a>
The unique identifier you assigned to this job.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_CreateJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateJob) 

# CreateJobTemplate
<a name="API_CreateJobTemplate"></a>

Creates a job template.

Requires permission to access the [CreateJobTemplate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateJobTemplate_RequestSyntax"></a>

```
PUT /job-templates/jobTemplateId HTTP/1.1
Content-type: application/json

{
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "description": "string",
   "destinationPackageVersions": [ "string" ],
   "document": "string",
   "documentSource": "string",
   "jobArn": "string",
   "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
   },
   "jobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "maintenanceWindows": [ 
      { 
         "durationInMinutes": number,
         "startTime": "string"
      }
   ],
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "timeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   }
}
```

## URI Request Parameters
<a name="API_CreateJobTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobTemplateId](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-uri-jobTemplateId"></a>
A unique identifier for the job template. We recommend using a UUID. Alpha-numeric characters, "-", and "\$1" are valid for use here.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateJobTemplate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [abortConfig](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-abortConfig"></a>
The criteria that determine when and how a job abort takes place.  
Type: [AbortConfig](API_AbortConfig.md) object  
Required: No

 ** [description](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-description"></a>
A description of the job document.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: Yes

 ** [destinationPackageVersions](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-destinationPackageVersions"></a>
The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).  
 **Note:**The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$`   
Required: No

 ** [document](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-document"></a>
The job document. Required if you don't specify a value for `documentSource`.  
Type: String  
Length Constraints: Maximum length of 32768.  
Required: No

 ** [documentSource](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-documentSource"></a>
An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for `document`.  
For example, `--document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0`   
For more information, see [Methods for accessing a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1350.  
Required: No

 ** [jobArn](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-jobArn"></a>
The ARN of the job to use as the basis for the job template.  
Type: String  
Required: No

 ** [jobExecutionsRetryConfig](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-jobExecutionsRetryConfig"></a>
Allows you to create the criteria to retry a job.  
Type: [JobExecutionsRetryConfig](API_JobExecutionsRetryConfig.md) object  
Required: No

 ** [jobExecutionsRolloutConfig](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-jobExecutionsRolloutConfig"></a>
Allows you to create a staged rollout of a job.  
Type: [JobExecutionsRolloutConfig](API_JobExecutionsRolloutConfig.md) object  
Required: No

 ** [maintenanceWindows](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-maintenanceWindows"></a>
Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job.  
Type: Array of [MaintenanceWindow](API_MaintenanceWindow.md) objects  
Required: No

 ** [presignedUrlConfig](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-presignedUrlConfig"></a>
Configuration for pre-signed S3 URLs.  
Type: [PresignedUrlConfig](API_PresignedUrlConfig.md) object  
Required: No

 ** [tags](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-tags"></a>
Metadata that can be used to manage the job template.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [timeoutConfig](#API_CreateJobTemplate_RequestSyntax) **   <a name="iot-CreateJobTemplate-request-timeoutConfig"></a>
Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to `IN_PROGRESS`. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to `TIMED_OUT`.  
Type: [TimeoutConfig](API_TimeoutConfig.md) object  
Required: No

## Response Syntax
<a name="API_CreateJobTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "jobTemplateArn": "string",
   "jobTemplateId": "string"
}
```

## Response Elements
<a name="API_CreateJobTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [jobTemplateArn](#API_CreateJobTemplate_ResponseSyntax) **   <a name="iot-CreateJobTemplate-response-jobTemplateArn"></a>
The ARN of the job template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$` 

 ** [jobTemplateId](#API_CreateJobTemplate_ResponseSyntax) **   <a name="iot-CreateJobTemplate-response-jobTemplateId"></a>
The unique identifier of the job template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_CreateJobTemplate_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateJobTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateJobTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateJobTemplate) 

# CreateKeysAndCertificate
<a name="API_CreateKeysAndCertificate"></a>

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. You can also call `CreateKeysAndCertificate` over MQTT from a device, for more information, see [Provisioning MQTT API](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#provision-mqtt-api).

 **Note** This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

Requires permission to access the [CreateKeysAndCertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateKeysAndCertificate_RequestSyntax"></a>

```
POST /keys-and-certificate?setAsActive=setAsActive HTTP/1.1
```

## URI Request Parameters
<a name="API_CreateKeysAndCertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [setAsActive](#API_CreateKeysAndCertificate_RequestSyntax) **   <a name="iot-CreateKeysAndCertificate-request-uri-setAsActive"></a>
Specifies whether the certificate is active.

## Request Body
<a name="API_CreateKeysAndCertificate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_CreateKeysAndCertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateArn": "string",
   "certificateId": "string",
   "certificatePem": "string",
   "keyPair": { 
      "PrivateKey": "string",
      "PublicKey": "string"
   }
}
```

## Response Elements
<a name="API_CreateKeysAndCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateArn](#API_CreateKeysAndCertificate_ResponseSyntax) **   <a name="iot-CreateKeysAndCertificate-response-certificateArn"></a>
The ARN of the certificate.  
Type: String

 ** [certificateId](#API_CreateKeysAndCertificate_ResponseSyntax) **   <a name="iot-CreateKeysAndCertificate-response-certificateId"></a>
The ID of the certificate. AWS IoT issues a default subject name for the certificate (for example, AWS IoT Certificate).  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

 ** [certificatePem](#API_CreateKeysAndCertificate_ResponseSyntax) **   <a name="iot-CreateKeysAndCertificate-response-certificatePem"></a>
The certificate data, in PEM format.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*` 

 ** [keyPair](#API_CreateKeysAndCertificate_ResponseSyntax) **   <a name="iot-CreateKeysAndCertificate-response-keyPair"></a>
The generated key pair.  
Type: [KeyPair](API_KeyPair.md) object

## Errors
<a name="API_CreateKeysAndCertificate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateKeysAndCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateKeysAndCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateKeysAndCertificate) 

# CreateMitigationAction
<a name="API_CreateMitigationAction"></a>

Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Only certain types of mitigation actions can be applied to specific check names. For more information, see [Mitigation actions](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-mitigation-actions.html). Each mitigation action can apply only one type of change.

Requires permission to access the [CreateMitigationAction](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateMitigationAction_RequestSyntax"></a>

```
POST /mitigationactions/actions/actionName HTTP/1.1
Content-type: application/json

{
   "actionParams": { 
      "addThingsToThingGroupParams": { 
         "overrideDynamicGroups": boolean,
         "thingGroupNames": [ "string" ]
      },
      "enableIoTLoggingParams": { 
         "logLevel": "string",
         "roleArnForLogging": "string"
      },
      "publishFindingToSnsParams": { 
         "topicArn": "string"
      },
      "replaceDefaultPolicyVersionParams": { 
         "templateName": "string"
      },
      "updateCACertificateParams": { 
         "action": "string"
      },
      "updateDeviceCertificateParams": { 
         "action": "string"
      }
   },
   "roleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateMitigationAction_RequestParameters"></a>

The request uses the following URI parameters.

 ** [actionName](#API_CreateMitigationAction_RequestSyntax) **   <a name="iot-CreateMitigationAction-request-uri-actionName"></a>
A friendly name for the action. Choose a friendly name that accurately describes the action (for example, `EnableLoggingAction`).  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateMitigationAction_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [actionParams](#API_CreateMitigationAction_RequestSyntax) **   <a name="iot-CreateMitigationAction-request-actionParams"></a>
Defines the type of action and the parameters for that action.  
Type: [MitigationActionParams](API_MitigationActionParams.md) object  
Required: Yes

 ** [roleArn](#API_CreateMitigationAction_RequestSyntax) **   <a name="iot-CreateMitigationAction-request-roleArn"></a>
The ARN of the IAM role that is used to apply the mitigation action.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [tags](#API_CreateMitigationAction_RequestSyntax) **   <a name="iot-CreateMitigationAction-request-tags"></a>
Metadata that can be used to manage the mitigation action.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateMitigationAction_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionArn": "string",
   "actionId": "string"
}
```

## Response Elements
<a name="API_CreateMitigationAction_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionArn](#API_CreateMitigationAction_ResponseSyntax) **   <a name="iot-CreateMitigationAction-response-actionArn"></a>
The ARN for the new mitigation action.  
Type: String

 ** [actionId](#API_CreateMitigationAction_ResponseSyntax) **   <a name="iot-CreateMitigationAction-response-actionId"></a>
A unique identifier for the new mitigation action.  
Type: String

## Errors
<a name="API_CreateMitigationAction_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateMitigationAction_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateMitigationAction) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateMitigationAction) 

# CreateOTAUpdate
<a name="API_CreateOTAUpdate"></a>

Creates an AWS IoT OTA update on a target group of things or groups.

Requires permission to access the [CreateOTAUpdate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateOTAUpdate_RequestSyntax"></a>

```
POST /otaUpdates/otaUpdateId HTTP/1.1
Content-type: application/json

{
   "additionalParameters": { 
      "string" : "string" 
   },
   "awsJobAbortConfig": { 
      "abortCriteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "awsJobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "awsJobPresignedUrlConfig": { 
      "expiresInSec": number
   },
   "awsJobTimeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   },
   "description": "string",
   "files": [ 
      { 
         "attributes": { 
            "string" : "string" 
         },
         "codeSigning": { 
            "awsSignerJobId": "string",
            "customCodeSigning": { 
               "certificateChain": { 
                  "certificateName": "string",
                  "inlineDocument": "string"
               },
               "hashAlgorithm": "string",
               "signature": { 
                  "inlineDocument": blob
               },
               "signatureAlgorithm": "string"
            },
            "startSigningJobParameter": { 
               "destination": { 
                  "s3Destination": { 
                     "bucket": "string",
                     "prefix": "string"
                  }
               },
               "signingProfileName": "string",
               "signingProfileParameter": { 
                  "certificateArn": "string",
                  "certificatePathOnDevice": "string",
                  "platform": "string"
               }
            }
         },
         "fileLocation": { 
            "s3Location": { 
               "bucket": "string",
               "key": "string",
               "version": "string"
            },
            "stream": { 
               "fileId": number,
               "streamId": "string"
            }
         },
         "fileName": "string",
         "fileType": number,
         "fileVersion": "string"
      }
   ],
   "protocols": [ "string" ],
   "roleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "targets": [ "string" ],
   "targetSelection": "string"
}
```

## URI Request Parameters
<a name="API_CreateOTAUpdate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [otaUpdateId](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-uri-otaUpdateId"></a>
The ID of the OTA update to be created.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateOTAUpdate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [additionalParameters](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-additionalParameters"></a>
A list of additional OTA update parameters, which are name-value pairs. They won't be sent to devices as a part of the Job document.  
Type: String to string map  
Value Length Constraints: Minimum length of 0. Maximum length of 4096.  
Value Pattern: `[\s\S]*`   
Required: No

 ** [awsJobAbortConfig](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-awsJobAbortConfig"></a>
The criteria that determine when and how a job abort takes place.  
Type: [AwsJobAbortConfig](API_AwsJobAbortConfig.md) object  
Required: No

 ** [awsJobExecutionsRolloutConfig](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-awsJobExecutionsRolloutConfig"></a>
Configuration for the rollout of OTA updates.  
Type: [AwsJobExecutionsRolloutConfig](API_AwsJobExecutionsRolloutConfig.md) object  
Required: No

 ** [awsJobPresignedUrlConfig](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-awsJobPresignedUrlConfig"></a>
Configuration information for pre-signed URLs.  
Type: [AwsJobPresignedUrlConfig](API_AwsJobPresignedUrlConfig.md) object  
Required: No

 ** [awsJobTimeoutConfig](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-awsJobTimeoutConfig"></a>
Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to `IN_PROGRESS`. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to `TIMED_OUT`.  
Type: [AwsJobTimeoutConfig](API_AwsJobTimeoutConfig.md) object  
Required: No

 ** [description](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-description"></a>
The description of the OTA update.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [files](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-files"></a>
The files to be streamed by the OTA update.  
Type: Array of [OTAUpdateFile](API_OTAUpdateFile.md) objects  
Array Members: Minimum number of 1 item.  
Required: Yes

 ** [protocols](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-protocols"></a>
The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 2 items.  
Valid Values: `MQTT | HTTP`   
Required: No

 ** [roleArn](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-roleArn"></a>
The IAM role that grants AWS IoT Core access to the Amazon S3, AWS IoT jobs and AWS Code Signing resources to create an OTA update job.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [tags](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-tags"></a>
Metadata which can be used to manage updates.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [targets](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-targets"></a>
The devices targeted to receive OTA updates.  
Type: Array of strings  
Array Members: Minimum number of 1 item.  
Required: Yes

 ** [targetSelection](#API_CreateOTAUpdate_RequestSyntax) **   <a name="iot-CreateOTAUpdate-request-targetSelection"></a>
Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a thing when a change is detected in a target. For example, an update will run on a thing when the thing is added to a target group, even after the update was completed by all things originally in the group. Valid values: CONTINUOUS \$1 SNAPSHOT.  
Type: String  
Valid Values: `CONTINUOUS | SNAPSHOT`   
Required: No

## Response Syntax
<a name="API_CreateOTAUpdate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "awsIotJobArn": "string",
   "awsIotJobId": "string",
   "otaUpdateArn": "string",
   "otaUpdateId": "string",
   "otaUpdateStatus": "string"
}
```

## Response Elements
<a name="API_CreateOTAUpdate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [awsIotJobArn](#API_CreateOTAUpdate_ResponseSyntax) **   <a name="iot-CreateOTAUpdate-response-awsIotJobArn"></a>
The AWS IoT job ARN associated with the OTA update.  
Type: String

 ** [awsIotJobId](#API_CreateOTAUpdate_ResponseSyntax) **   <a name="iot-CreateOTAUpdate-response-awsIotJobId"></a>
The AWS IoT job ID associated with the OTA update.  
Type: String

 ** [otaUpdateArn](#API_CreateOTAUpdate_ResponseSyntax) **   <a name="iot-CreateOTAUpdate-response-otaUpdateArn"></a>
The OTA update ARN.  
Type: String

 ** [otaUpdateId](#API_CreateOTAUpdate_ResponseSyntax) **   <a name="iot-CreateOTAUpdate-response-otaUpdateId"></a>
The OTA update ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [otaUpdateStatus](#API_CreateOTAUpdate_ResponseSyntax) **   <a name="iot-CreateOTAUpdate-response-otaUpdateStatus"></a>
The OTA update status.  
Type: String  
Valid Values: `CREATE_PENDING | CREATE_IN_PROGRESS | CREATE_COMPLETE | CREATE_FAILED | DELETE_IN_PROGRESS | DELETE_FAILED` 

## Errors
<a name="API_CreateOTAUpdate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateOTAUpdate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateOTAUpdate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateOTAUpdate) 

# CreatePackage
<a name="API_CreatePackage"></a>

Creates an AWS IoT software package that can be deployed to your fleet.

Requires permission to access the [CreatePackage](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) and [GetIndexingConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) actions.

## Request Syntax
<a name="API_CreatePackage_RequestSyntax"></a>

```
PUT /packages/packageName?clientToken=clientToken HTTP/1.1
Content-type: application/json

{
   "description": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_CreatePackage_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_CreatePackage_RequestSyntax) **   <a name="iot-CreatePackage-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_CreatePackage_RequestSyntax) **   <a name="iot-CreatePackage-request-uri-packageName"></a>
The name of the new software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_CreatePackage_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [description](#API_CreatePackage_RequestSyntax) **   <a name="iot-CreatePackage-request-description"></a>
A summary of the package being created. This can be used to outline the package's contents or purpose.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [tags](#API_CreatePackage_RequestSyntax) **   <a name="iot-CreatePackage-request-tags"></a>
Metadata that can be used to manage the package.  
Type: String to string map  
Map Entries: Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Required: No

## Response Syntax
<a name="API_CreatePackage_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "packageArn": "string",
   "packageName": "string"
}
```

## Response Elements
<a name="API_CreatePackage_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_CreatePackage_ResponseSyntax) **   <a name="iot-CreatePackage-response-description"></a>
The package description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+` 

 ** [packageArn](#API_CreatePackage_ResponseSyntax) **   <a name="iot-CreatePackage-response-packageArn"></a>
The Amazon Resource Name (ARN) for the package.  
Type: String

 ** [packageName](#API_CreatePackage_ResponseSyntax) **   <a name="iot-CreatePackage-response-packageName"></a>
The name of the software package.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+` 

## Errors
<a name="API_CreatePackage_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
Service quota has been exceeded.  
HTTP Status Code: 402

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_CreatePackage_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreatePackage) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreatePackage) 

# CreatePackageVersion
<a name="API_CreatePackageVersion"></a>

Creates a new version for an existing AWS IoT software package.

Requires permission to access the [CreatePackageVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) and [GetIndexingConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) actions.

## Request Syntax
<a name="API_CreatePackageVersion_RequestSyntax"></a>

```
PUT /packages/packageName/versions/versionName?clientToken=clientToken HTTP/1.1
Content-type: application/json

{
   "artifact": { 
      "s3Location": { 
         "bucket": "string",
         "key": "string",
         "version": "string"
      }
   },
   "attributes": { 
      "string" : "string" 
   },
   "description": "string",
   "recipe": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_CreatePackageVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-uri-packageName"></a>
The name of the associated software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [versionName](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-uri-versionName"></a>
The name of the new package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_CreatePackageVersion_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [artifact](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-artifact"></a>
The various build components created during the build process such as libraries and configuration files that make up a software package version.  
Type: [PackageVersionArtifact](API_PackageVersionArtifact.md) object  
Required: No

 ** [attributes](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-attributes"></a>
Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.  
The combined size of all the attributes on a package version is limited to 3KB.  
Type: String to string map  
Key Length Constraints: Minimum length of 1.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+`   
Required: No

 ** [description](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-description"></a>
A summary of the package version being created. This can be used to outline the package's contents or purpose.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [recipe](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-recipe"></a>
The inline job document associated with a software package version used for a quick job deployment.  
Type: String  
Length Constraints: Maximum length of 3072.  
Required: No

 ** [tags](#API_CreatePackageVersion_RequestSyntax) **   <a name="iot-CreatePackageVersion-request-tags"></a>
Metadata that can be used to manage the package version.  
Type: String to string map  
Map Entries: Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Required: No

## Response Syntax
<a name="API_CreatePackageVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "attributes": { 
      "string" : "string" 
   },
   "description": "string",
   "errorReason": "string",
   "packageName": "string",
   "packageVersionArn": "string",
   "status": "string",
   "versionName": "string"
}
```

## Response Elements
<a name="API_CreatePackageVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [attributes](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-attributes"></a>
Metadata that were added to the package version that can be used to define a package version’s configuration.  
Type: String to string map  
Key Length Constraints: Minimum length of 1.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+` 

 ** [description](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-description"></a>
The package version description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+` 

 ** [errorReason](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-errorReason"></a>
Error reason for a package version failure during creation or update.  
Type: String

 ** [packageName](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-packageName"></a>
The name of the associated software package.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+` 

 ** [packageVersionArn](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-packageVersionArn"></a>
The Amazon Resource Name (ARN) for the package.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$` 

 ** [status](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-status"></a>
The status of the package version. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).  
Type: String  
Valid Values: `DRAFT | PUBLISHED | DEPRECATED` 

 ** [versionName](#API_CreatePackageVersion_ResponseSyntax) **   <a name="iot-CreatePackageVersion-response-versionName"></a>
The name of the new package version.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+` 

## Errors
<a name="API_CreatePackageVersion_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
Service quota has been exceeded.  
HTTP Status Code: 402

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_CreatePackageVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreatePackageVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreatePackageVersion) 

# CreatePolicy
<a name="API_CreatePolicy"></a>

Creates an AWS IoT policy.

The created policy is the default version for the policy. This operation creates a policy version with a version identifier of **1** and sets **1** as the policy's default version.

Requires permission to access the [CreatePolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreatePolicy_RequestSyntax"></a>

```
POST /policies/policyName HTTP/1.1
Content-type: application/json

{
   "policyDocument": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreatePolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_CreatePolicy_RequestSyntax) **   <a name="iot-CreatePolicy-request-uri-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_CreatePolicy_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [policyDocument](#API_CreatePolicy_RequestSyntax) **   <a name="iot-CreatePolicy-request-policyDocument"></a>
The JSON document that describes the policy. **policyDocument** must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [tags](#API_CreatePolicy_RequestSyntax) **   <a name="iot-CreatePolicy-request-tags"></a>
Metadata which can be used to manage the policy.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreatePolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "policyArn": "string",
   "policyDocument": "string",
   "policyName": "string",
   "policyVersionId": "string"
}
```

## Response Elements
<a name="API_CreatePolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [policyArn](#API_CreatePolicy_ResponseSyntax) **   <a name="iot-CreatePolicy-response-policyArn"></a>
The policy ARN.  
Type: String

 ** [policyDocument](#API_CreatePolicy_ResponseSyntax) **   <a name="iot-CreatePolicy-response-policyDocument"></a>
The JSON document that describes the policy.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*` 

 ** [policyName](#API_CreatePolicy_ResponseSyntax) **   <a name="iot-CreatePolicy-response-policyName"></a>
The policy name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+` 

 ** [policyVersionId](#API_CreatePolicy_ResponseSyntax) **   <a name="iot-CreatePolicy-response-policyVersionId"></a>
The policy version ID.  
Type: String  
Pattern: `[0-9]+` 

## Errors
<a name="API_CreatePolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MalformedPolicyException **   
The policy documentation is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreatePolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreatePolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreatePolicy) 

# CreatePolicyVersion
<a name="API_CreatePolicyVersion"></a>

Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use [DeletePolicyVersion](API_DeletePolicyVersion.md) to delete an existing version before you create a new one.

Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

Requires permission to access the [CreatePolicyVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreatePolicyVersion_RequestSyntax"></a>

```
POST /policies/policyName/version?setAsDefault=setAsDefault HTTP/1.1
Content-type: application/json

{
   "policyDocument": "string"
}
```

## URI Request Parameters
<a name="API_CreatePolicyVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_CreatePolicyVersion_RequestSyntax) **   <a name="iot-CreatePolicyVersion-request-uri-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

 ** [setAsDefault](#API_CreatePolicyVersion_RequestSyntax) **   <a name="iot-CreatePolicyVersion-request-uri-setAsDefault"></a>
Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

## Request Body
<a name="API_CreatePolicyVersion_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [policyDocument](#API_CreatePolicyVersion_RequestSyntax) **   <a name="iot-CreatePolicyVersion-request-policyDocument"></a>
The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespace.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax
<a name="API_CreatePolicyVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "isDefaultVersion": boolean,
   "policyArn": "string",
   "policyDocument": "string",
   "policyVersionId": "string"
}
```

## Response Elements
<a name="API_CreatePolicyVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [isDefaultVersion](#API_CreatePolicyVersion_ResponseSyntax) **   <a name="iot-CreatePolicyVersion-response-isDefaultVersion"></a>
Specifies whether the policy version is the default.  
Type: Boolean

 ** [policyArn](#API_CreatePolicyVersion_ResponseSyntax) **   <a name="iot-CreatePolicyVersion-response-policyArn"></a>
The policy ARN.  
Type: String

 ** [policyDocument](#API_CreatePolicyVersion_ResponseSyntax) **   <a name="iot-CreatePolicyVersion-response-policyDocument"></a>
The JSON document that describes the policy.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*` 

 ** [policyVersionId](#API_CreatePolicyVersion_ResponseSyntax) **   <a name="iot-CreatePolicyVersion-response-policyVersionId"></a>
The policy version ID.  
Type: String  
Pattern: `[0-9]+` 

## Errors
<a name="API_CreatePolicyVersion_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MalformedPolicyException **   
The policy documentation is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionsLimitExceededException **   
The number of policy versions exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_CreatePolicyVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreatePolicyVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreatePolicyVersion) 

# CreateProvisioningClaim
<a name="API_CreateProvisioningClaim"></a>

Creates a provisioning claim.

Requires permission to access the [CreateProvisioningClaim](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateProvisioningClaim_RequestSyntax"></a>

```
POST /provisioning-templates/templateName/provisioning-claim HTTP/1.1
```

## URI Request Parameters
<a name="API_CreateProvisioningClaim_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_CreateProvisioningClaim_RequestSyntax) **   <a name="iot-CreateProvisioningClaim-request-uri-templateName"></a>
The name of the provisioning template to use.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

## Request Body
<a name="API_CreateProvisioningClaim_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_CreateProvisioningClaim_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateId": "string",
   "certificatePem": "string",
   "expiration": number,
   "keyPair": { 
      "PrivateKey": "string",
      "PublicKey": "string"
   }
}
```

## Response Elements
<a name="API_CreateProvisioningClaim_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateId](#API_CreateProvisioningClaim_ResponseSyntax) **   <a name="iot-CreateProvisioningClaim-response-certificateId"></a>
The ID of the certificate.  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

 ** [certificatePem](#API_CreateProvisioningClaim_ResponseSyntax) **   <a name="iot-CreateProvisioningClaim-response-certificatePem"></a>
The provisioning claim certificate.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*` 

 ** [expiration](#API_CreateProvisioningClaim_ResponseSyntax) **   <a name="iot-CreateProvisioningClaim-response-expiration"></a>
The provisioning claim expiration time.  
Type: Timestamp

 ** [keyPair](#API_CreateProvisioningClaim_ResponseSyntax) **   <a name="iot-CreateProvisioningClaim-response-keyPair"></a>
The provisioning claim key pair.  
Type: [KeyPair](API_KeyPair.md) object

## Errors
<a name="API_CreateProvisioningClaim_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateProvisioningClaim_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateProvisioningClaim) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateProvisioningClaim) 

# CreateProvisioningTemplate
<a name="API_CreateProvisioningTemplate"></a>

Creates a provisioning template.

Requires permission to access the [CreateProvisioningTemplate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateProvisioningTemplate_RequestSyntax"></a>

```
POST /provisioning-templates HTTP/1.1
Content-type: application/json

{
   "description": "string",
   "enabled": boolean,
   "preProvisioningHook": { 
      "payloadVersion": "string",
      "targetArn": "string"
   },
   "provisioningRoleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "templateBody": "string",
   "templateName": "string",
   "type": "string"
}
```

## URI Request Parameters
<a name="API_CreateProvisioningTemplate_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_CreateProvisioningTemplate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [description](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-description"></a>
The description of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[^\p{C}]*`   
Required: No

 ** [enabled](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-enabled"></a>
True to enable the provisioning template, otherwise false.  
Type: Boolean  
Required: No

 ** [preProvisioningHook](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-preProvisioningHook"></a>
Creates a pre-provisioning hook template. Only supports template of type `FLEET_PROVISIONING`. For more information about provisioning template types, see [type](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateProvisioningTemplate.html#iot-CreateProvisioningTemplate-request-type).  
Type: [ProvisioningHook](API_ProvisioningHook.md) object  
Required: No

 ** [provisioningRoleArn](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-provisioningRoleArn"></a>
The role ARN for the role associated with the provisioning template. This IoT role grants permission to provision a device.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [tags](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-tags"></a>
Metadata which can be used to manage the provisioning template.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [templateBody](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-templateBody"></a>
The JSON formatted contents of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [templateName](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-templateName"></a>
The name of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

 ** [type](#API_CreateProvisioningTemplate_RequestSyntax) **   <a name="iot-CreateProvisioningTemplate-request-type"></a>
The type you define in a provisioning template. You can create a template with only one type. You can't change the template type after its creation. The default value is `FLEET_PROVISIONING`. For more information about provisioning template, see: [Provisioning template](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html).   
Type: String  
Valid Values: `FLEET_PROVISIONING | JITP`   
Required: No

## Response Syntax
<a name="API_CreateProvisioningTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "defaultVersionId": number,
   "templateArn": "string",
   "templateName": "string"
}
```

## Response Elements
<a name="API_CreateProvisioningTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [defaultVersionId](#API_CreateProvisioningTemplate_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplate-response-defaultVersionId"></a>
The default version of the provisioning template.  
Type: Integer

 ** [templateArn](#API_CreateProvisioningTemplate_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplate-response-templateArn"></a>
The ARN that identifies the provisioning template.  
Type: String

 ** [templateName](#API_CreateProvisioningTemplate_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplate-response-templateName"></a>
The name of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$` 

## Errors
<a name="API_CreateProvisioningTemplate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateProvisioningTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateProvisioningTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateProvisioningTemplate) 

# CreateProvisioningTemplateVersion
<a name="API_CreateProvisioningTemplateVersion"></a>

Creates a new version of a provisioning template.

Requires permission to access the [CreateProvisioningTemplateVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateProvisioningTemplateVersion_RequestSyntax"></a>

```
POST /provisioning-templates/templateName/versions?setAsDefault=setAsDefault HTTP/1.1
Content-type: application/json

{
   "templateBody": "string"
}
```

## URI Request Parameters
<a name="API_CreateProvisioningTemplateVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [setAsDefault](#API_CreateProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-request-uri-setAsDefault"></a>
Sets a fleet provision template version as the default version.

 ** [templateName](#API_CreateProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-request-uri-templateName"></a>
The name of the provisioning template.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

## Request Body
<a name="API_CreateProvisioningTemplateVersion_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [templateBody](#API_CreateProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-request-templateBody"></a>
The JSON formatted contents of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax
<a name="API_CreateProvisioningTemplateVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "isDefaultVersion": boolean,
   "templateArn": "string",
   "templateName": "string",
   "versionId": number
}
```

## Response Elements
<a name="API_CreateProvisioningTemplateVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [isDefaultVersion](#API_CreateProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-response-isDefaultVersion"></a>
True if the provisioning template version is the default version, otherwise false.  
Type: Boolean

 ** [templateArn](#API_CreateProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-response-templateArn"></a>
The ARN that identifies the provisioning template.  
Type: String

 ** [templateName](#API_CreateProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-response-templateName"></a>
The name of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$` 

 ** [versionId](#API_CreateProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-CreateProvisioningTemplateVersion-response-versionId"></a>
The version of the provisioning template.  
Type: Integer

## Errors
<a name="API_CreateProvisioningTemplateVersion_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionsLimitExceededException **   
The number of policy versions exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_CreateProvisioningTemplateVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateProvisioningTemplateVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateProvisioningTemplateVersion) 

# CreateRoleAlias
<a name="API_CreateRoleAlias"></a>

Creates a role alias.

Requires permission to access the [CreateRoleAlias](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Important**  
The value of [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateRoleAlias.html#iot-CreateRoleAlias-request-credentialDurationSeconds](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateRoleAlias.html#iot-CreateRoleAlias-request-credentialDurationSeconds) must be less than or equal to the maximum session duration of the IAM role that the role alias references. For more information, see [ Modifying a role maximum session duration (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-api.html#roles-modify_max-session-duration-api) from the AWS Identity and Access Management User Guide.

## Request Syntax
<a name="API_CreateRoleAlias_RequestSyntax"></a>

```
POST /role-aliases/roleAlias HTTP/1.1
Content-type: application/json

{
   "credentialDurationSeconds": number,
   "roleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateRoleAlias_RequestParameters"></a>

The request uses the following URI parameters.

 ** [roleAlias](#API_CreateRoleAlias_RequestSyntax) **   <a name="iot-CreateRoleAlias-request-uri-roleAlias"></a>
The role alias that points to a role ARN. This allows you to change the role without having to update the device.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_CreateRoleAlias_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [credentialDurationSeconds](#API_CreateRoleAlias_RequestSyntax) **   <a name="iot-CreateRoleAlias-request-credentialDurationSeconds"></a>
How long (in seconds) the credentials will be valid. The default value is 3,600 seconds.  
This value must be less than or equal to the maximum session duration of the IAM role that the role alias references.  
Type: Integer  
Valid Range: Minimum value of 900. Maximum value of 43200.  
Required: No

 ** [roleArn](#API_CreateRoleAlias_RequestSyntax) **   <a name="iot-CreateRoleAlias-request-roleArn"></a>
The role ARN.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [tags](#API_CreateRoleAlias_RequestSyntax) **   <a name="iot-CreateRoleAlias-request-tags"></a>
Metadata which can be used to manage the role alias.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateRoleAlias_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "roleAlias": "string",
   "roleAliasArn": "string"
}
```

## Response Elements
<a name="API_CreateRoleAlias_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [roleAlias](#API_CreateRoleAlias_ResponseSyntax) **   <a name="iot-CreateRoleAlias-response-roleAlias"></a>
The role alias.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

 ** [roleAliasArn](#API_CreateRoleAlias_ResponseSyntax) **   <a name="iot-CreateRoleAlias-response-roleAliasArn"></a>
The role alias ARN.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.

## Errors
<a name="API_CreateRoleAlias_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateRoleAlias_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateRoleAlias) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateRoleAlias) 

# CreateScheduledAudit
<a name="API_CreateScheduledAudit"></a>

Creates a scheduled audit that is run at a specified time interval.

Requires permission to access the [CreateScheduledAudit](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateScheduledAudit_RequestSyntax"></a>

```
POST /audit/scheduledaudits/scheduledAuditName HTTP/1.1
Content-type: application/json

{
   "dayOfMonth": "string",
   "dayOfWeek": "string",
   "frequency": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "targetCheckNames": [ "string" ]
}
```

## URI Request Parameters
<a name="API_CreateScheduledAudit_RequestParameters"></a>

The request uses the following URI parameters.

 ** [scheduledAuditName](#API_CreateScheduledAudit_RequestSyntax) **   <a name="iot-CreateScheduledAudit-request-uri-scheduledAuditName"></a>
The name you want to give to the scheduled audit. (Max. 128 chars)  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateScheduledAudit_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [dayOfMonth](#API_CreateScheduledAudit_RequestSyntax) **   <a name="iot-CreateScheduledAudit-request-dayOfMonth"></a>
The day of the month on which the scheduled audit takes place. This can be "1" through "31" or "LAST". This field is required if the "frequency" parameter is set to `MONTHLY`. If days 29 to 31 are specified, and the month doesn't have that many days, the audit takes place on the `LAST` day of the month.  
Type: String  
Pattern: `^([1-9]|[12][0-9]|3[01])$|^LAST$`   
Required: No

 ** [dayOfWeek](#API_CreateScheduledAudit_RequestSyntax) **   <a name="iot-CreateScheduledAudit-request-dayOfWeek"></a>
The day of the week on which the scheduled audit takes place, either `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This field is required if the `frequency` parameter is set to `WEEKLY` or `BIWEEKLY`.  
Type: String  
Valid Values: `SUN | MON | TUE | WED | THU | FRI | SAT`   
Required: No

 ** [frequency](#API_CreateScheduledAudit_RequestSyntax) **   <a name="iot-CreateScheduledAudit-request-frequency"></a>
How often the scheduled audit takes place, either `DAILY`, `WEEKLY`, `BIWEEKLY` or `MONTHLY`. The start time of each audit is determined by the system.  
Type: String  
Valid Values: `DAILY | WEEKLY | BIWEEKLY | MONTHLY`   
Required: Yes

 ** [tags](#API_CreateScheduledAudit_RequestSyntax) **   <a name="iot-CreateScheduledAudit-request-tags"></a>
Metadata that can be used to manage the scheduled audit.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [targetCheckNames](#API_CreateScheduledAudit_RequestSyntax) **   <a name="iot-CreateScheduledAudit-request-targetCheckNames"></a>
Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: Array of strings  
Required: Yes

## Response Syntax
<a name="API_CreateScheduledAudit_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "scheduledAuditArn": "string"
}
```

## Response Elements
<a name="API_CreateScheduledAudit_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [scheduledAuditArn](#API_CreateScheduledAudit_ResponseSyntax) **   <a name="iot-CreateScheduledAudit-response-scheduledAuditArn"></a>
The ARN of the scheduled audit.  
Type: String

## Errors
<a name="API_CreateScheduledAudit_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateScheduledAudit_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateScheduledAudit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateScheduledAudit) 

# CreateSecurityProfile
<a name="API_CreateSecurityProfile"></a>

Creates a Device Defender security profile.

Requires permission to access the [CreateSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateSecurityProfile_RequestSyntax"></a>

```
POST /security-profiles/securityProfileName HTTP/1.1
Content-type: application/json

{
   "additionalMetricsToRetain": [ "string" ],
   "additionalMetricsToRetainV2": [ 
      { 
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         }
      }
   ],
   "alertTargets": { 
      "string" : { 
         "alertTargetArn": "string",
         "roleArn": "string"
      }
   },
   "behaviors": [ 
      { 
         "criteria": { 
            "comparisonOperator": "string",
            "consecutiveDatapointsToAlarm": number,
            "consecutiveDatapointsToClear": number,
            "durationSeconds": number,
            "mlDetectionConfig": { 
               "confidenceLevel": "string"
            },
            "statisticalThreshold": { 
               "statistic": "string"
            },
            "value": { 
               "cidrs": [ "string" ],
               "count": number,
               "number": number,
               "numbers": [ number ],
               "ports": [ number ],
               "strings": [ "string" ]
            }
         },
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         },
         "name": "string",
         "suppressAlerts": boolean
      }
   ],
   "metricsExportConfig": { 
      "mqttTopic": "string",
      "roleArn": "string"
   },
   "securityProfileDescription": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [securityProfileName](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-uri-securityProfileName"></a>
The name you are giving to the security profile.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateSecurityProfile_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [additionalMetricsToRetain](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-additionalMetricsToRetain"></a>
 *This parameter has been deprecated.*   
 *Please use [CreateSecurityProfile:additionalMetricsToRetainV2](#iot-CreateSecurityProfile-request-additionalMetricsToRetainV2) instead.*   
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's `behaviors`, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.  
Type: Array of strings  
Required: No

 ** [additionalMetricsToRetainV2](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-additionalMetricsToRetainV2"></a>
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's `behaviors`, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.  
Type: Array of [MetricToRetain](API_MetricToRetain.md) objects  
Required: No

 ** [alertTargets](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-alertTargets"></a>
Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.  
Type: String to [AlertTarget](API_AlertTarget.md) object map  
Valid Keys: `SNS`   
Required: No

 ** [behaviors](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-behaviors"></a>
Specifies the behaviors that, when violated by a device (thing), cause an alert.  
Type: Array of [Behavior](API_Behavior.md) objects  
Array Members: Maximum number of 100 items.  
Required: No

 ** [metricsExportConfig](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-metricsExportConfig"></a>
Specifies the MQTT topic and role ARN required for metric export.  
Type: [MetricsExportConfig](API_MetricsExportConfig.md) object  
Required: No

 ** [securityProfileDescription](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-securityProfileDescription"></a>
A description of the security profile.  
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

 ** [tags](#API_CreateSecurityProfile_RequestSyntax) **   <a name="iot-CreateSecurityProfile-request-tags"></a>
Metadata that can be used to manage the security profile.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "securityProfileArn": "string",
   "securityProfileName": "string"
}
```

## Response Elements
<a name="API_CreateSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [securityProfileArn](#API_CreateSecurityProfile_ResponseSyntax) **   <a name="iot-CreateSecurityProfile-response-securityProfileArn"></a>
The ARN of the security profile.  
Type: String

 ** [securityProfileName](#API_CreateSecurityProfile_ResponseSyntax) **   <a name="iot-CreateSecurityProfile-response-securityProfileName"></a>
The name you gave to the security profile.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateSecurityProfile) 

# CreateStream
<a name="API_CreateStream"></a>

Creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream.

Requires permission to access the [CreateStream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateStream_RequestSyntax"></a>

```
POST /streams/streamId HTTP/1.1
Content-type: application/json

{
   "description": "string",
   "files": [ 
      { 
         "fileId": number,
         "s3Location": { 
            "bucket": "string",
            "key": "string",
            "version": "string"
         }
      }
   ],
   "roleArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_CreateStream_RequestParameters"></a>

The request uses the following URI parameters.

 ** [streamId](#API_CreateStream_RequestSyntax) **   <a name="iot-CreateStream-request-uri-streamId"></a>
The stream ID.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_CreateStream_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [description](#API_CreateStream_RequestSyntax) **   <a name="iot-CreateStream-request-description"></a>
A description of the stream.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [files](#API_CreateStream_RequestSyntax) **   <a name="iot-CreateStream-request-files"></a>
The files to stream.  
Type: Array of [StreamFile](API_StreamFile.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: Yes

 ** [roleArn](#API_CreateStream_RequestSyntax) **   <a name="iot-CreateStream-request-roleArn"></a>
An IAM role that allows the IoT service principal to access your S3 files.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [tags](#API_CreateStream_RequestSyntax) **   <a name="iot-CreateStream-request-tags"></a>
Metadata which can be used to manage streams.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

## Response Syntax
<a name="API_CreateStream_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "streamArn": "string",
   "streamId": "string",
   "streamVersion": number
}
```

## Response Elements
<a name="API_CreateStream_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_CreateStream_ResponseSyntax) **   <a name="iot-CreateStream-response-description"></a>
A description of the stream.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [streamArn](#API_CreateStream_ResponseSyntax) **   <a name="iot-CreateStream-response-streamArn"></a>
The stream ARN.  
Type: String

 ** [streamId](#API_CreateStream_ResponseSyntax) **   <a name="iot-CreateStream-response-streamId"></a>
The stream ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [streamVersion](#API_CreateStream_ResponseSyntax) **   <a name="iot-CreateStream-response-streamVersion"></a>
The version of the stream.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 65535.

## Errors
<a name="API_CreateStream_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateStream_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateStream) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateStream) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateStream) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateStream) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateStream) 

# CreateThing
<a name="API_CreateThing"></a>

Creates a thing record in the registry. If this call is made multiple times using the same thing name and configuration, the call will succeed. If this call is made with the same thing name but different configuration a `ResourceAlreadyExistsException` is thrown.

**Note**  
This is a control plane operation. See [Authorization](https://docs.aws.amazon.com/iot/latest/developerguide/iot-authorization.html) for information about authorizing control plane actions.

Requires permission to access the [CreateThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateThing_RequestSyntax"></a>

```
POST /things/thingName HTTP/1.1
Content-type: application/json

{
   "attributePayload": { 
      "attributes": { 
         "string" : "string" 
      },
      "merge": boolean
   },
   "billingGroupName": "string",
   "thingTypeName": "string"
}
```

## URI Request Parameters
<a name="API_CreateThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_CreateThing_RequestSyntax) **   <a name="iot-CreateThing-request-uri-thingName"></a>
The name of the thing to create.  
You can't change a thing's name after you create it. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateThing_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [attributePayload](#API_CreateThing_RequestSyntax) **   <a name="iot-CreateThing-request-attributePayload"></a>
The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:  
 `{\"attributes\":{\"string1\":\"string2\"}}`   
Type: [AttributePayload](API_AttributePayload.md) object  
Required: No

 ** [billingGroupName](#API_CreateThing_RequestSyntax) **   <a name="iot-CreateThing-request-billingGroupName"></a>
The name of the billing group the thing will be added to.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingTypeName](#API_CreateThing_RequestSyntax) **   <a name="iot-CreateThing-request-thingTypeName"></a>
The name of the thing type associated with the new thing.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_CreateThing_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "thingArn": "string",
   "thingId": "string",
   "thingName": "string"
}
```

## Response Elements
<a name="API_CreateThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [thingArn](#API_CreateThing_ResponseSyntax) **   <a name="iot-CreateThing-response-thingArn"></a>
The ARN of the new thing.  
Type: String

 ** [thingId](#API_CreateThing_ResponseSyntax) **   <a name="iot-CreateThing-response-thingId"></a>
The thing ID.  
Type: String

 ** [thingName](#API_CreateThing_ResponseSyntax) **   <a name="iot-CreateThing-response-thingName"></a>
The name of the new thing.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateThing) 

# CreateThingGroup
<a name="API_CreateThingGroup"></a>

Create a thing group.

**Note**  
This is a control plane operation. See [Authorization](https://docs.aws.amazon.com/iot/latest/developerguide/iot-authorization.html) for information about authorizing control plane actions.  
If the `ThingGroup` that you create has the exact same attributes as an existing `ThingGroup`, you will get a 200 success response. 

Requires permission to access the [CreateThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateThingGroup_RequestSyntax"></a>

```
POST /thing-groups/thingGroupName HTTP/1.1
Content-type: application/json

{
   "parentGroupName": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "thingGroupProperties": { 
      "attributePayload": { 
         "attributes": { 
            "string" : "string" 
         },
         "merge": boolean
      },
      "thingGroupDescription": "string"
   }
}
```

## URI Request Parameters
<a name="API_CreateThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingGroupName](#API_CreateThingGroup_RequestSyntax) **   <a name="iot-CreateThingGroup-request-uri-thingGroupName"></a>
The thing group name to create.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateThingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [parentGroupName](#API_CreateThingGroup_RequestSyntax) **   <a name="iot-CreateThingGroup-request-parentGroupName"></a>
The name of the parent thing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [tags](#API_CreateThingGroup_RequestSyntax) **   <a name="iot-CreateThingGroup-request-tags"></a>
Metadata which can be used to manage the thing group.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [thingGroupProperties](#API_CreateThingGroup_RequestSyntax) **   <a name="iot-CreateThingGroup-request-thingGroupProperties"></a>
The thing group properties.  
Type: [ThingGroupProperties](API_ThingGroupProperties.md) object  
Required: No

## Response Syntax
<a name="API_CreateThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "thingGroupArn": "string",
   "thingGroupId": "string",
   "thingGroupName": "string"
}
```

## Response Elements
<a name="API_CreateThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [thingGroupArn](#API_CreateThingGroup_ResponseSyntax) **   <a name="iot-CreateThingGroup-response-thingGroupArn"></a>
The thing group ARN.  
Type: String

 ** [thingGroupId](#API_CreateThingGroup_ResponseSyntax) **   <a name="iot-CreateThingGroup-response-thingGroupId"></a>
The thing group ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [thingGroupName](#API_CreateThingGroup_ResponseSyntax) **   <a name="iot-CreateThingGroup-response-thingGroupName"></a>
The thing group name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_CreateThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateThingGroup) 

# CreateThingType
<a name="API_CreateThingType"></a>

Creates a new thing type. If this call is made multiple times using the same thing type name and configuration, the call will succeed. If this call is made with the same thing type name but different configuration a `ResourceAlreadyExistsException` is thrown. 

Requires permission to access the [CreateThingType](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateThingType_RequestSyntax"></a>

```
POST /thing-types/thingTypeName HTTP/1.1
Content-type: application/json

{
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "thingTypeProperties": { 
      "mqtt5Configuration": { 
         "propagatingAttributes": [ 
            { 
               "connectionAttribute": "string",
               "thingAttribute": "string",
               "userPropertyKey": "string"
            }
         ]
      },
      "searchableAttributes": [ "string" ],
      "thingTypeDescription": "string"
   }
}
```

## URI Request Parameters
<a name="API_CreateThingType_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingTypeName](#API_CreateThingType_RequestSyntax) **   <a name="iot-CreateThingType-request-uri-thingTypeName"></a>
The name of the thing type.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_CreateThingType_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [tags](#API_CreateThingType_RequestSyntax) **   <a name="iot-CreateThingType-request-tags"></a>
Metadata which can be used to manage the thing type.  
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [thingTypeProperties](#API_CreateThingType_RequestSyntax) **   <a name="iot-CreateThingType-request-thingTypeProperties"></a>
The ThingTypeProperties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names.  
Type: [ThingTypeProperties](API_ThingTypeProperties.md) object  
Required: No

## Response Syntax
<a name="API_CreateThingType_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "thingTypeArn": "string",
   "thingTypeId": "string",
   "thingTypeName": "string"
}
```

## Response Elements
<a name="API_CreateThingType_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [thingTypeArn](#API_CreateThingType_ResponseSyntax) **   <a name="iot-CreateThingType-response-thingTypeArn"></a>
The Amazon Resource Name (ARN) of the thing type.  
Type: String

 ** [thingTypeId](#API_CreateThingType_ResponseSyntax) **   <a name="iot-CreateThingType-response-thingTypeId"></a>
The thing type ID.  
Type: String

 ** [thingTypeName](#API_CreateThingType_ResponseSyntax) **   <a name="iot-CreateThingType-response-thingTypeName"></a>
The name of the thing type.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_CreateThingType_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateThingType_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateThingType) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateThingType) 

# CreateTopicRule
<a name="API_CreateTopicRule"></a>

Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

Requires permission to access the [CreateTopicRule](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateTopicRule_RequestSyntax"></a>

```
POST /rules/ruleName HTTP/1.1
x-amz-tagging: tags
Content-type: application/json

{
   "actions": [ 
      { 
         "cloudwatchAlarm": { 
            "alarmName": "string",
            "roleArn": "string",
            "stateReason": "string",
            "stateValue": "string"
         },
         "cloudwatchLogs": { 
            "batchMode": boolean,
            "logGroupName": "string",
            "roleArn": "string"
         },
         "cloudwatchMetric": { 
            "metricName": "string",
            "metricNamespace": "string",
            "metricTimestamp": "string",
            "metricUnit": "string",
            "metricValue": "string",
            "roleArn": "string"
         },
         "dynamoDB": { 
            "hashKeyField": "string",
            "hashKeyType": "string",
            "hashKeyValue": "string",
            "operation": "string",
            "payloadField": "string",
            "rangeKeyField": "string",
            "rangeKeyType": "string",
            "rangeKeyValue": "string",
            "roleArn": "string",
            "tableName": "string"
         },
         "dynamoDBv2": { 
            "putItem": { 
               "tableName": "string"
            },
            "roleArn": "string"
         },
         "elasticsearch": { 
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "roleArn": "string",
            "type": "string"
         },
         "firehose": { 
            "batchMode": boolean,
            "deliveryStreamName": "string",
            "roleArn": "string",
            "separator": "string"
         },
         "http": { 
            "auth": { 
               "sigv4": { 
                  "roleArn": "string",
                  "serviceName": "string",
                  "signingRegion": "string"
               }
            },
            "batchConfig": { 
               "maxBatchOpenMs": number,
               "maxBatchSize": number,
               "maxBatchSizeBytes": number
            },
            "confirmationUrl": "string",
            "enableBatching": boolean,
            "headers": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ],
            "url": "string"
         },
         "iotAnalytics": { 
            "batchMode": boolean,
            "channelArn": "string",
            "channelName": "string",
            "roleArn": "string"
         },
         "iotEvents": { 
            "batchMode": boolean,
            "inputName": "string",
            "messageId": "string",
            "roleArn": "string"
         },
         "iotSiteWise": { 
            "putAssetPropertyValueEntries": [ 
               { 
                  "assetId": "string",
                  "entryId": "string",
                  "propertyAlias": "string",
                  "propertyId": "string",
                  "propertyValues": [ 
                     { 
                        "quality": "string",
                        "timestamp": { 
                           "offsetInNanos": "string",
                           "timeInSeconds": "string"
                        },
                        "value": { 
                           "booleanValue": "string",
                           "doubleValue": "string",
                           "integerValue": "string",
                           "stringValue": "string"
                        }
                     }
                  ]
               }
            ],
            "roleArn": "string"
         },
         "kafka": { 
            "clientProperties": { 
               "string" : "string" 
            },
            "destinationArn": "string",
            "headers": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ],
            "key": "string",
            "partition": "string",
            "topic": "string"
         },
         "kinesis": { 
            "partitionKey": "string",
            "roleArn": "string",
            "streamName": "string"
         },
         "lambda": { 
            "functionArn": "string"
         },
         "location": { 
            "deviceId": "string",
            "latitude": "string",
            "longitude": "string",
            "roleArn": "string",
            "timestamp": { 
               "unit": "string",
               "value": "string"
            },
            "trackerName": "string"
         },
         "openSearch": { 
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "roleArn": "string",
            "type": "string"
         },
         "republish": { 
            "headers": { 
               "contentType": "string",
               "correlationData": "string",
               "messageExpiry": "string",
               "payloadFormatIndicator": "string",
               "responseTopic": "string",
               "userProperties": [ 
                  { 
                     "key": "string",
                     "value": "string"
                  }
               ]
            },
            "qos": number,
            "roleArn": "string",
            "topic": "string"
         },
         "s3": { 
            "bucketName": "string",
            "cannedAcl": "string",
            "key": "string",
            "roleArn": "string"
         },
         "salesforce": { 
            "token": "string",
            "url": "string"
         },
         "sns": { 
            "messageFormat": "string",
            "roleArn": "string",
            "targetArn": "string"
         },
         "sqs": { 
            "queueUrl": "string",
            "roleArn": "string",
            "useBase64": boolean
         },
         "stepFunctions": { 
            "executionNamePrefix": "string",
            "roleArn": "string",
            "stateMachineName": "string"
         },
         "timestream": { 
            "databaseName": "string",
            "dimensions": [ 
               { 
                  "name": "string",
                  "value": "string"
               }
            ],
            "roleArn": "string",
            "tableName": "string",
            "timestamp": { 
               "unit": "string",
               "value": "string"
            }
         }
      }
   ],
   "awsIotSqlVersion": "string",
   "description": "string",
   "errorAction": { 
      "cloudwatchAlarm": { 
         "alarmName": "string",
         "roleArn": "string",
         "stateReason": "string",
         "stateValue": "string"
      },
      "cloudwatchLogs": { 
         "batchMode": boolean,
         "logGroupName": "string",
         "roleArn": "string"
      },
      "cloudwatchMetric": { 
         "metricName": "string",
         "metricNamespace": "string",
         "metricTimestamp": "string",
         "metricUnit": "string",
         "metricValue": "string",
         "roleArn": "string"
      },
      "dynamoDB": { 
         "hashKeyField": "string",
         "hashKeyType": "string",
         "hashKeyValue": "string",
         "operation": "string",
         "payloadField": "string",
         "rangeKeyField": "string",
         "rangeKeyType": "string",
         "rangeKeyValue": "string",
         "roleArn": "string",
         "tableName": "string"
      },
      "dynamoDBv2": { 
         "putItem": { 
            "tableName": "string"
         },
         "roleArn": "string"
      },
      "elasticsearch": { 
         "endpoint": "string",
         "id": "string",
         "index": "string",
         "roleArn": "string",
         "type": "string"
      },
      "firehose": { 
         "batchMode": boolean,
         "deliveryStreamName": "string",
         "roleArn": "string",
         "separator": "string"
      },
      "http": { 
         "auth": { 
            "sigv4": { 
               "roleArn": "string",
               "serviceName": "string",
               "signingRegion": "string"
            }
         },
         "batchConfig": { 
            "maxBatchOpenMs": number,
            "maxBatchSize": number,
            "maxBatchSizeBytes": number
         },
         "confirmationUrl": "string",
         "enableBatching": boolean,
         "headers": [ 
            { 
               "key": "string",
               "value": "string"
            }
         ],
         "url": "string"
      },
      "iotAnalytics": { 
         "batchMode": boolean,
         "channelArn": "string",
         "channelName": "string",
         "roleArn": "string"
      },
      "iotEvents": { 
         "batchMode": boolean,
         "inputName": "string",
         "messageId": "string",
         "roleArn": "string"
      },
      "iotSiteWise": { 
         "putAssetPropertyValueEntries": [ 
            { 
               "assetId": "string",
               "entryId": "string",
               "propertyAlias": "string",
               "propertyId": "string",
               "propertyValues": [ 
                  { 
                     "quality": "string",
                     "timestamp": { 
                        "offsetInNanos": "string",
                        "timeInSeconds": "string"
                     },
                     "value": { 
                        "booleanValue": "string",
                        "doubleValue": "string",
                        "integerValue": "string",
                        "stringValue": "string"
                     }
                  }
               ]
            }
         ],
         "roleArn": "string"
      },
      "kafka": { 
         "clientProperties": { 
            "string" : "string" 
         },
         "destinationArn": "string",
         "headers": [ 
            { 
               "key": "string",
               "value": "string"
            }
         ],
         "key": "string",
         "partition": "string",
         "topic": "string"
      },
      "kinesis": { 
         "partitionKey": "string",
         "roleArn": "string",
         "streamName": "string"
      },
      "lambda": { 
         "functionArn": "string"
      },
      "location": { 
         "deviceId": "string",
         "latitude": "string",
         "longitude": "string",
         "roleArn": "string",
         "timestamp": { 
            "unit": "string",
            "value": "string"
         },
         "trackerName": "string"
      },
      "openSearch": { 
         "endpoint": "string",
         "id": "string",
         "index": "string",
         "roleArn": "string",
         "type": "string"
      },
      "republish": { 
         "headers": { 
            "contentType": "string",
            "correlationData": "string",
            "messageExpiry": "string",
            "payloadFormatIndicator": "string",
            "responseTopic": "string",
            "userProperties": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ]
         },
         "qos": number,
         "roleArn": "string",
         "topic": "string"
      },
      "s3": { 
         "bucketName": "string",
         "cannedAcl": "string",
         "key": "string",
         "roleArn": "string"
      },
      "salesforce": { 
         "token": "string",
         "url": "string"
      },
      "sns": { 
         "messageFormat": "string",
         "roleArn": "string",
         "targetArn": "string"
      },
      "sqs": { 
         "queueUrl": "string",
         "roleArn": "string",
         "useBase64": boolean
      },
      "stepFunctions": { 
         "executionNamePrefix": "string",
         "roleArn": "string",
         "stateMachineName": "string"
      },
      "timestream": { 
         "databaseName": "string",
         "dimensions": [ 
            { 
               "name": "string",
               "value": "string"
            }
         ],
         "roleArn": "string",
         "tableName": "string",
         "timestamp": { 
            "unit": "string",
            "value": "string"
         }
      }
   },
   "ruleDisabled": boolean,
   "sql": "string"
}
```

## URI Request Parameters
<a name="API_CreateTopicRule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ruleName](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-uri-ruleName"></a>
The name of the rule.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[a-zA-Z0-9_]+$`   
Required: Yes

 ** [tags](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-tags"></a>
Metadata which can be used to manage the topic rule.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

## Request Body
<a name="API_CreateTopicRule_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [actions](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-actions"></a>
The actions associated with the rule.  
Type: Array of [Action](API_Action.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 10 items.  
Required: Yes

 ** [awsIotSqlVersion](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-awsIotSqlVersion"></a>
The version of the SQL rules engine to use when evaluating the rule.  
Type: String  
Required: No

 ** [description](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-description"></a>
The description of the rule.  
Type: String  
Required: No

 ** [errorAction](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-errorAction"></a>
The action to take when an error occurs.  
Type: [Action](API_Action.md) object  
Required: No

 ** [ruleDisabled](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-ruleDisabled"></a>
Specifies whether the rule is disabled.  
Type: Boolean  
Required: No

 ** [sql](#API_CreateTopicRule_RequestSyntax) **   <a name="iot-CreateTopicRule-request-sql"></a>
The SQL statement used to query the topic. For more information, see [AWS IoT SQL Reference](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) in the * AWS IoT Developer Guide*.  
Type: String  
Required: Yes

## Response Syntax
<a name="API_CreateTopicRule_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_CreateTopicRule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_CreateTopicRule_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** SqlParseException **   
The Rule-SQL expression can't be parsed correctly.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateTopicRule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateTopicRule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateTopicRule) 

# CreateTopicRuleDestination
<a name="API_CreateTopicRuleDestination"></a>

Creates a topic rule destination. The destination must be confirmed prior to use.

Requires permission to access the [CreateTopicRuleDestination](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_CreateTopicRuleDestination_RequestSyntax"></a>

```
POST /destinations HTTP/1.1
Content-type: application/json

{
   "destinationConfiguration": { 
      "httpUrlConfiguration": { 
         "confirmationUrl": "string"
      },
      "vpcConfiguration": { 
         "roleArn": "string",
         "securityGroups": [ "string" ],
         "subnetIds": [ "string" ],
         "vpcId": "string"
      }
   }
}
```

## URI Request Parameters
<a name="API_CreateTopicRuleDestination_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_CreateTopicRuleDestination_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [destinationConfiguration](#API_CreateTopicRuleDestination_RequestSyntax) **   <a name="iot-CreateTopicRuleDestination-request-destinationConfiguration"></a>
The topic rule destination configuration.  
Type: [TopicRuleDestinationConfiguration](API_TopicRuleDestinationConfiguration.md) object  
Required: Yes

## Response Syntax
<a name="API_CreateTopicRuleDestination_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "topicRuleDestination": { 
      "arn": "string",
      "createdAt": number,
      "httpUrlProperties": { 
         "confirmationUrl": "string"
      },
      "lastUpdatedAt": number,
      "status": "string",
      "statusReason": "string",
      "vpcProperties": { 
         "roleArn": "string",
         "securityGroups": [ "string" ],
         "subnetIds": [ "string" ],
         "vpcId": "string"
      }
   }
}
```

## Response Elements
<a name="API_CreateTopicRuleDestination_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [topicRuleDestination](#API_CreateTopicRuleDestination_ResponseSyntax) **   <a name="iot-CreateTopicRuleDestination-response-topicRuleDestination"></a>
The topic rule destination.  
Type: [TopicRuleDestination](API_TopicRuleDestination.md) object

## Errors
<a name="API_CreateTopicRuleDestination_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_CreateTopicRuleDestination_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/CreateTopicRuleDestination) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/CreateTopicRuleDestination) 

# DeleteAccountAuditConfiguration
<a name="API_DeleteAccountAuditConfiguration"></a>

Restores the default settings for Device Defender audits for this account. Any configuration data you entered is deleted and all audit checks are reset to disabled. 

Requires permission to access the [DeleteAccountAuditConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteAccountAuditConfiguration_RequestSyntax"></a>

```
DELETE /audit/configuration?deleteScheduledAudits=deleteScheduledAudits HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteAccountAuditConfiguration_RequestParameters"></a>

The request uses the following URI parameters.

 ** [deleteScheduledAudits](#API_DeleteAccountAuditConfiguration_RequestSyntax) **   <a name="iot-DeleteAccountAuditConfiguration-request-uri-deleteScheduledAudits"></a>
If true, all scheduled audits are deleted.

## Request Body
<a name="API_DeleteAccountAuditConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteAccountAuditConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteAccountAuditConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteAccountAuditConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteAccountAuditConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteAccountAuditConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteAccountAuditConfiguration) 

# DeleteAuditSuppression
<a name="API_DeleteAuditSuppression"></a>

 Deletes a Device Defender audit suppression. 

Requires permission to access the [DeleteAuditSuppression](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteAuditSuppression_RequestSyntax"></a>

```
POST /audit/suppressions/delete HTTP/1.1
Content-type: application/json

{
   "checkName": "string",
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   }
}
```

## URI Request Parameters
<a name="API_DeleteAuditSuppression_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DeleteAuditSuppression_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [checkName](#API_DeleteAuditSuppression_RequestSyntax) **   <a name="iot-DeleteAuditSuppression-request-checkName"></a>
An audit check name. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: String  
Required: Yes

 ** [resourceIdentifier](#API_DeleteAuditSuppression_RequestSyntax) **   <a name="iot-DeleteAuditSuppression-request-resourceIdentifier"></a>
Information that identifies the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object  
Required: Yes

## Response Syntax
<a name="API_DeleteAuditSuppression_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteAuditSuppression_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteAuditSuppression_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteAuditSuppression_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteAuditSuppression) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteAuditSuppression) 

# DeleteAuthorizer
<a name="API_DeleteAuthorizer"></a>

Deletes an authorizer.

Requires permission to access the [DeleteAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteAuthorizer_RequestSyntax"></a>

```
DELETE /authorizer/authorizerName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteAuthorizer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [authorizerName](#API_DeleteAuthorizer_RequestSyntax) **   <a name="iot-DeleteAuthorizer-request-uri-authorizerName"></a>
The name of the authorizer to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_DeleteAuthorizer_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteAuthorizer_Errors"></a>

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteAuthorizer) 

# DeleteBillingGroup
<a name="API_DeleteBillingGroup"></a>

Deletes the billing group.

Requires permission to access the [DeleteBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteBillingGroup_RequestSyntax"></a>

```
DELETE /billing-groups/billingGroupName?expectedVersion=expectedVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteBillingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [billingGroupName](#API_DeleteBillingGroup_RequestSyntax) **   <a name="iot-DeleteBillingGroup-request-uri-billingGroupName"></a>
The name of the billing group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [expectedVersion](#API_DeleteBillingGroup_RequestSyntax) **   <a name="iot-DeleteBillingGroup-request-uri-expectedVersion"></a>
The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the `DeleteBillingGroup` request is rejected with a `VersionConflictException`.

## Request Body
<a name="API_DeleteBillingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteBillingGroup) 

# DeleteCACertificate
<a name="API_DeleteCACertificate"></a>

Deletes a registered CA certificate.

Requires permission to access the [DeleteCACertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteCACertificate_RequestSyntax"></a>

```
DELETE /cacertificate/caCertificateId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteCACertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [caCertificateId](#API_DeleteCACertificate_RequestSyntax) **   <a name="iot-DeleteCACertificate-request-uri-certificateId"></a>
The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

## Request Body
<a name="API_DeleteCACertificate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteCACertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteCACertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteCACertificate_Errors"></a>

 ** CertificateStateException **   
The certificate operation is not allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 406

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteCACertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteCACertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteCACertificate) 

# DeleteCertificate
<a name="API_DeleteCertificate"></a>

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the [DetachPolicy](API_DetachPolicy.md) action to detach all policies. Next, use the [UpdateCertificate](API_UpdateCertificate.md) action to set the certificate to the INACTIVE status.

Requires permission to access the [DeleteCertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteCertificate_RequestSyntax"></a>

```
DELETE /certificates/certificateId?forceDelete=forceDelete HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteCertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_DeleteCertificate_RequestSyntax) **   <a name="iot-DeleteCertificate-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

 ** [forceDelete](#API_DeleteCertificate_RequestSyntax) **   <a name="iot-DeleteCertificate-request-uri-forceDelete"></a>
Forces the deletion of a certificate if it is inactive and is not attached to an IoT thing.

## Request Body
<a name="API_DeleteCertificate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteCertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteCertificate_Errors"></a>

 ** CertificateStateException **   
The certificate operation is not allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 406

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteCertificate) 

# DeleteCertificateProvider
<a name="API_DeleteCertificateProvider"></a>

Deletes a certificate provider.

Requires permission to access the [DeleteCertificateProvider](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action. 

If you delete the certificate provider resource, the behavior of `CreateCertificateFromCsr` will resume, and AWS IoT will create certificates signed by AWS IoT from a certificate signing request (CSR).

## Request Syntax
<a name="API_DeleteCertificateProvider_RequestSyntax"></a>

```
DELETE /certificate-providers/certificateProviderName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteCertificateProvider_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateProviderName](#API_DeleteCertificateProvider_RequestSyntax) **   <a name="iot-DeleteCertificateProvider-request-uri-certificateProviderName"></a>
The name of the certificate provider.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_DeleteCertificateProvider_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteCertificateProvider_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteCertificateProvider_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteCertificateProvider_Errors"></a>

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteCertificateProvider_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteCertificateProvider) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteCertificateProvider) 

# DeleteCommand
<a name="API_DeleteCommand"></a>

Delete a command resource.

## Request Syntax
<a name="API_DeleteCommand_RequestSyntax"></a>

```
DELETE /commands/commandId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteCommand_RequestParameters"></a>

The request uses the following URI parameters.

 ** [commandId](#API_DeleteCommand_RequestSyntax) **   <a name="iot-DeleteCommand-request-uri-commandId"></a>
The unique identifier of the command to be deleted.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteCommand_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteCommand_ResponseSyntax"></a>

```
HTTP/1.1 statusCode
```

## Response Elements
<a name="API_DeleteCommand_ResponseElements"></a>

If the action is successful, the service sends back the following HTTP response.

 ** [statusCode](#API_DeleteCommand_ResponseSyntax) **   <a name="iot-DeleteCommand-response-statusCode"></a>
The status code for the command deletion request. The status code is in the 200 range for a successful request.  
+ If the command hasn't been deprecated, or has been deprecated for a duration that is shorter than the maximum time out duration of 12 hours, when calling the `DeleteCommand` request, the deletion will be scheduled and a 202 status code will be returned. While the command is being deleted, it will be in a `pendingDeletion` state. Once the time out duration has been reached, the command will be permanently removed from your account.
+ If the command has been deprecated for a duration that is longer than the maximum time out duration of 12 hours, when calling the `DeleteCommand` request, the command will be deleted immediately and a 204 status code will be returned.

## Errors
<a name="API_DeleteCommand_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_DeleteCommand_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteCommand) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteCommand) 

# DeleteCommandExecution
<a name="API_DeleteCommandExecution"></a>

Delete a command execution.

**Note**  
Only command executions that enter a terminal state can be deleted from your account.

## Request Syntax
<a name="API_DeleteCommandExecution_RequestSyntax"></a>

```
DELETE /command-executions/executionId?targetArn=targetArn HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteCommandExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [executionId](#API_DeleteCommandExecution_RequestSyntax) **   <a name="iot-DeleteCommandExecution-request-uri-executionId"></a>
The unique identifier of the command execution that you want to delete from your account.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [targetArn](#API_DeleteCommandExecution_RequestSyntax) **   <a name="iot-DeleteCommandExecution-request-uri-targetArn"></a>
The Amazon Resource Number (ARN) of the target device for which you want to delete command executions.  
Length Constraints: Maximum length of 2048.  
Required: Yes

## Request Body
<a name="API_DeleteCommandExecution_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteCommandExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteCommandExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteCommandExecution_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_DeleteCommandExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteCommandExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteCommandExecution) 

# DeleteCustomMetric
<a name="API_DeleteCustomMetric"></a>

 Deletes a Device Defender detect custom metric. 

Requires permission to access the [DeleteCustomMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Note**  
Before you can delete a custom metric, you must first remove the custom metric from all security profiles it's a part of. The security profile associated with the custom metric can be found using the [ListSecurityProfiles](https://docs.aws.amazon.com/iot/latest/apireference/API_ListSecurityProfiles.html) API with `metricName` set to your custom metric name.

## Request Syntax
<a name="API_DeleteCustomMetric_RequestSyntax"></a>

```
DELETE /custom-metric/metricName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteCustomMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_DeleteCustomMetric_RequestSyntax) **   <a name="iot-DeleteCustomMetric-request-uri-metricName"></a>
 The name of the custom metric.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteCustomMetric_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteCustomMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteCustomMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteCustomMetric_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteCustomMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteCustomMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteCustomMetric) 

# DeleteDimension
<a name="API_DeleteDimension"></a>

Removes the specified dimension from your AWS accounts.

Requires permission to access the [DeleteDimension](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteDimension_RequestSyntax"></a>

```
DELETE /dimensions/name HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteDimension_RequestParameters"></a>

The request uses the following URI parameters.

 ** [name](#API_DeleteDimension_RequestSyntax) **   <a name="iot-DeleteDimension-request-uri-name"></a>
The unique identifier for the dimension that you want to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteDimension_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteDimension_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteDimension_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteDimension_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteDimension_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteDimension) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteDimension) 

# DeleteDomainConfiguration
<a name="API_DeleteDomainConfiguration"></a>

Deletes the specified domain configuration.

Requires permission to access the [DeleteDomainConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteDomainConfiguration_RequestSyntax"></a>

```
DELETE /domainConfigurations/domainConfigurationName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteDomainConfiguration_RequestParameters"></a>

The request uses the following URI parameters.

 ** [domainConfigurationName](#API_DeleteDomainConfiguration_RequestSyntax) **   <a name="iot-DeleteDomainConfiguration-request-uri-domainConfigurationName"></a>
The name of the domain configuration to be deleted.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.-]+`   
Required: Yes

## Request Body
<a name="API_DeleteDomainConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteDomainConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteDomainConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteDomainConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteDomainConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteDomainConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteDomainConfiguration) 

# DeleteDynamicThingGroup
<a name="API_DeleteDynamicThingGroup"></a>

Deletes a dynamic thing group.

Requires permission to access the [DeleteDynamicThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteDynamicThingGroup_RequestSyntax"></a>

```
DELETE /dynamic-thing-groups/thingGroupName?expectedVersion=expectedVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteDynamicThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [expectedVersion](#API_DeleteDynamicThingGroup_RequestSyntax) **   <a name="iot-DeleteDynamicThingGroup-request-uri-expectedVersion"></a>
The expected version of the dynamic thing group to delete.

 ** [thingGroupName](#API_DeleteDynamicThingGroup_RequestSyntax) **   <a name="iot-DeleteDynamicThingGroup-request-uri-thingGroupName"></a>
The name of the dynamic thing group to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteDynamicThingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteDynamicThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteDynamicThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteDynamicThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteDynamicThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteDynamicThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteDynamicThingGroup) 

# DeleteFleetMetric
<a name="API_DeleteFleetMetric"></a>

Deletes the specified fleet metric. Returns successfully with no error if the deletion is successful or you specify a fleet metric that doesn't exist.

Requires permission to access the [DeleteFleetMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteFleetMetric_RequestSyntax"></a>

```
DELETE /fleet-metric/metricName?expectedVersion=expectedVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteFleetMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [expectedVersion](#API_DeleteFleetMetric_RequestSyntax) **   <a name="iot-DeleteFleetMetric-request-uri-expectedVersion"></a>
The expected version of the fleet metric to delete.

 ** [metricName](#API_DeleteFleetMetric_RequestSyntax) **   <a name="iot-DeleteFleetMetric-request-uri-metricName"></a>
The name of the fleet metric to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_\-\.]+`   
Required: Yes

## Request Body
<a name="API_DeleteFleetMetric_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteFleetMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteFleetMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteFleetMetric_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteFleetMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteFleetMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteFleetMetric) 

# DeleteJob
<a name="API_DeleteJob"></a>

Deletes a job and its related job executions.

Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as "DELETION\$1IN\$1PROGRESS". Attempting to delete or cancel a job whose status is already "DELETION\$1IN\$1PROGRESS" will result in an error.

Only 10 jobs may have status "DELETION\$1IN\$1PROGRESS" at the same time, or a LimitExceededException will occur.

Requires permission to access the [DeleteJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteJob_RequestSyntax"></a>

```
DELETE /jobs/jobId?force=force&namespaceId=namespaceId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [force](#API_DeleteJob_RequestSyntax) **   <a name="iot-DeleteJob-request-uri-force"></a>
(Optional) When true, you can delete a job which is "IN\$1PROGRESS". Otherwise, you can only delete a job which is in a terminal state ("COMPLETED" or "CANCELED") or an exception will occur. The default is false.  
Deleting a job which is "IN\$1PROGRESS", will cause a device which is executing the job to be unable to access job information or update the job execution status. Use caution and ensure that each device executing a job which is deleted is able to recover to a valid state.

 ** [jobId](#API_DeleteJob_RequestSyntax) **   <a name="iot-DeleteJob-request-uri-jobId"></a>
The ID of the job to be deleted.  
After a job deletion is completed, you may reuse this jobId when you create a new job. However, this is not recommended, and you must ensure that your devices are not using the jobId to refer to the deleted job.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [namespaceId](#API_DeleteJob_RequestSyntax) **   <a name="iot-DeleteJob-request-uri-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Pattern: `[a-zA-Z0-9_-]+` 

## Request Body
<a name="API_DeleteJob_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteJob_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidStateTransitionException **   
An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN\$1PROGRESS" without setting the `force` parameter.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteJob) 

# DeleteJobExecution
<a name="API_DeleteJobExecution"></a>

Deletes a job execution.

Requires permission to access the [DeleteJobExecution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteJobExecution_RequestSyntax"></a>

```
DELETE /things/thingName/jobs/jobId/executionNumber/executionNumber?force=force&namespaceId=namespaceId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteJobExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [executionNumber](#API_DeleteJobExecution_RequestSyntax) **   <a name="iot-DeleteJobExecution-request-uri-executionNumber"></a>
The ID of the job execution to be deleted. The `executionNumber` refers to the execution of a particular job on a particular device.  
Note that once a job execution is deleted, the `executionNumber` may be reused by IoT, so be sure you get and use the correct value here.  
Required: Yes

 ** [force](#API_DeleteJobExecution_RequestSyntax) **   <a name="iot-DeleteJobExecution-request-uri-force"></a>
(Optional) When true, you can delete a job execution which is "IN\$1PROGRESS". Otherwise, you can only delete a job execution which is in a terminal state ("SUCCEEDED", "FAILED", "REJECTED", "REMOVED" or "CANCELED") or an exception will occur. The default is false.  
Deleting a job execution which is "IN\$1PROGRESS", will cause the device to be unable to access job information or update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

 ** [jobId](#API_DeleteJobExecution_RequestSyntax) **   <a name="iot-DeleteJobExecution-request-uri-jobId"></a>
The ID of the job whose execution on a particular device will be deleted.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [namespaceId](#API_DeleteJobExecution_RequestSyntax) **   <a name="iot-DeleteJobExecution-request-uri-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Pattern: `[a-zA-Z0-9_-]+` 

 ** [thingName](#API_DeleteJobExecution_RequestSyntax) **   <a name="iot-DeleteJobExecution-request-uri-thingName"></a>
The name of the thing whose job execution will be deleted.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteJobExecution_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteJobExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteJobExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteJobExecution_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidStateTransitionException **   
An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is "IN\$1PROGRESS" without setting the `force` parameter.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteJobExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteJobExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteJobExecution) 

# DeleteJobTemplate
<a name="API_DeleteJobTemplate"></a>

Deletes the specified job template.

## Request Syntax
<a name="API_DeleteJobTemplate_RequestSyntax"></a>

```
DELETE /job-templates/jobTemplateId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteJobTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobTemplateId](#API_DeleteJobTemplate_RequestSyntax) **   <a name="iot-DeleteJobTemplate-request-uri-jobTemplateId"></a>
The unique identifier of the job template to delete.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteJobTemplate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteJobTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteJobTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteJobTemplate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteJobTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteJobTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteJobTemplate) 

# DeleteMitigationAction
<a name="API_DeleteMitigationAction"></a>

Deletes a defined mitigation action from your AWS accounts.

Requires permission to access the [DeleteMitigationAction](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteMitigationAction_RequestSyntax"></a>

```
DELETE /mitigationactions/actions/actionName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteMitigationAction_RequestParameters"></a>

The request uses the following URI parameters.

 ** [actionName](#API_DeleteMitigationAction_RequestSyntax) **   <a name="iot-DeleteMitigationAction-request-uri-actionName"></a>
The name of the mitigation action that you want to delete.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteMitigationAction_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteMitigationAction_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteMitigationAction_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteMitigationAction_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteMitigationAction_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteMitigationAction) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteMitigationAction) 

# DeleteOTAUpdate
<a name="API_DeleteOTAUpdate"></a>

Delete an OTA update.

Requires permission to access the [DeleteOTAUpdate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteOTAUpdate_RequestSyntax"></a>

```
DELETE /otaUpdates/otaUpdateId?deleteStream=deleteStream&forceDeleteAWSJob=forceDeleteAWSJob HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteOTAUpdate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [deleteStream](#API_DeleteOTAUpdate_RequestSyntax) **   <a name="iot-DeleteOTAUpdate-request-uri-deleteStream"></a>
When true, the stream created by the OTAUpdate process is deleted when the OTA update is deleted. Ignored if the stream specified in the OTAUpdate is supplied by the user.

 ** [forceDeleteAWSJob](#API_DeleteOTAUpdate_RequestSyntax) **   <a name="iot-DeleteOTAUpdate-request-uri-forceDeleteAWSJob"></a>
When true, deletes the AWS IoT job created by the OTAUpdate process even if it is "IN\$1PROGRESS". Otherwise, if the job is not in a terminal state ("COMPLETED" or "CANCELED") an exception will occur. The default is false.

 ** [otaUpdateId](#API_DeleteOTAUpdate_RequestSyntax) **   <a name="iot-DeleteOTAUpdate-request-uri-otaUpdateId"></a>
The ID of the OTA update to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteOTAUpdate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteOTAUpdate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteOTAUpdate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteOTAUpdate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteOTAUpdate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteOTAUpdate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteOTAUpdate) 

# DeletePackage
<a name="API_DeletePackage"></a>

Deletes a specific version from a software package.

 **Note:** All package versions must be deleted before deleting the software package.

Requires permission to access the [DeletePackageVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeletePackage_RequestSyntax"></a>

```
DELETE /packages/packageName?clientToken=clientToken HTTP/1.1
```

## URI Request Parameters
<a name="API_DeletePackage_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_DeletePackage_RequestSyntax) **   <a name="iot-DeletePackage-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_DeletePackage_RequestSyntax) **   <a name="iot-DeletePackage-request-uri-packageName"></a>
The name of the target software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_DeletePackage_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeletePackage_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeletePackage_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeletePackage_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_DeletePackage_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeletePackage) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeletePackage) 

# DeletePackageVersion
<a name="API_DeletePackageVersion"></a>

Deletes a specific version from a software package.

 **Note:** If a package version is designated as default, you must remove the designation from the software package using the [UpdatePackage](API_UpdatePackage.md) action.

## Request Syntax
<a name="API_DeletePackageVersion_RequestSyntax"></a>

```
DELETE /packages/packageName/versions/versionName?clientToken=clientToken HTTP/1.1
```

## URI Request Parameters
<a name="API_DeletePackageVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_DeletePackageVersion_RequestSyntax) **   <a name="iot-DeletePackageVersion-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_DeletePackageVersion_RequestSyntax) **   <a name="iot-DeletePackageVersion-request-uri-packageName"></a>
The name of the associated software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [versionName](#API_DeletePackageVersion_RequestSyntax) **   <a name="iot-DeletePackageVersion-request-uri-versionName"></a>
The name of the target package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_DeletePackageVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeletePackageVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeletePackageVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeletePackageVersion_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_DeletePackageVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeletePackageVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeletePackageVersion) 

# DeletePolicy
<a name="API_DeletePolicy"></a>

Deletes the specified policy.

A policy cannot be deleted if it has non-default versions or it is attached to any certificate.

To delete a policy, use the [DeletePolicyVersion](API_DeletePolicyVersion.md) action to delete all non-default versions of the policy; use the [DetachPolicy](API_DetachPolicy.md) action to detach the policy from any certificate; and then use the DeletePolicy action to delete the policy.

When a policy is deleted using DeletePolicy, its default version is deleted with it.

**Note**  
Because of the distributed nature of AWS, it can take up to five minutes after a policy is detached before it's ready to be deleted.

Requires permission to access the [DeletePolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeletePolicy_RequestSyntax"></a>

```
DELETE /policies/policyName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeletePolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_DeletePolicy_RequestSyntax) **   <a name="iot-DeletePolicy-request-uri-policyName"></a>
The name of the policy to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_DeletePolicy_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeletePolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeletePolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeletePolicy_Errors"></a>

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeletePolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeletePolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeletePolicy) 

# DeletePolicyVersion
<a name="API_DeletePolicyVersion"></a>

Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this action. To delete the default version of a policy, use [DeletePolicy](API_DeletePolicy.md). To find out which version of a policy is marked as the default version, use ListPolicyVersions.

Requires permission to access the [DeletePolicyVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeletePolicyVersion_RequestSyntax"></a>

```
DELETE /policies/policyName/version/policyVersionId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeletePolicyVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_DeletePolicyVersion_RequestSyntax) **   <a name="iot-DeletePolicyVersion-request-uri-policyName"></a>
The name of the policy.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

 ** [policyVersionId](#API_DeletePolicyVersion_RequestSyntax) **   <a name="iot-DeletePolicyVersion-request-uri-policyVersionId"></a>
The policy version ID.  
Pattern: `[0-9]+`   
Required: Yes

## Request Body
<a name="API_DeletePolicyVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeletePolicyVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeletePolicyVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeletePolicyVersion_Errors"></a>

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeletePolicyVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeletePolicyVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeletePolicyVersion) 

# DeleteProvisioningTemplate
<a name="API_DeleteProvisioningTemplate"></a>

Deletes a provisioning template.

Requires permission to access the [DeleteProvisioningTemplate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteProvisioningTemplate_RequestSyntax"></a>

```
DELETE /provisioning-templates/templateName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteProvisioningTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_DeleteProvisioningTemplate_RequestSyntax) **   <a name="iot-DeleteProvisioningTemplate-request-uri-templateName"></a>
The name of the fleet provision template to delete.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

## Request Body
<a name="API_DeleteProvisioningTemplate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteProvisioningTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteProvisioningTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteProvisioningTemplate_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteProvisioningTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteProvisioningTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteProvisioningTemplate) 

# DeleteProvisioningTemplateVersion
<a name="API_DeleteProvisioningTemplateVersion"></a>

Deletes a provisioning template version.

Requires permission to access the [DeleteProvisioningTemplateVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteProvisioningTemplateVersion_RequestSyntax"></a>

```
DELETE /provisioning-templates/templateName/versions/versionId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteProvisioningTemplateVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_DeleteProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-DeleteProvisioningTemplateVersion-request-uri-templateName"></a>
The name of the provisioning template version to delete.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

 ** [versionId](#API_DeleteProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-DeleteProvisioningTemplateVersion-request-uri-versionId"></a>
The provisioning template version ID to delete.  
Required: Yes

## Request Body
<a name="API_DeleteProvisioningTemplateVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteProvisioningTemplateVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteProvisioningTemplateVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteProvisioningTemplateVersion_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteProvisioningTemplateVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteProvisioningTemplateVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteProvisioningTemplateVersion) 

# DeleteRegistrationCode
<a name="API_DeleteRegistrationCode"></a>

Deletes a CA certificate registration code.

Requires permission to access the [DeleteRegistrationCode](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteRegistrationCode_RequestSyntax"></a>

```
DELETE /registrationcode HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteRegistrationCode_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DeleteRegistrationCode_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteRegistrationCode_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteRegistrationCode_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteRegistrationCode_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteRegistrationCode_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteRegistrationCode) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteRegistrationCode) 

# DeleteRoleAlias
<a name="API_DeleteRoleAlias"></a>

Deletes a role alias

Requires permission to access the [DeleteRoleAlias](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteRoleAlias_RequestSyntax"></a>

```
DELETE /role-aliases/roleAlias HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteRoleAlias_RequestParameters"></a>

The request uses the following URI parameters.

 ** [roleAlias](#API_DeleteRoleAlias_RequestSyntax) **   <a name="iot-DeleteRoleAlias-request-uri-roleAlias"></a>
The role alias to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_DeleteRoleAlias_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteRoleAlias_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteRoleAlias_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteRoleAlias_Errors"></a>

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteRoleAlias_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteRoleAlias) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteRoleAlias) 

# DeleteScheduledAudit
<a name="API_DeleteScheduledAudit"></a>

Deletes a scheduled audit.

Requires permission to access the [DeleteScheduledAudit](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteScheduledAudit_RequestSyntax"></a>

```
DELETE /audit/scheduledaudits/scheduledAuditName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteScheduledAudit_RequestParameters"></a>

The request uses the following URI parameters.

 ** [scheduledAuditName](#API_DeleteScheduledAudit_RequestSyntax) **   <a name="iot-DeleteScheduledAudit-request-uri-scheduledAuditName"></a>
The name of the scheduled audit you want to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteScheduledAudit_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteScheduledAudit_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteScheduledAudit_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteScheduledAudit_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DeleteScheduledAudit_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteScheduledAudit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteScheduledAudit) 

# DeleteSecurityProfile
<a name="API_DeleteSecurityProfile"></a>

Deletes a Device Defender security profile.

Requires permission to access the [DeleteSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteSecurityProfile_RequestSyntax"></a>

```
DELETE /security-profiles/securityProfileName?expectedVersion=expectedVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [expectedVersion](#API_DeleteSecurityProfile_RequestSyntax) **   <a name="iot-DeleteSecurityProfile-request-uri-expectedVersion"></a>
The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a `VersionConflictException` is thrown.

 ** [securityProfileName](#API_DeleteSecurityProfile_RequestSyntax) **   <a name="iot-DeleteSecurityProfile-request-uri-securityProfileName"></a>
The name of the security profile to be deleted.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteSecurityProfile_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteSecurityProfile) 

# DeleteStream
<a name="API_DeleteStream"></a>

Deletes a stream.

Requires permission to access the [DeleteStream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteStream_RequestSyntax"></a>

```
DELETE /streams/streamId HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteStream_RequestParameters"></a>

The request uses the following URI parameters.

 ** [streamId](#API_DeleteStream_RequestSyntax) **   <a name="iot-DeleteStream-request-uri-streamId"></a>
The stream ID.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteStream_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteStream_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteStream_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteStream_Errors"></a>

 ** DeleteConflictException **   
You can't delete the resource because it is attached to one or more resources.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteStream_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteStream) 

# DeleteThing
<a name="API_DeleteThing"></a>

Deletes the specified thing. Returns successfully with no error if the deletion is successful or you specify a thing that doesn't exist.

Requires permission to access the [DeleteThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteThing_RequestSyntax"></a>

```
DELETE /things/thingName?expectedVersion=expectedVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [expectedVersion](#API_DeleteThing_RequestSyntax) **   <a name="iot-DeleteThing-request-uri-expectedVersion"></a>
The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the `DeleteThing` request is rejected with a `VersionConflictException`.

 ** [thingName](#API_DeleteThing_RequestSyntax) **   <a name="iot-DeleteThing-request-uri-thingName"></a>
The name of the thing to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteThing_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteThing_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteThing) 

# DeleteThingGroup
<a name="API_DeleteThingGroup"></a>

Deletes a thing group.

Requires permission to access the [DeleteThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteThingGroup_RequestSyntax"></a>

```
DELETE /thing-groups/thingGroupName?expectedVersion=expectedVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [expectedVersion](#API_DeleteThingGroup_RequestSyntax) **   <a name="iot-DeleteThingGroup-request-uri-expectedVersion"></a>
The expected version of the thing group to delete.

 ** [thingGroupName](#API_DeleteThingGroup_RequestSyntax) **   <a name="iot-DeleteThingGroup-request-uri-thingGroupName"></a>
The name of the thing group to delete.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteThingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_DeleteThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteThingGroup) 

# DeleteThingType
<a name="API_DeleteThingType"></a>

Deletes the specified thing type. You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling [DeprecateThingType](API_DeprecateThingType.md), then remove any associated things by calling [UpdateThing](API_UpdateThing.md) to change the thing type on any associated thing, and finally use [DeleteThingType](#API_DeleteThingType) to delete the thing type.

Requires permission to access the [DeleteThingType](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteThingType_RequestSyntax"></a>

```
DELETE /thing-types/thingTypeName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteThingType_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingTypeName](#API_DeleteThingType_RequestSyntax) **   <a name="iot-DeleteThingType-request-uri-thingTypeName"></a>
The name of the thing type.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeleteThingType_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteThingType_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteThingType_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteThingType_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteThingType_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteThingType) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteThingType) 

# DeleteTopicRule
<a name="API_DeleteTopicRule"></a>

Deletes the rule.

Requires permission to access the [DeleteTopicRule](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteTopicRule_RequestSyntax"></a>

```
DELETE /rules/ruleName HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteTopicRule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ruleName](#API_DeleteTopicRule_RequestSyntax) **   <a name="iot-DeleteTopicRule-request-uri-ruleName"></a>
The name of the rule.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[a-zA-Z0-9_]+$`   
Required: Yes

## Request Body
<a name="API_DeleteTopicRule_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteTopicRule_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteTopicRule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteTopicRule_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteTopicRule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteTopicRule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteTopicRule) 

# DeleteTopicRuleDestination
<a name="API_DeleteTopicRuleDestination"></a>

Deletes a topic rule destination.

Requires permission to access the [DeleteTopicRuleDestination](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteTopicRuleDestination_RequestSyntax"></a>

```
DELETE /destinations/arn+ HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteTopicRuleDestination_RequestParameters"></a>

The request uses the following URI parameters.

 ** [arn](#API_DeleteTopicRuleDestination_RequestSyntax) **   <a name="iot-DeleteTopicRuleDestination-request-uri-arn"></a>
The ARN of the topic rule destination to delete.  
Required: Yes

## Request Body
<a name="API_DeleteTopicRuleDestination_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteTopicRuleDestination_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteTopicRuleDestination_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteTopicRuleDestination_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeleteTopicRuleDestination_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteTopicRuleDestination) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteTopicRuleDestination) 

# DeleteV2LoggingLevel
<a name="API_DeleteV2LoggingLevel"></a>

Deletes a logging level.

Requires permission to access the [DeleteV2LoggingLevel](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeleteV2LoggingLevel_RequestSyntax"></a>

```
DELETE /v2LoggingLevel?targetName=targetName&targetType=targetType HTTP/1.1
```

## URI Request Parameters
<a name="API_DeleteV2LoggingLevel_RequestParameters"></a>

The request uses the following URI parameters.

 ** [targetName](#API_DeleteV2LoggingLevel_RequestSyntax) **   <a name="iot-DeleteV2LoggingLevel-request-uri-targetName"></a>
The name of the resource for which you are configuring logging.  
Required: Yes

 ** [targetType](#API_DeleteV2LoggingLevel_RequestSyntax) **   <a name="iot-DeleteV2LoggingLevel-request-uri-targetType"></a>
The type of resource for which you are configuring logging. Must be `THING_Group`.  
Valid Values: `DEFAULT | THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID`   
Required: Yes

## Request Body
<a name="API_DeleteV2LoggingLevel_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DeleteV2LoggingLevel_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeleteV2LoggingLevel_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteV2LoggingLevel_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_DeleteV2LoggingLevel_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeleteV2LoggingLevel) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeleteV2LoggingLevel) 

# DeprecateThingType
<a name="API_DeprecateThingType"></a>

Deprecates a thing type. You can not associate new things with deprecated thing type.

Requires permission to access the [DeprecateThingType](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DeprecateThingType_RequestSyntax"></a>

```
POST /thing-types/thingTypeName/deprecate HTTP/1.1
Content-type: application/json

{
   "undoDeprecate": boolean
}
```

## URI Request Parameters
<a name="API_DeprecateThingType_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingTypeName](#API_DeprecateThingType_RequestSyntax) **   <a name="iot-DeprecateThingType-request-uri-thingTypeName"></a>
The name of the thing type to deprecate.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DeprecateThingType_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [undoDeprecate](#API_DeprecateThingType_RequestSyntax) **   <a name="iot-DeprecateThingType-request-undoDeprecate"></a>
Whether to undeprecate a deprecated thing type. If **true**, the thing type will not be deprecated anymore and you can associate it with things.  
Type: Boolean  
Required: No

## Response Syntax
<a name="API_DeprecateThingType_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DeprecateThingType_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeprecateThingType_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DeprecateThingType_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DeprecateThingType) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DeprecateThingType) 

# DescribeAccountAuditConfiguration
<a name="API_DescribeAccountAuditConfiguration"></a>

Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

Requires permission to access the [DescribeAccountAuditConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeAccountAuditConfiguration_RequestSyntax"></a>

```
GET /audit/configuration HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeAccountAuditConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DescribeAccountAuditConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeAccountAuditConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "auditCheckConfigurations": { 
      "string" : { 
         "configuration": { 
            "string" : "string" 
         },
         "enabled": boolean
      }
   },
   "auditNotificationTargetConfigurations": { 
      "string" : { 
         "enabled": boolean,
         "roleArn": "string",
         "targetArn": "string"
      }
   },
   "roleArn": "string"
}
```

## Response Elements
<a name="API_DescribeAccountAuditConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [auditCheckConfigurations](#API_DescribeAccountAuditConfiguration_ResponseSyntax) **   <a name="iot-DescribeAccountAuditConfiguration-response-auditCheckConfigurations"></a>
Which audit checks are enabled and disabled for this account.  
Type: String to [AuditCheckConfiguration](API_AuditCheckConfiguration.md) object map

 ** [auditNotificationTargetConfigurations](#API_DescribeAccountAuditConfiguration_ResponseSyntax) **   <a name="iot-DescribeAccountAuditConfiguration-response-auditNotificationTargetConfigurations"></a>
Information about the targets to which audit notifications are sent for this account.  
Type: String to [AuditNotificationTarget](API_AuditNotificationTarget.md) object map  
Valid Keys: `SNS` 

 ** [roleArn](#API_DescribeAccountAuditConfiguration_ResponseSyntax) **   <a name="iot-DescribeAccountAuditConfiguration-response-roleArn"></a>
The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.  
On the first call to `UpdateAccountAuditConfiguration`, this parameter is required.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

## Errors
<a name="API_DescribeAccountAuditConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeAccountAuditConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeAccountAuditConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeAccountAuditConfiguration) 

# DescribeAuditFinding
<a name="API_DescribeAuditFinding"></a>

Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and the start time when the audit that returned the finding.

Requires permission to access the [DescribeAuditFinding](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeAuditFinding_RequestSyntax"></a>

```
GET /audit/findings/findingId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeAuditFinding_RequestParameters"></a>

The request uses the following URI parameters.

 ** [findingId](#API_DescribeAuditFinding_RequestSyntax) **   <a name="iot-DescribeAuditFinding-request-uri-findingId"></a>
A unique identifier for a single audit finding. You can use this identifier to apply mitigation actions to the finding.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeAuditFinding_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeAuditFinding_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "finding": { 
      "checkName": "string",
      "findingId": "string",
      "findingTime": number,
      "isSuppressed": boolean,
      "nonCompliantResource": { 
         "additionalInfo": { 
            "string" : "string" 
         },
         "resourceIdentifier": { 
            "account": "string",
            "caCertificateId": "string",
            "clientId": "string",
            "cognitoIdentityPoolId": "string",
            "deviceCertificateArn": "string",
            "deviceCertificateId": "string",
            "iamRoleArn": "string",
            "issuerCertificateIdentifier": { 
               "issuerCertificateSerialNumber": "string",
               "issuerCertificateSubject": "string",
               "issuerId": "string"
            },
            "policyVersionIdentifier": { 
               "policyName": "string",
               "policyVersionId": "string"
            },
            "roleAliasArn": "string"
         },
         "resourceType": "string"
      },
      "reasonForNonCompliance": "string",
      "reasonForNonComplianceCode": "string",
      "relatedResources": [ 
         { 
            "additionalInfo": { 
               "string" : "string" 
            },
            "resourceIdentifier": { 
               "account": "string",
               "caCertificateId": "string",
               "clientId": "string",
               "cognitoIdentityPoolId": "string",
               "deviceCertificateArn": "string",
               "deviceCertificateId": "string",
               "iamRoleArn": "string",
               "issuerCertificateIdentifier": { 
                  "issuerCertificateSerialNumber": "string",
                  "issuerCertificateSubject": "string",
                  "issuerId": "string"
               },
               "policyVersionIdentifier": { 
                  "policyName": "string",
                  "policyVersionId": "string"
               },
               "roleAliasArn": "string"
            },
            "resourceType": "string"
         }
      ],
      "severity": "string",
      "taskId": "string",
      "taskStartTime": number
   }
}
```

## Response Elements
<a name="API_DescribeAuditFinding_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [finding](#API_DescribeAuditFinding_ResponseSyntax) **   <a name="iot-DescribeAuditFinding-response-finding"></a>
The findings (results) of the audit.  
Type: [AuditFinding](API_AuditFinding.md) object

## Errors
<a name="API_DescribeAuditFinding_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeAuditFinding_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeAuditFinding) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeAuditFinding) 

# DescribeAuditMitigationActionsTask
<a name="API_DescribeAuditMitigationActionsTask"></a>

Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings. Properties include the actions being applied, the audit checks to which they're being applied, the task status, and aggregated task statistics.

## Request Syntax
<a name="API_DescribeAuditMitigationActionsTask_RequestSyntax"></a>

```
GET /audit/mitigationactions/tasks/taskId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeAuditMitigationActionsTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_DescribeAuditMitigationActionsTask_RequestSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-request-uri-taskId"></a>
The unique identifier for the audit mitigation task.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeAuditMitigationActionsTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeAuditMitigationActionsTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionsDefinition": [ 
      { 
         "actionParams": { 
            "addThingsToThingGroupParams": { 
               "overrideDynamicGroups": boolean,
               "thingGroupNames": [ "string" ]
            },
            "enableIoTLoggingParams": { 
               "logLevel": "string",
               "roleArnForLogging": "string"
            },
            "publishFindingToSnsParams": { 
               "topicArn": "string"
            },
            "replaceDefaultPolicyVersionParams": { 
               "templateName": "string"
            },
            "updateCACertificateParams": { 
               "action": "string"
            },
            "updateDeviceCertificateParams": { 
               "action": "string"
            }
         },
         "id": "string",
         "name": "string",
         "roleArn": "string"
      }
   ],
   "auditCheckToActionsMapping": { 
      "string" : [ "string" ]
   },
   "endTime": number,
   "startTime": number,
   "target": { 
      "auditCheckToReasonCodeFilter": { 
         "string" : [ "string" ]
      },
      "auditTaskId": "string",
      "findingIds": [ "string" ]
   },
   "taskStatistics": { 
      "string" : { 
         "canceledFindingsCount": number,
         "failedFindingsCount": number,
         "skippedFindingsCount": number,
         "succeededFindingsCount": number,
         "totalFindingsCount": number
      }
   },
   "taskStatus": "string"
}
```

## Response Elements
<a name="API_DescribeAuditMitigationActionsTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionsDefinition](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-actionsDefinition"></a>
Specifies the mitigation actions and their parameters that are applied as part of this task.  
Type: Array of [MitigationAction](API_MitigationAction.md) objects

 ** [auditCheckToActionsMapping](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-auditCheckToActionsMapping"></a>
Specifies the mitigation actions that should be applied to specific audit checks.  
Type: String to array of strings map  
Array Members: Minimum number of 1 item. Maximum number of 5 items.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [endTime](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-endTime"></a>
The date and time when the task was completed or canceled.  
Type: Timestamp

 ** [startTime](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-startTime"></a>
The date and time when the task was started.  
Type: Timestamp

 ** [target](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-target"></a>
Identifies the findings to which the mitigation actions are applied. This can be by audit checks, by audit task, or a set of findings.  
Type: [AuditMitigationActionsTaskTarget](API_AuditMitigationActionsTaskTarget.md) object

 ** [taskStatistics](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-taskStatistics"></a>
Aggregate counts of the results when the mitigation tasks were applied to the findings for this audit mitigation actions task.  
Type: String to [TaskStatisticsForAuditCheck](API_TaskStatisticsForAuditCheck.md) object map

 ** [taskStatus](#API_DescribeAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeAuditMitigationActionsTask-response-taskStatus"></a>
The current status of the task.  
Type: String  
Valid Values: `IN_PROGRESS | COMPLETED | FAILED | CANCELED` 

## Errors
<a name="API_DescribeAuditMitigationActionsTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeAuditMitigationActionsTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeAuditMitigationActionsTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeAuditMitigationActionsTask) 

# DescribeAuditSuppression
<a name="API_DescribeAuditSuppression"></a>

 Gets information about a Device Defender audit suppression. 

## Request Syntax
<a name="API_DescribeAuditSuppression_RequestSyntax"></a>

```
POST /audit/suppressions/describe HTTP/1.1
Content-type: application/json

{
   "checkName": "string",
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   }
}
```

## URI Request Parameters
<a name="API_DescribeAuditSuppression_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DescribeAuditSuppression_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [checkName](#API_DescribeAuditSuppression_RequestSyntax) **   <a name="iot-DescribeAuditSuppression-request-checkName"></a>
An audit check name. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: String  
Required: Yes

 ** [resourceIdentifier](#API_DescribeAuditSuppression_RequestSyntax) **   <a name="iot-DescribeAuditSuppression-request-resourceIdentifier"></a>
Information that identifies the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object  
Required: Yes

## Response Syntax
<a name="API_DescribeAuditSuppression_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "checkName": "string",
   "description": "string",
   "expirationDate": number,
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   },
   "suppressIndefinitely": boolean
}
```

## Response Elements
<a name="API_DescribeAuditSuppression_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [checkName](#API_DescribeAuditSuppression_ResponseSyntax) **   <a name="iot-DescribeAuditSuppression-response-checkName"></a>
An audit check name. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: String

 ** [description](#API_DescribeAuditSuppression_ResponseSyntax) **   <a name="iot-DescribeAuditSuppression-response-description"></a>
 The description of the audit suppression.   
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*` 

 ** [expirationDate](#API_DescribeAuditSuppression_ResponseSyntax) **   <a name="iot-DescribeAuditSuppression-response-expirationDate"></a>
 The epoch timestamp in seconds at which this suppression expires.   
Type: Timestamp

 ** [resourceIdentifier](#API_DescribeAuditSuppression_ResponseSyntax) **   <a name="iot-DescribeAuditSuppression-response-resourceIdentifier"></a>
Information that identifies the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object

 ** [suppressIndefinitely](#API_DescribeAuditSuppression_ResponseSyntax) **   <a name="iot-DescribeAuditSuppression-response-suppressIndefinitely"></a>
 Indicates whether a suppression should exist indefinitely or not.   
Type: Boolean

## Errors
<a name="API_DescribeAuditSuppression_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeAuditSuppression_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeAuditSuppression) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeAuditSuppression) 

# DescribeAuditTask
<a name="API_DescribeAuditTask"></a>

Gets information about a Device Defender audit.

Requires permission to access the [DescribeAuditTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeAuditTask_RequestSyntax"></a>

```
GET /audit/tasks/taskId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeAuditTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_DescribeAuditTask_RequestSyntax) **   <a name="iot-DescribeAuditTask-request-uri-taskId"></a>
The ID of the audit whose information you want to get.  
Length Constraints: Minimum length of 1. Maximum length of 40.  
Pattern: `[a-zA-Z0-9\-]+`   
Required: Yes

## Request Body
<a name="API_DescribeAuditTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeAuditTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "auditDetails": { 
      "string" : { 
         "checkCompliant": boolean,
         "checkRunStatus": "string",
         "errorCode": "string",
         "message": "string",
         "nonCompliantResourcesCount": number,
         "suppressedNonCompliantResourcesCount": number,
         "totalResourcesCount": number
      }
   },
   "scheduledAuditName": "string",
   "taskStartTime": number,
   "taskStatistics": { 
      "canceledChecks": number,
      "compliantChecks": number,
      "failedChecks": number,
      "inProgressChecks": number,
      "nonCompliantChecks": number,
      "totalChecks": number,
      "waitingForDataCollectionChecks": number
   },
   "taskStatus": "string",
   "taskType": "string"
}
```

## Response Elements
<a name="API_DescribeAuditTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [auditDetails](#API_DescribeAuditTask_ResponseSyntax) **   <a name="iot-DescribeAuditTask-response-auditDetails"></a>
Detailed information about each check performed during this audit.  
Type: String to [AuditCheckDetails](API_AuditCheckDetails.md) object map

 ** [scheduledAuditName](#API_DescribeAuditTask_ResponseSyntax) **   <a name="iot-DescribeAuditTask-response-scheduledAuditName"></a>
The name of the scheduled audit (only if the audit was a scheduled audit).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [taskStartTime](#API_DescribeAuditTask_ResponseSyntax) **   <a name="iot-DescribeAuditTask-response-taskStartTime"></a>
The time the audit started.  
Type: Timestamp

 ** [taskStatistics](#API_DescribeAuditTask_ResponseSyntax) **   <a name="iot-DescribeAuditTask-response-taskStatistics"></a>
Statistical information about the audit.  
Type: [TaskStatistics](API_TaskStatistics.md) object

 ** [taskStatus](#API_DescribeAuditTask_ResponseSyntax) **   <a name="iot-DescribeAuditTask-response-taskStatus"></a>
The status of the audit: one of "IN\$1PROGRESS", "COMPLETED", "FAILED", or "CANCELED".  
Type: String  
Valid Values: `IN_PROGRESS | COMPLETED | FAILED | CANCELED` 

 ** [taskType](#API_DescribeAuditTask_ResponseSyntax) **   <a name="iot-DescribeAuditTask-response-taskType"></a>
The type of audit: "ON\$1DEMAND\$1AUDIT\$1TASK" or "SCHEDULED\$1AUDIT\$1TASK".  
Type: String  
Valid Values: `ON_DEMAND_AUDIT_TASK | SCHEDULED_AUDIT_TASK` 

## Errors
<a name="API_DescribeAuditTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeAuditTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeAuditTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeAuditTask) 

# DescribeAuthorizer
<a name="API_DescribeAuthorizer"></a>

Describes an authorizer.

Requires permission to access the [DescribeAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeAuthorizer_RequestSyntax"></a>

```
GET /authorizer/authorizerName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeAuthorizer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [authorizerName](#API_DescribeAuthorizer_RequestSyntax) **   <a name="iot-DescribeAuthorizer-request-uri-authorizerName"></a>
The name of the authorizer to describe.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_DescribeAuthorizer_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authorizerDescription": { 
      "authorizerArn": "string",
      "authorizerFunctionArn": "string",
      "authorizerName": "string",
      "creationDate": number,
      "enableCachingForHttp": boolean,
      "lastModifiedDate": number,
      "signingDisabled": boolean,
      "status": "string",
      "tokenKeyName": "string",
      "tokenSigningPublicKeys": { 
         "string" : "string" 
      }
   }
}
```

## Response Elements
<a name="API_DescribeAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authorizerDescription](#API_DescribeAuthorizer_ResponseSyntax) **   <a name="iot-DescribeAuthorizer-response-authorizerDescription"></a>
The authorizer description.  
Type: [AuthorizerDescription](API_AuthorizerDescription.md) object

## Errors
<a name="API_DescribeAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeAuthorizer) 

# DescribeBillingGroup
<a name="API_DescribeBillingGroup"></a>

Returns information about a billing group.

Requires permission to access the [DescribeBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeBillingGroup_RequestSyntax"></a>

```
GET /billing-groups/billingGroupName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeBillingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [billingGroupName](#API_DescribeBillingGroup_RequestSyntax) **   <a name="iot-DescribeBillingGroup-request-uri-billingGroupName"></a>
The name of the billing group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeBillingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "billingGroupArn": "string",
   "billingGroupId": "string",
   "billingGroupMetadata": { 
      "creationDate": number
   },
   "billingGroupName": "string",
   "billingGroupProperties": { 
      "billingGroupDescription": "string"
   },
   "version": number
}
```

## Response Elements
<a name="API_DescribeBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [billingGroupArn](#API_DescribeBillingGroup_ResponseSyntax) **   <a name="iot-DescribeBillingGroup-response-billingGroupArn"></a>
The ARN of the billing group.  
Type: String

 ** [billingGroupId](#API_DescribeBillingGroup_ResponseSyntax) **   <a name="iot-DescribeBillingGroup-response-billingGroupId"></a>
The ID of the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [billingGroupMetadata](#API_DescribeBillingGroup_ResponseSyntax) **   <a name="iot-DescribeBillingGroup-response-billingGroupMetadata"></a>
Additional information about the billing group.  
Type: [BillingGroupMetadata](API_BillingGroupMetadata.md) object

 ** [billingGroupName](#API_DescribeBillingGroup_ResponseSyntax) **   <a name="iot-DescribeBillingGroup-response-billingGroupName"></a>
The name of the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [billingGroupProperties](#API_DescribeBillingGroup_ResponseSyntax) **   <a name="iot-DescribeBillingGroup-response-billingGroupProperties"></a>
The properties of the billing group.  
Type: [BillingGroupProperties](API_BillingGroupProperties.md) object

 ** [version](#API_DescribeBillingGroup_ResponseSyntax) **   <a name="iot-DescribeBillingGroup-response-version"></a>
The version of the billing group.  
Type: Long

## Errors
<a name="API_DescribeBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeBillingGroup) 

# DescribeCACertificate
<a name="API_DescribeCACertificate"></a>

Describes a registered CA certificate.

Requires permission to access the [DescribeCACertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeCACertificate_RequestSyntax"></a>

```
GET /cacertificate/caCertificateId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeCACertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [caCertificateId](#API_DescribeCACertificate_RequestSyntax) **   <a name="iot-DescribeCACertificate-request-uri-certificateId"></a>
The CA certificate identifier.  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

## Request Body
<a name="API_DescribeCACertificate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeCACertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateDescription": { 
      "autoRegistrationStatus": "string",
      "certificateArn": "string",
      "certificateId": "string",
      "certificateMode": "string",
      "certificatePem": "string",
      "creationDate": number,
      "customerVersion": number,
      "generationId": "string",
      "lastModifiedDate": number,
      "ownedBy": "string",
      "status": "string",
      "validity": { 
         "notAfter": number,
         "notBefore": number
      }
   },
   "registrationConfig": { 
      "roleArn": "string",
      "templateBody": "string",
      "templateName": "string"
   }
}
```

## Response Elements
<a name="API_DescribeCACertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateDescription](#API_DescribeCACertificate_ResponseSyntax) **   <a name="iot-DescribeCACertificate-response-certificateDescription"></a>
The CA certificate description.  
Type: [CACertificateDescription](API_CACertificateDescription.md) object

 ** [registrationConfig](#API_DescribeCACertificate_ResponseSyntax) **   <a name="iot-DescribeCACertificate-response-registrationConfig"></a>
Information about the registration configuration.  
Type: [RegistrationConfig](API_RegistrationConfig.md) object

## Errors
<a name="API_DescribeCACertificate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeCACertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeCACertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeCACertificate) 

# DescribeCertificate
<a name="API_DescribeCertificate"></a>

Gets information about the specified certificate.

Requires permission to access the [DescribeCertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeCertificate_RequestSyntax"></a>

```
GET /certificates/certificateId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeCertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_DescribeCertificate_RequestSyntax) **   <a name="iot-DescribeCertificate-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

## Request Body
<a name="API_DescribeCertificate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeCertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateDescription": { 
      "caCertificateId": "string",
      "certificateArn": "string",
      "certificateId": "string",
      "certificateMode": "string",
      "certificatePem": "string",
      "creationDate": number,
      "customerVersion": number,
      "generationId": "string",
      "lastModifiedDate": number,
      "ownedBy": "string",
      "previousOwnedBy": "string",
      "status": "string",
      "transferData": { 
         "acceptDate": number,
         "rejectDate": number,
         "rejectReason": "string",
         "transferDate": number,
         "transferMessage": "string"
      },
      "validity": { 
         "notAfter": number,
         "notBefore": number
      }
   }
}
```

## Response Elements
<a name="API_DescribeCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateDescription](#API_DescribeCertificate_ResponseSyntax) **   <a name="iot-DescribeCertificate-response-certificateDescription"></a>
The description of the certificate.  
Type: [CertificateDescription](API_CertificateDescription.md) object

## Errors
<a name="API_DescribeCertificate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeCertificate) 

# DescribeCertificateProvider
<a name="API_DescribeCertificateProvider"></a>

Describes a certificate provider.

Requires permission to access the [DescribeCertificateProvider](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action. 

## Request Syntax
<a name="API_DescribeCertificateProvider_RequestSyntax"></a>

```
GET /certificate-providers/certificateProviderName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeCertificateProvider_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateProviderName](#API_DescribeCertificateProvider_RequestSyntax) **   <a name="iot-DescribeCertificateProvider-request-uri-certificateProviderName"></a>
The name of the certificate provider.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_DescribeCertificateProvider_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeCertificateProvider_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "accountDefaultForOperations": [ "string" ],
   "certificateProviderArn": "string",
   "certificateProviderName": "string",
   "creationDate": number,
   "lambdaFunctionArn": "string",
   "lastModifiedDate": number
}
```

## Response Elements
<a name="API_DescribeCertificateProvider_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [accountDefaultForOperations](#API_DescribeCertificateProvider_ResponseSyntax) **   <a name="iot-DescribeCertificateProvider-response-accountDefaultForOperations"></a>
A list of the operations that the certificate provider will use to generate certificates. Valid value: `CreateCertificateFromCsr`.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Valid Values: `CreateCertificateFromCsr` 

 ** [certificateProviderArn](#API_DescribeCertificateProvider_ResponseSyntax) **   <a name="iot-DescribeCertificateProvider-response-certificateProviderArn"></a>
The ARN of the certificate provider.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [certificateProviderName](#API_DescribeCertificateProvider_ResponseSyntax) **   <a name="iot-DescribeCertificateProvider-response-certificateProviderName"></a>
The name of the certificate provider.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

 ** [creationDate](#API_DescribeCertificateProvider_ResponseSyntax) **   <a name="iot-DescribeCertificateProvider-response-creationDate"></a>
The date-time string that indicates when the certificate provider was created.  
Type: Timestamp

 ** [lambdaFunctionArn](#API_DescribeCertificateProvider_ResponseSyntax) **   <a name="iot-DescribeCertificateProvider-response-lambdaFunctionArn"></a>
The Lambda function ARN that's associated with the certificate provider.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `[\s\S]*` 

 ** [lastModifiedDate](#API_DescribeCertificateProvider_ResponseSyntax) **   <a name="iot-DescribeCertificateProvider-response-lastModifiedDate"></a>
The date-time string that indicates when the certificate provider was last updated.  
Type: Timestamp

## Errors
<a name="API_DescribeCertificateProvider_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeCertificateProvider_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeCertificateProvider) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeCertificateProvider) 

# DescribeCustomMetric
<a name="API_DescribeCustomMetric"></a>

 Gets information about a Device Defender detect custom metric. 

Requires permission to access the [DescribeCustomMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeCustomMetric_RequestSyntax"></a>

```
GET /custom-metric/metricName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeCustomMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_DescribeCustomMetric_RequestSyntax) **   <a name="iot-DescribeCustomMetric-request-uri-metricName"></a>
 The name of the custom metric.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeCustomMetric_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeCustomMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "displayName": "string",
   "lastModifiedDate": number,
   "metricArn": "string",
   "metricName": "string",
   "metricType": "string"
}
```

## Response Elements
<a name="API_DescribeCustomMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_DescribeCustomMetric_ResponseSyntax) **   <a name="iot-DescribeCustomMetric-response-creationDate"></a>
 The creation date of the custom metric in milliseconds since epoch.   
Type: Timestamp

 ** [displayName](#API_DescribeCustomMetric_ResponseSyntax) **   <a name="iot-DescribeCustomMetric-response-displayName"></a>
 Field represents a friendly name in the console for the custom metric; doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated.   
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\p{Graph}\x20]*` 

 ** [lastModifiedDate](#API_DescribeCustomMetric_ResponseSyntax) **   <a name="iot-DescribeCustomMetric-response-lastModifiedDate"></a>
 The time the custom metric was last modified in milliseconds since epoch.   
Type: Timestamp

 ** [metricArn](#API_DescribeCustomMetric_ResponseSyntax) **   <a name="iot-DescribeCustomMetric-response-metricArn"></a>
 The Amazon Resource Number (ARN) of the custom metric.   
Type: String

 ** [metricName](#API_DescribeCustomMetric_ResponseSyntax) **   <a name="iot-DescribeCustomMetric-response-metricName"></a>
 The name of the custom metric.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [metricType](#API_DescribeCustomMetric_ResponseSyntax) **   <a name="iot-DescribeCustomMetric-response-metricType"></a>
 The type of the custom metric.   
The type `number` only takes a single metric value as an input, but while submitting the metrics value in the DeviceMetrics report, it must be passed as an array with a single value.
Type: String  
Valid Values: `string-list | ip-address-list | number-list | number` 

## Errors
<a name="API_DescribeCustomMetric_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeCustomMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeCustomMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeCustomMetric) 

# DescribeDefaultAuthorizer
<a name="API_DescribeDefaultAuthorizer"></a>

Describes the default authorizer.

Requires permission to access the [DescribeDefaultAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeDefaultAuthorizer_RequestSyntax"></a>

```
GET /default-authorizer HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeDefaultAuthorizer_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DescribeDefaultAuthorizer_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeDefaultAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authorizerDescription": { 
      "authorizerArn": "string",
      "authorizerFunctionArn": "string",
      "authorizerName": "string",
      "creationDate": number,
      "enableCachingForHttp": boolean,
      "lastModifiedDate": number,
      "signingDisabled": boolean,
      "status": "string",
      "tokenKeyName": "string",
      "tokenSigningPublicKeys": { 
         "string" : "string" 
      }
   }
}
```

## Response Elements
<a name="API_DescribeDefaultAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authorizerDescription](#API_DescribeDefaultAuthorizer_ResponseSyntax) **   <a name="iot-DescribeDefaultAuthorizer-response-authorizerDescription"></a>
The default authorizer's description.  
Type: [AuthorizerDescription](API_AuthorizerDescription.md) object

## Errors
<a name="API_DescribeDefaultAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeDefaultAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeDefaultAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeDefaultAuthorizer) 

# DescribeDetectMitigationActionsTask
<a name="API_DescribeDetectMitigationActionsTask"></a>

 Gets information about a Device Defender ML Detect mitigation action. 

Requires permission to access the [DescribeDetectMitigationActionsTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeDetectMitigationActionsTask_RequestSyntax"></a>

```
GET /detect/mitigationactions/tasks/taskId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeDetectMitigationActionsTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_DescribeDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-DescribeDetectMitigationActionsTask-request-uri-taskId"></a>
 The unique identifier of the task.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeDetectMitigationActionsTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeDetectMitigationActionsTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "taskSummary": { 
      "actionsDefinition": [ 
         { 
            "actionParams": { 
               "addThingsToThingGroupParams": { 
                  "overrideDynamicGroups": boolean,
                  "thingGroupNames": [ "string" ]
               },
               "enableIoTLoggingParams": { 
                  "logLevel": "string",
                  "roleArnForLogging": "string"
               },
               "publishFindingToSnsParams": { 
                  "topicArn": "string"
               },
               "replaceDefaultPolicyVersionParams": { 
                  "templateName": "string"
               },
               "updateCACertificateParams": { 
                  "action": "string"
               },
               "updateDeviceCertificateParams": { 
                  "action": "string"
               }
            },
            "id": "string",
            "name": "string",
            "roleArn": "string"
         }
      ],
      "onlyActiveViolationsIncluded": boolean,
      "suppressedAlertsIncluded": boolean,
      "target": { 
         "behaviorName": "string",
         "securityProfileName": "string",
         "violationIds": [ "string" ]
      },
      "taskEndTime": number,
      "taskId": "string",
      "taskStartTime": number,
      "taskStatistics": { 
         "actionsExecuted": number,
         "actionsFailed": number,
         "actionsSkipped": number
      },
      "taskStatus": "string",
      "violationEventOccurrenceRange": { 
         "endTime": number,
         "startTime": number
      }
   }
}
```

## Response Elements
<a name="API_DescribeDetectMitigationActionsTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [taskSummary](#API_DescribeDetectMitigationActionsTask_ResponseSyntax) **   <a name="iot-DescribeDetectMitigationActionsTask-response-taskSummary"></a>
 The description of a task.   
Type: [DetectMitigationActionsTaskSummary](API_DetectMitigationActionsTaskSummary.md) object

## Errors
<a name="API_DescribeDetectMitigationActionsTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeDetectMitigationActionsTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeDetectMitigationActionsTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeDetectMitigationActionsTask) 

# DescribeDimension
<a name="API_DescribeDimension"></a>

Provides details about a dimension that is defined in your AWS accounts.

Requires permission to access the [DescribeDimension](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeDimension_RequestSyntax"></a>

```
GET /dimensions/name HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeDimension_RequestParameters"></a>

The request uses the following URI parameters.

 ** [name](#API_DescribeDimension_RequestSyntax) **   <a name="iot-DescribeDimension-request-uri-name"></a>
The unique identifier for the dimension.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeDimension_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeDimension_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "arn": "string",
   "creationDate": number,
   "lastModifiedDate": number,
   "name": "string",
   "stringValues": [ "string" ],
   "type": "string"
}
```

## Response Elements
<a name="API_DescribeDimension_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [arn](#API_DescribeDimension_ResponseSyntax) **   <a name="iot-DescribeDimension-response-arn"></a>
The Amazon Resource Name (ARN) for the dimension.  
Type: String

 ** [creationDate](#API_DescribeDimension_ResponseSyntax) **   <a name="iot-DescribeDimension-response-creationDate"></a>
The date the dimension was created.  
Type: Timestamp

 ** [lastModifiedDate](#API_DescribeDimension_ResponseSyntax) **   <a name="iot-DescribeDimension-response-lastModifiedDate"></a>
The date the dimension was last modified.  
Type: Timestamp

 ** [name](#API_DescribeDimension_ResponseSyntax) **   <a name="iot-DescribeDimension-response-name"></a>
The unique identifier for the dimension.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [stringValues](#API_DescribeDimension_ResponseSyntax) **   <a name="iot-DescribeDimension-response-stringValues"></a>
The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Length Constraints: Minimum length of 1. Maximum length of 256.

 ** [type](#API_DescribeDimension_ResponseSyntax) **   <a name="iot-DescribeDimension-response-type"></a>
The type of the dimension.  
Type: String  
Valid Values: `TOPIC_FILTER` 

## Errors
<a name="API_DescribeDimension_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeDimension_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeDimension) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeDimension) 

# DescribeDomainConfiguration
<a name="API_DescribeDomainConfiguration"></a>

Gets summary information about a domain configuration.

Requires permission to access the [DescribeDomainConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeDomainConfiguration_RequestSyntax"></a>

```
GET /domainConfigurations/domainConfigurationName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeDomainConfiguration_RequestParameters"></a>

The request uses the following URI parameters.

 ** [domainConfigurationName](#API_DescribeDomainConfiguration_RequestSyntax) **   <a name="iot-DescribeDomainConfiguration-request-uri-domainConfigurationName"></a>
The name of the domain configuration.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.:-]+`   
Required: Yes

## Request Body
<a name="API_DescribeDomainConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeDomainConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "applicationProtocol": "string",
   "authenticationType": "string",
   "authorizerConfig": { 
      "allowAuthorizerOverride": boolean,
      "defaultAuthorizerName": "string"
   },
   "clientCertificateConfig": { 
      "clientCertificateCallbackArn": "string"
   },
   "domainConfigurationArn": "string",
   "domainConfigurationName": "string",
   "domainConfigurationStatus": "string",
   "domainName": "string",
   "domainType": "string",
   "lastStatusChangeDate": number,
   "serverCertificateConfig": { 
      "enableOCSPCheck": boolean,
      "ocspAuthorizedResponderArn": "string",
      "ocspLambdaArn": "string"
   },
   "serverCertificates": [ 
      { 
         "serverCertificateArn": "string",
         "serverCertificateStatus": "string",
         "serverCertificateStatusDetail": "string"
      }
   ],
   "serviceType": "string",
   "tlsConfig": { 
      "securityPolicy": "string"
   }
}
```

## Response Elements
<a name="API_DescribeDomainConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [applicationProtocol](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-applicationProtocol"></a>
An enumerated string that speciﬁes the application-layer protocol.  
+  `SECURE_MQTT` - MQTT over TLS.
+  `MQTT_WSS` - MQTT over WebSocket.
+  `HTTPS` - HTTP over TLS.
+  `DEFAULT` - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application\$1layer protocol. For more information, see [Device communication protocols](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).
Type: String  
Valid Values: `SECURE_MQTT | MQTT_WSS | HTTPS | DEFAULT` 

 ** [authenticationType](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-authenticationType"></a>
An enumerated string that speciﬁes the authentication type.  
+  `CUSTOM_AUTH_X509` - Use custom authentication and authorization with additional details from the X.509 client certificate.
+  `CUSTOM_AUTH` - Use custom authentication and authorization. For more information, see [Custom authentication and authorization](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html).
+  `AWS_X509` - Use X.509 client certificates without custom authentication and authorization. For more information, see [X.509 client certificates](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html).
+  `AWS_SIGV4` - Use AWS Signature Version 4. For more information, see [IAM users, groups, and roles](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html).
+  `DEFAULT` - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see [Device communication protocols](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).
Type: String  
Valid Values: `CUSTOM_AUTH_X509 | CUSTOM_AUTH | AWS_X509 | AWS_SIGV4 | DEFAULT` 

 ** [authorizerConfig](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-authorizerConfig"></a>
An object that specifies the authorization service for a domain.  
Type: [AuthorizerConfig](API_AuthorizerConfig.md) object

 ** [clientCertificateConfig](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-clientCertificateConfig"></a>
An object that speciﬁes the client certificate conﬁguration for a domain.  
Type: [ClientCertificateConfig](API_ClientCertificateConfig.md) object

 ** [domainConfigurationArn](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-domainConfigurationArn"></a>
The ARN of the domain configuration.  
Type: String

 ** [domainConfigurationName](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-domainConfigurationName"></a>
The name of the domain configuration.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.:-]+` 

 ** [domainConfigurationStatus](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-domainConfigurationStatus"></a>
A Boolean value that specifies the current state of the domain configuration.  
Type: String  
Valid Values: `ENABLED | DISABLED` 

 ** [domainName](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-domainName"></a>
The name of the domain.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 253.  
Pattern: `[\s\S]*` 

 ** [domainType](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-domainType"></a>
The type of the domain.  
Type: String  
Valid Values: `ENDPOINT | AWS_MANAGED | CUSTOMER_MANAGED` 

 ** [lastStatusChangeDate](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-lastStatusChangeDate"></a>
The date and time the domain configuration's status was last changed.  
Type: Timestamp

 ** [serverCertificateConfig](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-serverCertificateConfig"></a>
The server certificate configuration.  
Type: [ServerCertificateConfig](API_ServerCertificateConfig.md) object

 ** [serverCertificates](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-serverCertificates"></a>
A list containing summary information about the server certificate included in the domain configuration.  
Type: Array of [ServerCertificateSummary](API_ServerCertificateSummary.md) objects

 ** [serviceType](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-serviceType"></a>
The type of service delivered by the endpoint.  
Type: String  
Valid Values: `DATA | CREDENTIAL_PROVIDER | JOBS` 

 ** [tlsConfig](#API_DescribeDomainConfiguration_ResponseSyntax) **   <a name="iot-DescribeDomainConfiguration-response-tlsConfig"></a>
An object that specifies the TLS configuration for a domain.  
Type: [TlsConfig](API_TlsConfig.md) object

## Errors
<a name="API_DescribeDomainConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeDomainConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeDomainConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeDomainConfiguration) 

# DescribeEncryptionConfiguration
<a name="API_DescribeEncryptionConfiguration"></a>

Retrieves the encryption configuration for resources and data of your AWS account in AWS IoT Core. For more information, see [Data encryption at rest](https://docs.aws.amazon.com/iot/latest/developerguide/encryption-at-rest.html) in the * AWS IoT Core Developer Guide*.

## Request Syntax
<a name="API_DescribeEncryptionConfiguration_RequestSyntax"></a>

```
GET /encryption-configuration HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeEncryptionConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DescribeEncryptionConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeEncryptionConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "configurationDetails": { 
      "configurationStatus": "string",
      "errorCode": "string",
      "errorMessage": "string"
   },
   "encryptionType": "string",
   "kmsAccessRoleArn": "string",
   "kmsKeyArn": "string",
   "lastModifiedDate": number
}
```

## Response Elements
<a name="API_DescribeEncryptionConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [configurationDetails](#API_DescribeEncryptionConfiguration_ResponseSyntax) **   <a name="iot-DescribeEncryptionConfiguration-response-configurationDetails"></a>
The encryption configuration details that include the status information of the KMS key and the AWS KMS access role.  
Type: [ConfigurationDetails](API_ConfigurationDetails.md) object

 ** [encryptionType](#API_DescribeEncryptionConfiguration_ResponseSyntax) **   <a name="iot-DescribeEncryptionConfiguration-response-encryptionType"></a>
The type of the KMS key.  
Type: String  
Valid Values: `CUSTOMER_MANAGED_KMS_KEY | AWS_OWNED_KMS_KEY` 

 ** [kmsAccessRoleArn](#API_DescribeEncryptionConfiguration_ResponseSyntax) **   <a name="iot-DescribeEncryptionConfiguration-response-kmsAccessRoleArn"></a>
The Amazon Resource Name (ARN) of the IAM role assumed by AWS IoT Core to call AWS KMS on behalf of the customer.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [kmsKeyArn](#API_DescribeEncryptionConfiguration_ResponseSyntax) **   <a name="iot-DescribeEncryptionConfiguration-response-kmsKeyArn"></a>
The ARN of the customer managed KMS key.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [lastModifiedDate](#API_DescribeEncryptionConfiguration_ResponseSyntax) **   <a name="iot-DescribeEncryptionConfiguration-response-lastModifiedDate"></a>
The date when encryption configuration is last updated.  
Type: Timestamp

## Errors
<a name="API_DescribeEncryptionConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeEncryptionConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeEncryptionConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeEncryptionConfiguration) 

# DescribeEndpoint
<a name="API_DescribeEndpoint"></a>

Returns or creates a unique endpoint specific to the AWS account making the call.

**Note**  
The first time `DescribeEndpoint` is called, an endpoint is created. All subsequent calls to `DescribeEndpoint` return the same endpoint.

Requires permission to access the [DescribeEndpoint](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeEndpoint_RequestSyntax"></a>

```
GET /endpoint?endpointType=endpointType HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeEndpoint_RequestParameters"></a>

The request uses the following URI parameters.

 ** [endpointType](#API_DescribeEndpoint_RequestSyntax) **   <a name="iot-DescribeEndpoint-request-uri-endpointType"></a>
The endpoint type. Valid endpoint types include:  
+  `iot:Data` - Returns a VeriSign signed data endpoint.
+  `iot:Data-ATS` - Returns an ATS signed data endpoint.
+  `iot:CredentialProvider` - Returns an AWS IoT credentials provider API endpoint.
+  `iot:Jobs` - Returns an AWS IoT device management Jobs API endpoint.
We strongly recommend that customers use the newer `iot:Data-ATS` endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.  
Length Constraints: Maximum length of 128.  
Pattern: `[\s\S]*` 

## Request Body
<a name="API_DescribeEndpoint_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeEndpoint_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "endpointAddress": "string"
}
```

## Response Elements
<a name="API_DescribeEndpoint_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [endpointAddress](#API_DescribeEndpoint_ResponseSyntax) **   <a name="iot-DescribeEndpoint-response-endpointAddress"></a>
The endpoint. The format of the endpoint is as follows: *identifier*.iot.*region*.amazonaws.com.  
Type: String

## Errors
<a name="API_DescribeEndpoint_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeEndpoint_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeEndpoint) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeEndpoint) 

# DescribeEventConfigurations
<a name="API_DescribeEventConfigurations"></a>

Describes event configurations.

Requires permission to access the [DescribeEventConfigurations](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeEventConfigurations_RequestSyntax"></a>

```
GET /event-configurations HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeEventConfigurations_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_DescribeEventConfigurations_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeEventConfigurations_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "eventConfigurations": { 
      "string" : { 
         "Enabled": boolean
      }
   },
   "lastModifiedDate": number
}
```

## Response Elements
<a name="API_DescribeEventConfigurations_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_DescribeEventConfigurations_ResponseSyntax) **   <a name="iot-DescribeEventConfigurations-response-creationDate"></a>
The creation date of the event configuration.  
Type: Timestamp

 ** [eventConfigurations](#API_DescribeEventConfigurations_ResponseSyntax) **   <a name="iot-DescribeEventConfigurations-response-eventConfigurations"></a>
The event configurations.  
Type: String to [Configuration](API_Configuration.md) object map  
Valid Keys: `THING | THING_GROUP | THING_TYPE | THING_GROUP_MEMBERSHIP | THING_GROUP_HIERARCHY | THING_TYPE_ASSOCIATION | JOB | JOB_EXECUTION | POLICY | CERTIFICATE | CA_CERTIFICATE` 

 ** [lastModifiedDate](#API_DescribeEventConfigurations_ResponseSyntax) **   <a name="iot-DescribeEventConfigurations-response-lastModifiedDate"></a>
The date the event configurations were last modified.  
Type: Timestamp

## Errors
<a name="API_DescribeEventConfigurations_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeEventConfigurations_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeEventConfigurations) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeEventConfigurations) 

# DescribeFleetMetric
<a name="API_DescribeFleetMetric"></a>

Gets information about the specified fleet metric.

Requires permission to access the [DescribeFleetMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeFleetMetric_RequestSyntax"></a>

```
GET /fleet-metric/metricName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeFleetMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_DescribeFleetMetric_RequestSyntax) **   <a name="iot-DescribeFleetMetric-request-uri-metricName"></a>
The name of the fleet metric to describe.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_\-\.]+`   
Required: Yes

## Request Body
<a name="API_DescribeFleetMetric_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeFleetMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "aggregationField": "string",
   "aggregationType": { 
      "name": "string",
      "values": [ "string" ]
   },
   "creationDate": number,
   "description": "string",
   "indexName": "string",
   "lastModifiedDate": number,
   "metricArn": "string",
   "metricName": "string",
   "period": number,
   "queryString": "string",
   "queryVersion": "string",
   "unit": "string",
   "version": number
}
```

## Response Elements
<a name="API_DescribeFleetMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [aggregationField](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-aggregationField"></a>
The field to aggregate.  
Type: String  
Length Constraints: Minimum length of 1.

 ** [aggregationType](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-aggregationType"></a>
The type of the aggregation query.  
Type: [AggregationType](API_AggregationType.md) object

 ** [creationDate](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-creationDate"></a>
The date when the fleet metric is created.  
Type: Timestamp

 ** [description](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-description"></a>
The fleet metric description.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[\p{Graph}\x20]*` 

 ** [indexName](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-indexName"></a>
The name of the index to search.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [lastModifiedDate](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-lastModifiedDate"></a>
The date when the fleet metric is last modified.  
Type: Timestamp

 ** [metricArn](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-metricArn"></a>
The ARN of the fleet metric to describe.  
Type: String

 ** [metricName](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-metricName"></a>
The name of the fleet metric to describe.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_\-\.]+` 

 ** [period](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-period"></a>
The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.  
Type: Integer  
Valid Range: Minimum value of 60. Maximum value of 86400.

 ** [queryString](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-queryString"></a>
The search query string.  
Type: String  
Length Constraints: Minimum length of 1.

 ** [queryVersion](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-queryVersion"></a>
The query version.  
Type: String

 ** [unit](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-unit"></a>
Used to support unit transformation such as milliseconds to seconds. The unit must be supported by [CW metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).  
Type: String  
Valid Values: `Seconds | Microseconds | Milliseconds | Bytes | Kilobytes | Megabytes | Gigabytes | Terabytes | Bits | Kilobits | Megabits | Gigabits | Terabits | Percent | Count | Bytes/Second | Kilobytes/Second | Megabytes/Second | Gigabytes/Second | Terabytes/Second | Bits/Second | Kilobits/Second | Megabits/Second | Gigabits/Second | Terabits/Second | Count/Second | None` 

 ** [version](#API_DescribeFleetMetric_ResponseSyntax) **   <a name="iot-DescribeFleetMetric-response-version"></a>
The version of the fleet metric.  
Type: Long

## Errors
<a name="API_DescribeFleetMetric_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeFleetMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeFleetMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeFleetMetric) 

# DescribeIndex
<a name="API_DescribeIndex"></a>

Describes a search index.

Requires permission to access the [DescribeIndex](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeIndex_RequestSyntax"></a>

```
GET /indices/indexName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeIndex_RequestParameters"></a>

The request uses the following URI parameters.

 ** [indexName](#API_DescribeIndex_RequestSyntax) **   <a name="iot-DescribeIndex-request-uri-indexName"></a>
The index name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeIndex_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeIndex_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "indexName": "string",
   "indexStatus": "string",
   "schema": "string"
}
```

## Response Elements
<a name="API_DescribeIndex_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [indexName](#API_DescribeIndex_ResponseSyntax) **   <a name="iot-DescribeIndex-response-indexName"></a>
The index name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [indexStatus](#API_DescribeIndex_ResponseSyntax) **   <a name="iot-DescribeIndex-response-indexStatus"></a>
The index status.  
Type: String  
Valid Values: `ACTIVE | BUILDING | REBUILDING` 

 ** [schema](#API_DescribeIndex_ResponseSyntax) **   <a name="iot-DescribeIndex-response-schema"></a>
Contains a value that specifies the type of indexing performed. Valid values are:  
+ REGISTRY – Your thing index contains only registry data.
+ REGISTRY\$1AND\$1SHADOW - Your thing index contains registry data and shadow data.
+ REGISTRY\$1AND\$1CONNECTIVITY\$1STATUS - Your thing index contains registry data and thing connectivity status data.
+ REGISTRY\$1AND\$1SHADOW\$1AND\$1CONNECTIVITY\$1STATUS - Your thing index contains registry data, shadow data, and thing connectivity status data.
+ MULTI\$1INDEXING\$1MODE - Your thing index contains multiple data sources. For more information, see [GetIndexingConfiguration](https://docs.aws.amazon.com/iot/latest/apireference/API_GetIndexingConfiguration.html).
Type: String

## Errors
<a name="API_DescribeIndex_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeIndex_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeIndex) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeIndex) 

# DescribeJob
<a name="API_DescribeJob"></a>

Describes a job.

Requires permission to access the [DescribeJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeJob_RequestSyntax"></a>

```
GET /jobs/jobId?beforeSubstitution=beforeSubstitution HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [beforeSubstitution](#API_DescribeJob_RequestSyntax) **   <a name="iot-DescribeJob-request-uri-beforeSubstitution"></a>
Provides a view of the job document before and after the substitution parameters have been resolved with their exact values.

 ** [jobId](#API_DescribeJob_RequestSyntax) **   <a name="iot-DescribeJob-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeJob_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "documentSource": "string",
   "job": { 
      "abortConfig": { 
         "criteriaList": [ 
            { 
               "action": "string",
               "failureType": "string",
               "minNumberOfExecutedThings": number,
               "thresholdPercentage": number
            }
         ]
      },
      "comment": "string",
      "completedAt": number,
      "createdAt": number,
      "description": "string",
      "destinationPackageVersions": [ "string" ],
      "documentParameters": { 
         "string" : "string" 
      },
      "forceCanceled": boolean,
      "isConcurrent": boolean,
      "jobArn": "string",
      "jobExecutionsRetryConfig": { 
         "criteriaList": [ 
            { 
               "failureType": "string",
               "numberOfRetries": number
            }
         ]
      },
      "jobExecutionsRolloutConfig": { 
         "exponentialRate": { 
            "baseRatePerMinute": number,
            "incrementFactor": number,
            "rateIncreaseCriteria": { 
               "numberOfNotifiedThings": number,
               "numberOfSucceededThings": number
            }
         },
         "maximumPerMinute": number
      },
      "jobId": "string",
      "jobProcessDetails": { 
         "numberOfCanceledThings": number,
         "numberOfFailedThings": number,
         "numberOfInProgressThings": number,
         "numberOfQueuedThings": number,
         "numberOfRejectedThings": number,
         "numberOfRemovedThings": number,
         "numberOfSucceededThings": number,
         "numberOfTimedOutThings": number,
         "processingTargets": [ "string" ]
      },
      "jobTemplateArn": "string",
      "lastUpdatedAt": number,
      "namespaceId": "string",
      "presignedUrlConfig": { 
         "expiresInSec": number,
         "roleArn": "string"
      },
      "reasonCode": "string",
      "scheduledJobRollouts": [ 
         { 
            "startTime": "string"
         }
      ],
      "schedulingConfig": { 
         "endBehavior": "string",
         "endTime": "string",
         "maintenanceWindows": [ 
            { 
               "durationInMinutes": number,
               "startTime": "string"
            }
         ],
         "startTime": "string"
      },
      "status": "string",
      "targets": [ "string" ],
      "targetSelection": "string",
      "timeoutConfig": { 
         "inProgressTimeoutInMinutes": number
      }
   }
}
```

## Response Elements
<a name="API_DescribeJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [documentSource](#API_DescribeJob_ResponseSyntax) **   <a name="iot-DescribeJob-response-documentSource"></a>
An S3 link to the job document.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1350.

 ** [job](#API_DescribeJob_ResponseSyntax) **   <a name="iot-DescribeJob-response-job"></a>
Information about the job.  
Type: [Job](API_Job.md) object

## Errors
<a name="API_DescribeJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeJob) 

# DescribeJobExecution
<a name="API_DescribeJobExecution"></a>

Describes a job execution.

Requires permission to access the [DescribeJobExecution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeJobExecution_RequestSyntax"></a>

```
GET /things/thingName/jobs/jobId?executionNumber=executionNumber HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeJobExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [executionNumber](#API_DescribeJobExecution_RequestSyntax) **   <a name="iot-DescribeJobExecution-request-uri-executionNumber"></a>
A string (consisting of the digits "0" through "9" which is used to specify a particular job execution on a particular device.

 ** [jobId](#API_DescribeJobExecution_RequestSyntax) **   <a name="iot-DescribeJobExecution-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [thingName](#API_DescribeJobExecution_RequestSyntax) **   <a name="iot-DescribeJobExecution-request-uri-thingName"></a>
The name of the thing on which the job execution is running.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeJobExecution_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeJobExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "execution": { 
      "approximateSecondsBeforeTimedOut": number,
      "executionNumber": number,
      "forceCanceled": boolean,
      "jobId": "string",
      "lastUpdatedAt": number,
      "queuedAt": number,
      "startedAt": number,
      "status": "string",
      "statusDetails": { 
         "detailsMap": { 
            "string" : "string" 
         }
      },
      "thingArn": "string",
      "versionNumber": number
   }
}
```

## Response Elements
<a name="API_DescribeJobExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [execution](#API_DescribeJobExecution_ResponseSyntax) **   <a name="iot-DescribeJobExecution-response-execution"></a>
Information about the job execution.  
Type: [JobExecution](API_JobExecution.md) object

## Errors
<a name="API_DescribeJobExecution_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeJobExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeJobExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeJobExecution) 

# DescribeJobTemplate
<a name="API_DescribeJobTemplate"></a>

Returns information about a job template.

## Request Syntax
<a name="API_DescribeJobTemplate_RequestSyntax"></a>

```
GET /job-templates/jobTemplateId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeJobTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobTemplateId](#API_DescribeJobTemplate_RequestSyntax) **   <a name="iot-DescribeJobTemplate-request-uri-jobTemplateId"></a>
The unique identifier of the job template.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeJobTemplate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeJobTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "createdAt": number,
   "description": "string",
   "destinationPackageVersions": [ "string" ],
   "document": "string",
   "documentSource": "string",
   "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
   },
   "jobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "jobTemplateArn": "string",
   "jobTemplateId": "string",
   "maintenanceWindows": [ 
      { 
         "durationInMinutes": number,
         "startTime": "string"
      }
   ],
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "timeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   }
}
```

## Response Elements
<a name="API_DescribeJobTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [abortConfig](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-abortConfig"></a>
The criteria that determine when and how a job abort takes place.  
Type: [AbortConfig](API_AbortConfig.md) object

 ** [createdAt](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-createdAt"></a>
The time, in seconds since the epoch, when the job template was created.  
Type: Timestamp

 ** [description](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-description"></a>
A description of the job template.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [destinationPackageVersions](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-destinationPackageVersions"></a>
The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes. The package version must be in either the Published or Deprecated state when the job deploys. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).  
 **Note:**The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$` 

 ** [document](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-document"></a>
The job document.  
Type: String  
Length Constraints: Maximum length of 32768.

 ** [documentSource](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-documentSource"></a>
An S3 link to the job document.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1350.

 ** [jobExecutionsRetryConfig](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-jobExecutionsRetryConfig"></a>
The configuration that determines how many retries are allowed for each failure type for a job.  
Type: [JobExecutionsRetryConfig](API_JobExecutionsRetryConfig.md) object

 ** [jobExecutionsRolloutConfig](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-jobExecutionsRolloutConfig"></a>
Allows you to create a staged rollout of a job.  
Type: [JobExecutionsRolloutConfig](API_JobExecutionsRolloutConfig.md) object

 ** [jobTemplateArn](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-jobTemplateArn"></a>
The ARN of the job template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$` 

 ** [jobTemplateId](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-jobTemplateId"></a>
The unique identifier of the job template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [maintenanceWindows](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-maintenanceWindows"></a>
Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job.  
Type: Array of [MaintenanceWindow](API_MaintenanceWindow.md) objects

 ** [presignedUrlConfig](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-presignedUrlConfig"></a>
Configuration for pre-signed S3 URLs.  
Type: [PresignedUrlConfig](API_PresignedUrlConfig.md) object

 ** [timeoutConfig](#API_DescribeJobTemplate_ResponseSyntax) **   <a name="iot-DescribeJobTemplate-response-timeoutConfig"></a>
Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to `IN_PROGRESS`. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to `TIMED_OUT`.  
Type: [TimeoutConfig](API_TimeoutConfig.md) object

## Errors
<a name="API_DescribeJobTemplate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeJobTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeJobTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeJobTemplate) 

# DescribeManagedJobTemplate
<a name="API_DescribeManagedJobTemplate"></a>

View details of a managed job template.

## Request Syntax
<a name="API_DescribeManagedJobTemplate_RequestSyntax"></a>

```
GET /managed-job-templates/templateName?templateVersion=templateVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeManagedJobTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_DescribeManagedJobTemplate_RequestSyntax) **   <a name="iot-DescribeManagedJobTemplate-request-uri-templateName"></a>
The unique name of a managed job template, which is required.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Required: Yes

 ** [templateVersion](#API_DescribeManagedJobTemplate_RequestSyntax) **   <a name="iot-DescribeManagedJobTemplate-request-uri-templateVersion"></a>
An optional parameter to specify version of a managed template. If not specified, the pre-defined default version is returned.  
Pattern: `^[1-9]+.[0-9]+` 

## Request Body
<a name="API_DescribeManagedJobTemplate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeManagedJobTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "document": "string",
   "documentParameters": [ 
      { 
         "description": "string",
         "example": "string",
         "key": "string",
         "optional": boolean,
         "regex": "string"
      }
   ],
   "environments": [ "string" ],
   "templateArn": "string",
   "templateName": "string",
   "templateVersion": "string"
}
```

## Response Elements
<a name="API_DescribeManagedJobTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-description"></a>
The unique description of a managed template.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [document](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-document"></a>
The document schema for a managed job template.  
Type: String  
Length Constraints: Maximum length of 32768.

 ** [documentParameters](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-documentParameters"></a>
A map of key-value pairs that you can use as guidance to specify the inputs for creating a job from a managed template.  
 `documentParameters` can only be used when creating jobs from AWS managed templates. This parameter can't be used with custom job templates or to create jobs from them.
Type: Array of [DocumentParameter](API_DocumentParameter.md) objects

 ** [environments](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-environments"></a>
A list of environments that are supported with the managed job template.  
Type: Array of strings  
Pattern: `[^\p{C}]+` 

 ** [templateArn](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-templateArn"></a>
The unique Amazon Resource Name (ARN) of the managed template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$` 

 ** [templateName](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-templateName"></a>
The unique name of a managed template, such as `AWS-Reboot`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.

 ** [templateVersion](#API_DescribeManagedJobTemplate_ResponseSyntax) **   <a name="iot-DescribeManagedJobTemplate-response-templateVersion"></a>
The version for a managed template.  
Type: String  
Pattern: `^[1-9]+.[0-9]+` 

## Errors
<a name="API_DescribeManagedJobTemplate_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeManagedJobTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeManagedJobTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeManagedJobTemplate) 

# DescribeMitigationAction
<a name="API_DescribeMitigationAction"></a>

Gets information about a mitigation action.

Requires permission to access the [DescribeMitigationAction](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeMitigationAction_RequestSyntax"></a>

```
GET /mitigationactions/actions/actionName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeMitigationAction_RequestParameters"></a>

The request uses the following URI parameters.

 ** [actionName](#API_DescribeMitigationAction_RequestSyntax) **   <a name="iot-DescribeMitigationAction-request-uri-actionName"></a>
The friendly name that uniquely identifies the mitigation action.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeMitigationAction_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeMitigationAction_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionArn": "string",
   "actionId": "string",
   "actionName": "string",
   "actionParams": { 
      "addThingsToThingGroupParams": { 
         "overrideDynamicGroups": boolean,
         "thingGroupNames": [ "string" ]
      },
      "enableIoTLoggingParams": { 
         "logLevel": "string",
         "roleArnForLogging": "string"
      },
      "publishFindingToSnsParams": { 
         "topicArn": "string"
      },
      "replaceDefaultPolicyVersionParams": { 
         "templateName": "string"
      },
      "updateCACertificateParams": { 
         "action": "string"
      },
      "updateDeviceCertificateParams": { 
         "action": "string"
      }
   },
   "actionType": "string",
   "creationDate": number,
   "lastModifiedDate": number,
   "roleArn": "string"
}
```

## Response Elements
<a name="API_DescribeMitigationAction_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionArn](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-actionArn"></a>
The ARN that identifies this migration action.  
Type: String

 ** [actionId](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-actionId"></a>
A unique identifier for this action.  
Type: String

 ** [actionName](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-actionName"></a>
The friendly name that uniquely identifies the mitigation action.  
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [actionParams](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-actionParams"></a>
Parameters that control how the mitigation action is applied, specific to the type of mitigation action.  
Type: [MitigationActionParams](API_MitigationActionParams.md) object

 ** [actionType](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-actionType"></a>
The type of mitigation action.  
Type: String  
Valid Values: `UPDATE_DEVICE_CERTIFICATE | UPDATE_CA_CERTIFICATE | ADD_THINGS_TO_THING_GROUP | REPLACE_DEFAULT_POLICY_VERSION | ENABLE_IOT_LOGGING | PUBLISH_FINDING_TO_SNS` 

 ** [creationDate](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-creationDate"></a>
The date and time when the mitigation action was added to your AWS accounts.  
Type: Timestamp

 ** [lastModifiedDate](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-lastModifiedDate"></a>
The date and time when the mitigation action was last changed.  
Type: Timestamp

 ** [roleArn](#API_DescribeMitigationAction_ResponseSyntax) **   <a name="iot-DescribeMitigationAction-response-roleArn"></a>
The ARN of the IAM role used to apply this action.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

## Errors
<a name="API_DescribeMitigationAction_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeMitigationAction_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeMitigationAction) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeMitigationAction) 

# DescribeProvisioningTemplate
<a name="API_DescribeProvisioningTemplate"></a>

Returns information about a provisioning template.

Requires permission to access the [DescribeProvisioningTemplate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeProvisioningTemplate_RequestSyntax"></a>

```
GET /provisioning-templates/templateName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeProvisioningTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_DescribeProvisioningTemplate_RequestSyntax) **   <a name="iot-DescribeProvisioningTemplate-request-uri-templateName"></a>
The name of the provisioning template.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

## Request Body
<a name="API_DescribeProvisioningTemplate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeProvisioningTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "defaultVersionId": number,
   "description": "string",
   "enabled": boolean,
   "lastModifiedDate": number,
   "preProvisioningHook": { 
      "payloadVersion": "string",
      "targetArn": "string"
   },
   "provisioningRoleArn": "string",
   "templateArn": "string",
   "templateBody": "string",
   "templateName": "string",
   "type": "string"
}
```

## Response Elements
<a name="API_DescribeProvisioningTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-creationDate"></a>
The date when the provisioning template was created.  
Type: Timestamp

 ** [defaultVersionId](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-defaultVersionId"></a>
The default fleet template version ID.  
Type: Integer

 ** [description](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-description"></a>
The description of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[^\p{C}]*` 

 ** [enabled](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-enabled"></a>
True if the provisioning template is enabled, otherwise false.  
Type: Boolean

 ** [lastModifiedDate](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-lastModifiedDate"></a>
The date when the provisioning template was last modified.  
Type: Timestamp

 ** [preProvisioningHook](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-preProvisioningHook"></a>
Gets information about a pre-provisioned hook.  
Type: [ProvisioningHook](API_ProvisioningHook.md) object

 ** [provisioningRoleArn](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-provisioningRoleArn"></a>
The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [templateArn](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-templateArn"></a>
The ARN of the provisioning template.  
Type: String

 ** [templateBody](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-templateBody"></a>
The JSON formatted contents of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*` 

 ** [templateName](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-templateName"></a>
The name of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$` 

 ** [type](#API_DescribeProvisioningTemplate_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplate-response-type"></a>
The type you define in a provisioning template. You can create a template with only one type. You can't change the template type after its creation. The default value is `FLEET_PROVISIONING`. For more information about provisioning template, see: [Provisioning template](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html).   
Type: String  
Valid Values: `FLEET_PROVISIONING | JITP` 

## Errors
<a name="API_DescribeProvisioningTemplate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeProvisioningTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeProvisioningTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeProvisioningTemplate) 

# DescribeProvisioningTemplateVersion
<a name="API_DescribeProvisioningTemplateVersion"></a>

Returns information about a provisioning template version.

Requires permission to access the [DescribeProvisioningTemplateVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeProvisioningTemplateVersion_RequestSyntax"></a>

```
GET /provisioning-templates/templateName/versions/versionId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeProvisioningTemplateVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_DescribeProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-DescribeProvisioningTemplateVersion-request-uri-templateName"></a>
The template name.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

 ** [versionId](#API_DescribeProvisioningTemplateVersion_RequestSyntax) **   <a name="iot-DescribeProvisioningTemplateVersion-request-uri-versionId"></a>
The provisioning template version ID.  
Required: Yes

## Request Body
<a name="API_DescribeProvisioningTemplateVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeProvisioningTemplateVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "isDefaultVersion": boolean,
   "templateBody": "string",
   "versionId": number
}
```

## Response Elements
<a name="API_DescribeProvisioningTemplateVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_DescribeProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplateVersion-response-creationDate"></a>
The date when the provisioning template version was created.  
Type: Timestamp

 ** [isDefaultVersion](#API_DescribeProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplateVersion-response-isDefaultVersion"></a>
True if the provisioning template version is the default version.  
Type: Boolean

 ** [templateBody](#API_DescribeProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplateVersion-response-templateBody"></a>
The JSON formatted contents of the provisioning template version.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*` 

 ** [versionId](#API_DescribeProvisioningTemplateVersion_ResponseSyntax) **   <a name="iot-DescribeProvisioningTemplateVersion-response-versionId"></a>
The provisioning template version ID.  
Type: Integer

## Errors
<a name="API_DescribeProvisioningTemplateVersion_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeProvisioningTemplateVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeProvisioningTemplateVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeProvisioningTemplateVersion) 

# DescribeRoleAlias
<a name="API_DescribeRoleAlias"></a>

Describes a role alias.

Requires permission to access the [DescribeRoleAlias](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeRoleAlias_RequestSyntax"></a>

```
GET /role-aliases/roleAlias HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeRoleAlias_RequestParameters"></a>

The request uses the following URI parameters.

 ** [roleAlias](#API_DescribeRoleAlias_RequestSyntax) **   <a name="iot-DescribeRoleAlias-request-uri-roleAlias"></a>
The role alias to describe.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_DescribeRoleAlias_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeRoleAlias_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "roleAliasDescription": { 
      "creationDate": number,
      "credentialDurationSeconds": number,
      "lastModifiedDate": number,
      "owner": "string",
      "roleAlias": "string",
      "roleAliasArn": "string",
      "roleArn": "string"
   }
}
```

## Response Elements
<a name="API_DescribeRoleAlias_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [roleAliasDescription](#API_DescribeRoleAlias_ResponseSyntax) **   <a name="iot-DescribeRoleAlias-response-roleAliasDescription"></a>
The role alias description.  
Type: [RoleAliasDescription](API_RoleAliasDescription.md) object

## Errors
<a name="API_DescribeRoleAlias_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeRoleAlias_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeRoleAlias) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeRoleAlias) 

# DescribeScheduledAudit
<a name="API_DescribeScheduledAudit"></a>

Gets information about a scheduled audit.

Requires permission to access the [DescribeScheduledAudit](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeScheduledAudit_RequestSyntax"></a>

```
GET /audit/scheduledaudits/scheduledAuditName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeScheduledAudit_RequestParameters"></a>

The request uses the following URI parameters.

 ** [scheduledAuditName](#API_DescribeScheduledAudit_RequestSyntax) **   <a name="iot-DescribeScheduledAudit-request-uri-scheduledAuditName"></a>
The name of the scheduled audit whose information you want to get.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeScheduledAudit_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeScheduledAudit_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "dayOfMonth": "string",
   "dayOfWeek": "string",
   "frequency": "string",
   "scheduledAuditArn": "string",
   "scheduledAuditName": "string",
   "targetCheckNames": [ "string" ]
}
```

## Response Elements
<a name="API_DescribeScheduledAudit_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [dayOfMonth](#API_DescribeScheduledAudit_ResponseSyntax) **   <a name="iot-DescribeScheduledAudit-response-dayOfMonth"></a>
The day of the month on which the scheduled audit takes place. This is will be `1` through `31` or `LAST`. If days `29`-`31` are specified, and the month does not have that many days, the audit takes place on the `LAST` day of the month.  
Type: String  
Pattern: `^([1-9]|[12][0-9]|3[01])$|^LAST$` 

 ** [dayOfWeek](#API_DescribeScheduledAudit_ResponseSyntax) **   <a name="iot-DescribeScheduledAudit-response-dayOfWeek"></a>
The day of the week on which the scheduled audit takes place, either one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.  
Type: String  
Valid Values: `SUN | MON | TUE | WED | THU | FRI | SAT` 

 ** [frequency](#API_DescribeScheduledAudit_ResponseSyntax) **   <a name="iot-DescribeScheduledAudit-response-frequency"></a>
How often the scheduled audit takes place, either one of `DAILY`, `WEEKLY`, `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined by the system.  
Type: String  
Valid Values: `DAILY | WEEKLY | BIWEEKLY | MONTHLY` 

 ** [scheduledAuditArn](#API_DescribeScheduledAudit_ResponseSyntax) **   <a name="iot-DescribeScheduledAudit-response-scheduledAuditArn"></a>
The ARN of the scheduled audit.  
Type: String

 ** [scheduledAuditName](#API_DescribeScheduledAudit_ResponseSyntax) **   <a name="iot-DescribeScheduledAudit-response-scheduledAuditName"></a>
The name of the scheduled audit.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [targetCheckNames](#API_DescribeScheduledAudit_ResponseSyntax) **   <a name="iot-DescribeScheduledAudit-response-targetCheckNames"></a>
Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: Array of strings

## Errors
<a name="API_DescribeScheduledAudit_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeScheduledAudit_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeScheduledAudit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeScheduledAudit) 

# DescribeSecurityProfile
<a name="API_DescribeSecurityProfile"></a>

Gets information about a Device Defender security profile.

Requires permission to access the [DescribeSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeSecurityProfile_RequestSyntax"></a>

```
GET /security-profiles/securityProfileName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [securityProfileName](#API_DescribeSecurityProfile_RequestSyntax) **   <a name="iot-DescribeSecurityProfile-request-uri-securityProfileName"></a>
The name of the security profile whose information you want to get.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeSecurityProfile_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "additionalMetricsToRetain": [ "string" ],
   "additionalMetricsToRetainV2": [ 
      { 
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         }
      }
   ],
   "alertTargets": { 
      "string" : { 
         "alertTargetArn": "string",
         "roleArn": "string"
      }
   },
   "behaviors": [ 
      { 
         "criteria": { 
            "comparisonOperator": "string",
            "consecutiveDatapointsToAlarm": number,
            "consecutiveDatapointsToClear": number,
            "durationSeconds": number,
            "mlDetectionConfig": { 
               "confidenceLevel": "string"
            },
            "statisticalThreshold": { 
               "statistic": "string"
            },
            "value": { 
               "cidrs": [ "string" ],
               "count": number,
               "number": number,
               "numbers": [ number ],
               "ports": [ number ],
               "strings": [ "string" ]
            }
         },
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         },
         "name": "string",
         "suppressAlerts": boolean
      }
   ],
   "creationDate": number,
   "lastModifiedDate": number,
   "metricsExportConfig": { 
      "mqttTopic": "string",
      "roleArn": "string"
   },
   "securityProfileArn": "string",
   "securityProfileDescription": "string",
   "securityProfileName": "string",
   "version": number
}
```

## Response Elements
<a name="API_DescribeSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [additionalMetricsToRetain](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-additionalMetricsToRetain"></a>
 *This parameter has been deprecated.*   
 *Please use [DescribeSecurityProfile:additionalMetricsToRetainV2](#iot-DescribeSecurityProfile-response-additionalMetricsToRetainV2) instead.*   
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's `behaviors`, but it is also retained for any metric specified here.  
Type: Array of strings

 ** [additionalMetricsToRetainV2](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-additionalMetricsToRetainV2"></a>
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.  
Type: Array of [MetricToRetain](API_MetricToRetain.md) objects

 ** [alertTargets](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-alertTargets"></a>
Where the alerts are sent. (Alerts are always sent to the console.)  
Type: String to [AlertTarget](API_AlertTarget.md) object map  
Valid Keys: `SNS` 

 ** [behaviors](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-behaviors"></a>
Specifies the behaviors that, when violated by a device (thing), cause an alert.  
Type: Array of [Behavior](API_Behavior.md) objects  
Array Members: Maximum number of 100 items.

 ** [creationDate](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-creationDate"></a>
The time the security profile was created.  
Type: Timestamp

 ** [lastModifiedDate](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-lastModifiedDate"></a>
The time the security profile was last modified.  
Type: Timestamp

 ** [metricsExportConfig](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-metricsExportConfig"></a>
Specifies the MQTT topic and role ARN required for metric export.  
Type: [MetricsExportConfig](API_MetricsExportConfig.md) object

 ** [securityProfileArn](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-securityProfileArn"></a>
The ARN of the security profile.  
Type: String

 ** [securityProfileDescription](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-securityProfileDescription"></a>
A description of the security profile (associated with the security profile when it was created or updated).  
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*` 

 ** [securityProfileName](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-securityProfileName"></a>
The name of the security profile.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [version](#API_DescribeSecurityProfile_ResponseSyntax) **   <a name="iot-DescribeSecurityProfile-response-version"></a>
The version of the security profile. A new version is generated whenever the security profile is updated.  
Type: Long

## Errors
<a name="API_DescribeSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeSecurityProfile) 

# DescribeStream
<a name="API_DescribeStream"></a>

Gets information about a stream.

Requires permission to access the [DescribeStream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeStream_RequestSyntax"></a>

```
GET /streams/streamId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeStream_RequestParameters"></a>

The request uses the following URI parameters.

 ** [streamId](#API_DescribeStream_RequestSyntax) **   <a name="iot-DescribeStream-request-uri-streamId"></a>
The stream ID.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeStream_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeStream_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "streamInfo": { 
      "createdAt": number,
      "description": "string",
      "files": [ 
         { 
            "fileId": number,
            "s3Location": { 
               "bucket": "string",
               "key": "string",
               "version": "string"
            }
         }
      ],
      "lastUpdatedAt": number,
      "roleArn": "string",
      "streamArn": "string",
      "streamId": "string",
      "streamVersion": number
   }
}
```

## Response Elements
<a name="API_DescribeStream_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [streamInfo](#API_DescribeStream_ResponseSyntax) **   <a name="iot-DescribeStream-response-streamInfo"></a>
Information about the stream.  
Type: [StreamInfo](API_StreamInfo.md) object

## Errors
<a name="API_DescribeStream_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeStream_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeStream) 

# DescribeThing
<a name="API_DescribeThing"></a>

Gets information about the specified thing.

Requires permission to access the [DescribeThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeThing_RequestSyntax"></a>

```
GET /things/thingName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_DescribeThing_RequestSyntax) **   <a name="iot-DescribeThing-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeThing_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeThing_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "attributes": { 
      "string" : "string" 
   },
   "billingGroupName": "string",
   "defaultClientId": "string",
   "thingArn": "string",
   "thingId": "string",
   "thingName": "string",
   "thingTypeName": "string",
   "version": number
}
```

## Response Elements
<a name="API_DescribeThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [attributes](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-attributes"></a>
The thing attributes.  
Type: String to string map  
Key Length Constraints: Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9_.,@/:#-]+`   
Value Length Constraints: Maximum length of 800.  
Value Pattern: `[a-zA-Z0-9_.,@/:#=\[\]-]*` 

 ** [billingGroupName](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-billingGroupName"></a>
The name of the billing group the thing belongs to.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [defaultClientId](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-defaultClientId"></a>
The default MQTT client ID. For a typical device, the thing name is also used as the default MQTT client ID. Although we don’t require a mapping between a thing's registry name and its use of MQTT client IDs, certificates, or shadow state, we recommend that you choose a thing name and use it as the MQTT client ID for the registry and the Device Shadow service.  
This lets you better organize your AWS IoT fleet without removing the flexibility of the underlying device certificate model or shadows.  
Type: String

 ** [thingArn](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-thingArn"></a>
The ARN of the thing to describe.  
Type: String

 ** [thingId](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-thingId"></a>
The ID of the thing to describe.  
Type: String

 ** [thingName](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-thingName"></a>
The name of the thing.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [thingTypeName](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-thingTypeName"></a>
The thing type name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [version](#API_DescribeThing_ResponseSyntax) **   <a name="iot-DescribeThing-response-version"></a>
The current version of the thing record in the registry.  
To avoid unintentional changes to the information in the registry, you can pass the version information in the `expectedVersion` parameter of the `UpdateThing` and `DeleteThing` calls.
Type: Long

## Errors
<a name="API_DescribeThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeThing) 

# DescribeThingGroup
<a name="API_DescribeThingGroup"></a>

Describe a thing group.

Requires permission to access the [DescribeThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeThingGroup_RequestSyntax"></a>

```
GET /thing-groups/thingGroupName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingGroupName](#API_DescribeThingGroup_RequestSyntax) **   <a name="iot-DescribeThingGroup-request-uri-thingGroupName"></a>
The name of the thing group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeThingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string",
   "status": "string",
   "thingGroupArn": "string",
   "thingGroupId": "string",
   "thingGroupMetadata": { 
      "creationDate": number,
      "parentGroupName": "string",
      "rootToParentThingGroups": [ 
         { 
            "groupArn": "string",
            "groupName": "string"
         }
      ]
   },
   "thingGroupName": "string",
   "thingGroupProperties": { 
      "attributePayload": { 
         "attributes": { 
            "string" : "string" 
         },
         "merge": boolean
      },
      "thingGroupDescription": "string"
   },
   "version": number
}
```

## Response Elements
<a name="API_DescribeThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [indexName](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-indexName"></a>
The dynamic thing group index name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [queryString](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-queryString"></a>
The dynamic thing group search query string.  
Type: String  
Length Constraints: Minimum length of 1.

 ** [queryVersion](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-queryVersion"></a>
The dynamic thing group query version.  
Type: String

 ** [status](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-status"></a>
The dynamic thing group status.  
Type: String  
Valid Values: `ACTIVE | BUILDING | REBUILDING` 

 ** [thingGroupArn](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-thingGroupArn"></a>
The thing group ARN.  
Type: String

 ** [thingGroupId](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-thingGroupId"></a>
The thing group ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [thingGroupMetadata](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-thingGroupMetadata"></a>
Thing group metadata.  
Type: [ThingGroupMetadata](API_ThingGroupMetadata.md) object

 ** [thingGroupName](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-thingGroupName"></a>
The name of the thing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [thingGroupProperties](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-thingGroupProperties"></a>
The thing group properties.  
Type: [ThingGroupProperties](API_ThingGroupProperties.md) object

 ** [version](#API_DescribeThingGroup_ResponseSyntax) **   <a name="iot-DescribeThingGroup-response-version"></a>
The version of the thing group.  
Type: Long

## Errors
<a name="API_DescribeThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeThingGroup) 

# DescribeThingRegistrationTask
<a name="API_DescribeThingRegistrationTask"></a>

Describes a bulk thing provisioning task.

Requires permission to access the [DescribeThingRegistrationTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeThingRegistrationTask_RequestSyntax"></a>

```
GET /thing-registration-tasks/taskId HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeThingRegistrationTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_DescribeThingRegistrationTask_RequestSyntax) **   <a name="iot-DescribeThingRegistrationTask-request-uri-taskId"></a>
The task ID.  
Length Constraints: Maximum length of 40.  
Required: Yes

## Request Body
<a name="API_DescribeThingRegistrationTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeThingRegistrationTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "failureCount": number,
   "inputFileBucket": "string",
   "inputFileKey": "string",
   "lastModifiedDate": number,
   "message": "string",
   "percentageProgress": number,
   "roleArn": "string",
   "status": "string",
   "successCount": number,
   "taskId": "string",
   "templateBody": "string"
}
```

## Response Elements
<a name="API_DescribeThingRegistrationTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-creationDate"></a>
The task creation date.  
Type: Timestamp

 ** [failureCount](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-failureCount"></a>
The number of things that failed to be provisioned.  
Type: Integer

 ** [inputFileBucket](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-inputFileBucket"></a>
The S3 bucket that contains the input file.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 256.  
Pattern: `[a-zA-Z0-9._-]+` 

 ** [inputFileKey](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-inputFileKey"></a>
The input file key.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `[a-zA-Z0-9!_.*'()-\/]+` 

 ** [lastModifiedDate](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-lastModifiedDate"></a>
The date when the task was last modified.  
Type: Timestamp

 ** [message](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-message"></a>
The message.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [percentageProgress](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-percentageProgress"></a>
The progress of the bulk provisioning task expressed as a percentage.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 100.

 ** [roleArn](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-roleArn"></a>
The role ARN that grants access to the input file bucket.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [status](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-status"></a>
The status of the bulk thing provisioning task.  
Type: String  
Valid Values: `InProgress | Completed | Failed | Cancelled | Cancelling` 

 ** [successCount](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-successCount"></a>
The number of things successfully provisioned.  
Type: Integer

 ** [taskId](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-taskId"></a>
The task ID.  
Type: String  
Length Constraints: Maximum length of 40.

 ** [templateBody](#API_DescribeThingRegistrationTask_ResponseSyntax) **   <a name="iot-DescribeThingRegistrationTask-response-templateBody"></a>
The task's template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*` 

## Errors
<a name="API_DescribeThingRegistrationTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeThingRegistrationTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeThingRegistrationTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeThingRegistrationTask) 

# DescribeThingType
<a name="API_DescribeThingType"></a>

Gets information about the specified thing type.

Requires permission to access the [DescribeThingType](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DescribeThingType_RequestSyntax"></a>

```
GET /thing-types/thingTypeName HTTP/1.1
```

## URI Request Parameters
<a name="API_DescribeThingType_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingTypeName](#API_DescribeThingType_RequestSyntax) **   <a name="iot-DescribeThingType-request-uri-thingTypeName"></a>
The name of the thing type.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DescribeThingType_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DescribeThingType_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "thingTypeArn": "string",
   "thingTypeId": "string",
   "thingTypeMetadata": { 
      "creationDate": number,
      "deprecated": boolean,
      "deprecationDate": number
   },
   "thingTypeName": "string",
   "thingTypeProperties": { 
      "mqtt5Configuration": { 
         "propagatingAttributes": [ 
            { 
               "connectionAttribute": "string",
               "thingAttribute": "string",
               "userPropertyKey": "string"
            }
         ]
      },
      "searchableAttributes": [ "string" ],
      "thingTypeDescription": "string"
   }
}
```

## Response Elements
<a name="API_DescribeThingType_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [thingTypeArn](#API_DescribeThingType_ResponseSyntax) **   <a name="iot-DescribeThingType-response-thingTypeArn"></a>
The thing type ARN.  
Type: String

 ** [thingTypeId](#API_DescribeThingType_ResponseSyntax) **   <a name="iot-DescribeThingType-response-thingTypeId"></a>
The thing type ID.  
Type: String

 ** [thingTypeMetadata](#API_DescribeThingType_ResponseSyntax) **   <a name="iot-DescribeThingType-response-thingTypeMetadata"></a>
The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.  
Type: [ThingTypeMetadata](API_ThingTypeMetadata.md) object

 ** [thingTypeName](#API_DescribeThingType_ResponseSyntax) **   <a name="iot-DescribeThingType-response-thingTypeName"></a>
The name of the thing type.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [thingTypeProperties](#API_DescribeThingType_ResponseSyntax) **   <a name="iot-DescribeThingType-response-thingTypeProperties"></a>
The ThingTypeProperties contains information about the thing type including description, a list of searchable thing attribute names, and MQTT5 configuration.  
Type: [ThingTypeProperties](API_ThingTypeProperties.md) object

## Errors
<a name="API_DescribeThingType_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DescribeThingType_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DescribeThingType) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DescribeThingType) 

# DetachPolicy
<a name="API_DetachPolicy"></a>

Detaches a policy from the specified target.

**Note**  
Because of the distributed nature of AWS, it can take up to five minutes after a policy is detached before it's ready to be deleted.

Requires permission to access the [DetachPolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DetachPolicy_RequestSyntax"></a>

```
POST /target-policies/policyName HTTP/1.1
Content-type: application/json

{
   "target": "string"
}
```

## URI Request Parameters
<a name="API_DetachPolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_DetachPolicy_RequestSyntax) **   <a name="iot-DetachPolicy-request-uri-policyName"></a>
The policy to detach.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_DetachPolicy_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [target](#API_DetachPolicy_RequestSyntax) **   <a name="iot-DetachPolicy-request-target"></a>
The target from which the policy will be detached.  
Type: String  
Required: Yes

## Response Syntax
<a name="API_DetachPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DetachPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DetachPolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DetachPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DetachPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DetachPolicy) 

# DetachPrincipalPolicy
<a name="API_DetachPrincipalPolicy"></a>

Removes the specified policy from the specified certificate.

 **Note:** This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use [DetachPolicy](API_DetachPolicy.md) instead.

Requires permission to access the [DetachPrincipalPolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DetachPrincipalPolicy_RequestSyntax"></a>

```
DELETE /principal-policies/policyName HTTP/1.1
x-amzn-iot-principal: principal
```

## URI Request Parameters
<a name="API_DetachPrincipalPolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_DetachPrincipalPolicy_RequestSyntax) **   <a name="iot-DetachPrincipalPolicy-request-uri-policyName"></a>
The name of the policy to detach.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

 ** [principal](#API_DetachPrincipalPolicy_RequestSyntax) **   <a name="iot-DetachPrincipalPolicy-request-principal"></a>
The principal.  
Valid principals are CertificateArn (arn:aws:iot:*region*:*accountId*:cert/*certificateId*), thingGroupArn (arn:aws:iot:*region*:*accountId*:thinggroup/*groupName*) and CognitoId (*region*:*id*).  
Required: Yes

## Request Body
<a name="API_DetachPrincipalPolicy_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DetachPrincipalPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DetachPrincipalPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DetachPrincipalPolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DetachPrincipalPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DetachPrincipalPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DetachPrincipalPolicy) 

# DetachSecurityProfile
<a name="API_DetachSecurityProfile"></a>

Disassociates a Device Defender security profile from a thing group or from this account.

Requires permission to access the [DetachSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DetachSecurityProfile_RequestSyntax"></a>

```
DELETE /security-profiles/securityProfileName/targets?securityProfileTargetArn=securityProfileTargetArn HTTP/1.1
```

## URI Request Parameters
<a name="API_DetachSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [securityProfileName](#API_DetachSecurityProfile_RequestSyntax) **   <a name="iot-DetachSecurityProfile-request-uri-securityProfileName"></a>
The security profile that is detached.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [securityProfileTargetArn](#API_DetachSecurityProfile_RequestSyntax) **   <a name="iot-DetachSecurityProfile-request-uri-securityProfileTargetArn"></a>
The ARN of the thing group from which the security profile is detached.  
Required: Yes

## Request Body
<a name="API_DetachSecurityProfile_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DetachSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DetachSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DetachSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_DetachSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DetachSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DetachSecurityProfile) 

# DetachThingPrincipal
<a name="API_DetachThingPrincipal"></a>

Detaches the specified principal from the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

**Note**  
This call is asynchronous. It might take several seconds for the detachment to propagate.

Requires permission to access the [DetachThingPrincipal](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DetachThingPrincipal_RequestSyntax"></a>

```
DELETE /things/thingName/principals HTTP/1.1
x-amzn-principal: principal
```

## URI Request Parameters
<a name="API_DetachThingPrincipal_RequestParameters"></a>

The request uses the following URI parameters.

 ** [principal](#API_DetachThingPrincipal_RequestSyntax) **   <a name="iot-DetachThingPrincipal-request-principal"></a>
If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.  
Required: Yes

 ** [thingName](#API_DetachThingPrincipal_RequestSyntax) **   <a name="iot-DetachThingPrincipal-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_DetachThingPrincipal_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DetachThingPrincipal_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DetachThingPrincipal_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DetachThingPrincipal_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DetachThingPrincipal_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DetachThingPrincipal) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DetachThingPrincipal) 

# DisableTopicRule
<a name="API_DisableTopicRule"></a>

Disables the rule.

Requires permission to access the [DisableTopicRule](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DisableTopicRule_RequestSyntax"></a>

```
POST /rules/ruleName/disable HTTP/1.1
```

## URI Request Parameters
<a name="API_DisableTopicRule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ruleName](#API_DisableTopicRule_RequestSyntax) **   <a name="iot-DisableTopicRule-request-uri-ruleName"></a>
The name of the rule to disable.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[a-zA-Z0-9_]+$`   
Required: Yes

## Request Body
<a name="API_DisableTopicRule_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DisableTopicRule_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DisableTopicRule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DisableTopicRule_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_DisableTopicRule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DisableTopicRule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DisableTopicRule) 

# DisassociateSbomFromPackageVersion
<a name="API_DisassociateSbomFromPackageVersion"></a>

Disassociates the selected software bill of materials (SBOM) from a specific software package version.

Requires permission to access the [DisassociateSbomWithPackageVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_DisassociateSbomFromPackageVersion_RequestSyntax"></a>

```
DELETE /packages/packageName/versions/versionName/sbom?clientToken=clientToken HTTP/1.1
```

## URI Request Parameters
<a name="API_DisassociateSbomFromPackageVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_DisassociateSbomFromPackageVersion_RequestSyntax) **   <a name="iot-DisassociateSbomFromPackageVersion-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_DisassociateSbomFromPackageVersion_RequestSyntax) **   <a name="iot-DisassociateSbomFromPackageVersion-request-uri-packageName"></a>
The name of the new software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [versionName](#API_DisassociateSbomFromPackageVersion_RequestSyntax) **   <a name="iot-DisassociateSbomFromPackageVersion-request-uri-versionName"></a>
The name of the new package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_DisassociateSbomFromPackageVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_DisassociateSbomFromPackageVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_DisassociateSbomFromPackageVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DisassociateSbomFromPackageVersion_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_DisassociateSbomFromPackageVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/DisassociateSbomFromPackageVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/DisassociateSbomFromPackageVersion) 

# EnableTopicRule
<a name="API_EnableTopicRule"></a>

Enables the rule.

Requires permission to access the [EnableTopicRule](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_EnableTopicRule_RequestSyntax"></a>

```
POST /rules/ruleName/enable HTTP/1.1
```

## URI Request Parameters
<a name="API_EnableTopicRule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ruleName](#API_EnableTopicRule_RequestSyntax) **   <a name="iot-EnableTopicRule-request-uri-ruleName"></a>
The name of the topic rule to enable.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[a-zA-Z0-9_]+$`   
Required: Yes

## Request Body
<a name="API_EnableTopicRule_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_EnableTopicRule_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_EnableTopicRule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_EnableTopicRule_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_EnableTopicRule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/EnableTopicRule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/EnableTopicRule) 

# GetBehaviorModelTrainingSummaries
<a name="API_GetBehaviorModelTrainingSummaries"></a>

 Returns a Device Defender's ML Detect Security Profile training model's status. 

Requires permission to access the [GetBehaviorModelTrainingSummaries](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetBehaviorModelTrainingSummaries_RequestSyntax"></a>

```
GET /behavior-model-training/summaries?maxResults=maxResults&nextToken=nextToken&securityProfileName=securityProfileName HTTP/1.1
```

## URI Request Parameters
<a name="API_GetBehaviorModelTrainingSummaries_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_GetBehaviorModelTrainingSummaries_RequestSyntax) **   <a name="iot-GetBehaviorModelTrainingSummaries-request-uri-maxResults"></a>
 The maximum number of results to return at one time. The default is 10.   
Valid Range: Minimum value of 1. Maximum value of 10.

 ** [nextToken](#API_GetBehaviorModelTrainingSummaries_RequestSyntax) **   <a name="iot-GetBehaviorModelTrainingSummaries-request-uri-nextToken"></a>
 The token for the next set of results. 

 ** [securityProfileName](#API_GetBehaviorModelTrainingSummaries_RequestSyntax) **   <a name="iot-GetBehaviorModelTrainingSummaries-request-uri-securityProfileName"></a>
 The name of the security profile.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Request Body
<a name="API_GetBehaviorModelTrainingSummaries_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetBehaviorModelTrainingSummaries_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "summaries": [ 
      { 
         "behaviorName": "string",
         "datapointsCollectionPercentage": number,
         "lastModelRefreshDate": number,
         "modelStatus": "string",
         "securityProfileName": "string",
         "trainingDataCollectionStartDate": number
      }
   ]
}
```

## Response Elements
<a name="API_GetBehaviorModelTrainingSummaries_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_GetBehaviorModelTrainingSummaries_ResponseSyntax) **   <a name="iot-GetBehaviorModelTrainingSummaries-response-nextToken"></a>
 A token that can be used to retrieve the next set of results, or `null` if there are no additional results.   
Type: String

 ** [summaries](#API_GetBehaviorModelTrainingSummaries_ResponseSyntax) **   <a name="iot-GetBehaviorModelTrainingSummaries-response-summaries"></a>
 A list of all ML Detect behaviors and their model status for a given Security Profile.   
Type: Array of [BehaviorModelTrainingSummary](API_BehaviorModelTrainingSummary.md) objects

## Errors
<a name="API_GetBehaviorModelTrainingSummaries_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_GetBehaviorModelTrainingSummaries_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetBehaviorModelTrainingSummaries) 

# GetBucketsAggregation
<a name="API_GetBucketsAggregation"></a>

Aggregates on indexed data with search queries pertaining to particular fields. 

Requires permission to access the [GetBucketsAggregation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetBucketsAggregation_RequestSyntax"></a>

```
POST /indices/buckets HTTP/1.1
Content-type: application/json

{
   "aggregationField": "string",
   "bucketsAggregationType": { 
      "termsAggregation": { 
         "maxBuckets": number
      }
   },
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string"
}
```

## URI Request Parameters
<a name="API_GetBucketsAggregation_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetBucketsAggregation_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [aggregationField](#API_GetBucketsAggregation_RequestSyntax) **   <a name="iot-GetBucketsAggregation-request-aggregationField"></a>
The aggregation field.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [bucketsAggregationType](#API_GetBucketsAggregation_RequestSyntax) **   <a name="iot-GetBucketsAggregation-request-bucketsAggregationType"></a>
The basic control of the response shape and the bucket aggregation type to perform.   
Type: [BucketsAggregationType](API_BucketsAggregationType.md) object  
Required: Yes

 ** [indexName](#API_GetBucketsAggregation_RequestSyntax) **   <a name="iot-GetBucketsAggregation-request-indexName"></a>
The name of the index to search.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [queryString](#API_GetBucketsAggregation_RequestSyntax) **   <a name="iot-GetBucketsAggregation-request-queryString"></a>
The search query string.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_GetBucketsAggregation_RequestSyntax) **   <a name="iot-GetBucketsAggregation-request-queryVersion"></a>
The version of the query.  
Type: String  
Required: No

## Response Syntax
<a name="API_GetBucketsAggregation_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "buckets": [ 
      { 
         "count": number,
         "keyValue": "string"
      }
   ],
   "totalCount": number
}
```

## Response Elements
<a name="API_GetBucketsAggregation_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [buckets](#API_GetBucketsAggregation_ResponseSyntax) **   <a name="iot-GetBucketsAggregation-response-buckets"></a>
The main part of the response with a list of buckets. Each bucket contains a `keyValue` and a `count`.  
 `keyValue`: The aggregation field value counted for the particular bucket.  
 `count`: The number of documents that have that value.  
Type: Array of [Bucket](API_Bucket.md) objects

 ** [totalCount](#API_GetBucketsAggregation_ResponseSyntax) **   <a name="iot-GetBucketsAggregation-response-totalCount"></a>
The total number of things that fit the query string criteria.  
Type: Integer

## Errors
<a name="API_GetBucketsAggregation_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidAggregationException **   
The aggregation is invalid.  
HTTP Status Code: 400

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetBucketsAggregation_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetBucketsAggregation) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetBucketsAggregation) 

# GetCardinality
<a name="API_GetCardinality"></a>

Returns the approximate count of unique values that match the query.

Requires permission to access the [GetCardinality](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetCardinality_RequestSyntax"></a>

```
POST /indices/cardinality HTTP/1.1
Content-type: application/json

{
   "aggregationField": "string",
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string"
}
```

## URI Request Parameters
<a name="API_GetCardinality_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetCardinality_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [aggregationField](#API_GetCardinality_RequestSyntax) **   <a name="iot-GetCardinality-request-aggregationField"></a>
The field to aggregate.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: No

 ** [indexName](#API_GetCardinality_RequestSyntax) **   <a name="iot-GetCardinality-request-indexName"></a>
The name of the index to search.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [queryString](#API_GetCardinality_RequestSyntax) **   <a name="iot-GetCardinality-request-queryString"></a>
The search query string.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_GetCardinality_RequestSyntax) **   <a name="iot-GetCardinality-request-queryVersion"></a>
The query version.  
Type: String  
Required: No

## Response Syntax
<a name="API_GetCardinality_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "cardinality": number
}
```

## Response Elements
<a name="API_GetCardinality_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [cardinality](#API_GetCardinality_ResponseSyntax) **   <a name="iot-GetCardinality-response-cardinality"></a>
The approximate count of unique values that match the query.  
Type: Integer

## Errors
<a name="API_GetCardinality_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidAggregationException **   
The aggregation is invalid.  
HTTP Status Code: 400

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetCardinality_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetCardinality) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetCardinality) 

# GetCommand
<a name="API_GetCommand"></a>

Gets information about the specified command.

## Request Syntax
<a name="API_GetCommand_RequestSyntax"></a>

```
GET /commands/commandId HTTP/1.1
```

## URI Request Parameters
<a name="API_GetCommand_RequestParameters"></a>

The request uses the following URI parameters.

 ** [commandId](#API_GetCommand_RequestSyntax) **   <a name="iot-GetCommand-request-uri-commandId"></a>
The unique identifier of the command for which you want to retrieve information.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_GetCommand_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetCommand_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "commandArn": "string",
   "commandId": "string",
   "createdAt": number,
   "deprecated": boolean,
   "description": "string",
   "displayName": "string",
   "lastUpdatedAt": number,
   "mandatoryParameters": [ 
      { 
         "defaultValue": { 
            "B": boolean,
            "BIN": blob,
            "D": number,
            "I": number,
            "L": number,
            "S": "string",
            "UL": "string"
         },
         "description": "string",
         "name": "string",
         "type": "string",
         "value": { 
            "B": boolean,
            "BIN": blob,
            "D": number,
            "I": number,
            "L": number,
            "S": "string",
            "UL": "string"
         },
         "valueConditions": [ 
            { 
               "comparisonOperator": "string",
               "operand": { 
                  "number": "string",
                  "numberRange": { 
                     "max": "string",
                     "min": "string"
                  },
                  "numbers": [ "string" ],
                  "string": "string",
                  "strings": [ "string" ]
               }
            }
         ]
      }
   ],
   "namespace": "string",
   "payload": { 
      "content": blob,
      "contentType": "string"
   },
   "payloadTemplate": "string",
   "pendingDeletion": boolean,
   "preprocessor": { 
      "awsJsonSubstitution": { 
         "outputFormat": "string"
      }
   },
   "roleArn": "string"
}
```

## Response Elements
<a name="API_GetCommand_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [commandArn](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-commandArn"></a>
The Amazon Resource Number (ARN) of the command. For example, `arn:aws:iot:<region>:<accountid>:command/<commandId>`   
Type: String

 ** [commandId](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-commandId"></a>
The unique identifier of the command.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [createdAt](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-createdAt"></a>
The timestamp, when the command was created.  
Type: Timestamp

 ** [deprecated](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-deprecated"></a>
Indicates whether the command has been deprecated.  
Type: Boolean

 ** [description](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-description"></a>
A short text description of the command.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]*` 

 ** [displayName](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-displayName"></a>
The user-friendly name in the console for the command.  
Type: String  
Length Constraints: Maximum length of 64.  
Pattern: `[^\p{C}]*` 

 ** [lastUpdatedAt](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-lastUpdatedAt"></a>
The timestamp, when the command was last updated.  
Type: Timestamp

 ** [mandatoryParameters](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-mandatoryParameters"></a>
A list of parameters for the command created.  
Type: Array of [CommandParameter](API_CommandParameter.md) objects  
Array Members: Minimum number of 1 item.

 ** [namespace](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-namespace"></a>
The namespace of the command.  
Type: String  
Valid Values: `AWS-IoT | AWS-IoT-FleetWise` 

 ** [payload](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-payload"></a>
The payload object that you provided for the command.  
Type: [CommandPayload](API_CommandPayload.md) object

 ** [payloadTemplate](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-payloadTemplate"></a>
The payload template for the dynamic command.  
Type: String  
Length Constraints: Maximum length of 32768.

 ** [pendingDeletion](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-pendingDeletion"></a>
Indicates whether the command is being deleted.  
Type: Boolean

 ** [preprocessor](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-preprocessor"></a>
Configuration that determines how `payloadTemplate` is processed to generate command execution payload.  
Type: [CommandPreprocessor](API_CommandPreprocessor.md) object

 ** [roleArn](#API_GetCommand_ResponseSyntax) **   <a name="iot-GetCommand-response-roleArn"></a>
The IAM role that you provided when creating the command with `AWS-IoT-FleetWise` as the namespace.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

## Errors
<a name="API_GetCommand_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_GetCommand_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetCommand) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetCommand) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetCommand) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetCommand) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetCommand) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetCommand) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetCommand) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetCommand) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetCommand) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetCommand) 

# GetCommandExecution
<a name="API_GetCommandExecution"></a>

Gets information about the specific command execution on a single device.

## Request Syntax
<a name="API_GetCommandExecution_RequestSyntax"></a>

```
GET /command-executions/executionId?includeResult=includeResult&targetArn=targetArn HTTP/1.1
```

## URI Request Parameters
<a name="API_GetCommandExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [executionId](#API_GetCommandExecution_RequestSyntax) **   <a name="iot-GetCommandExecution-request-uri-executionId"></a>
The unique identifier for the command execution. This information is returned as a response of the `StartCommandExecution` API request.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [includeResult](#API_GetCommandExecution_RequestSyntax) **   <a name="iot-GetCommandExecution-request-uri-includeResult"></a>
Can be used to specify whether to include the result of the command execution in the `GetCommandExecution` API response. Your device can use this field to provide additional information about the command execution. You only need to specify this field when using the `AWS-IoT` namespace.

 ** [targetArn](#API_GetCommandExecution_RequestSyntax) **   <a name="iot-GetCommandExecution-request-uri-targetArn"></a>
The Amazon Resource Number (ARN) of the device on which the command execution is being performed.  
Length Constraints: Maximum length of 2048.  
Required: Yes

## Request Body
<a name="API_GetCommandExecution_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetCommandExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "commandArn": "string",
   "completedAt": number,
   "createdAt": number,
   "executionId": "string",
   "executionTimeoutSeconds": number,
   "lastUpdatedAt": number,
   "parameters": { 
      "string" : { 
         "B": boolean,
         "BIN": blob,
         "D": number,
         "I": number,
         "L": number,
         "S": "string",
         "UL": "string"
      }
   },
   "result": { 
      "string" : { 
         "B": boolean,
         "BIN": blob,
         "S": "string"
      }
   },
   "startedAt": number,
   "status": "string",
   "statusReason": { 
      "reasonCode": "string",
      "reasonDescription": "string"
   },
   "targetArn": "string",
   "timeToLive": number
}
```

## Response Elements
<a name="API_GetCommandExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [commandArn](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-commandArn"></a>
The Amazon Resource Number (ARN) of the command. For example, ``arn:aws:iot:<region>:<accountid>:command/<commandId>  
Type: String

 ** [completedAt](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-completedAt"></a>
The timestamp, when the command execution was completed.  
Type: Timestamp

 ** [createdAt](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-createdAt"></a>
The timestamp, when the command execution was created.  
Type: Timestamp

 ** [executionId](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-executionId"></a>
The unique identifier of the command execution.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [executionTimeoutSeconds](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-executionTimeoutSeconds"></a>
Specifies the amount of time in seconds that the device can take to finish a command execution. A timer starts when the command execution is created. If the command execution status is not set to another terminal state before the timer expires, it will automatically update to `TIMED_OUT`.  
Type: Long  
Valid Range: Minimum value of 1.

 ** [lastUpdatedAt](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-lastUpdatedAt"></a>
The timestamp, when the command execution was last updated.  
Type: Timestamp

 ** [parameters](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-parameters"></a>
The list of parameters that the `StartCommandExecution` API used when performing the command on the device.  
Type: String to [CommandParameterValue](API_CommandParameterValue.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 192.  
Key Pattern: `^[.$a-zA-Z0-9_-]+$` 

 ** [result](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-result"></a>
The result value for the current state of the command execution. The status provides information about the progress of the command execution. The device can use the result field to share additional details about the execution such as a return value of a remote function call.  
If you use the `AWS-IoT-FleetWise` namespace, then this field is not applicable in the API response.
Type: String to [CommandExecutionResult](API_CommandExecutionResult.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 32.  
Key Pattern: `[a-zA-Z0-9_-]+` 

 ** [startedAt](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-startedAt"></a>
The timestamp, when the command execution was started.  
Type: Timestamp

 ** [status](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-status"></a>
The status of the command execution. After your devices receive the command and start performing the operations specified in the command, it can use the `UpdateCommandExecution` MQTT API to update the status information.  
Type: String  
Valid Values: `CREATED | IN_PROGRESS | SUCCEEDED | FAILED | REJECTED | TIMED_OUT` 

 ** [statusReason](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-statusReason"></a>
Your devices can use this parameter to provide additional context about the status of a command execution using a reason code and description.  
Type: [StatusReason](API_StatusReason.md) object

 ** [targetArn](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-targetArn"></a>
The Amazon Resource Number (ARN) of the device on which the command execution is being performed.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [timeToLive](#API_GetCommandExecution_ResponseSyntax) **   <a name="iot-GetCommandExecution-response-timeToLive"></a>
The time to live (TTL) parameter that indicates the duration for which executions will be retained in your account. The default value is six months.  
Type: Timestamp

## Errors
<a name="API_GetCommandExecution_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_GetCommandExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetCommandExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetCommandExecution) 

# GetEffectivePolicies
<a name="API_GetEffectivePolicies"></a>

Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the AWS IoT device gateway.

Requires permission to access the [GetEffectivePolicies](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetEffectivePolicies_RequestSyntax"></a>

```
POST /effective-policies?thingName=thingName HTTP/1.1
Content-type: application/json

{
   "cognitoIdentityPoolId": "string",
   "principal": "string"
}
```

## URI Request Parameters
<a name="API_GetEffectivePolicies_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_GetEffectivePolicies_RequestSyntax) **   <a name="iot-GetEffectivePolicies-request-uri-thingName"></a>
The thing name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Request Body
<a name="API_GetEffectivePolicies_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [cognitoIdentityPoolId](#API_GetEffectivePolicies_RequestSyntax) **   <a name="iot-GetEffectivePolicies-request-cognitoIdentityPoolId"></a>
The Cognito identity pool ID.  
Type: String  
Required: No

 ** [principal](#API_GetEffectivePolicies_RequestSyntax) **   <a name="iot-GetEffectivePolicies-request-principal"></a>
The principal. Valid principals are CertificateArn (arn:aws:iot:*region*:*accountId*:cert/*certificateId*), thingGroupArn (arn:aws:iot:*region*:*accountId*:thinggroup/*groupName*) and CognitoId (*region*:*id*).  
Type: String  
Required: No

## Response Syntax
<a name="API_GetEffectivePolicies_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "effectivePolicies": [ 
      { 
         "policyArn": "string",
         "policyDocument": "string",
         "policyName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_GetEffectivePolicies_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [effectivePolicies](#API_GetEffectivePolicies_ResponseSyntax) **   <a name="iot-GetEffectivePolicies-response-effectivePolicies"></a>
The effective policies.  
Type: Array of [EffectivePolicy](API_EffectivePolicy.md) objects

## Errors
<a name="API_GetEffectivePolicies_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetEffectivePolicies_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetEffectivePolicies) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetEffectivePolicies) 

# GetIndexingConfiguration
<a name="API_GetIndexingConfiguration"></a>

Gets the indexing configuration.

Requires permission to access the [GetIndexingConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetIndexingConfiguration_RequestSyntax"></a>

```
GET /indexing/config HTTP/1.1
```

## URI Request Parameters
<a name="API_GetIndexingConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetIndexingConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetIndexingConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "thingGroupIndexingConfiguration": { 
      "customFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "managedFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "thingGroupIndexingMode": "string"
   },
   "thingIndexingConfiguration": { 
      "customFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "deviceDefenderIndexingMode": "string",
      "filter": { 
         "geoLocations": [ 
            { 
               "name": "string",
               "order": "string"
            }
         ],
         "namedShadowNames": [ "string" ]
      },
      "managedFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "namedShadowIndexingMode": "string",
      "thingConnectivityIndexingMode": "string",
      "thingIndexingMode": "string"
   }
}
```

## Response Elements
<a name="API_GetIndexingConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [thingGroupIndexingConfiguration](#API_GetIndexingConfiguration_ResponseSyntax) **   <a name="iot-GetIndexingConfiguration-response-thingGroupIndexingConfiguration"></a>
The index configuration.  
Type: [ThingGroupIndexingConfiguration](API_ThingGroupIndexingConfiguration.md) object

 ** [thingIndexingConfiguration](#API_GetIndexingConfiguration_ResponseSyntax) **   <a name="iot-GetIndexingConfiguration-response-thingIndexingConfiguration"></a>
Thing indexing configuration.  
Type: [ThingIndexingConfiguration](API_ThingIndexingConfiguration.md) object

## Errors
<a name="API_GetIndexingConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetIndexingConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetIndexingConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetIndexingConfiguration) 

# GetJobDocument
<a name="API_GetJobDocument"></a>

Gets a job document.

Requires permission to access the [GetJobDocument](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetJobDocument_RequestSyntax"></a>

```
GET /jobs/jobId/job-document?beforeSubstitution=beforeSubstitution HTTP/1.1
```

## URI Request Parameters
<a name="API_GetJobDocument_RequestParameters"></a>

The request uses the following URI parameters.

 ** [beforeSubstitution](#API_GetJobDocument_RequestSyntax) **   <a name="iot-GetJobDocument-request-uri-beforeSubstitution"></a>
Provides a view of the job document before and after the substitution parameters have been resolved with their exact values.

 ** [jobId](#API_GetJobDocument_RequestSyntax) **   <a name="iot-GetJobDocument-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_GetJobDocument_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetJobDocument_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "document": "string"
}
```

## Response Elements
<a name="API_GetJobDocument_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [document](#API_GetJobDocument_ResponseSyntax) **   <a name="iot-GetJobDocument-response-document"></a>
The job document content.  
Type: String  
Length Constraints: Maximum length of 32768.

## Errors
<a name="API_GetJobDocument_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_GetJobDocument_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetJobDocument) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetJobDocument) 

# GetLoggingOptions
<a name="API_GetLoggingOptions"></a>

Gets the logging options.

NOTE: use of this command is not recommended. Use `GetV2LoggingOptions` instead.

Requires permission to access the [GetLoggingOptions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetLoggingOptions_RequestSyntax"></a>

```
GET /loggingOptions HTTP/1.1
```

## URI Request Parameters
<a name="API_GetLoggingOptions_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetLoggingOptions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetLoggingOptions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "logLevel": "string",
   "roleArn": "string"
}
```

## Response Elements
<a name="API_GetLoggingOptions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [logLevel](#API_GetLoggingOptions_ResponseSyntax) **   <a name="iot-GetLoggingOptions-response-logLevel"></a>
The logging level.  
Type: String  
Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED` 

 ** [roleArn](#API_GetLoggingOptions_ResponseSyntax) **   <a name="iot-GetLoggingOptions-response-roleArn"></a>
The ARN of the IAM role that grants access.  
Type: String

## Errors
<a name="API_GetLoggingOptions_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_GetLoggingOptions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetLoggingOptions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetLoggingOptions) 

# GetOTAUpdate
<a name="API_GetOTAUpdate"></a>

Gets an OTA update.

Requires permission to access the [GetOTAUpdate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetOTAUpdate_RequestSyntax"></a>

```
GET /otaUpdates/otaUpdateId HTTP/1.1
```

## URI Request Parameters
<a name="API_GetOTAUpdate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [otaUpdateId](#API_GetOTAUpdate_RequestSyntax) **   <a name="iot-GetOTAUpdate-request-uri-otaUpdateId"></a>
The OTA update ID.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_GetOTAUpdate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetOTAUpdate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "otaUpdateInfo": { 
      "additionalParameters": { 
         "string" : "string" 
      },
      "awsIotJobArn": "string",
      "awsIotJobId": "string",
      "awsJobExecutionsRolloutConfig": { 
         "exponentialRate": { 
            "baseRatePerMinute": number,
            "incrementFactor": number,
            "rateIncreaseCriteria": { 
               "numberOfNotifiedThings": number,
               "numberOfSucceededThings": number
            }
         },
         "maximumPerMinute": number
      },
      "awsJobPresignedUrlConfig": { 
         "expiresInSec": number
      },
      "creationDate": number,
      "description": "string",
      "errorInfo": { 
         "code": "string",
         "message": "string"
      },
      "lastModifiedDate": number,
      "otaUpdateArn": "string",
      "otaUpdateFiles": [ 
         { 
            "attributes": { 
               "string" : "string" 
            },
            "codeSigning": { 
               "awsSignerJobId": "string",
               "customCodeSigning": { 
                  "certificateChain": { 
                     "certificateName": "string",
                     "inlineDocument": "string"
                  },
                  "hashAlgorithm": "string",
                  "signature": { 
                     "inlineDocument": blob
                  },
                  "signatureAlgorithm": "string"
               },
               "startSigningJobParameter": { 
                  "destination": { 
                     "s3Destination": { 
                        "bucket": "string",
                        "prefix": "string"
                     }
                  },
                  "signingProfileName": "string",
                  "signingProfileParameter": { 
                     "certificateArn": "string",
                     "certificatePathOnDevice": "string",
                     "platform": "string"
                  }
               }
            },
            "fileLocation": { 
               "s3Location": { 
                  "bucket": "string",
                  "key": "string",
                  "version": "string"
               },
               "stream": { 
                  "fileId": number,
                  "streamId": "string"
               }
            },
            "fileName": "string",
            "fileType": number,
            "fileVersion": "string"
         }
      ],
      "otaUpdateId": "string",
      "otaUpdateStatus": "string",
      "protocols": [ "string" ],
      "targets": [ "string" ],
      "targetSelection": "string"
   }
}
```

## Response Elements
<a name="API_GetOTAUpdate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [otaUpdateInfo](#API_GetOTAUpdate_ResponseSyntax) **   <a name="iot-GetOTAUpdate-response-otaUpdateInfo"></a>
The OTA update info.  
Type: [OTAUpdateInfo](API_OTAUpdateInfo.md) object

## Errors
<a name="API_GetOTAUpdate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetOTAUpdate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetOTAUpdate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetOTAUpdate) 

# GetPackage
<a name="API_GetPackage"></a>

Gets information about the specified software package.

Requires permission to access the [GetPackage](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetPackage_RequestSyntax"></a>

```
GET /packages/packageName HTTP/1.1
```

## URI Request Parameters
<a name="API_GetPackage_RequestParameters"></a>

The request uses the following URI parameters.

 ** [packageName](#API_GetPackage_RequestSyntax) **   <a name="iot-GetPackage-request-uri-packageName"></a>
The name of the target software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_GetPackage_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetPackage_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "defaultVersionName": "string",
   "description": "string",
   "lastModifiedDate": number,
   "packageArn": "string",
   "packageName": "string"
}
```

## Response Elements
<a name="API_GetPackage_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_GetPackage_ResponseSyntax) **   <a name="iot-GetPackage-response-creationDate"></a>
The date the package was created.  
Type: Timestamp

 ** [defaultVersionName](#API_GetPackage_ResponseSyntax) **   <a name="iot-GetPackage-response-defaultVersionName"></a>
The name of the default package version.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+` 

 ** [description](#API_GetPackage_ResponseSyntax) **   <a name="iot-GetPackage-response-description"></a>
The package description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+` 

 ** [lastModifiedDate](#API_GetPackage_ResponseSyntax) **   <a name="iot-GetPackage-response-lastModifiedDate"></a>
The date when the package was last updated.  
Type: Timestamp

 ** [packageArn](#API_GetPackage_ResponseSyntax) **   <a name="iot-GetPackage-response-packageArn"></a>
The ARN for the package.  
Type: String

 ** [packageName](#API_GetPackage_ResponseSyntax) **   <a name="iot-GetPackage-response-packageName"></a>
The name of the software package.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+` 

## Errors
<a name="API_GetPackage_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_GetPackage_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetPackage) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetPackage) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetPackage) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetPackage) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetPackage) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetPackage) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetPackage) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetPackage) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetPackage) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetPackage) 

# GetPackageConfiguration
<a name="API_GetPackageConfiguration"></a>

Gets information about the specified software package's configuration.

Requires permission to access the [GetPackageConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetPackageConfiguration_RequestSyntax"></a>

```
GET /package-configuration HTTP/1.1
```

## URI Request Parameters
<a name="API_GetPackageConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetPackageConfiguration_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetPackageConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "versionUpdateByJobsConfig": { 
      "enabled": boolean,
      "roleArn": "string"
   }
}
```

## Response Elements
<a name="API_GetPackageConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [versionUpdateByJobsConfig](#API_GetPackageConfiguration_ResponseSyntax) **   <a name="iot-GetPackageConfiguration-response-versionUpdateByJobsConfig"></a>
The version that is associated to a specific job.  
Type: [VersionUpdateByJobsConfig](API_VersionUpdateByJobsConfig.md) object

## Errors
<a name="API_GetPackageConfiguration_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_GetPackageConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetPackageConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetPackageConfiguration) 

# GetPackageVersion
<a name="API_GetPackageVersion"></a>

Gets information about the specified package version. 

Requires permission to access the [GetPackageVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetPackageVersion_RequestSyntax"></a>

```
GET /packages/packageName/versions/versionName HTTP/1.1
```

## URI Request Parameters
<a name="API_GetPackageVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [packageName](#API_GetPackageVersion_RequestSyntax) **   <a name="iot-GetPackageVersion-request-uri-packageName"></a>
The name of the associated package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [versionName](#API_GetPackageVersion_RequestSyntax) **   <a name="iot-GetPackageVersion-request-uri-versionName"></a>
The name of the target package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_GetPackageVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetPackageVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "artifact": { 
      "s3Location": { 
         "bucket": "string",
         "key": "string",
         "version": "string"
      }
   },
   "attributes": { 
      "string" : "string" 
   },
   "creationDate": number,
   "description": "string",
   "errorReason": "string",
   "lastModifiedDate": number,
   "packageName": "string",
   "packageVersionArn": "string",
   "recipe": "string",
   "sbom": { 
      "s3Location": { 
         "bucket": "string",
         "key": "string",
         "version": "string"
      }
   },
   "sbomValidationStatus": "string",
   "status": "string",
   "versionName": "string"
}
```

## Response Elements
<a name="API_GetPackageVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [artifact](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-artifact"></a>
The various components that make up a software package version.  
Type: [PackageVersionArtifact](API_PackageVersionArtifact.md) object

 ** [attributes](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-attributes"></a>
Metadata that were added to the package version that can be used to define a package version’s configuration.  
Type: String to string map  
Key Length Constraints: Minimum length of 1.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+` 

 ** [creationDate](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-creationDate"></a>
The date when the package version was created.  
Type: Timestamp

 ** [description](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-description"></a>
The package version description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+` 

 ** [errorReason](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-errorReason"></a>
Error reason for a package version failure during creation or update.  
Type: String

 ** [lastModifiedDate](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-lastModifiedDate"></a>
The date when the package version was last updated.  
Type: Timestamp

 ** [packageName](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-packageName"></a>
The name of the software package.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+` 

 ** [packageVersionArn](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-packageVersionArn"></a>
The ARN for the package version.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.  
Pattern: `^arn:[!-~]+$` 

 ** [recipe](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-recipe"></a>
The inline job document associated with a software package version used for a quick job deployment.  
Type: String  
Length Constraints: Maximum length of 3072.

 ** [sbom](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-sbom"></a>
The software bill of materials for a software package version.  
Type: [Sbom](API_Sbom.md) object

 ** [sbomValidationStatus](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-sbomValidationStatus"></a>
The status of the validation for a new software bill of materials added to a software package version.  
Type: String  
Valid Values: `IN_PROGRESS | FAILED | SUCCEEDED` 

 ** [status](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-status"></a>
The status associated to the package version. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).  
Type: String  
Valid Values: `DRAFT | PUBLISHED | DEPRECATED` 

 ** [versionName](#API_GetPackageVersion_ResponseSyntax) **   <a name="iot-GetPackageVersion-response-versionName"></a>
The name of the package version.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+` 

## Errors
<a name="API_GetPackageVersion_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_GetPackageVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetPackageVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetPackageVersion) 

# GetPercentiles
<a name="API_GetPercentiles"></a>

Groups the aggregated values that match the query into percentile groupings. The default percentile groupings are: 1,5,25,50,75,95,99, although you can specify your own when you call `GetPercentiles`. This function returns a value for each percentile group specified (or the default percentile groupings). The percentile group "1" contains the aggregated field value that occurs in approximately one percent of the values that match the query. The percentile group "5" contains the aggregated field value that occurs in approximately five percent of the values that match the query, and so on. The result is an approximation, the more values that match the query, the more accurate the percentile values.

Requires permission to access the [GetPercentiles](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetPercentiles_RequestSyntax"></a>

```
POST /indices/percentiles HTTP/1.1
Content-type: application/json

{
   "aggregationField": "string",
   "indexName": "string",
   "percents": [ number ],
   "queryString": "string",
   "queryVersion": "string"
}
```

## URI Request Parameters
<a name="API_GetPercentiles_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetPercentiles_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [aggregationField](#API_GetPercentiles_RequestSyntax) **   <a name="iot-GetPercentiles-request-aggregationField"></a>
The field to aggregate.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: No

 ** [indexName](#API_GetPercentiles_RequestSyntax) **   <a name="iot-GetPercentiles-request-indexName"></a>
The name of the index to search.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [percents](#API_GetPercentiles_RequestSyntax) **   <a name="iot-GetPercentiles-request-percents"></a>
The percentile groups returned.  
Type: Array of doubles  
Valid Range: Minimum value of 0. Maximum value of 100.  
Required: No

 ** [queryString](#API_GetPercentiles_RequestSyntax) **   <a name="iot-GetPercentiles-request-queryString"></a>
The search query string.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_GetPercentiles_RequestSyntax) **   <a name="iot-GetPercentiles-request-queryVersion"></a>
The query version.  
Type: String  
Required: No

## Response Syntax
<a name="API_GetPercentiles_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "percentiles": [ 
      { 
         "percent": number,
         "value": number
      }
   ]
}
```

## Response Elements
<a name="API_GetPercentiles_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [percentiles](#API_GetPercentiles_ResponseSyntax) **   <a name="iot-GetPercentiles-response-percentiles"></a>
The percentile values of the aggregated fields.  
Type: Array of [PercentPair](API_PercentPair.md) objects

## Errors
<a name="API_GetPercentiles_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidAggregationException **   
The aggregation is invalid.  
HTTP Status Code: 400

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetPercentiles_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetPercentiles) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetPercentiles) 

# GetPolicy
<a name="API_GetPolicy"></a>

Gets information about the specified policy with the policy document of the default version.

Requires permission to access the [GetPolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetPolicy_RequestSyntax"></a>

```
GET /policies/policyName HTTP/1.1
```

## URI Request Parameters
<a name="API_GetPolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_GetPolicy_RequestSyntax) **   <a name="iot-GetPolicy-request-uri-policyName"></a>
The name of the policy.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_GetPolicy_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "defaultVersionId": "string",
   "generationId": "string",
   "lastModifiedDate": number,
   "policyArn": "string",
   "policyDocument": "string",
   "policyName": "string"
}
```

## Response Elements
<a name="API_GetPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-creationDate"></a>
The date the policy was created.  
Type: Timestamp

 ** [defaultVersionId](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-defaultVersionId"></a>
The default policy version ID.  
Type: String  
Pattern: `[0-9]+` 

 ** [generationId](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-generationId"></a>
The generation ID of the policy.  
Type: String

 ** [lastModifiedDate](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-lastModifiedDate"></a>
The date the policy was last modified.  
Type: Timestamp

 ** [policyArn](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-policyArn"></a>
The policy ARN.  
Type: String

 ** [policyDocument](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-policyDocument"></a>
The JSON document that describes the policy.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*` 

 ** [policyName](#API_GetPolicy_ResponseSyntax) **   <a name="iot-GetPolicy-response-policyName"></a>
The policy name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+` 

## Errors
<a name="API_GetPolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetPolicy) 

# GetPolicyVersion
<a name="API_GetPolicyVersion"></a>

Gets information about the specified policy version.

Requires permission to access the [GetPolicyVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetPolicyVersion_RequestSyntax"></a>

```
GET /policies/policyName/version/policyVersionId HTTP/1.1
```

## URI Request Parameters
<a name="API_GetPolicyVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_GetPolicyVersion_RequestSyntax) **   <a name="iot-GetPolicyVersion-request-uri-policyName"></a>
The name of the policy.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

 ** [policyVersionId](#API_GetPolicyVersion_RequestSyntax) **   <a name="iot-GetPolicyVersion-request-uri-policyVersionId"></a>
The policy version ID.  
Pattern: `[0-9]+`   
Required: Yes

## Request Body
<a name="API_GetPolicyVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetPolicyVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "generationId": "string",
   "isDefaultVersion": boolean,
   "lastModifiedDate": number,
   "policyArn": "string",
   "policyDocument": "string",
   "policyName": "string",
   "policyVersionId": "string"
}
```

## Response Elements
<a name="API_GetPolicyVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-creationDate"></a>
The date the policy was created.  
Type: Timestamp

 ** [generationId](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-generationId"></a>
The generation ID of the policy version.  
Type: String

 ** [isDefaultVersion](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-isDefaultVersion"></a>
Specifies whether the policy version is the default.  
Type: Boolean

 ** [lastModifiedDate](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-lastModifiedDate"></a>
The date the policy was last modified.  
Type: Timestamp

 ** [policyArn](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-policyArn"></a>
The policy ARN.  
Type: String

 ** [policyDocument](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-policyDocument"></a>
The JSON document that describes the policy.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*` 

 ** [policyName](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-policyName"></a>
The policy name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+` 

 ** [policyVersionId](#API_GetPolicyVersion_ResponseSyntax) **   <a name="iot-GetPolicyVersion-response-policyVersionId"></a>
The policy version ID.  
Type: String  
Pattern: `[0-9]+` 

## Errors
<a name="API_GetPolicyVersion_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetPolicyVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetPolicyVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetPolicyVersion) 

# GetRegistrationCode
<a name="API_GetRegistrationCode"></a>

Gets a registration code used to register a CA certificate with AWS IoT.

 AWS IoT will create a registration code as part of this API call if the registration code doesn't exist or has been deleted. If you already have a registration code, this API call will return the same registration code.

Requires permission to access the [GetRegistrationCode](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetRegistrationCode_RequestSyntax"></a>

```
GET /registrationcode HTTP/1.1
```

## URI Request Parameters
<a name="API_GetRegistrationCode_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetRegistrationCode_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetRegistrationCode_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "registrationCode": "string"
}
```

## Response Elements
<a name="API_GetRegistrationCode_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [registrationCode](#API_GetRegistrationCode_ResponseSyntax) **   <a name="iot-GetRegistrationCode-response-registrationCode"></a>
The CA certificate registration code.  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

## Errors
<a name="API_GetRegistrationCode_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetRegistrationCode_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetRegistrationCode) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetRegistrationCode) 

# GetStatistics
<a name="API_GetStatistics"></a>

Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field. If the aggregation field is of type `String`, only the count statistic is returned.

Requires permission to access the [GetStatistics](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetStatistics_RequestSyntax"></a>

```
POST /indices/statistics HTTP/1.1
Content-type: application/json

{
   "aggregationField": "string",
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string"
}
```

## URI Request Parameters
<a name="API_GetStatistics_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_GetStatistics_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [aggregationField](#API_GetStatistics_RequestSyntax) **   <a name="iot-GetStatistics-request-aggregationField"></a>
The aggregation field name.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: No

 ** [indexName](#API_GetStatistics_RequestSyntax) **   <a name="iot-GetStatistics-request-indexName"></a>
The name of the index to search. The default value is `AWS_Things`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [queryString](#API_GetStatistics_RequestSyntax) **   <a name="iot-GetStatistics-request-queryString"></a>
The query used to search. You can specify "\$1" for the query string to get the count of all indexed things in your AWS account.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_GetStatistics_RequestSyntax) **   <a name="iot-GetStatistics-request-queryVersion"></a>
The version of the query used to search.  
Type: String  
Required: No

## Response Syntax
<a name="API_GetStatistics_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "statistics": { 
      "average": number,
      "count": number,
      "maximum": number,
      "minimum": number,
      "stdDeviation": number,
      "sum": number,
      "sumOfSquares": number,
      "variance": number
   }
}
```

## Response Elements
<a name="API_GetStatistics_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [statistics](#API_GetStatistics_ResponseSyntax) **   <a name="iot-GetStatistics-response-statistics"></a>
The statistics returned by the Fleet Indexing service based on the query and aggregation field.  
Type: [Statistics](API_Statistics.md) object

## Errors
<a name="API_GetStatistics_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidAggregationException **   
The aggregation is invalid.  
HTTP Status Code: 400

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetStatistics_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetStatistics) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetStatistics) 

# GetThingConnectivityData
<a name="API_GetThingConnectivityData"></a>

Retrieves the live connectivity status per device.

## Request Syntax
<a name="API_GetThingConnectivityData_RequestSyntax"></a>

```
POST /things/thingName/connectivity-data HTTP/1.1
```

## URI Request Parameters
<a name="API_GetThingConnectivityData_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_GetThingConnectivityData_RequestSyntax) **   <a name="iot-GetThingConnectivityData-request-uri-thingName"></a>
The name of your IoT thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_GetThingConnectivityData_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetThingConnectivityData_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "connected": boolean,
   "disconnectReason": "string",
   "thingName": "string",
   "timestamp": number
}
```

## Response Elements
<a name="API_GetThingConnectivityData_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [connected](#API_GetThingConnectivityData_ResponseSyntax) **   <a name="iot-GetThingConnectivityData-response-connected"></a>
A Boolean that indicates the connectivity status.  
Type: Boolean

 ** [disconnectReason](#API_GetThingConnectivityData_ResponseSyntax) **   <a name="iot-GetThingConnectivityData-response-disconnectReason"></a>
The reason why the client is disconnecting.  
Type: String  
Valid Values: `AUTH_ERROR | CLIENT_INITIATED_DISCONNECT | CLIENT_ERROR | CONNECTION_LOST | DUPLICATE_CLIENTID | FORBIDDEN_ACCESS | MQTT_KEEP_ALIVE_TIMEOUT | SERVER_ERROR | SERVER_INITIATED_DISCONNECT | THROTTLED | WEBSOCKET_TTL_EXPIRATION | CUSTOMAUTH_TTL_EXPIRATION | UNKNOWN | NONE` 

 ** [thingName](#API_GetThingConnectivityData_ResponseSyntax) **   <a name="iot-GetThingConnectivityData-response-thingName"></a>
The name of your IoT thing.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [timestamp](#API_GetThingConnectivityData_ResponseSyntax) **   <a name="iot-GetThingConnectivityData-response-timestamp"></a>
The timestamp of when the event occurred.  
Type: Timestamp

## Errors
<a name="API_GetThingConnectivityData_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetThingConnectivityData_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetThingConnectivityData) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetThingConnectivityData) 

# GetTopicRule
<a name="API_GetTopicRule"></a>

Gets information about the rule.

Requires permission to access the [GetTopicRule](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetTopicRule_RequestSyntax"></a>

```
GET /rules/ruleName HTTP/1.1
```

## URI Request Parameters
<a name="API_GetTopicRule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ruleName](#API_GetTopicRule_RequestSyntax) **   <a name="iot-GetTopicRule-request-uri-ruleName"></a>
The name of the rule.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[a-zA-Z0-9_]+$`   
Required: Yes

## Request Body
<a name="API_GetTopicRule_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetTopicRule_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "rule": { 
      "actions": [ 
         { 
            "cloudwatchAlarm": { 
               "alarmName": "string",
               "roleArn": "string",
               "stateReason": "string",
               "stateValue": "string"
            },
            "cloudwatchLogs": { 
               "batchMode": boolean,
               "logGroupName": "string",
               "roleArn": "string"
            },
            "cloudwatchMetric": { 
               "metricName": "string",
               "metricNamespace": "string",
               "metricTimestamp": "string",
               "metricUnit": "string",
               "metricValue": "string",
               "roleArn": "string"
            },
            "dynamoDB": { 
               "hashKeyField": "string",
               "hashKeyType": "string",
               "hashKeyValue": "string",
               "operation": "string",
               "payloadField": "string",
               "rangeKeyField": "string",
               "rangeKeyType": "string",
               "rangeKeyValue": "string",
               "roleArn": "string",
               "tableName": "string"
            },
            "dynamoDBv2": { 
               "putItem": { 
                  "tableName": "string"
               },
               "roleArn": "string"
            },
            "elasticsearch": { 
               "endpoint": "string",
               "id": "string",
               "index": "string",
               "roleArn": "string",
               "type": "string"
            },
            "firehose": { 
               "batchMode": boolean,
               "deliveryStreamName": "string",
               "roleArn": "string",
               "separator": "string"
            },
            "http": { 
               "auth": { 
                  "sigv4": { 
                     "roleArn": "string",
                     "serviceName": "string",
                     "signingRegion": "string"
                  }
               },
               "batchConfig": { 
                  "maxBatchOpenMs": number,
                  "maxBatchSize": number,
                  "maxBatchSizeBytes": number
               },
               "confirmationUrl": "string",
               "enableBatching": boolean,
               "headers": [ 
                  { 
                     "key": "string",
                     "value": "string"
                  }
               ],
               "url": "string"
            },
            "iotAnalytics": { 
               "batchMode": boolean,
               "channelArn": "string",
               "channelName": "string",
               "roleArn": "string"
            },
            "iotEvents": { 
               "batchMode": boolean,
               "inputName": "string",
               "messageId": "string",
               "roleArn": "string"
            },
            "iotSiteWise": { 
               "putAssetPropertyValueEntries": [ 
                  { 
                     "assetId": "string",
                     "entryId": "string",
                     "propertyAlias": "string",
                     "propertyId": "string",
                     "propertyValues": [ 
                        { 
                           "quality": "string",
                           "timestamp": { 
                              "offsetInNanos": "string",
                              "timeInSeconds": "string"
                           },
                           "value": { 
                              "booleanValue": "string",
                              "doubleValue": "string",
                              "integerValue": "string",
                              "stringValue": "string"
                           }
                        }
                     ]
                  }
               ],
               "roleArn": "string"
            },
            "kafka": { 
               "clientProperties": { 
                  "string" : "string" 
               },
               "destinationArn": "string",
               "headers": [ 
                  { 
                     "key": "string",
                     "value": "string"
                  }
               ],
               "key": "string",
               "partition": "string",
               "topic": "string"
            },
            "kinesis": { 
               "partitionKey": "string",
               "roleArn": "string",
               "streamName": "string"
            },
            "lambda": { 
               "functionArn": "string"
            },
            "location": { 
               "deviceId": "string",
               "latitude": "string",
               "longitude": "string",
               "roleArn": "string",
               "timestamp": { 
                  "unit": "string",
                  "value": "string"
               },
               "trackerName": "string"
            },
            "openSearch": { 
               "endpoint": "string",
               "id": "string",
               "index": "string",
               "roleArn": "string",
               "type": "string"
            },
            "republish": { 
               "headers": { 
                  "contentType": "string",
                  "correlationData": "string",
                  "messageExpiry": "string",
                  "payloadFormatIndicator": "string",
                  "responseTopic": "string",
                  "userProperties": [ 
                     { 
                        "key": "string",
                        "value": "string"
                     }
                  ]
               },
               "qos": number,
               "roleArn": "string",
               "topic": "string"
            },
            "s3": { 
               "bucketName": "string",
               "cannedAcl": "string",
               "key": "string",
               "roleArn": "string"
            },
            "salesforce": { 
               "token": "string",
               "url": "string"
            },
            "sns": { 
               "messageFormat": "string",
               "roleArn": "string",
               "targetArn": "string"
            },
            "sqs": { 
               "queueUrl": "string",
               "roleArn": "string",
               "useBase64": boolean
            },
            "stepFunctions": { 
               "executionNamePrefix": "string",
               "roleArn": "string",
               "stateMachineName": "string"
            },
            "timestream": { 
               "databaseName": "string",
               "dimensions": [ 
                  { 
                     "name": "string",
                     "value": "string"
                  }
               ],
               "roleArn": "string",
               "tableName": "string",
               "timestamp": { 
                  "unit": "string",
                  "value": "string"
               }
            }
         }
      ],
      "awsIotSqlVersion": "string",
      "createdAt": number,
      "description": "string",
      "errorAction": { 
         "cloudwatchAlarm": { 
            "alarmName": "string",
            "roleArn": "string",
            "stateReason": "string",
            "stateValue": "string"
         },
         "cloudwatchLogs": { 
            "batchMode": boolean,
            "logGroupName": "string",
            "roleArn": "string"
         },
         "cloudwatchMetric": { 
            "metricName": "string",
            "metricNamespace": "string",
            "metricTimestamp": "string",
            "metricUnit": "string",
            "metricValue": "string",
            "roleArn": "string"
         },
         "dynamoDB": { 
            "hashKeyField": "string",
            "hashKeyType": "string",
            "hashKeyValue": "string",
            "operation": "string",
            "payloadField": "string",
            "rangeKeyField": "string",
            "rangeKeyType": "string",
            "rangeKeyValue": "string",
            "roleArn": "string",
            "tableName": "string"
         },
         "dynamoDBv2": { 
            "putItem": { 
               "tableName": "string"
            },
            "roleArn": "string"
         },
         "elasticsearch": { 
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "roleArn": "string",
            "type": "string"
         },
         "firehose": { 
            "batchMode": boolean,
            "deliveryStreamName": "string",
            "roleArn": "string",
            "separator": "string"
         },
         "http": { 
            "auth": { 
               "sigv4": { 
                  "roleArn": "string",
                  "serviceName": "string",
                  "signingRegion": "string"
               }
            },
            "batchConfig": { 
               "maxBatchOpenMs": number,
               "maxBatchSize": number,
               "maxBatchSizeBytes": number
            },
            "confirmationUrl": "string",
            "enableBatching": boolean,
            "headers": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ],
            "url": "string"
         },
         "iotAnalytics": { 
            "batchMode": boolean,
            "channelArn": "string",
            "channelName": "string",
            "roleArn": "string"
         },
         "iotEvents": { 
            "batchMode": boolean,
            "inputName": "string",
            "messageId": "string",
            "roleArn": "string"
         },
         "iotSiteWise": { 
            "putAssetPropertyValueEntries": [ 
               { 
                  "assetId": "string",
                  "entryId": "string",
                  "propertyAlias": "string",
                  "propertyId": "string",
                  "propertyValues": [ 
                     { 
                        "quality": "string",
                        "timestamp": { 
                           "offsetInNanos": "string",
                           "timeInSeconds": "string"
                        },
                        "value": { 
                           "booleanValue": "string",
                           "doubleValue": "string",
                           "integerValue": "string",
                           "stringValue": "string"
                        }
                     }
                  ]
               }
            ],
            "roleArn": "string"
         },
         "kafka": { 
            "clientProperties": { 
               "string" : "string" 
            },
            "destinationArn": "string",
            "headers": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ],
            "key": "string",
            "partition": "string",
            "topic": "string"
         },
         "kinesis": { 
            "partitionKey": "string",
            "roleArn": "string",
            "streamName": "string"
         },
         "lambda": { 
            "functionArn": "string"
         },
         "location": { 
            "deviceId": "string",
            "latitude": "string",
            "longitude": "string",
            "roleArn": "string",
            "timestamp": { 
               "unit": "string",
               "value": "string"
            },
            "trackerName": "string"
         },
         "openSearch": { 
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "roleArn": "string",
            "type": "string"
         },
         "republish": { 
            "headers": { 
               "contentType": "string",
               "correlationData": "string",
               "messageExpiry": "string",
               "payloadFormatIndicator": "string",
               "responseTopic": "string",
               "userProperties": [ 
                  { 
                     "key": "string",
                     "value": "string"
                  }
               ]
            },
            "qos": number,
            "roleArn": "string",
            "topic": "string"
         },
         "s3": { 
            "bucketName": "string",
            "cannedAcl": "string",
            "key": "string",
            "roleArn": "string"
         },
         "salesforce": { 
            "token": "string",
            "url": "string"
         },
         "sns": { 
            "messageFormat": "string",
            "roleArn": "string",
            "targetArn": "string"
         },
         "sqs": { 
            "queueUrl": "string",
            "roleArn": "string",
            "useBase64": boolean
         },
         "stepFunctions": { 
            "executionNamePrefix": "string",
            "roleArn": "string",
            "stateMachineName": "string"
         },
         "timestream": { 
            "databaseName": "string",
            "dimensions": [ 
               { 
                  "name": "string",
                  "value": "string"
               }
            ],
            "roleArn": "string",
            "tableName": "string",
            "timestamp": { 
               "unit": "string",
               "value": "string"
            }
         }
      },
      "ruleDisabled": boolean,
      "ruleName": "string",
      "sql": "string"
   },
   "ruleArn": "string"
}
```

## Response Elements
<a name="API_GetTopicRule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [rule](#API_GetTopicRule_ResponseSyntax) **   <a name="iot-GetTopicRule-response-rule"></a>
The rule.  
Type: [TopicRule](API_TopicRule.md) object

 ** [ruleArn](#API_GetTopicRule_ResponseSyntax) **   <a name="iot-GetTopicRule-response-ruleArn"></a>
The rule ARN.  
Type: String

## Errors
<a name="API_GetTopicRule_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetTopicRule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetTopicRule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetTopicRule) 

# GetTopicRuleDestination
<a name="API_GetTopicRuleDestination"></a>

Gets information about a topic rule destination.

Requires permission to access the [GetTopicRuleDestination](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetTopicRuleDestination_RequestSyntax"></a>

```
GET /destinations/arn+ HTTP/1.1
```

## URI Request Parameters
<a name="API_GetTopicRuleDestination_RequestParameters"></a>

The request uses the following URI parameters.

 ** [arn](#API_GetTopicRuleDestination_RequestSyntax) **   <a name="iot-GetTopicRuleDestination-request-uri-arn"></a>
The ARN of the topic rule destination.  
Required: Yes

## Request Body
<a name="API_GetTopicRuleDestination_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetTopicRuleDestination_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "topicRuleDestination": { 
      "arn": "string",
      "createdAt": number,
      "httpUrlProperties": { 
         "confirmationUrl": "string"
      },
      "lastUpdatedAt": number,
      "status": "string",
      "statusReason": "string",
      "vpcProperties": { 
         "roleArn": "string",
         "securityGroups": [ "string" ],
         "subnetIds": [ "string" ],
         "vpcId": "string"
      }
   }
}
```

## Response Elements
<a name="API_GetTopicRuleDestination_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [topicRuleDestination](#API_GetTopicRuleDestination_ResponseSyntax) **   <a name="iot-GetTopicRuleDestination-response-topicRuleDestination"></a>
The topic rule destination.  
Type: [TopicRuleDestination](API_TopicRuleDestination.md) object

## Errors
<a name="API_GetTopicRuleDestination_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_GetTopicRuleDestination_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetTopicRuleDestination) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetTopicRuleDestination) 

# GetV2LoggingOptions
<a name="API_GetV2LoggingOptions"></a>

Gets the fine grained logging options.

Requires permission to access the [GetV2LoggingOptions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_GetV2LoggingOptions_RequestSyntax"></a>

```
GET /v2LoggingOptions?verbose=verbose HTTP/1.1
```

## URI Request Parameters
<a name="API_GetV2LoggingOptions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [verbose](#API_GetV2LoggingOptions_RequestSyntax) **   <a name="iot-GetV2LoggingOptions-request-uri-verbose"></a>
 The flag is used to get all the event types and their respective configuration that event-based logging supports. 

## Request Body
<a name="API_GetV2LoggingOptions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_GetV2LoggingOptions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "defaultLogLevel": "string",
   "disableAllLogs": boolean,
   "eventConfigurations": [ 
      { 
         "eventType": "string",
         "logDestination": "string",
         "logLevel": "string"
      }
   ],
   "roleArn": "string"
}
```

## Response Elements
<a name="API_GetV2LoggingOptions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [defaultLogLevel](#API_GetV2LoggingOptions_ResponseSyntax) **   <a name="iot-GetV2LoggingOptions-response-defaultLogLevel"></a>
The default log level.  
Type: String  
Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED` 

 ** [disableAllLogs](#API_GetV2LoggingOptions_ResponseSyntax) **   <a name="iot-GetV2LoggingOptions-response-disableAllLogs"></a>
Disables all logs.  
Type: Boolean

 ** [eventConfigurations](#API_GetV2LoggingOptions_ResponseSyntax) **   <a name="iot-GetV2LoggingOptions-response-eventConfigurations"></a>
 The list of event configurations that override account-level logging.   
Type: Array of [LogEventConfiguration](API_LogEventConfiguration.md) objects

 ** [roleArn](#API_GetV2LoggingOptions_ResponseSyntax) **   <a name="iot-GetV2LoggingOptions-response-roleArn"></a>
The IAM role ARN AWS IoT uses to write to your CloudWatch logs.  
Type: String

## Errors
<a name="API_GetV2LoggingOptions_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** NotConfiguredException **   
The resource is not configured.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_GetV2LoggingOptions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/GetV2LoggingOptions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/GetV2LoggingOptions) 

# ListActiveViolations
<a name="API_ListActiveViolations"></a>

Lists the active violations for a given Device Defender security profile.

Requires permission to access the [ListActiveViolations](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListActiveViolations_RequestSyntax"></a>

```
GET /active-violations?behaviorCriteriaType=behaviorCriteriaType&listSuppressedAlerts=listSuppressedAlerts&maxResults=maxResults&nextToken=nextToken&securityProfileName=securityProfileName&thingName=thingName&verificationState=verificationState HTTP/1.1
```

## URI Request Parameters
<a name="API_ListActiveViolations_RequestParameters"></a>

The request uses the following URI parameters.

 ** [behaviorCriteriaType](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-behaviorCriteriaType"></a>
 The criteria for a behavior.   
Valid Values: `STATIC | STATISTICAL | MACHINE_LEARNING` 

 ** [listSuppressedAlerts](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-listSuppressedAlerts"></a>
 A list of all suppressed alerts. 

 ** [maxResults](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-nextToken"></a>
The token for the next set of results.

 ** [securityProfileName](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-securityProfileName"></a>
The name of the Device Defender security profile for which violations are listed.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [thingName](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-thingName"></a>
The name of the thing whose active violations are listed.  
Length Constraints: Minimum length of 1. Maximum length of 128.

 ** [verificationState](#API_ListActiveViolations_RequestSyntax) **   <a name="iot-ListActiveViolations-request-uri-verificationState"></a>
The verification state of the violation (detect alarm).  
Valid Values: `FALSE_POSITIVE | BENIGN_POSITIVE | TRUE_POSITIVE | UNKNOWN` 

## Request Body
<a name="API_ListActiveViolations_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListActiveViolations_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "activeViolations": [ 
      { 
         "behavior": { 
            "criteria": { 
               "comparisonOperator": "string",
               "consecutiveDatapointsToAlarm": number,
               "consecutiveDatapointsToClear": number,
               "durationSeconds": number,
               "mlDetectionConfig": { 
                  "confidenceLevel": "string"
               },
               "statisticalThreshold": { 
                  "statistic": "string"
               },
               "value": { 
                  "cidrs": [ "string" ],
                  "count": number,
                  "number": number,
                  "numbers": [ number ],
                  "ports": [ number ],
                  "strings": [ "string" ]
               }
            },
            "exportMetric": boolean,
            "metric": "string",
            "metricDimension": { 
               "dimensionName": "string",
               "operator": "string"
            },
            "name": "string",
            "suppressAlerts": boolean
         },
         "lastViolationTime": number,
         "lastViolationValue": { 
            "cidrs": [ "string" ],
            "count": number,
            "number": number,
            "numbers": [ number ],
            "ports": [ number ],
            "strings": [ "string" ]
         },
         "securityProfileName": "string",
         "thingName": "string",
         "verificationState": "string",
         "verificationStateDescription": "string",
         "violationEventAdditionalInfo": { 
            "confidenceLevel": "string"
         },
         "violationId": "string",
         "violationStartTime": number
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListActiveViolations_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [activeViolations](#API_ListActiveViolations_ResponseSyntax) **   <a name="iot-ListActiveViolations-response-activeViolations"></a>
The list of active violations.  
Type: Array of [ActiveViolation](API_ActiveViolation.md) objects

 ** [nextToken](#API_ListActiveViolations_ResponseSyntax) **   <a name="iot-ListActiveViolations-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListActiveViolations_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListActiveViolations_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListActiveViolations) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListActiveViolations) 

# ListAttachedPolicies
<a name="API_ListAttachedPolicies"></a>

Lists the policies attached to the specified thing group.

Requires permission to access the [ListAttachedPolicies](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAttachedPolicies_RequestSyntax"></a>

```
POST /attached-policies/target?marker=marker&pageSize=pageSize&recursive=recursive HTTP/1.1
```

## URI Request Parameters
<a name="API_ListAttachedPolicies_RequestParameters"></a>

The request uses the following URI parameters.

 ** [marker](#API_ListAttachedPolicies_RequestSyntax) **   <a name="iot-ListAttachedPolicies-request-uri-marker"></a>
The token to retrieve the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListAttachedPolicies_RequestSyntax) **   <a name="iot-ListAttachedPolicies-request-uri-pageSize"></a>
The maximum number of results to be returned per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [recursive](#API_ListAttachedPolicies_RequestSyntax) **   <a name="iot-ListAttachedPolicies-request-uri-recursive"></a>
When true, recursively list attached policies.

 ** [target](#API_ListAttachedPolicies_RequestSyntax) **   <a name="iot-ListAttachedPolicies-request-uri-target"></a>
The group or principal for which the policies will be listed. Valid principals are CertificateArn (arn:aws:iot:*region*:*accountId*:cert/*certificateId*), thingGroupArn (arn:aws:iot:*region*:*accountId*:thinggroup/*groupName*) and CognitoId (*region*:*id*).  
Required: Yes

## Request Body
<a name="API_ListAttachedPolicies_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListAttachedPolicies_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "policies": [ 
      { 
         "policyArn": "string",
         "policyName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListAttachedPolicies_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListAttachedPolicies_ResponseSyntax) **   <a name="iot-ListAttachedPolicies-response-nextMarker"></a>
The token to retrieve the next set of results, or ``null`` if there are no more results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [policies](#API_ListAttachedPolicies_ResponseSyntax) **   <a name="iot-ListAttachedPolicies-response-policies"></a>
The policies.  
Type: Array of [Policy](API_Policy.md) objects

## Errors
<a name="API_ListAttachedPolicies_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListAttachedPolicies_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAttachedPolicies) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAttachedPolicies) 

# ListAuditFindings
<a name="API_ListAuditFindings"></a>

Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period. (Findings are retained for 90 days.)

Requires permission to access the [ListAuditFindings](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAuditFindings_RequestSyntax"></a>

```
POST /audit/findings HTTP/1.1
Content-type: application/json

{
   "checkName": "string",
   "endTime": number,
   "listSuppressedFindings": boolean,
   "maxResults": number,
   "nextToken": "string",
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   },
   "startTime": number,
   "taskId": "string"
}
```

## URI Request Parameters
<a name="API_ListAuditFindings_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_ListAuditFindings_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [checkName](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-checkName"></a>
A filter to limit results to the findings for the specified audit check.  
Type: String  
Required: No

 ** [endTime](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-endTime"></a>
A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.  
Type: Timestamp  
Required: No

 ** [listSuppressedFindings](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-listSuppressedFindings"></a>
 Boolean flag indicating whether only the suppressed findings or the unsuppressed findings should be listed. If this parameter isn't provided, the response will list both suppressed and unsuppressed findings.   
Type: Boolean  
Required: No

 ** [maxResults](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 250.  
Required: No

 ** [nextToken](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-nextToken"></a>
The token for the next set of results.  
Type: String  
Required: No

 ** [resourceIdentifier](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-resourceIdentifier"></a>
Information identifying the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object  
Required: No

 ** [startTime](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-startTime"></a>
A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.  
Type: Timestamp  
Required: No

 ** [taskId](#API_ListAuditFindings_RequestSyntax) **   <a name="iot-ListAuditFindings-request-taskId"></a>
A filter to limit results to the audit with the specified ID. You must specify either the taskId or the startTime and endTime, but not both.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 40.  
Pattern: `[a-zA-Z0-9\-]+`   
Required: No

## Response Syntax
<a name="API_ListAuditFindings_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "findings": [ 
      { 
         "checkName": "string",
         "findingId": "string",
         "findingTime": number,
         "isSuppressed": boolean,
         "nonCompliantResource": { 
            "additionalInfo": { 
               "string" : "string" 
            },
            "resourceIdentifier": { 
               "account": "string",
               "caCertificateId": "string",
               "clientId": "string",
               "cognitoIdentityPoolId": "string",
               "deviceCertificateArn": "string",
               "deviceCertificateId": "string",
               "iamRoleArn": "string",
               "issuerCertificateIdentifier": { 
                  "issuerCertificateSerialNumber": "string",
                  "issuerCertificateSubject": "string",
                  "issuerId": "string"
               },
               "policyVersionIdentifier": { 
                  "policyName": "string",
                  "policyVersionId": "string"
               },
               "roleAliasArn": "string"
            },
            "resourceType": "string"
         },
         "reasonForNonCompliance": "string",
         "reasonForNonComplianceCode": "string",
         "relatedResources": [ 
            { 
               "additionalInfo": { 
                  "string" : "string" 
               },
               "resourceIdentifier": { 
                  "account": "string",
                  "caCertificateId": "string",
                  "clientId": "string",
                  "cognitoIdentityPoolId": "string",
                  "deviceCertificateArn": "string",
                  "deviceCertificateId": "string",
                  "iamRoleArn": "string",
                  "issuerCertificateIdentifier": { 
                     "issuerCertificateSerialNumber": "string",
                     "issuerCertificateSubject": "string",
                     "issuerId": "string"
                  },
                  "policyVersionIdentifier": { 
                     "policyName": "string",
                     "policyVersionId": "string"
                  },
                  "roleAliasArn": "string"
               },
               "resourceType": "string"
            }
         ],
         "severity": "string",
         "taskId": "string",
         "taskStartTime": number
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListAuditFindings_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [findings](#API_ListAuditFindings_ResponseSyntax) **   <a name="iot-ListAuditFindings-response-findings"></a>
The findings (results) of the audit.  
Type: Array of [AuditFinding](API_AuditFinding.md) objects

 ** [nextToken](#API_ListAuditFindings_ResponseSyntax) **   <a name="iot-ListAuditFindings-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListAuditFindings_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListAuditFindings_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAuditFindings) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAuditFindings) 

# ListAuditMitigationActionsExecutions
<a name="API_ListAuditMitigationActionsExecutions"></a>

Gets the status of audit mitigation action tasks that were executed.

Requires permission to access the [ListAuditMitigationActionsExecutions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAuditMitigationActionsExecutions_RequestSyntax"></a>

```
GET /audit/mitigationactions/executions?actionStatus=actionStatus&findingId=findingId&maxResults=maxResults&nextToken=nextToken&taskId=taskId HTTP/1.1
```

## URI Request Parameters
<a name="API_ListAuditMitigationActionsExecutions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [actionStatus](#API_ListAuditMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-request-uri-actionStatus"></a>
Specify this filter to limit results to those with a specific status.  
Valid Values: `IN_PROGRESS | COMPLETED | FAILED | CANCELED | SKIPPED | PENDING` 

 ** [findingId](#API_ListAuditMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-request-uri-findingId"></a>
Specify this filter to limit results to those that were applied to a specific audit finding.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [maxResults](#API_ListAuditMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-request-uri-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListAuditMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-request-uri-nextToken"></a>
The token for the next set of results.

 ** [taskId](#API_ListAuditMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-request-uri-taskId"></a>
Specify this filter to limit results to actions for a specific audit mitigation actions task.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_ListAuditMitigationActionsExecutions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListAuditMitigationActionsExecutions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionsExecutions": [ 
      { 
         "actionId": "string",
         "actionName": "string",
         "endTime": number,
         "errorCode": "string",
         "findingId": "string",
         "message": "string",
         "startTime": number,
         "status": "string",
         "taskId": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListAuditMitigationActionsExecutions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionsExecutions](#API_ListAuditMitigationActionsExecutions_ResponseSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-response-actionsExecutions"></a>
A set of task execution results based on the input parameters. Details include the mitigation action applied, start time, and task status.  
Type: Array of [AuditMitigationActionExecutionMetadata](API_AuditMitigationActionExecutionMetadata.md) objects

 ** [nextToken](#API_ListAuditMitigationActionsExecutions_ResponseSyntax) **   <a name="iot-ListAuditMitigationActionsExecutions-response-nextToken"></a>
The token for the next set of results.  
Type: String

## Errors
<a name="API_ListAuditMitigationActionsExecutions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListAuditMitigationActionsExecutions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAuditMitigationActionsExecutions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAuditMitigationActionsExecutions) 

# ListAuditMitigationActionsTasks
<a name="API_ListAuditMitigationActionsTasks"></a>

Gets a list of audit mitigation action tasks that match the specified filters.

Requires permission to access the [ListAuditMitigationActionsTasks](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAuditMitigationActionsTasks_RequestSyntax"></a>

```
GET /audit/mitigationactions/tasks?auditTaskId=auditTaskId&endTime=endTime&findingId=findingId&maxResults=maxResults&nextToken=nextToken&startTime=startTime&taskStatus=taskStatus HTTP/1.1
```

## URI Request Parameters
<a name="API_ListAuditMitigationActionsTasks_RequestParameters"></a>

The request uses the following URI parameters.

 ** [auditTaskId](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-auditTaskId"></a>
Specify this filter to limit results to tasks that were applied to results for a specific audit.  
Length Constraints: Minimum length of 1. Maximum length of 40.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [endTime](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-endTime"></a>
Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time.  
Required: Yes

 ** [findingId](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-findingId"></a>
Specify this filter to limit results to tasks that were applied to a specific audit finding.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [maxResults](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-nextToken"></a>
The token for the next set of results.

 ** [startTime](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-startTime"></a>
Specify this filter to limit results to tasks that began on or after a specific date and time.  
Required: Yes

 ** [taskStatus](#API_ListAuditMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-request-uri-taskStatus"></a>
Specify this filter to limit results to tasks that are in a specific state.  
Valid Values: `IN_PROGRESS | COMPLETED | FAILED | CANCELED` 

## Request Body
<a name="API_ListAuditMitigationActionsTasks_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListAuditMitigationActionsTasks_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "tasks": [ 
      { 
         "startTime": number,
         "taskId": "string",
         "taskStatus": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListAuditMitigationActionsTasks_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListAuditMitigationActionsTasks_ResponseSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-response-nextToken"></a>
The token for the next set of results.  
Type: String

 ** [tasks](#API_ListAuditMitigationActionsTasks_ResponseSyntax) **   <a name="iot-ListAuditMitigationActionsTasks-response-tasks"></a>
The collection of audit mitigation tasks that matched the filter criteria.  
Type: Array of [AuditMitigationActionsTaskMetadata](API_AuditMitigationActionsTaskMetadata.md) objects

## Errors
<a name="API_ListAuditMitigationActionsTasks_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListAuditMitigationActionsTasks_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAuditMitigationActionsTasks) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAuditMitigationActionsTasks) 

# ListAuditSuppressions
<a name="API_ListAuditSuppressions"></a>

 Lists your Device Defender audit listings. 

Requires permission to access the [ListAuditSuppressions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAuditSuppressions_RequestSyntax"></a>

```
POST /audit/suppressions/list HTTP/1.1
Content-type: application/json

{
   "ascendingOrder": boolean,
   "checkName": "string",
   "maxResults": number,
   "nextToken": "string",
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   }
}
```

## URI Request Parameters
<a name="API_ListAuditSuppressions_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_ListAuditSuppressions_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [ascendingOrder](#API_ListAuditSuppressions_RequestSyntax) **   <a name="iot-ListAuditSuppressions-request-ascendingOrder"></a>
 Determines whether suppressions are listed in ascending order by expiration date or not. If parameter isn't provided, `ascendingOrder=true`.   
Type: Boolean  
Required: No

 ** [checkName](#API_ListAuditSuppressions_RequestSyntax) **   <a name="iot-ListAuditSuppressions-request-checkName"></a>
An audit check name. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: String  
Required: No

 ** [maxResults](#API_ListAuditSuppressions_RequestSyntax) **   <a name="iot-ListAuditSuppressions-request-maxResults"></a>
 The maximum number of results to return at one time. The default is 25.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 250.  
Required: No

 ** [nextToken](#API_ListAuditSuppressions_RequestSyntax) **   <a name="iot-ListAuditSuppressions-request-nextToken"></a>
 The token for the next set of results.   
Type: String  
Required: No

 ** [resourceIdentifier](#API_ListAuditSuppressions_RequestSyntax) **   <a name="iot-ListAuditSuppressions-request-resourceIdentifier"></a>
Information that identifies the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object  
Required: No

## Response Syntax
<a name="API_ListAuditSuppressions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "suppressions": [ 
      { 
         "checkName": "string",
         "description": "string",
         "expirationDate": number,
         "resourceIdentifier": { 
            "account": "string",
            "caCertificateId": "string",
            "clientId": "string",
            "cognitoIdentityPoolId": "string",
            "deviceCertificateArn": "string",
            "deviceCertificateId": "string",
            "iamRoleArn": "string",
            "issuerCertificateIdentifier": { 
               "issuerCertificateSerialNumber": "string",
               "issuerCertificateSubject": "string",
               "issuerId": "string"
            },
            "policyVersionIdentifier": { 
               "policyName": "string",
               "policyVersionId": "string"
            },
            "roleAliasArn": "string"
         },
         "suppressIndefinitely": boolean
      }
   ]
}
```

## Response Elements
<a name="API_ListAuditSuppressions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListAuditSuppressions_ResponseSyntax) **   <a name="iot-ListAuditSuppressions-response-nextToken"></a>
 A token that can be used to retrieve the next set of results, or `null` if there are no additional results.   
Type: String

 ** [suppressions](#API_ListAuditSuppressions_ResponseSyntax) **   <a name="iot-ListAuditSuppressions-response-suppressions"></a>
 List of audit suppressions.   
Type: Array of [AuditSuppression](API_AuditSuppression.md) objects

## Errors
<a name="API_ListAuditSuppressions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListAuditSuppressions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAuditSuppressions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAuditSuppressions) 

# ListAuditTasks
<a name="API_ListAuditTasks"></a>

Lists the Device Defender audits that have been performed during a given time period.

Requires permission to access the [ListAuditTasks](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAuditTasks_RequestSyntax"></a>

```
GET /audit/tasks?endTime=endTime&maxResults=maxResults&nextToken=nextToken&startTime=startTime&taskStatus=taskStatus&taskType=taskType HTTP/1.1
```

## URI Request Parameters
<a name="API_ListAuditTasks_RequestParameters"></a>

The request uses the following URI parameters.

 ** [endTime](#API_ListAuditTasks_RequestSyntax) **   <a name="iot-ListAuditTasks-request-uri-endTime"></a>
The end of the time period.  
Required: Yes

 ** [maxResults](#API_ListAuditTasks_RequestSyntax) **   <a name="iot-ListAuditTasks-request-uri-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListAuditTasks_RequestSyntax) **   <a name="iot-ListAuditTasks-request-uri-nextToken"></a>
The token for the next set of results.

 ** [startTime](#API_ListAuditTasks_RequestSyntax) **   <a name="iot-ListAuditTasks-request-uri-startTime"></a>
The beginning of the time period. Audit information is retained for a limited time (90 days). Requesting a start time prior to what is retained results in an "InvalidRequestException".  
Required: Yes

 ** [taskStatus](#API_ListAuditTasks_RequestSyntax) **   <a name="iot-ListAuditTasks-request-uri-taskStatus"></a>
A filter to limit the output to audits with the specified completion status: can be one of "IN\$1PROGRESS", "COMPLETED", "FAILED", or "CANCELED".  
Valid Values: `IN_PROGRESS | COMPLETED | FAILED | CANCELED` 

 ** [taskType](#API_ListAuditTasks_RequestSyntax) **   <a name="iot-ListAuditTasks-request-uri-taskType"></a>
A filter to limit the output to the specified type of audit: can be one of "ON\$1DEMAND\$1AUDIT\$1TASK" or "SCHEDULED\$1\$1AUDIT\$1TASK".  
Valid Values: `ON_DEMAND_AUDIT_TASK | SCHEDULED_AUDIT_TASK` 

## Request Body
<a name="API_ListAuditTasks_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListAuditTasks_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "tasks": [ 
      { 
         "taskId": "string",
         "taskStatus": "string",
         "taskType": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListAuditTasks_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListAuditTasks_ResponseSyntax) **   <a name="iot-ListAuditTasks-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

 ** [tasks](#API_ListAuditTasks_ResponseSyntax) **   <a name="iot-ListAuditTasks-response-tasks"></a>
The audits that were performed during the specified time period.  
Type: Array of [AuditTaskMetadata](API_AuditTaskMetadata.md) objects

## Errors
<a name="API_ListAuditTasks_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListAuditTasks_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAuditTasks) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAuditTasks) 

# ListAuthorizers
<a name="API_ListAuthorizers"></a>

Lists the authorizers registered in your account.

Requires permission to access the [ListAuthorizers](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListAuthorizers_RequestSyntax"></a>

```
GET /authorizers/?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize&status=status HTTP/1.1
```

## URI Request Parameters
<a name="API_ListAuthorizers_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListAuthorizers_RequestSyntax) **   <a name="iot-ListAuthorizers-request-uri-ascendingOrder"></a>
Return the list of authorizers in ascending alphabetical order.

 ** [marker](#API_ListAuthorizers_RequestSyntax) **   <a name="iot-ListAuthorizers-request-uri-marker"></a>
A marker used to get the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListAuthorizers_RequestSyntax) **   <a name="iot-ListAuthorizers-request-uri-pageSize"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [status](#API_ListAuthorizers_RequestSyntax) **   <a name="iot-ListAuthorizers-request-uri-status"></a>
The status of the list authorizers request.  
Valid Values: `ACTIVE | INACTIVE` 

## Request Body
<a name="API_ListAuthorizers_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListAuthorizers_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authorizers": [ 
      { 
         "authorizerArn": "string",
         "authorizerName": "string"
      }
   ],
   "nextMarker": "string"
}
```

## Response Elements
<a name="API_ListAuthorizers_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authorizers](#API_ListAuthorizers_ResponseSyntax) **   <a name="iot-ListAuthorizers-response-authorizers"></a>
The authorizers.  
Type: Array of [AuthorizerSummary](API_AuthorizerSummary.md) objects

 ** [nextMarker](#API_ListAuthorizers_ResponseSyntax) **   <a name="iot-ListAuthorizers-response-nextMarker"></a>
A marker used to get the next set of results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Errors
<a name="API_ListAuthorizers_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListAuthorizers_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListAuthorizers) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListAuthorizers) 

# ListBillingGroups
<a name="API_ListBillingGroups"></a>

Lists the billing groups you have created.

Requires permission to access the [ListBillingGroups](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListBillingGroups_RequestSyntax"></a>

```
GET /billing-groups?maxResults=maxResults&namePrefixFilter=namePrefixFilter&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListBillingGroups_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListBillingGroups_RequestSyntax) **   <a name="iot-ListBillingGroups-request-uri-maxResults"></a>
The maximum number of results to return per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [namePrefixFilter](#API_ListBillingGroups_RequestSyntax) **   <a name="iot-ListBillingGroups-request-uri-namePrefixFilter"></a>
Limit the results to billing groups whose names have the given prefix.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [nextToken](#API_ListBillingGroups_RequestSyntax) **   <a name="iot-ListBillingGroups-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

## Request Body
<a name="API_ListBillingGroups_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListBillingGroups_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "billingGroups": [ 
      { 
         "groupArn": "string",
         "groupName": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListBillingGroups_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [billingGroups](#API_ListBillingGroups_ResponseSyntax) **   <a name="iot-ListBillingGroups-response-billingGroups"></a>
The list of billing groups.  
Type: Array of [GroupNameAndArn](API_GroupNameAndArn.md) objects

 ** [nextToken](#API_ListBillingGroups_ResponseSyntax) **   <a name="iot-ListBillingGroups-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListBillingGroups_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListBillingGroups_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListBillingGroups) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListBillingGroups) 

# ListCACertificates
<a name="API_ListCACertificates"></a>

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

Requires permission to access the [ListCACertificates](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListCACertificates_RequestSyntax"></a>

```
GET /cacertificates?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize&templateName=templateName HTTP/1.1
```

## URI Request Parameters
<a name="API_ListCACertificates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListCACertificates_RequestSyntax) **   <a name="iot-ListCACertificates-request-uri-ascendingOrder"></a>
Determines the order of the results.

 ** [marker](#API_ListCACertificates_RequestSyntax) **   <a name="iot-ListCACertificates-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListCACertificates_RequestSyntax) **   <a name="iot-ListCACertificates-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [templateName](#API_ListCACertificates_RequestSyntax) **   <a name="iot-ListCACertificates-request-uri-templateName"></a>
The name of the provisioning template.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$` 

## Request Body
<a name="API_ListCACertificates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListCACertificates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificates": [ 
      { 
         "certificateArn": "string",
         "certificateId": "string",
         "creationDate": number,
         "status": "string"
      }
   ],
   "nextMarker": "string"
}
```

## Response Elements
<a name="API_ListCACertificates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificates](#API_ListCACertificates_ResponseSyntax) **   <a name="iot-ListCACertificates-response-certificates"></a>
The CA certificates registered in your AWS account.  
Type: Array of [CACertificate](API_CACertificate.md) objects

 ** [nextMarker](#API_ListCACertificates_ResponseSyntax) **   <a name="iot-ListCACertificates-response-nextMarker"></a>
The current position within the list of CA certificates.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Errors
<a name="API_ListCACertificates_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListCACertificates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCACertificates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCACertificates) 

# ListCertificateProviders
<a name="API_ListCertificateProviders"></a>

Lists all your certificate providers in your AWS account.

Requires permission to access the [ListCertificateProviders](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action. 

## Request Syntax
<a name="API_ListCertificateProviders_RequestSyntax"></a>

```
GET /certificate-providers/?isAscendingOrder=ascendingOrder&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListCertificateProviders_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListCertificateProviders_RequestSyntax) **   <a name="iot-ListCertificateProviders-request-uri-ascendingOrder"></a>
Returns the list of certificate providers in ascending alphabetical order.

 ** [nextToken](#API_ListCertificateProviders_RequestSyntax) **   <a name="iot-ListCertificateProviders-request-uri-nextToken"></a>
The token for the next set of results, or `null` if there are no more results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Request Body
<a name="API_ListCertificateProviders_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListCertificateProviders_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateProviders": [ 
      { 
         "certificateProviderArn": "string",
         "certificateProviderName": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListCertificateProviders_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateProviders](#API_ListCertificateProviders_ResponseSyntax) **   <a name="iot-ListCertificateProviders-response-certificateProviders"></a>
The list of certificate providers in your AWS account.  
Type: Array of [CertificateProviderSummary](API_CertificateProviderSummary.md) objects

 ** [nextToken](#API_ListCertificateProviders_ResponseSyntax) **   <a name="iot-ListCertificateProviders-response-nextToken"></a>
The token for the next set of results, or `null` if there are no more results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Errors
<a name="API_ListCertificateProviders_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListCertificateProviders_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCertificateProviders) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCertificateProviders) 

# ListCertificates
<a name="API_ListCertificates"></a>

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

Requires permission to access the [ListCertificates](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListCertificates_RequestSyntax"></a>

```
GET /certificates?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_ListCertificates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListCertificates_RequestSyntax) **   <a name="iot-ListCertificates-request-uri-ascendingOrder"></a>
Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

 ** [marker](#API_ListCertificates_RequestSyntax) **   <a name="iot-ListCertificates-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListCertificates_RequestSyntax) **   <a name="iot-ListCertificates-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

## Request Body
<a name="API_ListCertificates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListCertificates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificates": [ 
      { 
         "certificateArn": "string",
         "certificateId": "string",
         "certificateMode": "string",
         "creationDate": number,
         "status": "string"
      }
   ],
   "nextMarker": "string"
}
```

## Response Elements
<a name="API_ListCertificates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificates](#API_ListCertificates_ResponseSyntax) **   <a name="iot-ListCertificates-response-certificates"></a>
The descriptions of the certificates.  
Type: Array of [Certificate](API_Certificate.md) objects

 ** [nextMarker](#API_ListCertificates_ResponseSyntax) **   <a name="iot-ListCertificates-response-nextMarker"></a>
The marker for the next set of results, or null if there are no additional results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Errors
<a name="API_ListCertificates_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListCertificates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCertificates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCertificates) 

# ListCertificatesByCA
<a name="API_ListCertificatesByCA"></a>

List the device certificates signed by the specified CA certificate.

Requires permission to access the [ListCertificatesByCA](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListCertificatesByCA_RequestSyntax"></a>

```
GET /certificates-by-ca/caCertificateId?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_ListCertificatesByCA_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListCertificatesByCA_RequestSyntax) **   <a name="iot-ListCertificatesByCA-request-uri-ascendingOrder"></a>
Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

 ** [caCertificateId](#API_ListCertificatesByCA_RequestSyntax) **   <a name="iot-ListCertificatesByCA-request-uri-caCertificateId"></a>
The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

 ** [marker](#API_ListCertificatesByCA_RequestSyntax) **   <a name="iot-ListCertificatesByCA-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListCertificatesByCA_RequestSyntax) **   <a name="iot-ListCertificatesByCA-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

## Request Body
<a name="API_ListCertificatesByCA_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListCertificatesByCA_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificates": [ 
      { 
         "certificateArn": "string",
         "certificateId": "string",
         "certificateMode": "string",
         "creationDate": number,
         "status": "string"
      }
   ],
   "nextMarker": "string"
}
```

## Response Elements
<a name="API_ListCertificatesByCA_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificates](#API_ListCertificatesByCA_ResponseSyntax) **   <a name="iot-ListCertificatesByCA-response-certificates"></a>
The device certificates signed by the specified CA certificate.  
Type: Array of [Certificate](API_Certificate.md) objects

 ** [nextMarker](#API_ListCertificatesByCA_ResponseSyntax) **   <a name="iot-ListCertificatesByCA-response-nextMarker"></a>
The marker for the next set of results, or null if there are no additional results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Errors
<a name="API_ListCertificatesByCA_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListCertificatesByCA_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCertificatesByCA) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCertificatesByCA) 

# ListCommandExecutions
<a name="API_ListCommandExecutions"></a>

List all command executions.

**Important**  
You must provide only the `startedTimeFilter` or the `completedTimeFilter` information. If you provide both time filters, the API will generate an error. You can use this information to retrieve a list of command executions within a specific timeframe.
You must provide only the `commandArn` or the `thingArn` information depending on whether you want to list executions for a specific command or an IoT thing. If you provide both fields, the API will generate an error.
For more information about considerations for using this API, see [List command executions in your account (CLI)](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-execution-start-monitor.html#iot-remote-command-execution-list-cli).

## Request Syntax
<a name="API_ListCommandExecutions_RequestSyntax"></a>

```
POST /command-executions?maxResults=maxResults&nextToken=nextToken HTTP/1.1
Content-type: application/json

{
   "commandArn": "string",
   "completedTimeFilter": { 
      "after": "string",
      "before": "string"
   },
   "namespace": "string",
   "sortOrder": "string",
   "startedTimeFilter": { 
      "after": "string",
      "before": "string"
   },
   "status": "string",
   "targetArn": "string"
}
```

## URI Request Parameters
<a name="API_ListCommandExecutions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 100.

 ** [nextToken](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise `null` to receive the first set of results.

## Request Body
<a name="API_ListCommandExecutions_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [commandArn](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-commandArn"></a>
The Amazon Resource Number (ARN) of the command. You can use this information to list all command executions for a particular command.  
Type: String  
Required: No

 ** [completedTimeFilter](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-completedTimeFilter"></a>
List all command executions that completed any time before or after the date and time that you specify. The date and time uses the format `yyyy-MM-dd'T'HH:mm`.  
Type: [TimeFilter](API_TimeFilter.md) object  
Required: No

 ** [namespace](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-namespace"></a>
The namespace of the command.  
Type: String  
Valid Values: `AWS-IoT | AWS-IoT-FleetWise`   
Required: No

 ** [sortOrder](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-sortOrder"></a>
Specify whether to list the command executions that were created in the ascending or descending order. By default, the API returns all commands in the descending order based on the start time or completion time of the executions, that are determined by the `startTimeFilter` and `completeTimeFilter` parameters.  
Type: String  
Valid Values: `ASCENDING | DESCENDING`   
Required: No

 ** [startedTimeFilter](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-startedTimeFilter"></a>
List all command executions that started any time before or after the date and time that you specify. The date and time uses the format `yyyy-MM-dd'T'HH:mm`.  
Type: [TimeFilter](API_TimeFilter.md) object  
Required: No

 ** [status](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-status"></a>
List all command executions for the device that have a particular status. For example, you can filter the list to display only command executions that have failed or timed out.  
Type: String  
Valid Values: `CREATED | IN_PROGRESS | SUCCEEDED | FAILED | REJECTED | TIMED_OUT`   
Required: No

 ** [targetArn](#API_ListCommandExecutions_RequestSyntax) **   <a name="iot-ListCommandExecutions-request-targetArn"></a>
The Amazon Resource Number (ARN) of the target device. You can use this information to list all command executions for a particular device.  
Type: String  
Length Constraints: Maximum length of 2048.  
Required: No

## Response Syntax
<a name="API_ListCommandExecutions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "commandExecutions": [ 
      { 
         "commandArn": "string",
         "completedAt": number,
         "createdAt": number,
         "executionId": "string",
         "startedAt": number,
         "status": "string",
         "targetArn": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListCommandExecutions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [commandExecutions](#API_ListCommandExecutions_ResponseSyntax) **   <a name="iot-ListCommandExecutions-response-commandExecutions"></a>
The list of command executions.  
Type: Array of [CommandExecutionSummary](API_CommandExecutionSummary.md) objects

 ** [nextToken](#API_ListCommandExecutions_ResponseSyntax) **   <a name="iot-ListCommandExecutions-response-nextToken"></a>
The token to use to get the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListCommandExecutions_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_ListCommandExecutions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCommandExecutions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCommandExecutions) 

# ListCommands
<a name="API_ListCommands"></a>

List all commands in your account.

## Request Syntax
<a name="API_ListCommands_RequestSyntax"></a>

```
GET /commands?commandParameterName=commandParameterName&maxResults=maxResults&namespace=namespace&nextToken=nextToken&sortOrder=sortOrder HTTP/1.1
```

## URI Request Parameters
<a name="API_ListCommands_RequestParameters"></a>

The request uses the following URI parameters.

 ** [commandParameterName](#API_ListCommands_RequestSyntax) **   <a name="iot-ListCommands-request-uri-commandParameterName"></a>
A filter that can be used to display the list of commands that have a specific command parameter name.  
Length Constraints: Minimum length of 1. Maximum length of 192.  
Pattern: `^[.$a-zA-Z0-9_-]+$` 

 ** [maxResults](#API_ListCommands_RequestSyntax) **   <a name="iot-ListCommands-request-uri-maxResults"></a>
The maximum number of results to return in this operation. By default, the API returns up to a maximum of 25 results. You can override this default value to return up to a maximum of 100 results for this operation.  
Valid Range: Minimum value of 1. Maximum value of 100.

 ** [namespace](#API_ListCommands_RequestSyntax) **   <a name="iot-ListCommands-request-uri-namespace"></a>
The namespace of the command. By default, the API returns all commands that have been created for both `AWS-IoT` and `AWS-IoT-FleetWise` namespaces. You can override this default value if you want to return all commands that have been created only for a specific namespace.  
Valid Values: `AWS-IoT | AWS-IoT-FleetWise` 

 ** [nextToken](#API_ListCommands_RequestSyntax) **   <a name="iot-ListCommands-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise `null` to receive the first set of results.

 ** [sortOrder](#API_ListCommands_RequestSyntax) **   <a name="iot-ListCommands-request-uri-sortOrder"></a>
Specify whether to list the commands that you have created in the ascending or descending order. By default, the API returns all commands in the descending order based on the time that they were created.  
Valid Values: `ASCENDING | DESCENDING` 

## Request Body
<a name="API_ListCommands_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListCommands_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "commands": [ 
      { 
         "commandArn": "string",
         "commandId": "string",
         "createdAt": number,
         "deprecated": boolean,
         "displayName": "string",
         "lastUpdatedAt": number,
         "pendingDeletion": boolean
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListCommands_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [commands](#API_ListCommands_ResponseSyntax) **   <a name="iot-ListCommands-response-commands"></a>
The list of commands.  
Type: Array of [CommandSummary](API_CommandSummary.md) objects

 ** [nextToken](#API_ListCommands_ResponseSyntax) **   <a name="iot-ListCommands-response-nextToken"></a>
The token to use to get the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListCommands_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_ListCommands_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCommands) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCommands) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCommands) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCommands) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCommands) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCommands) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCommands) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCommands) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCommands) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCommands) 

# ListCustomMetrics
<a name="API_ListCustomMetrics"></a>

 Lists your Device Defender detect custom metrics. 

Requires permission to access the [ListCustomMetrics](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListCustomMetrics_RequestSyntax"></a>

```
GET /custom-metrics?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListCustomMetrics_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListCustomMetrics_RequestSyntax) **   <a name="iot-ListCustomMetrics-request-uri-maxResults"></a>
 The maximum number of results to return at one time. The default is 25.   
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListCustomMetrics_RequestSyntax) **   <a name="iot-ListCustomMetrics-request-uri-nextToken"></a>
 The token for the next set of results. 

## Request Body
<a name="API_ListCustomMetrics_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListCustomMetrics_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "metricNames": [ "string" ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListCustomMetrics_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [metricNames](#API_ListCustomMetrics_ResponseSyntax) **   <a name="iot-ListCustomMetrics-response-metricNames"></a>
 The name of the custom metric.   
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [nextToken](#API_ListCustomMetrics_ResponseSyntax) **   <a name="iot-ListCustomMetrics-response-nextToken"></a>
 A token that can be used to retrieve the next set of results, or `null` if there are no additional results.   
Type: String

## Errors
<a name="API_ListCustomMetrics_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListCustomMetrics_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListCustomMetrics) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListCustomMetrics) 

# ListDetectMitigationActionsExecutions
<a name="API_ListDetectMitigationActionsExecutions"></a>

 Lists mitigation actions executions for a Device Defender ML Detect Security Profile. 

Requires permission to access the [ListDetectMitigationActionsExecutions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListDetectMitigationActionsExecutions_RequestSyntax"></a>

```
GET /detect/mitigationactions/executions?endTime=endTime&maxResults=maxResults&nextToken=nextToken&startTime=startTime&taskId=taskId&thingName=thingName&violationId=violationId HTTP/1.1
```

## URI Request Parameters
<a name="API_ListDetectMitigationActionsExecutions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [endTime](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-endTime"></a>
 The end of the time period for which ML Detect mitigation actions executions are returned. 

 ** [maxResults](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-maxResults"></a>
 The maximum number of results to return at one time. The default is 25.   
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-nextToken"></a>
 The token for the next set of results. 

 ** [startTime](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-startTime"></a>
 A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both. 

 ** [taskId](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-taskId"></a>
 The unique identifier of the task.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [thingName](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-thingName"></a>
 The name of the thing whose mitigation actions are listed.   
Length Constraints: Minimum length of 1. Maximum length of 128.

 ** [violationId](#API_ListDetectMitigationActionsExecutions_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-request-uri-violationId"></a>
 The unique identifier of the violation.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

## Request Body
<a name="API_ListDetectMitigationActionsExecutions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListDetectMitigationActionsExecutions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionsExecutions": [ 
      { 
         "actionName": "string",
         "errorCode": "string",
         "executionEndDate": number,
         "executionStartDate": number,
         "message": "string",
         "status": "string",
         "taskId": "string",
         "thingName": "string",
         "violationId": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListDetectMitigationActionsExecutions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionsExecutions](#API_ListDetectMitigationActionsExecutions_ResponseSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-response-actionsExecutions"></a>
 List of actions executions.   
Type: Array of [DetectMitigationActionExecution](API_DetectMitigationActionExecution.md) objects

 ** [nextToken](#API_ListDetectMitigationActionsExecutions_ResponseSyntax) **   <a name="iot-ListDetectMitigationActionsExecutions-response-nextToken"></a>
 A token that can be used to retrieve the next set of results, or `null` if there are no additional results.   
Type: String

## Errors
<a name="API_ListDetectMitigationActionsExecutions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListDetectMitigationActionsExecutions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListDetectMitigationActionsExecutions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListDetectMitigationActionsExecutions) 

# ListDetectMitigationActionsTasks
<a name="API_ListDetectMitigationActionsTasks"></a>

 List of Device Defender ML Detect mitigation actions tasks. 

Requires permission to access the [ListDetectMitigationActionsTasks](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListDetectMitigationActionsTasks_RequestSyntax"></a>

```
GET /detect/mitigationactions/tasks?endTime=endTime&maxResults=maxResults&nextToken=nextToken&startTime=startTime HTTP/1.1
```

## URI Request Parameters
<a name="API_ListDetectMitigationActionsTasks_RequestParameters"></a>

The request uses the following URI parameters.

 ** [endTime](#API_ListDetectMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsTasks-request-uri-endTime"></a>
 The end of the time period for which ML Detect mitigation actions tasks are returned.   
Required: Yes

 ** [maxResults](#API_ListDetectMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsTasks-request-uri-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListDetectMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsTasks-request-uri-nextToken"></a>
 The token for the next set of results. 

 ** [startTime](#API_ListDetectMitigationActionsTasks_RequestSyntax) **   <a name="iot-ListDetectMitigationActionsTasks-request-uri-startTime"></a>
 A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.   
Required: Yes

## Request Body
<a name="API_ListDetectMitigationActionsTasks_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListDetectMitigationActionsTasks_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "tasks": [ 
      { 
         "actionsDefinition": [ 
            { 
               "actionParams": { 
                  "addThingsToThingGroupParams": { 
                     "overrideDynamicGroups": boolean,
                     "thingGroupNames": [ "string" ]
                  },
                  "enableIoTLoggingParams": { 
                     "logLevel": "string",
                     "roleArnForLogging": "string"
                  },
                  "publishFindingToSnsParams": { 
                     "topicArn": "string"
                  },
                  "replaceDefaultPolicyVersionParams": { 
                     "templateName": "string"
                  },
                  "updateCACertificateParams": { 
                     "action": "string"
                  },
                  "updateDeviceCertificateParams": { 
                     "action": "string"
                  }
               },
               "id": "string",
               "name": "string",
               "roleArn": "string"
            }
         ],
         "onlyActiveViolationsIncluded": boolean,
         "suppressedAlertsIncluded": boolean,
         "target": { 
            "behaviorName": "string",
            "securityProfileName": "string",
            "violationIds": [ "string" ]
         },
         "taskEndTime": number,
         "taskId": "string",
         "taskStartTime": number,
         "taskStatistics": { 
            "actionsExecuted": number,
            "actionsFailed": number,
            "actionsSkipped": number
         },
         "taskStatus": "string",
         "violationEventOccurrenceRange": { 
            "endTime": number,
            "startTime": number
         }
      }
   ]
}
```

## Response Elements
<a name="API_ListDetectMitigationActionsTasks_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListDetectMitigationActionsTasks_ResponseSyntax) **   <a name="iot-ListDetectMitigationActionsTasks-response-nextToken"></a>
 A token that can be used to retrieve the next set of results, or `null` if there are no additional results.   
Type: String

 ** [tasks](#API_ListDetectMitigationActionsTasks_ResponseSyntax) **   <a name="iot-ListDetectMitigationActionsTasks-response-tasks"></a>
 The collection of ML Detect mitigation tasks that matched the filter criteria.   
Type: Array of [DetectMitigationActionsTaskSummary](API_DetectMitigationActionsTaskSummary.md) objects

## Errors
<a name="API_ListDetectMitigationActionsTasks_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListDetectMitigationActionsTasks_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListDetectMitigationActionsTasks) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListDetectMitigationActionsTasks) 

# ListDimensions
<a name="API_ListDimensions"></a>

List the set of dimensions that are defined for your AWS accounts.

Requires permission to access the [ListDimensions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListDimensions_RequestSyntax"></a>

```
GET /dimensions?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListDimensions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListDimensions_RequestSyntax) **   <a name="iot-ListDimensions-request-uri-maxResults"></a>
The maximum number of results to retrieve at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListDimensions_RequestSyntax) **   <a name="iot-ListDimensions-request-uri-nextToken"></a>
The token for the next set of results.

## Request Body
<a name="API_ListDimensions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListDimensions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "dimensionNames": [ "string" ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListDimensions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [dimensionNames](#API_ListDimensions_ResponseSyntax) **   <a name="iot-ListDimensions-response-dimensionNames"></a>
A list of the names of the defined dimensions. Use `DescribeDimension` to get details for a dimension.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [nextToken](#API_ListDimensions_ResponseSyntax) **   <a name="iot-ListDimensions-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListDimensions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListDimensions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListDimensions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListDimensions) 

# ListDomainConfigurations
<a name="API_ListDomainConfigurations"></a>

Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name.

Requires permission to access the [ListDomainConfigurations](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListDomainConfigurations_RequestSyntax"></a>

```
GET /domainConfigurations?marker=marker&pageSize=pageSize&serviceType=serviceType HTTP/1.1
```

## URI Request Parameters
<a name="API_ListDomainConfigurations_RequestParameters"></a>

The request uses the following URI parameters.

 ** [marker](#API_ListDomainConfigurations_RequestSyntax) **   <a name="iot-ListDomainConfigurations-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListDomainConfigurations_RequestSyntax) **   <a name="iot-ListDomainConfigurations-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [serviceType](#API_ListDomainConfigurations_RequestSyntax) **   <a name="iot-ListDomainConfigurations-request-uri-serviceType"></a>
The type of service delivered by the endpoint.  
Valid Values: `DATA | CREDENTIAL_PROVIDER | JOBS` 

## Request Body
<a name="API_ListDomainConfigurations_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListDomainConfigurations_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "domainConfigurations": [ 
      { 
         "domainConfigurationArn": "string",
         "domainConfigurationName": "string",
         "serviceType": "string"
      }
   ],
   "nextMarker": "string"
}
```

## Response Elements
<a name="API_ListDomainConfigurations_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [domainConfigurations](#API_ListDomainConfigurations_ResponseSyntax) **   <a name="iot-ListDomainConfigurations-response-domainConfigurations"></a>
A list of objects that contain summary information about the user's domain configurations.  
Type: Array of [DomainConfigurationSummary](API_DomainConfigurationSummary.md) objects

 ** [nextMarker](#API_ListDomainConfigurations_ResponseSyntax) **   <a name="iot-ListDomainConfigurations-response-nextMarker"></a>
The marker for the next set of results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

## Errors
<a name="API_ListDomainConfigurations_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListDomainConfigurations_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListDomainConfigurations) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListDomainConfigurations) 

# ListFleetMetrics
<a name="API_ListFleetMetrics"></a>

Lists all your fleet metrics. 

Requires permission to access the [ListFleetMetrics](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListFleetMetrics_RequestSyntax"></a>

```
GET /fleet-metrics?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListFleetMetrics_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListFleetMetrics_RequestSyntax) **   <a name="iot-ListFleetMetrics-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListFleetMetrics_RequestSyntax) **   <a name="iot-ListFleetMetrics-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise `null` to receive the first set of results.

## Request Body
<a name="API_ListFleetMetrics_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListFleetMetrics_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "fleetMetrics": [ 
      { 
         "metricArn": "string",
         "metricName": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListFleetMetrics_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [fleetMetrics](#API_ListFleetMetrics_ResponseSyntax) **   <a name="iot-ListFleetMetrics-response-fleetMetrics"></a>
The list of fleet metrics objects.  
Type: Array of [FleetMetricNameAndArn](API_FleetMetricNameAndArn.md) objects

 ** [nextToken](#API_ListFleetMetrics_ResponseSyntax) **   <a name="iot-ListFleetMetrics-response-nextToken"></a>
The token for the next set of results. Will not be returned if the operation has returned all results.  
Type: String

## Errors
<a name="API_ListFleetMetrics_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListFleetMetrics_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListFleetMetrics) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListFleetMetrics) 

# ListIndices
<a name="API_ListIndices"></a>

Lists the search indices.

Requires permission to access the [ListIndices](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListIndices_RequestSyntax"></a>

```
GET /indices?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListIndices_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListIndices_RequestSyntax) **   <a name="iot-ListIndices-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 500.

 ** [nextToken](#API_ListIndices_RequestSyntax) **   <a name="iot-ListIndices-request-uri-nextToken"></a>
The token used to get the next set of results, or `null` if there are no additional results.

## Request Body
<a name="API_ListIndices_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListIndices_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "indexNames": [ "string" ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListIndices_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [indexNames](#API_ListIndices_ResponseSyntax) **   <a name="iot-ListIndices-response-indexNames"></a>
The index names.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [nextToken](#API_ListIndices_ResponseSyntax) **   <a name="iot-ListIndices-response-nextToken"></a>
The token used to get the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListIndices_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListIndices_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListIndices) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListIndices) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListIndices) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListIndices) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListIndices) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListIndices) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListIndices) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListIndices) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListIndices) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListIndices) 

# ListJobExecutionsForJob
<a name="API_ListJobExecutionsForJob"></a>

Lists the job executions for a job.

Requires permission to access the [ListJobExecutionsForJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListJobExecutionsForJob_RequestSyntax"></a>

```
GET /jobs/jobId/things?maxResults=maxResults&nextToken=nextToken&status=status HTTP/1.1
```

## URI Request Parameters
<a name="API_ListJobExecutionsForJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobId](#API_ListJobExecutionsForJob_RequestSyntax) **   <a name="iot-ListJobExecutionsForJob-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [maxResults](#API_ListJobExecutionsForJob_RequestSyntax) **   <a name="iot-ListJobExecutionsForJob-request-uri-maxResults"></a>
The maximum number of results to be returned per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListJobExecutionsForJob_RequestSyntax) **   <a name="iot-ListJobExecutionsForJob-request-uri-nextToken"></a>
The token to retrieve the next set of results.

 ** [status](#API_ListJobExecutionsForJob_RequestSyntax) **   <a name="iot-ListJobExecutionsForJob-request-uri-status"></a>
The status of the job.  
Valid Values: `QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED` 

## Request Body
<a name="API_ListJobExecutionsForJob_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListJobExecutionsForJob_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "executionSummaries": [ 
      { 
         "jobExecutionSummary": { 
            "executionNumber": number,
            "lastUpdatedAt": number,
            "queuedAt": number,
            "retryAttempt": number,
            "startedAt": number,
            "status": "string"
         },
         "thingArn": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListJobExecutionsForJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [executionSummaries](#API_ListJobExecutionsForJob_ResponseSyntax) **   <a name="iot-ListJobExecutionsForJob-response-executionSummaries"></a>
A list of job execution summaries.  
Type: Array of [JobExecutionSummaryForJob](API_JobExecutionSummaryForJob.md) objects

 ** [nextToken](#API_ListJobExecutionsForJob_ResponseSyntax) **   <a name="iot-ListJobExecutionsForJob-response-nextToken"></a>
The token for the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListJobExecutionsForJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListJobExecutionsForJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListJobExecutionsForJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListJobExecutionsForJob) 

# ListJobExecutionsForThing
<a name="API_ListJobExecutionsForThing"></a>

Lists the job executions for the specified thing.

Requires permission to access the [ListJobExecutionsForThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListJobExecutionsForThing_RequestSyntax"></a>

```
GET /things/thingName/jobs?jobId=jobId&maxResults=maxResults&namespaceId=namespaceId&nextToken=nextToken&status=status HTTP/1.1
```

## URI Request Parameters
<a name="API_ListJobExecutionsForThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobId](#API_ListJobExecutionsForThing_RequestSyntax) **   <a name="iot-ListJobExecutionsForThing-request-uri-jobId"></a>
The unique identifier you assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [maxResults](#API_ListJobExecutionsForThing_RequestSyntax) **   <a name="iot-ListJobExecutionsForThing-request-uri-maxResults"></a>
The maximum number of results to be returned per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [namespaceId](#API_ListJobExecutionsForThing_RequestSyntax) **   <a name="iot-ListJobExecutionsForThing-request-uri-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Pattern: `[a-zA-Z0-9_-]+` 

 ** [nextToken](#API_ListJobExecutionsForThing_RequestSyntax) **   <a name="iot-ListJobExecutionsForThing-request-uri-nextToken"></a>
The token to retrieve the next set of results.

 ** [status](#API_ListJobExecutionsForThing_RequestSyntax) **   <a name="iot-ListJobExecutionsForThing-request-uri-status"></a>
An optional filter that lets you search for jobs that have the specified status.  
Valid Values: `QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED` 

 ** [thingName](#API_ListJobExecutionsForThing_RequestSyntax) **   <a name="iot-ListJobExecutionsForThing-request-uri-thingName"></a>
The thing name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_ListJobExecutionsForThing_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListJobExecutionsForThing_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "executionSummaries": [ 
      { 
         "jobExecutionSummary": { 
            "executionNumber": number,
            "lastUpdatedAt": number,
            "queuedAt": number,
            "retryAttempt": number,
            "startedAt": number,
            "status": "string"
         },
         "jobId": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListJobExecutionsForThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [executionSummaries](#API_ListJobExecutionsForThing_ResponseSyntax) **   <a name="iot-ListJobExecutionsForThing-response-executionSummaries"></a>
A list of job execution summaries.  
Type: Array of [JobExecutionSummaryForThing](API_JobExecutionSummaryForThing.md) objects

 ** [nextToken](#API_ListJobExecutionsForThing_ResponseSyntax) **   <a name="iot-ListJobExecutionsForThing-response-nextToken"></a>
The token for the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListJobExecutionsForThing_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListJobExecutionsForThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListJobExecutionsForThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListJobExecutionsForThing) 

# ListJobs
<a name="API_ListJobs"></a>

Lists jobs.

Requires permission to access the [ListJobs](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListJobs_RequestSyntax"></a>

```
GET /jobs?maxResults=maxResults&namespaceId=namespaceId&nextToken=nextToken&status=status&targetSelection=targetSelection&thingGroupId=thingGroupId&thingGroupName=thingGroupName HTTP/1.1
```

## URI Request Parameters
<a name="API_ListJobs_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-maxResults"></a>
The maximum number of results to return per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [namespaceId](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Pattern: `[a-zA-Z0-9_-]+` 

 ** [nextToken](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-nextToken"></a>
The token to retrieve the next set of results.

 ** [status](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-status"></a>
An optional filter that lets you search for jobs that have the specified status.  
Valid Values: `IN_PROGRESS | CANCELED | COMPLETED | DELETION_IN_PROGRESS | SCHEDULED` 

 ** [targetSelection](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-targetSelection"></a>
Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.   
We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing group targets. By using continuous jobs, devices that join the group receive the job execution even after the job has been created.
Valid Values: `CONTINUOUS | SNAPSHOT` 

 ** [thingGroupId](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-thingGroupId"></a>
A filter that limits the returned jobs to those for the specified group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+` 

 ** [thingGroupName](#API_ListJobs_RequestSyntax) **   <a name="iot-ListJobs-request-uri-thingGroupName"></a>
A filter that limits the returned jobs to those for the specified group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Request Body
<a name="API_ListJobs_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListJobs_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "jobs": [ 
      { 
         "completedAt": number,
         "createdAt": number,
         "isConcurrent": boolean,
         "jobArn": "string",
         "jobId": "string",
         "lastUpdatedAt": number,
         "status": "string",
         "targetSelection": "string",
         "thingGroupId": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListJobs_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [jobs](#API_ListJobs_ResponseSyntax) **   <a name="iot-ListJobs-response-jobs"></a>
A list of jobs.  
Type: Array of [JobSummary](API_JobSummary.md) objects

 ** [nextToken](#API_ListJobs_ResponseSyntax) **   <a name="iot-ListJobs-response-nextToken"></a>
The token for the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListJobs_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListJobs_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListJobs) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListJobs) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListJobs) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListJobs) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListJobs) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListJobs) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListJobs) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListJobs) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListJobs) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListJobs) 

# ListJobTemplates
<a name="API_ListJobTemplates"></a>

Returns a list of job templates.

Requires permission to access the [ListJobTemplates](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListJobTemplates_RequestSyntax"></a>

```
GET /job-templates?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListJobTemplates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListJobTemplates_RequestSyntax) **   <a name="iot-ListJobTemplates-request-uri-maxResults"></a>
The maximum number of results to return in the list.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListJobTemplates_RequestSyntax) **   <a name="iot-ListJobTemplates-request-uri-nextToken"></a>
The token to use to return the next set of results in the list.

## Request Body
<a name="API_ListJobTemplates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListJobTemplates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "jobTemplates": [ 
      { 
         "createdAt": number,
         "description": "string",
         "jobTemplateArn": "string",
         "jobTemplateId": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListJobTemplates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [jobTemplates](#API_ListJobTemplates_ResponseSyntax) **   <a name="iot-ListJobTemplates-response-jobTemplates"></a>
A list of objects that contain information about the job templates.  
Type: Array of [JobTemplateSummary](API_JobTemplateSummary.md) objects

 ** [nextToken](#API_ListJobTemplates_ResponseSyntax) **   <a name="iot-ListJobTemplates-response-nextToken"></a>
The token for the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListJobTemplates_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListJobTemplates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListJobTemplates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListJobTemplates) 

# ListManagedJobTemplates
<a name="API_ListManagedJobTemplates"></a>

Returns a list of managed job templates.

## Request Syntax
<a name="API_ListManagedJobTemplates_RequestSyntax"></a>

```
GET /managed-job-templates?maxResults=maxResults&nextToken=nextToken&templateName=templateName HTTP/1.1
```

## URI Request Parameters
<a name="API_ListManagedJobTemplates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListManagedJobTemplates_RequestSyntax) **   <a name="iot-ListManagedJobTemplates-request-uri-maxResults"></a>
Maximum number of entries that can be returned.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListManagedJobTemplates_RequestSyntax) **   <a name="iot-ListManagedJobTemplates-request-uri-nextToken"></a>
The token to retrieve the next set of results.

 ** [templateName](#API_ListManagedJobTemplates_RequestSyntax) **   <a name="iot-ListManagedJobTemplates-request-uri-templateName"></a>
An optional parameter for template name. If specified, only the versions of the managed job templates that have the specified template name will be returned.  
Length Constraints: Minimum length of 1. Maximum length of 64.

## Request Body
<a name="API_ListManagedJobTemplates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListManagedJobTemplates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "managedJobTemplates": [ 
      { 
         "description": "string",
         "environments": [ "string" ],
         "templateArn": "string",
         "templateName": "string",
         "templateVersion": "string"
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListManagedJobTemplates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [managedJobTemplates](#API_ListManagedJobTemplates_ResponseSyntax) **   <a name="iot-ListManagedJobTemplates-response-managedJobTemplates"></a>
A list of managed job templates that are returned.  
Type: Array of [ManagedJobTemplateSummary](API_ManagedJobTemplateSummary.md) objects

 ** [nextToken](#API_ListManagedJobTemplates_ResponseSyntax) **   <a name="iot-ListManagedJobTemplates-response-nextToken"></a>
The token to retrieve the next set of results.  
Type: String

## Errors
<a name="API_ListManagedJobTemplates_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListManagedJobTemplates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListManagedJobTemplates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListManagedJobTemplates) 

# ListMetricValues
<a name="API_ListMetricValues"></a>

Lists the values reported for an AWS IoT Device Defender metric (device-side metric, cloud-side metric, or custom metric) by the given thing during the specified time period.

## Request Syntax
<a name="API_ListMetricValues_RequestSyntax"></a>

```
GET /metric-values?dimensionName=dimensionName&dimensionValueOperator=dimensionValueOperator&endTime=endTime&maxResults=maxResults&metricName=metricName&nextToken=nextToken&startTime=startTime&thingName=thingName HTTP/1.1
```

## URI Request Parameters
<a name="API_ListMetricValues_RequestParameters"></a>

The request uses the following URI parameters.

 ** [dimensionName](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-dimensionName"></a>
The dimension name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [dimensionValueOperator](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-dimensionValueOperator"></a>
The dimension value operator.  
Valid Values: `IN | NOT_IN` 

 ** [endTime](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-endTime"></a>
The end of the time period for which metric values are returned.  
Required: Yes

 ** [maxResults](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [metricName](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-metricName"></a>
The name of the security profile metric for which values are returned.  
Required: Yes

 ** [nextToken](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-nextToken"></a>
The token for the next set of results.

 ** [startTime](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-startTime"></a>
The start of the time period for which metric values are returned.  
Required: Yes

 ** [thingName](#API_ListMetricValues_RequestSyntax) **   <a name="iot-ListMetricValues-request-uri-thingName"></a>
The name of the thing for which security profile metric values are returned.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Request Body
<a name="API_ListMetricValues_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListMetricValues_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "metricDatumList": [ 
      { 
         "timestamp": number,
         "value": { 
            "cidrs": [ "string" ],
            "count": number,
            "number": number,
            "numbers": [ number ],
            "ports": [ number ],
            "strings": [ "string" ]
         }
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListMetricValues_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [metricDatumList](#API_ListMetricValues_ResponseSyntax) **   <a name="iot-ListMetricValues-response-metricDatumList"></a>
The data the thing reports for the metric during the specified time period.  
Type: Array of [MetricDatum](API_MetricDatum.md) objects

 ** [nextToken](#API_ListMetricValues_ResponseSyntax) **   <a name="iot-ListMetricValues-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

## Errors
<a name="API_ListMetricValues_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListMetricValues_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListMetricValues) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListMetricValues) 

# ListMitigationActions
<a name="API_ListMitigationActions"></a>

Gets a list of all mitigation actions that match the specified filter criteria.

Requires permission to access the [ListMitigationActions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListMitigationActions_RequestSyntax"></a>

```
GET /mitigationactions/actions?actionType=actionType&maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListMitigationActions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [actionType](#API_ListMitigationActions_RequestSyntax) **   <a name="iot-ListMitigationActions-request-uri-actionType"></a>
Specify a value to limit the result to mitigation actions with a specific action type.  
Valid Values: `UPDATE_DEVICE_CERTIFICATE | UPDATE_CA_CERTIFICATE | ADD_THINGS_TO_THING_GROUP | REPLACE_DEFAULT_POLICY_VERSION | ENABLE_IOT_LOGGING | PUBLISH_FINDING_TO_SNS` 

 ** [maxResults](#API_ListMitigationActions_RequestSyntax) **   <a name="iot-ListMitigationActions-request-uri-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListMitigationActions_RequestSyntax) **   <a name="iot-ListMitigationActions-request-uri-nextToken"></a>
The token for the next set of results.

## Request Body
<a name="API_ListMitigationActions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListMitigationActions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionIdentifiers": [ 
      { 
         "actionArn": "string",
         "actionName": "string",
         "creationDate": number
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListMitigationActions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionIdentifiers](#API_ListMitigationActions_ResponseSyntax) **   <a name="iot-ListMitigationActions-response-actionIdentifiers"></a>
A set of actions that matched the specified filter criteria.  
Type: Array of [MitigationActionIdentifier](API_MitigationActionIdentifier.md) objects

 ** [nextToken](#API_ListMitigationActions_ResponseSyntax) **   <a name="iot-ListMitigationActions-response-nextToken"></a>
The token for the next set of results.  
Type: String

## Errors
<a name="API_ListMitigationActions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListMitigationActions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListMitigationActions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListMitigationActions) 

# ListOTAUpdates
<a name="API_ListOTAUpdates"></a>

Lists OTA updates.

Requires permission to access the [ListOTAUpdates](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListOTAUpdates_RequestSyntax"></a>

```
GET /otaUpdates?maxResults=maxResults&nextToken=nextToken&otaUpdateStatus=otaUpdateStatus HTTP/1.1
```

## URI Request Parameters
<a name="API_ListOTAUpdates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListOTAUpdates_RequestSyntax) **   <a name="iot-ListOTAUpdates-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListOTAUpdates_RequestSyntax) **   <a name="iot-ListOTAUpdates-request-uri-nextToken"></a>
A token used to retrieve the next set of results.

 ** [otaUpdateStatus](#API_ListOTAUpdates_RequestSyntax) **   <a name="iot-ListOTAUpdates-request-uri-otaUpdateStatus"></a>
The OTA update job status.  
Valid Values: `CREATE_PENDING | CREATE_IN_PROGRESS | CREATE_COMPLETE | CREATE_FAILED | DELETE_IN_PROGRESS | DELETE_FAILED` 

## Request Body
<a name="API_ListOTAUpdates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListOTAUpdates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "otaUpdates": [ 
      { 
         "creationDate": number,
         "otaUpdateArn": "string",
         "otaUpdateId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListOTAUpdates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListOTAUpdates_ResponseSyntax) **   <a name="iot-ListOTAUpdates-response-nextToken"></a>
A token to use to get the next set of results.  
Type: String

 ** [otaUpdates](#API_ListOTAUpdates_ResponseSyntax) **   <a name="iot-ListOTAUpdates-response-otaUpdates"></a>
A list of OTA update jobs.  
Type: Array of [OTAUpdateSummary](API_OTAUpdateSummary.md) objects

## Errors
<a name="API_ListOTAUpdates_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListOTAUpdates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListOTAUpdates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListOTAUpdates) 

# ListOutgoingCertificates
<a name="API_ListOutgoingCertificates"></a>

Lists certificates that are being transferred but not yet accepted.

Requires permission to access the [ListOutgoingCertificates](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListOutgoingCertificates_RequestSyntax"></a>

```
GET /certificates-out-going?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_ListOutgoingCertificates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListOutgoingCertificates_RequestSyntax) **   <a name="iot-ListOutgoingCertificates-request-uri-ascendingOrder"></a>
Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

 ** [marker](#API_ListOutgoingCertificates_RequestSyntax) **   <a name="iot-ListOutgoingCertificates-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListOutgoingCertificates_RequestSyntax) **   <a name="iot-ListOutgoingCertificates-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

## Request Body
<a name="API_ListOutgoingCertificates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListOutgoingCertificates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "outgoingCertificates": [ 
      { 
         "certificateArn": "string",
         "certificateId": "string",
         "creationDate": number,
         "transferDate": number,
         "transferMessage": "string",
         "transferredTo": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListOutgoingCertificates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListOutgoingCertificates_ResponseSyntax) **   <a name="iot-ListOutgoingCertificates-response-nextMarker"></a>
The marker for the next set of results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [outgoingCertificates](#API_ListOutgoingCertificates_ResponseSyntax) **   <a name="iot-ListOutgoingCertificates-response-outgoingCertificates"></a>
The certificates that are being transferred but not yet accepted.  
Type: Array of [OutgoingCertificate](API_OutgoingCertificate.md) objects

## Errors
<a name="API_ListOutgoingCertificates_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListOutgoingCertificates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListOutgoingCertificates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListOutgoingCertificates) 

# ListPackages
<a name="API_ListPackages"></a>

Lists the software packages associated to the account.

Requires permission to access the [ListPackages](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPackages_RequestSyntax"></a>

```
GET /packages?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListPackages_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListPackages_RequestSyntax) **   <a name="iot-ListPackages-request-uri-maxResults"></a>
The maximum number of results returned at one time.  
Valid Range: Minimum value of 1. Maximum value of 100.

 ** [nextToken](#API_ListPackages_RequestSyntax) **   <a name="iot-ListPackages-request-uri-nextToken"></a>
The token for the next set of results.

## Request Body
<a name="API_ListPackages_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPackages_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "packageSummaries": [ 
      { 
         "creationDate": number,
         "defaultVersionName": "string",
         "lastModifiedDate": number,
         "packageName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListPackages_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListPackages_ResponseSyntax) **   <a name="iot-ListPackages-response-nextToken"></a>
The token for the next set of results.  
Type: String

 ** [packageSummaries](#API_ListPackages_ResponseSyntax) **   <a name="iot-ListPackages-response-packageSummaries"></a>
The software package summary.  
Type: Array of [PackageSummary](API_PackageSummary.md) objects

## Errors
<a name="API_ListPackages_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_ListPackages_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPackages) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPackages) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPackages) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPackages) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPackages) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPackages) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPackages) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPackages) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPackages) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPackages) 

# ListPackageVersions
<a name="API_ListPackageVersions"></a>

Lists the software package versions associated to the account.

Requires permission to access the [ListPackageVersions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPackageVersions_RequestSyntax"></a>

```
GET /packages/packageName/versions?maxResults=maxResults&nextToken=nextToken&status=status HTTP/1.1
```

## URI Request Parameters
<a name="API_ListPackageVersions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListPackageVersions_RequestSyntax) **   <a name="iot-ListPackageVersions-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 100.

 ** [nextToken](#API_ListPackageVersions_RequestSyntax) **   <a name="iot-ListPackageVersions-request-uri-nextToken"></a>
The token for the next set of results.

 ** [packageName](#API_ListPackageVersions_RequestSyntax) **   <a name="iot-ListPackageVersions-request-uri-packageName"></a>
The name of the target software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [status](#API_ListPackageVersions_RequestSyntax) **   <a name="iot-ListPackageVersions-request-uri-status"></a>
The status of the package version. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).  
Valid Values: `DRAFT | PUBLISHED | DEPRECATED` 

## Request Body
<a name="API_ListPackageVersions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPackageVersions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "packageVersionSummaries": [ 
      { 
         "creationDate": number,
         "lastModifiedDate": number,
         "packageName": "string",
         "status": "string",
         "versionName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListPackageVersions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListPackageVersions_ResponseSyntax) **   <a name="iot-ListPackageVersions-response-nextToken"></a>
The token for the next set of results.  
Type: String

 ** [packageVersionSummaries](#API_ListPackageVersions_ResponseSyntax) **   <a name="iot-ListPackageVersions-response-packageVersionSummaries"></a>
Lists the package versions associated to the package.  
Type: Array of [PackageVersionSummary](API_PackageVersionSummary.md) objects

## Errors
<a name="API_ListPackageVersions_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_ListPackageVersions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPackageVersions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPackageVersions) 

# ListPolicies
<a name="API_ListPolicies"></a>

Lists your policies.

Requires permission to access the [ListPolicies](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPolicies_RequestSyntax"></a>

```
GET /policies?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_ListPolicies_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListPolicies_RequestSyntax) **   <a name="iot-ListPolicies-request-uri-ascendingOrder"></a>
Specifies the order for results. If true, the results are returned in ascending creation order.

 ** [marker](#API_ListPolicies_RequestSyntax) **   <a name="iot-ListPolicies-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListPolicies_RequestSyntax) **   <a name="iot-ListPolicies-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

## Request Body
<a name="API_ListPolicies_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPolicies_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "policies": [ 
      { 
         "policyArn": "string",
         "policyName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListPolicies_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListPolicies_ResponseSyntax) **   <a name="iot-ListPolicies-response-nextMarker"></a>
The marker for the next set of results, or null if there are no additional results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [policies](#API_ListPolicies_ResponseSyntax) **   <a name="iot-ListPolicies-response-policies"></a>
The descriptions of the policies.  
Type: Array of [Policy](API_Policy.md) objects

## Errors
<a name="API_ListPolicies_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListPolicies_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPolicies) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPolicies) 

# ListPolicyPrincipals
<a name="API_ListPolicyPrincipals"></a>

Lists the principals associated with the specified policy.

 **Note:** This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use [ListTargetsForPolicy](API_ListTargetsForPolicy.md) instead.

Requires permission to access the [ListPolicyPrincipals](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPolicyPrincipals_RequestSyntax"></a>

```
GET /policy-principals?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
x-amzn-iot-policy: policyName
```

## URI Request Parameters
<a name="API_ListPolicyPrincipals_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListPolicyPrincipals_RequestSyntax) **   <a name="iot-ListPolicyPrincipals-request-uri-ascendingOrder"></a>
Specifies the order for results. If true, the results are returned in ascending creation order.

 ** [marker](#API_ListPolicyPrincipals_RequestSyntax) **   <a name="iot-ListPolicyPrincipals-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListPolicyPrincipals_RequestSyntax) **   <a name="iot-ListPolicyPrincipals-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [policyName](#API_ListPolicyPrincipals_RequestSyntax) **   <a name="iot-ListPolicyPrincipals-request-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_ListPolicyPrincipals_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPolicyPrincipals_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "principals": [ "string" ]
}
```

## Response Elements
<a name="API_ListPolicyPrincipals_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListPolicyPrincipals_ResponseSyntax) **   <a name="iot-ListPolicyPrincipals-response-nextMarker"></a>
The marker for the next set of results, or null if there are no additional results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [principals](#API_ListPolicyPrincipals_ResponseSyntax) **   <a name="iot-ListPolicyPrincipals-response-principals"></a>
The descriptions of the principals.  
Type: Array of strings

## Errors
<a name="API_ListPolicyPrincipals_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListPolicyPrincipals_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPolicyPrincipals) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPolicyPrincipals) 

# ListPolicyVersions
<a name="API_ListPolicyVersions"></a>

Lists the versions of the specified policy and identifies the default version.

Requires permission to access the [ListPolicyVersions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPolicyVersions_RequestSyntax"></a>

```
GET /policies/policyName/version HTTP/1.1
```

## URI Request Parameters
<a name="API_ListPolicyVersions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_ListPolicyVersions_RequestSyntax) **   <a name="iot-ListPolicyVersions-request-uri-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_ListPolicyVersions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPolicyVersions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "policyVersions": [ 
      { 
         "createDate": number,
         "isDefaultVersion": boolean,
         "versionId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListPolicyVersions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [policyVersions](#API_ListPolicyVersions_ResponseSyntax) **   <a name="iot-ListPolicyVersions-response-policyVersions"></a>
The policy versions.  
Type: Array of [PolicyVersion](API_PolicyVersion.md) objects

## Errors
<a name="API_ListPolicyVersions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListPolicyVersions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPolicyVersions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPolicyVersions) 

# ListPrincipalPolicies
<a name="API_ListPrincipalPolicies"></a>

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in [AmazonCognito Identity format](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html#API_GetCredentialsForIdentity_RequestSyntax).

 **Note:** This action is deprecated and works as expected for backward compatibility, but we won't add enhancements. Use [ListAttachedPolicies](API_ListAttachedPolicies.md) instead.

Requires permission to access the [ListPrincipalPolicies](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPrincipalPolicies_RequestSyntax"></a>

```
GET /principal-policies?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
x-amzn-iot-principal: principal
```

## URI Request Parameters
<a name="API_ListPrincipalPolicies_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListPrincipalPolicies_RequestSyntax) **   <a name="iot-ListPrincipalPolicies-request-uri-ascendingOrder"></a>
Specifies the order for results. If true, results are returned in ascending creation order.

 ** [marker](#API_ListPrincipalPolicies_RequestSyntax) **   <a name="iot-ListPrincipalPolicies-request-uri-marker"></a>
The marker for the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListPrincipalPolicies_RequestSyntax) **   <a name="iot-ListPrincipalPolicies-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [principal](#API_ListPrincipalPolicies_RequestSyntax) **   <a name="iot-ListPrincipalPolicies-request-principal"></a>
The principal. Valid principals are CertificateArn (arn:aws:iot:*region*:*accountId*:cert/*certificateId*), thingGroupArn (arn:aws:iot:*region*:*accountId*:thinggroup/*groupName*) and CognitoId (*region*:*id*).  
Required: Yes

## Request Body
<a name="API_ListPrincipalPolicies_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPrincipalPolicies_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "policies": [ 
      { 
         "policyArn": "string",
         "policyName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListPrincipalPolicies_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListPrincipalPolicies_ResponseSyntax) **   <a name="iot-ListPrincipalPolicies-response-nextMarker"></a>
The marker for the next set of results, or null if there are no additional results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [policies](#API_ListPrincipalPolicies_ResponseSyntax) **   <a name="iot-ListPrincipalPolicies-response-policies"></a>
The policies.  
Type: Array of [Policy](API_Policy.md) objects

## Errors
<a name="API_ListPrincipalPolicies_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListPrincipalPolicies_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPrincipalPolicies) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPrincipalPolicies) 

# ListPrincipalThings
<a name="API_ListPrincipalThings"></a>

Lists the things associated with the specified principal. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities. 

Requires permission to access the [ListPrincipalThings](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPrincipalThings_RequestSyntax"></a>

```
GET /principals/things?maxResults=maxResults&nextToken=nextToken HTTP/1.1
x-amzn-principal: principal
```

## URI Request Parameters
<a name="API_ListPrincipalThings_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListPrincipalThings_RequestSyntax) **   <a name="iot-ListPrincipalThings-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListPrincipalThings_RequestSyntax) **   <a name="iot-ListPrincipalThings-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [principal](#API_ListPrincipalThings_RequestSyntax) **   <a name="iot-ListPrincipalThings-request-principal"></a>
The principal.  
Required: Yes

## Request Body
<a name="API_ListPrincipalThings_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPrincipalThings_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "things": [ "string" ]
}
```

## Response Elements
<a name="API_ListPrincipalThings_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListPrincipalThings_ResponseSyntax) **   <a name="iot-ListPrincipalThings-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [things](#API_ListPrincipalThings_ResponseSyntax) **   <a name="iot-ListPrincipalThings-response-things"></a>
The things.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_ListPrincipalThings_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListPrincipalThings_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPrincipalThings) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPrincipalThings) 

# ListPrincipalThingsV2
<a name="API_ListPrincipalThingsV2"></a>

Lists the things associated with the specified principal. A principal can be an X.509 certificate or an Amazon Cognito ID.

Requires permission to access the [ListPrincipalThings](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListPrincipalThingsV2_RequestSyntax"></a>

```
GET /principals/things-v2?maxResults=maxResults&nextToken=nextToken&thingPrincipalType=thingPrincipalType HTTP/1.1
x-amzn-principal: principal
```

## URI Request Parameters
<a name="API_ListPrincipalThingsV2_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListPrincipalThingsV2_RequestSyntax) **   <a name="iot-ListPrincipalThingsV2-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListPrincipalThingsV2_RequestSyntax) **   <a name="iot-ListPrincipalThingsV2-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [principal](#API_ListPrincipalThingsV2_RequestSyntax) **   <a name="iot-ListPrincipalThingsV2-request-principal"></a>
The principal. A principal can be an X.509 certificate or an Amazon Cognito ID.  
Required: Yes

 ** [thingPrincipalType](#API_ListPrincipalThingsV2_RequestSyntax) **   <a name="iot-ListPrincipalThingsV2-request-uri-thingPrincipalType"></a>
The type of the relation you want to filter in the response. If no value is provided in this field, the response will list all things, including both the `EXCLUSIVE_THING` and `NON_EXCLUSIVE_THING` attachment types.  
+  `EXCLUSIVE_THING` - Attaches the specified principal to the specified thing, exclusively. The thing will be the only thing that’s attached to the principal.
+  `NON_EXCLUSIVE_THING` - Attaches the specified principal to the specified thing. Multiple things can be attached to the principal.
Valid Values: `EXCLUSIVE_THING | NON_EXCLUSIVE_THING` 

## Request Body
<a name="API_ListPrincipalThingsV2_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListPrincipalThingsV2_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "principalThingObjects": [ 
      { 
         "thingName": "string",
         "thingPrincipalType": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListPrincipalThingsV2_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListPrincipalThingsV2_ResponseSyntax) **   <a name="iot-ListPrincipalThingsV2-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [principalThingObjects](#API_ListPrincipalThingsV2_ResponseSyntax) **   <a name="iot-ListPrincipalThingsV2-response-principalThingObjects"></a>
A list of `thingPrincipalObject` that represents the principal and the type of relation it has with the thing.  
Type: Array of [PrincipalThingObject](API_PrincipalThingObject.md) objects

## Errors
<a name="API_ListPrincipalThingsV2_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListPrincipalThingsV2_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListPrincipalThingsV2) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListPrincipalThingsV2) 

# ListProvisioningTemplates
<a name="API_ListProvisioningTemplates"></a>

Lists the provisioning templates in your AWS account.

Requires permission to access the [ListProvisioningTemplates](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListProvisioningTemplates_RequestSyntax"></a>

```
GET /provisioning-templates?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListProvisioningTemplates_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListProvisioningTemplates_RequestSyntax) **   <a name="iot-ListProvisioningTemplates-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListProvisioningTemplates_RequestSyntax) **   <a name="iot-ListProvisioningTemplates-request-uri-nextToken"></a>
A token to retrieve the next set of results.

## Request Body
<a name="API_ListProvisioningTemplates_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListProvisioningTemplates_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "templates": [ 
      { 
         "creationDate": number,
         "description": "string",
         "enabled": boolean,
         "lastModifiedDate": number,
         "templateArn": "string",
         "templateName": "string",
         "type": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListProvisioningTemplates_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListProvisioningTemplates_ResponseSyntax) **   <a name="iot-ListProvisioningTemplates-response-nextToken"></a>
A token to retrieve the next set of results.  
Type: String

 ** [templates](#API_ListProvisioningTemplates_ResponseSyntax) **   <a name="iot-ListProvisioningTemplates-response-templates"></a>
A list of provisioning templates  
Type: Array of [ProvisioningTemplateSummary](API_ProvisioningTemplateSummary.md) objects

## Errors
<a name="API_ListProvisioningTemplates_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListProvisioningTemplates_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListProvisioningTemplates) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListProvisioningTemplates) 

# ListProvisioningTemplateVersions
<a name="API_ListProvisioningTemplateVersions"></a>

A list of provisioning template versions.

Requires permission to access the [ListProvisioningTemplateVersions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListProvisioningTemplateVersions_RequestSyntax"></a>

```
GET /provisioning-templates/templateName/versions?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListProvisioningTemplateVersions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListProvisioningTemplateVersions_RequestSyntax) **   <a name="iot-ListProvisioningTemplateVersions-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListProvisioningTemplateVersions_RequestSyntax) **   <a name="iot-ListProvisioningTemplateVersions-request-uri-nextToken"></a>
A token to retrieve the next set of results.

 ** [templateName](#API_ListProvisioningTemplateVersions_RequestSyntax) **   <a name="iot-ListProvisioningTemplateVersions-request-uri-templateName"></a>
The name of the provisioning template.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

## Request Body
<a name="API_ListProvisioningTemplateVersions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListProvisioningTemplateVersions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "versions": [ 
      { 
         "creationDate": number,
         "isDefaultVersion": boolean,
         "versionId": number
      }
   ]
}
```

## Response Elements
<a name="API_ListProvisioningTemplateVersions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListProvisioningTemplateVersions_ResponseSyntax) **   <a name="iot-ListProvisioningTemplateVersions-response-nextToken"></a>
A token to retrieve the next set of results.  
Type: String

 ** [versions](#API_ListProvisioningTemplateVersions_ResponseSyntax) **   <a name="iot-ListProvisioningTemplateVersions-response-versions"></a>
The list of provisioning template versions.  
Type: Array of [ProvisioningTemplateVersionSummary](API_ProvisioningTemplateVersionSummary.md) objects

## Errors
<a name="API_ListProvisioningTemplateVersions_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListProvisioningTemplateVersions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListProvisioningTemplateVersions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListProvisioningTemplateVersions) 

# ListRelatedResourcesForAuditFinding
<a name="API_ListRelatedResourcesForAuditFinding"></a>

The related resources of an Audit finding. The following resources can be returned from calling this API:
+ DEVICE\$1CERTIFICATE
+ CA\$1CERTIFICATE
+ IOT\$1POLICY
+ COGNITO\$1IDENTITY\$1POOL
+ CLIENT\$1ID
+ ACCOUNT\$1SETTINGS
+ ROLE\$1ALIAS
+ IAM\$1ROLE
+ ISSUER\$1CERTIFICATE

**Note**  
This API is similar to DescribeAuditFinding's [RelatedResources](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeAuditFinding.html) but provides pagination and is not limited to 10 resources. When calling [DescribeAuditFinding](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeAuditFinding.html) for the intermediate CA revoked for active device certificates check, RelatedResources will not be populated. You must use this API, ListRelatedResourcesForAuditFinding, to list the certificates.

## Request Syntax
<a name="API_ListRelatedResourcesForAuditFinding_RequestSyntax"></a>

```
GET /audit/relatedResources?findingId=findingId&maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListRelatedResourcesForAuditFinding_RequestParameters"></a>

The request uses the following URI parameters.

 ** [findingId](#API_ListRelatedResourcesForAuditFinding_RequestSyntax) **   <a name="iot-ListRelatedResourcesForAuditFinding-request-uri-findingId"></a>
The finding Id.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [maxResults](#API_ListRelatedResourcesForAuditFinding_RequestSyntax) **   <a name="iot-ListRelatedResourcesForAuditFinding-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListRelatedResourcesForAuditFinding_RequestSyntax) **   <a name="iot-ListRelatedResourcesForAuditFinding-request-uri-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.

## Request Body
<a name="API_ListRelatedResourcesForAuditFinding_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListRelatedResourcesForAuditFinding_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "relatedResources": [ 
      { 
         "additionalInfo": { 
            "string" : "string" 
         },
         "resourceIdentifier": { 
            "account": "string",
            "caCertificateId": "string",
            "clientId": "string",
            "cognitoIdentityPoolId": "string",
            "deviceCertificateArn": "string",
            "deviceCertificateId": "string",
            "iamRoleArn": "string",
            "issuerCertificateIdentifier": { 
               "issuerCertificateSerialNumber": "string",
               "issuerCertificateSubject": "string",
               "issuerId": "string"
            },
            "policyVersionIdentifier": { 
               "policyName": "string",
               "policyVersionId": "string"
            },
            "roleAliasArn": "string"
         },
         "resourceType": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListRelatedResourcesForAuditFinding_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListRelatedResourcesForAuditFinding_ResponseSyntax) **   <a name="iot-ListRelatedResourcesForAuditFinding-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` for the first API call.  
Type: String

 ** [relatedResources](#API_ListRelatedResourcesForAuditFinding_ResponseSyntax) **   <a name="iot-ListRelatedResourcesForAuditFinding-response-relatedResources"></a>
The related resources.  
Type: Array of [RelatedResource](API_RelatedResource.md) objects

## Errors
<a name="API_ListRelatedResourcesForAuditFinding_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListRelatedResourcesForAuditFinding_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListRelatedResourcesForAuditFinding) 

# ListRoleAliases
<a name="API_ListRoleAliases"></a>

Lists the role aliases registered in your account.

Requires permission to access the [ListRoleAliases](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListRoleAliases_RequestSyntax"></a>

```
GET /role-aliases?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_ListRoleAliases_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListRoleAliases_RequestSyntax) **   <a name="iot-ListRoleAliases-request-uri-ascendingOrder"></a>
Return the list of role aliases in ascending alphabetical order.

 ** [marker](#API_ListRoleAliases_RequestSyntax) **   <a name="iot-ListRoleAliases-request-uri-marker"></a>
A marker used to get the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListRoleAliases_RequestSyntax) **   <a name="iot-ListRoleAliases-request-uri-pageSize"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

## Request Body
<a name="API_ListRoleAliases_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListRoleAliases_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "roleAliases": [ "string" ]
}
```

## Response Elements
<a name="API_ListRoleAliases_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListRoleAliases_ResponseSyntax) **   <a name="iot-ListRoleAliases-response-nextMarker"></a>
A marker used to get the next set of results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [roleAliases](#API_ListRoleAliases_ResponseSyntax) **   <a name="iot-ListRoleAliases-response-roleAliases"></a>
The role aliases.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

## Errors
<a name="API_ListRoleAliases_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListRoleAliases_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListRoleAliases) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListRoleAliases) 

# ListSbomValidationResults
<a name="API_ListSbomValidationResults"></a>

The validation results for all software bill of materials (SBOM) attached to a specific software package version.

Requires permission to access the [ListSbomValidationResults](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListSbomValidationResults_RequestSyntax"></a>

```
GET /packages/packageName/versions/versionName/sbom-validation-results?maxResults=maxResults&nextToken=nextToken&validationResult=validationResult HTTP/1.1
```

## URI Request Parameters
<a name="API_ListSbomValidationResults_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListSbomValidationResults_RequestSyntax) **   <a name="iot-ListSbomValidationResults-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 100.

 ** [nextToken](#API_ListSbomValidationResults_RequestSyntax) **   <a name="iot-ListSbomValidationResults-request-uri-nextToken"></a>
A token that can be used to retrieve the next set of results, or null if there are no additional results.

 ** [packageName](#API_ListSbomValidationResults_RequestSyntax) **   <a name="iot-ListSbomValidationResults-request-uri-packageName"></a>
The name of the new software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [validationResult](#API_ListSbomValidationResults_RequestSyntax) **   <a name="iot-ListSbomValidationResults-request-uri-validationResult"></a>
The end result of the   
Valid Values: `FAILED | SUCCEEDED` 

 ** [versionName](#API_ListSbomValidationResults_RequestSyntax) **   <a name="iot-ListSbomValidationResults-request-uri-versionName"></a>
The name of the new package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_ListSbomValidationResults_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListSbomValidationResults_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "validationResultSummaries": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "fileName": "string",
         "validationResult": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListSbomValidationResults_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListSbomValidationResults_ResponseSyntax) **   <a name="iot-ListSbomValidationResults-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or null if there are no additional results.  
Type: String

 ** [validationResultSummaries](#API_ListSbomValidationResults_ResponseSyntax) **   <a name="iot-ListSbomValidationResults-response-validationResultSummaries"></a>
A summary of the validation results for each software bill of materials attached to a software package version.  
Type: Array of [SbomValidationResultSummary](API_SbomValidationResultSummary.md) objects

## Errors
<a name="API_ListSbomValidationResults_Errors"></a>

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_ListSbomValidationResults_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListSbomValidationResults) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListSbomValidationResults) 

# ListScheduledAudits
<a name="API_ListScheduledAudits"></a>

Lists all of your scheduled audits.

Requires permission to access the [ListScheduledAudits](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListScheduledAudits_RequestSyntax"></a>

```
GET /audit/scheduledaudits?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListScheduledAudits_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListScheduledAudits_RequestSyntax) **   <a name="iot-ListScheduledAudits-request-uri-maxResults"></a>
The maximum number of results to return at one time. The default is 25.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListScheduledAudits_RequestSyntax) **   <a name="iot-ListScheduledAudits-request-uri-nextToken"></a>
The token for the next set of results.

## Request Body
<a name="API_ListScheduledAudits_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListScheduledAudits_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "scheduledAudits": [ 
      { 
         "dayOfMonth": "string",
         "dayOfWeek": "string",
         "frequency": "string",
         "scheduledAuditArn": "string",
         "scheduledAuditName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListScheduledAudits_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListScheduledAudits_ResponseSyntax) **   <a name="iot-ListScheduledAudits-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

 ** [scheduledAudits](#API_ListScheduledAudits_ResponseSyntax) **   <a name="iot-ListScheduledAudits-response-scheduledAudits"></a>
The list of scheduled audits.  
Type: Array of [ScheduledAuditMetadata](API_ScheduledAuditMetadata.md) objects

## Errors
<a name="API_ListScheduledAudits_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListScheduledAudits_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListScheduledAudits) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListScheduledAudits) 

# ListSecurityProfiles
<a name="API_ListSecurityProfiles"></a>

Lists the Device Defender security profiles you've created. You can filter security profiles by dimension or custom metric.

Requires permission to access the [ListSecurityProfiles](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Note**  
 `dimensionName` and `metricName` cannot be used in the same request.

## Request Syntax
<a name="API_ListSecurityProfiles_RequestSyntax"></a>

```
GET /security-profiles?dimensionName=dimensionName&maxResults=maxResults&metricName=metricName&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListSecurityProfiles_RequestParameters"></a>

The request uses the following URI parameters.

 ** [dimensionName](#API_ListSecurityProfiles_RequestSyntax) **   <a name="iot-ListSecurityProfiles-request-uri-dimensionName"></a>
A filter to limit results to the security profiles that use the defined dimension. Cannot be used with `metricName`   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [maxResults](#API_ListSecurityProfiles_RequestSyntax) **   <a name="iot-ListSecurityProfiles-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [metricName](#API_ListSecurityProfiles_RequestSyntax) **   <a name="iot-ListSecurityProfiles-request-uri-metricName"></a>
 The name of the custom metric. Cannot be used with `dimensionName`.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [nextToken](#API_ListSecurityProfiles_RequestSyntax) **   <a name="iot-ListSecurityProfiles-request-uri-nextToken"></a>
The token for the next set of results.

## Request Body
<a name="API_ListSecurityProfiles_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListSecurityProfiles_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "securityProfileIdentifiers": [ 
      { 
         "arn": "string",
         "name": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListSecurityProfiles_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListSecurityProfiles_ResponseSyntax) **   <a name="iot-ListSecurityProfiles-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

 ** [securityProfileIdentifiers](#API_ListSecurityProfiles_ResponseSyntax) **   <a name="iot-ListSecurityProfiles-response-securityProfileIdentifiers"></a>
A list of security profile identifiers (names and ARNs).  
Type: Array of [SecurityProfileIdentifier](API_SecurityProfileIdentifier.md) objects

## Errors
<a name="API_ListSecurityProfiles_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListSecurityProfiles_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListSecurityProfiles) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListSecurityProfiles) 

# ListSecurityProfilesForTarget
<a name="API_ListSecurityProfilesForTarget"></a>

Lists the Device Defender security profiles attached to a target (thing group).

Requires permission to access the [ListSecurityProfilesForTarget](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListSecurityProfilesForTarget_RequestSyntax"></a>

```
GET /security-profiles-for-target?maxResults=maxResults&nextToken=nextToken&recursive=recursive&securityProfileTargetArn=securityProfileTargetArn HTTP/1.1
```

## URI Request Parameters
<a name="API_ListSecurityProfilesForTarget_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListSecurityProfilesForTarget_RequestSyntax) **   <a name="iot-ListSecurityProfilesForTarget-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListSecurityProfilesForTarget_RequestSyntax) **   <a name="iot-ListSecurityProfilesForTarget-request-uri-nextToken"></a>
The token for the next set of results.

 ** [recursive](#API_ListSecurityProfilesForTarget_RequestSyntax) **   <a name="iot-ListSecurityProfilesForTarget-request-uri-recursive"></a>
If true, return child groups too.

 ** [securityProfileTargetArn](#API_ListSecurityProfilesForTarget_RequestSyntax) **   <a name="iot-ListSecurityProfilesForTarget-request-uri-securityProfileTargetArn"></a>
The ARN of the target (thing group) whose attached security profiles you want to get.  
Required: Yes

## Request Body
<a name="API_ListSecurityProfilesForTarget_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListSecurityProfilesForTarget_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "securityProfileTargetMappings": [ 
      { 
         "securityProfileIdentifier": { 
            "arn": "string",
            "name": "string"
         },
         "target": { 
            "arn": "string"
         }
      }
   ]
}
```

## Response Elements
<a name="API_ListSecurityProfilesForTarget_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListSecurityProfilesForTarget_ResponseSyntax) **   <a name="iot-ListSecurityProfilesForTarget-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

 ** [securityProfileTargetMappings](#API_ListSecurityProfilesForTarget_ResponseSyntax) **   <a name="iot-ListSecurityProfilesForTarget-response-securityProfileTargetMappings"></a>
A list of security profiles and their associated targets.  
Type: Array of [SecurityProfileTargetMapping](API_SecurityProfileTargetMapping.md) objects

## Errors
<a name="API_ListSecurityProfilesForTarget_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListSecurityProfilesForTarget_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListSecurityProfilesForTarget) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListSecurityProfilesForTarget) 

# ListStreams
<a name="API_ListStreams"></a>

Lists all of the streams in your AWS account.

Requires permission to access the [ListStreams](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListStreams_RequestSyntax"></a>

```
GET /streams?isAscendingOrder=ascendingOrder&maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListStreams_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ascendingOrder](#API_ListStreams_RequestSyntax) **   <a name="iot-ListStreams-request-uri-ascendingOrder"></a>
Set to true to return the list of streams in ascending order.

 ** [maxResults](#API_ListStreams_RequestSyntax) **   <a name="iot-ListStreams-request-uri-maxResults"></a>
The maximum number of results to return at a time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListStreams_RequestSyntax) **   <a name="iot-ListStreams-request-uri-nextToken"></a>
A token used to get the next set of results.

## Request Body
<a name="API_ListStreams_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListStreams_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "streams": [ 
      { 
         "description": "string",
         "streamArn": "string",
         "streamId": "string",
         "streamVersion": number
      }
   ]
}
```

## Response Elements
<a name="API_ListStreams_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListStreams_ResponseSyntax) **   <a name="iot-ListStreams-response-nextToken"></a>
A token used to get the next set of results.  
Type: String

 ** [streams](#API_ListStreams_ResponseSyntax) **   <a name="iot-ListStreams-response-streams"></a>
A list of streams.  
Type: Array of [StreamSummary](API_StreamSummary.md) objects

## Errors
<a name="API_ListStreams_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListStreams_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListStreams) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListStreams) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListStreams) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListStreams) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListStreams) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListStreams) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListStreams) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListStreams) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListStreams) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListStreams) 

# ListTagsForResource
<a name="API_ListTagsForResource"></a>

Lists the tags (metadata) you have assigned to the resource.

Requires permission to access the [ListTagsForResource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListTagsForResource_RequestSyntax"></a>

```
GET /tags?nextToken=nextToken&resourceArn=resourceArn HTTP/1.1
```

## URI Request Parameters
<a name="API_ListTagsForResource_RequestParameters"></a>

The request uses the following URI parameters.

 ** [nextToken](#API_ListTagsForResource_RequestSyntax) **   <a name="iot-ListTagsForResource-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [resourceArn](#API_ListTagsForResource_RequestSyntax) **   <a name="iot-ListTagsForResource-request-uri-resourceArn"></a>
The ARN of the resource.  
Required: Yes

## Request Body
<a name="API_ListTagsForResource_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListTagsForResource_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListTagsForResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListTagsForResource_ResponseSyntax) **   <a name="iot-ListTagsForResource-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [tags](#API_ListTagsForResource_ResponseSyntax) **   <a name="iot-ListTagsForResource-response-tags"></a>
The list of tags assigned to the resource.  
Type: Array of [Tag](API_Tag.md) objects

## Errors
<a name="API_ListTagsForResource_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListTagsForResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListTagsForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListTagsForResource) 

# ListTargetsForPolicy
<a name="API_ListTargetsForPolicy"></a>

List targets for the specified policy.

Requires permission to access the [ListTargetsForPolicy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListTargetsForPolicy_RequestSyntax"></a>

```
POST /policy-targets/policyName?marker=marker&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_ListTargetsForPolicy_RequestParameters"></a>

The request uses the following URI parameters.

 ** [marker](#API_ListTargetsForPolicy_RequestSyntax) **   <a name="iot-ListTargetsForPolicy-request-uri-marker"></a>
A marker used to get the next set of results.  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [pageSize](#API_ListTargetsForPolicy_RequestSyntax) **   <a name="iot-ListTargetsForPolicy-request-uri-pageSize"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [policyName](#API_ListTargetsForPolicy_RequestSyntax) **   <a name="iot-ListTargetsForPolicy-request-uri-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

## Request Body
<a name="API_ListTargetsForPolicy_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListTargetsForPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextMarker": "string",
   "targets": [ "string" ]
}
```

## Response Elements
<a name="API_ListTargetsForPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextMarker](#API_ListTargetsForPolicy_ResponseSyntax) **   <a name="iot-ListTargetsForPolicy-response-nextMarker"></a>
A marker used to get the next set of results.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[A-Za-z0-9+/]+={0,2}` 

 ** [targets](#API_ListTargetsForPolicy_ResponseSyntax) **   <a name="iot-ListTargetsForPolicy-response-targets"></a>
The policy targets.  
Type: Array of strings

## Errors
<a name="API_ListTargetsForPolicy_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListTargetsForPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListTargetsForPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListTargetsForPolicy) 

# ListTargetsForSecurityProfile
<a name="API_ListTargetsForSecurityProfile"></a>

Lists the targets (thing groups) associated with a given Device Defender security profile.

Requires permission to access the [ListTargetsForSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListTargetsForSecurityProfile_RequestSyntax"></a>

```
GET /security-profiles/securityProfileName/targets?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListTargetsForSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListTargetsForSecurityProfile_RequestSyntax) **   <a name="iot-ListTargetsForSecurityProfile-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListTargetsForSecurityProfile_RequestSyntax) **   <a name="iot-ListTargetsForSecurityProfile-request-uri-nextToken"></a>
The token for the next set of results.

 ** [securityProfileName](#API_ListTargetsForSecurityProfile_RequestSyntax) **   <a name="iot-ListTargetsForSecurityProfile-request-uri-securityProfileName"></a>
The security profile.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_ListTargetsForSecurityProfile_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListTargetsForSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "securityProfileTargets": [ 
      { 
         "arn": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListTargetsForSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListTargetsForSecurityProfile_ResponseSyntax) **   <a name="iot-ListTargetsForSecurityProfile-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

 ** [securityProfileTargets](#API_ListTargetsForSecurityProfile_ResponseSyntax) **   <a name="iot-ListTargetsForSecurityProfile-response-securityProfileTargets"></a>
The thing groups to which the security profile is attached.  
Type: Array of [SecurityProfileTarget](API_SecurityProfileTarget.md) objects

## Errors
<a name="API_ListTargetsForSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListTargetsForSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListTargetsForSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListTargetsForSecurityProfile) 

# ListThingGroups
<a name="API_ListThingGroups"></a>

List the thing groups in your account.

Requires permission to access the [ListThingGroups](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingGroups_RequestSyntax"></a>

```
GET /thing-groups?maxResults=maxResults&namePrefixFilter=namePrefixFilter&nextToken=nextToken&parentGroup=parentGroup&recursive=recursive HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingGroups_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingGroups_RequestSyntax) **   <a name="iot-ListThingGroups-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [namePrefixFilter](#API_ListThingGroups_RequestSyntax) **   <a name="iot-ListThingGroups-request-uri-namePrefixFilter"></a>
A filter that limits the results to those with the specified name prefix.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [nextToken](#API_ListThingGroups_RequestSyntax) **   <a name="iot-ListThingGroups-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [parentGroup](#API_ListThingGroups_RequestSyntax) **   <a name="iot-ListThingGroups-request-uri-parentGroup"></a>
A filter that limits the results to those with the specified parent group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [recursive](#API_ListThingGroups_RequestSyntax) **   <a name="iot-ListThingGroups-request-uri-recursive"></a>
If true, return child groups as well.

## Request Body
<a name="API_ListThingGroups_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingGroups_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "thingGroups": [ 
      { 
         "groupArn": "string",
         "groupName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListThingGroups_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingGroups_ResponseSyntax) **   <a name="iot-ListThingGroups-response-nextToken"></a>
The token to use to get the next set of results. Will not be returned if operation has returned all results.  
Type: String

 ** [thingGroups](#API_ListThingGroups_ResponseSyntax) **   <a name="iot-ListThingGroups-response-thingGroups"></a>
The thing groups.  
Type: Array of [GroupNameAndArn](API_GroupNameAndArn.md) objects

## Errors
<a name="API_ListThingGroups_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListThingGroups_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingGroups) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingGroups) 

# ListThingGroupsForThing
<a name="API_ListThingGroupsForThing"></a>

List the thing groups to which the specified thing belongs.

Requires permission to access the [ListThingGroupsForThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingGroupsForThing_RequestSyntax"></a>

```
GET /things/thingName/thing-groups?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingGroupsForThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingGroupsForThing_RequestSyntax) **   <a name="iot-ListThingGroupsForThing-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingGroupsForThing_RequestSyntax) **   <a name="iot-ListThingGroupsForThing-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [thingName](#API_ListThingGroupsForThing_RequestSyntax) **   <a name="iot-ListThingGroupsForThing-request-uri-thingName"></a>
The thing name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_ListThingGroupsForThing_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingGroupsForThing_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "thingGroups": [ 
      { 
         "groupArn": "string",
         "groupName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListThingGroupsForThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingGroupsForThing_ResponseSyntax) **   <a name="iot-ListThingGroupsForThing-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [thingGroups](#API_ListThingGroupsForThing_ResponseSyntax) **   <a name="iot-ListThingGroupsForThing-response-thingGroups"></a>
The thing groups.  
Type: Array of [GroupNameAndArn](API_GroupNameAndArn.md) objects

## Errors
<a name="API_ListThingGroupsForThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListThingGroupsForThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingGroupsForThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingGroupsForThing) 

# ListThingPrincipals
<a name="API_ListThingPrincipals"></a>

Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

Requires permission to access the [ListThingPrincipals](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingPrincipals_RequestSyntax"></a>

```
GET /things/thingName/principals?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingPrincipals_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingPrincipals_RequestSyntax) **   <a name="iot-ListThingPrincipals-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingPrincipals_RequestSyntax) **   <a name="iot-ListThingPrincipals-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [thingName](#API_ListThingPrincipals_RequestSyntax) **   <a name="iot-ListThingPrincipals-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_ListThingPrincipals_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingPrincipals_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "principals": [ "string" ]
}
```

## Response Elements
<a name="API_ListThingPrincipals_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingPrincipals_ResponseSyntax) **   <a name="iot-ListThingPrincipals-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [principals](#API_ListThingPrincipals_ResponseSyntax) **   <a name="iot-ListThingPrincipals-response-principals"></a>
The principals associated with the thing.  
Type: Array of strings

## Errors
<a name="API_ListThingPrincipals_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListThingPrincipals_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingPrincipals) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingPrincipals) 

# ListThingPrincipalsV2
<a name="API_ListThingPrincipalsV2"></a>

Lists the principals associated with the specified thing. A principal can be an X.509 certificate or an Amazon Cognito ID.

Requires permission to access the [ListThingPrincipals](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingPrincipalsV2_RequestSyntax"></a>

```
GET /things/thingName/principals-v2?maxResults=maxResults&nextToken=nextToken&thingPrincipalType=thingPrincipalType HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingPrincipalsV2_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingPrincipalsV2_RequestSyntax) **   <a name="iot-ListThingPrincipalsV2-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingPrincipalsV2_RequestSyntax) **   <a name="iot-ListThingPrincipalsV2-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [thingName](#API_ListThingPrincipalsV2_RequestSyntax) **   <a name="iot-ListThingPrincipalsV2-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [thingPrincipalType](#API_ListThingPrincipalsV2_RequestSyntax) **   <a name="iot-ListThingPrincipalsV2-request-uri-thingPrincipalType"></a>
The type of the relation you want to filter in the response. If no value is provided in this field, the response will list all principals, including both the `EXCLUSIVE_THING` and `NON_EXCLUSIVE_THING` attachment types.  
+  `EXCLUSIVE_THING` - Attaches the specified principal to the specified thing, exclusively. The thing will be the only thing that’s attached to the principal.
+  `NON_EXCLUSIVE_THING` - Attaches the specified principal to the specified thing. Multiple things can be attached to the principal.
Valid Values: `EXCLUSIVE_THING | NON_EXCLUSIVE_THING` 

## Request Body
<a name="API_ListThingPrincipalsV2_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingPrincipalsV2_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "thingPrincipalObjects": [ 
      { 
         "principal": "string",
         "thingPrincipalType": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListThingPrincipalsV2_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingPrincipalsV2_ResponseSyntax) **   <a name="iot-ListThingPrincipalsV2-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [thingPrincipalObjects](#API_ListThingPrincipalsV2_ResponseSyntax) **   <a name="iot-ListThingPrincipalsV2-response-thingPrincipalObjects"></a>
A list of `thingPrincipalObject` that represents the principal and the type of relation it has with the thing.  
Type: Array of [ThingPrincipalObject](API_ThingPrincipalObject.md) objects

## Errors
<a name="API_ListThingPrincipalsV2_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListThingPrincipalsV2_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingPrincipalsV2) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingPrincipalsV2) 

# ListThingRegistrationTaskReports
<a name="API_ListThingRegistrationTaskReports"></a>

Information about the thing registration tasks.

## Request Syntax
<a name="API_ListThingRegistrationTaskReports_RequestSyntax"></a>

```
GET /thing-registration-tasks/taskId/reports?maxResults=maxResults&nextToken=nextToken&reportType=reportType HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingRegistrationTaskReports_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingRegistrationTaskReports_RequestSyntax) **   <a name="iot-ListThingRegistrationTaskReports-request-uri-maxResults"></a>
The maximum number of results to return per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingRegistrationTaskReports_RequestSyntax) **   <a name="iot-ListThingRegistrationTaskReports-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [reportType](#API_ListThingRegistrationTaskReports_RequestSyntax) **   <a name="iot-ListThingRegistrationTaskReports-request-uri-reportType"></a>
The type of task report.  
Valid Values: `ERRORS | RESULTS`   
Required: Yes

 ** [taskId](#API_ListThingRegistrationTaskReports_RequestSyntax) **   <a name="iot-ListThingRegistrationTaskReports-request-uri-taskId"></a>
The id of the task.  
Length Constraints: Maximum length of 40.  
Required: Yes

## Request Body
<a name="API_ListThingRegistrationTaskReports_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingRegistrationTaskReports_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "reportType": "string",
   "resourceLinks": [ "string" ]
}
```

## Response Elements
<a name="API_ListThingRegistrationTaskReports_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingRegistrationTaskReports_ResponseSyntax) **   <a name="iot-ListThingRegistrationTaskReports-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [reportType](#API_ListThingRegistrationTaskReports_ResponseSyntax) **   <a name="iot-ListThingRegistrationTaskReports-response-reportType"></a>
The type of task report.  
Type: String  
Valid Values: `ERRORS | RESULTS` 

 ** [resourceLinks](#API_ListThingRegistrationTaskReports_ResponseSyntax) **   <a name="iot-ListThingRegistrationTaskReports-response-resourceLinks"></a>
Links to the task resources.  
Type: Array of strings  
Length Constraints: Maximum length of 65535.

## Errors
<a name="API_ListThingRegistrationTaskReports_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListThingRegistrationTaskReports_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingRegistrationTaskReports) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingRegistrationTaskReports) 

# ListThingRegistrationTasks
<a name="API_ListThingRegistrationTasks"></a>

List bulk thing provisioning tasks.

Requires permission to access the [ListThingRegistrationTasks](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingRegistrationTasks_RequestSyntax"></a>

```
GET /thing-registration-tasks?maxResults=maxResults&nextToken=nextToken&status=status HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingRegistrationTasks_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingRegistrationTasks_RequestSyntax) **   <a name="iot-ListThingRegistrationTasks-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingRegistrationTasks_RequestSyntax) **   <a name="iot-ListThingRegistrationTasks-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [status](#API_ListThingRegistrationTasks_RequestSyntax) **   <a name="iot-ListThingRegistrationTasks-request-uri-status"></a>
The status of the bulk thing provisioning task.  
Valid Values: `InProgress | Completed | Failed | Cancelled | Cancelling` 

## Request Body
<a name="API_ListThingRegistrationTasks_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingRegistrationTasks_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "taskIds": [ "string" ]
}
```

## Response Elements
<a name="API_ListThingRegistrationTasks_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingRegistrationTasks_ResponseSyntax) **   <a name="iot-ListThingRegistrationTasks-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [taskIds](#API_ListThingRegistrationTasks_ResponseSyntax) **   <a name="iot-ListThingRegistrationTasks-response-taskIds"></a>
A list of bulk thing provisioning task IDs.  
Type: Array of strings  
Length Constraints: Maximum length of 40.

## Errors
<a name="API_ListThingRegistrationTasks_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListThingRegistrationTasks_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingRegistrationTasks) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingRegistrationTasks) 

# ListThings
<a name="API_ListThings"></a>

Lists your things. Use the **attributeName** and **attributeValue** parameters to filter your things. For example, calling `ListThings` with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute **Color** with the value **Red**. For more information, see [List Things](https://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html#list-things) from the * AWS IoT Core Developer Guide*.

Requires permission to access the [ListThings](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Note**  
You will not be charged for calling this API if an `Access denied` error is returned. You will also not be charged if no attributes or pagination token was provided in request and no pagination token and no results were returned.

## Request Syntax
<a name="API_ListThings_RequestSyntax"></a>

```
GET /things?attributeName=attributeName&attributeValue=attributeValue&maxResults=maxResults&nextToken=nextToken&thingTypeName=thingTypeName&usePrefixAttributeValue=usePrefixAttributeValue HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThings_RequestParameters"></a>

The request uses the following URI parameters.

 ** [attributeName](#API_ListThings_RequestSyntax) **   <a name="iot-ListThings-request-uri-attributeName"></a>
The attribute name used to search for things.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_.,@/:#-]+` 

 ** [attributeValue](#API_ListThings_RequestSyntax) **   <a name="iot-ListThings-request-uri-attributeValue"></a>
The attribute value used to search for things.  
Length Constraints: Maximum length of 800.  
Pattern: `[a-zA-Z0-9_.,@/:#=\[\]-]*` 

 ** [maxResults](#API_ListThings_RequestSyntax) **   <a name="iot-ListThings-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThings_RequestSyntax) **   <a name="iot-ListThings-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [thingTypeName](#API_ListThings_RequestSyntax) **   <a name="iot-ListThings-request-uri-thingTypeName"></a>
The name of the thing type used to search for things.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [usePrefixAttributeValue](#API_ListThings_RequestSyntax) **   <a name="iot-ListThings-request-uri-usePrefixAttributeValue"></a>
When `true`, the action returns the thing resources with attribute values that start with the `attributeValue` provided.  
When `false`, or not present, the action returns only the thing resources with attribute values that match the entire `attributeValue` provided. 

## Request Body
<a name="API_ListThings_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThings_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "things": [ 
      { 
         "attributes": { 
            "string" : "string" 
         },
         "thingArn": "string",
         "thingName": "string",
         "thingTypeName": "string",
         "version": number
      }
   ]
}
```

## Response Elements
<a name="API_ListThings_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThings_ResponseSyntax) **   <a name="iot-ListThings-response-nextToken"></a>
The token to use to get the next set of results. Will not be returned if operation has returned all results.  
Type: String

 ** [things](#API_ListThings_ResponseSyntax) **   <a name="iot-ListThings-response-things"></a>
The things.  
Type: Array of [ThingAttribute](API_ThingAttribute.md) objects

## Errors
<a name="API_ListThings_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListThings_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThings) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThings) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThings) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThings) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThings) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThings) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThings) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThings) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThings) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThings) 

# ListThingsInBillingGroup
<a name="API_ListThingsInBillingGroup"></a>

Lists the things you have added to the given billing group.

Requires permission to access the [ListThingsInBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingsInBillingGroup_RequestSyntax"></a>

```
GET /billing-groups/billingGroupName/things?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingsInBillingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [billingGroupName](#API_ListThingsInBillingGroup_RequestSyntax) **   <a name="iot-ListThingsInBillingGroup-request-uri-billingGroupName"></a>
The name of the billing group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [maxResults](#API_ListThingsInBillingGroup_RequestSyntax) **   <a name="iot-ListThingsInBillingGroup-request-uri-maxResults"></a>
The maximum number of results to return per request.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingsInBillingGroup_RequestSyntax) **   <a name="iot-ListThingsInBillingGroup-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

## Request Body
<a name="API_ListThingsInBillingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingsInBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "things": [ "string" ]
}
```

## Response Elements
<a name="API_ListThingsInBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingsInBillingGroup_ResponseSyntax) **   <a name="iot-ListThingsInBillingGroup-response-nextToken"></a>
The token to use to get the next set of results. Will not be returned if operation has returned all results.  
Type: String

 ** [things](#API_ListThingsInBillingGroup_ResponseSyntax) **   <a name="iot-ListThingsInBillingGroup-response-things"></a>
A list of things in the billing group.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_ListThingsInBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListThingsInBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingsInBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingsInBillingGroup) 

# ListThingsInThingGroup
<a name="API_ListThingsInThingGroup"></a>

Lists the things in the specified group.

Requires permission to access the [ListThingsInThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingsInThingGroup_RequestSyntax"></a>

```
GET /thing-groups/thingGroupName/things?maxResults=maxResults&nextToken=nextToken&recursive=recursive HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingsInThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingsInThingGroup_RequestSyntax) **   <a name="iot-ListThingsInThingGroup-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingsInThingGroup_RequestSyntax) **   <a name="iot-ListThingsInThingGroup-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [recursive](#API_ListThingsInThingGroup_RequestSyntax) **   <a name="iot-ListThingsInThingGroup-request-uri-recursive"></a>
When true, list things in this thing group and in all child groups as well.

 ** [thingGroupName](#API_ListThingsInThingGroup_RequestSyntax) **   <a name="iot-ListThingsInThingGroup-request-uri-thingGroupName"></a>
The thing group name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_ListThingsInThingGroup_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingsInThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "things": [ "string" ]
}
```

## Response Elements
<a name="API_ListThingsInThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingsInThingGroup_ResponseSyntax) **   <a name="iot-ListThingsInThingGroup-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [things](#API_ListThingsInThingGroup_ResponseSyntax) **   <a name="iot-ListThingsInThingGroup-response-things"></a>
The things in the specified thing group.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Errors
<a name="API_ListThingsInThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListThingsInThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingsInThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingsInThingGroup) 

# ListThingTypes
<a name="API_ListThingTypes"></a>

Lists the existing thing types.

Requires permission to access the [ListThingTypes](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListThingTypes_RequestSyntax"></a>

```
GET /thing-types?maxResults=maxResults&nextToken=nextToken&thingTypeName=thingTypeName HTTP/1.1
```

## URI Request Parameters
<a name="API_ListThingTypes_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListThingTypes_RequestSyntax) **   <a name="iot-ListThingTypes-request-uri-maxResults"></a>
The maximum number of results to return in this operation.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListThingTypes_RequestSyntax) **   <a name="iot-ListThingTypes-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [thingTypeName](#API_ListThingTypes_RequestSyntax) **   <a name="iot-ListThingTypes-request-uri-thingTypeName"></a>
The name of the thing type.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

## Request Body
<a name="API_ListThingTypes_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListThingTypes_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "thingTypes": [ 
      { 
         "thingTypeArn": "string",
         "thingTypeMetadata": { 
            "creationDate": number,
            "deprecated": boolean,
            "deprecationDate": number
         },
         "thingTypeName": "string",
         "thingTypeProperties": { 
            "mqtt5Configuration": { 
               "propagatingAttributes": [ 
                  { 
                     "connectionAttribute": "string",
                     "thingAttribute": "string",
                     "userPropertyKey": "string"
                  }
               ]
            },
            "searchableAttributes": [ "string" ],
            "thingTypeDescription": "string"
         }
      }
   ]
}
```

## Response Elements
<a name="API_ListThingTypes_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListThingTypes_ResponseSyntax) **   <a name="iot-ListThingTypes-response-nextToken"></a>
The token for the next set of results. Will not be returned if operation has returned all results.  
Type: String

 ** [thingTypes](#API_ListThingTypes_ResponseSyntax) **   <a name="iot-ListThingTypes-response-thingTypes"></a>
The thing types.  
Type: Array of [ThingTypeDefinition](API_ThingTypeDefinition.md) objects

## Errors
<a name="API_ListThingTypes_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListThingTypes_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListThingTypes) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListThingTypes) 

# ListTopicRuleDestinations
<a name="API_ListTopicRuleDestinations"></a>

Lists all the topic rule destinations in your AWS account.

Requires permission to access the [ListTopicRuleDestinations](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListTopicRuleDestinations_RequestSyntax"></a>

```
GET /destinations?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_ListTopicRuleDestinations_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListTopicRuleDestinations_RequestSyntax) **   <a name="iot-ListTopicRuleDestinations-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 1000.

 ** [nextToken](#API_ListTopicRuleDestinations_RequestSyntax) **   <a name="iot-ListTopicRuleDestinations-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

## Request Body
<a name="API_ListTopicRuleDestinations_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListTopicRuleDestinations_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "destinationSummaries": [ 
      { 
         "arn": "string",
         "createdAt": number,
         "httpUrlSummary": { 
            "confirmationUrl": "string"
         },
         "lastUpdatedAt": number,
         "status": "string",
         "statusReason": "string",
         "vpcDestinationSummary": { 
            "roleArn": "string",
            "securityGroups": [ "string" ],
            "subnetIds": [ "string" ],
            "vpcId": "string"
         }
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListTopicRuleDestinations_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [destinationSummaries](#API_ListTopicRuleDestinations_ResponseSyntax) **   <a name="iot-ListTopicRuleDestinations-response-destinationSummaries"></a>
Information about a topic rule destination.  
Type: Array of [TopicRuleDestinationSummary](API_TopicRuleDestinationSummary.md) objects

 ** [nextToken](#API_ListTopicRuleDestinations_ResponseSyntax) **   <a name="iot-ListTopicRuleDestinations-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListTopicRuleDestinations_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListTopicRuleDestinations_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListTopicRuleDestinations) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListTopicRuleDestinations) 

# ListTopicRules
<a name="API_ListTopicRules"></a>

Lists the rules for the specific topic.

Requires permission to access the [ListTopicRules](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListTopicRules_RequestSyntax"></a>

```
GET /rules?maxResults=maxResults&nextToken=nextToken&ruleDisabled=ruleDisabled&topic=topic HTTP/1.1
```

## URI Request Parameters
<a name="API_ListTopicRules_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListTopicRules_RequestSyntax) **   <a name="iot-ListTopicRules-request-uri-maxResults"></a>
The maximum number of results to return.  
Valid Range: Minimum value of 1. Maximum value of 10000.

 ** [nextToken](#API_ListTopicRules_RequestSyntax) **   <a name="iot-ListTopicRules-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [ruleDisabled](#API_ListTopicRules_RequestSyntax) **   <a name="iot-ListTopicRules-request-uri-ruleDisabled"></a>
Specifies whether the rule is disabled.

 ** [topic](#API_ListTopicRules_RequestSyntax) **   <a name="iot-ListTopicRules-request-uri-topic"></a>
The topic.

## Request Body
<a name="API_ListTopicRules_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListTopicRules_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "rules": [ 
      { 
         "createdAt": number,
         "ruleArn": "string",
         "ruleDisabled": boolean,
         "ruleName": "string",
         "topicPattern": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListTopicRules_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListTopicRules_ResponseSyntax) **   <a name="iot-ListTopicRules-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [rules](#API_ListTopicRules_ResponseSyntax) **   <a name="iot-ListTopicRules-response-rules"></a>
The rules.  
Type: Array of [TopicRuleListItem](API_TopicRuleListItem.md) objects

## Errors
<a name="API_ListTopicRules_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ListTopicRules_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListTopicRules) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListTopicRules) 

# ListV2LoggingLevels
<a name="API_ListV2LoggingLevels"></a>

Lists logging levels.

Requires permission to access the [ListV2LoggingLevels](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListV2LoggingLevels_RequestSyntax"></a>

```
GET /v2LoggingLevel?maxResults=maxResults&nextToken=nextToken&targetType=targetType HTTP/1.1
```

## URI Request Parameters
<a name="API_ListV2LoggingLevels_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_ListV2LoggingLevels_RequestSyntax) **   <a name="iot-ListV2LoggingLevels-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListV2LoggingLevels_RequestSyntax) **   <a name="iot-ListV2LoggingLevels-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

 ** [targetType](#API_ListV2LoggingLevels_RequestSyntax) **   <a name="iot-ListV2LoggingLevels-request-uri-targetType"></a>
The type of resource for which you are configuring logging. Must be `THING_Group`.  
Valid Values: `DEFAULT | THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID` 

## Request Body
<a name="API_ListV2LoggingLevels_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListV2LoggingLevels_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "logTargetConfigurations": [ 
      { 
         "logLevel": "string",
         "logTarget": { 
            "targetName": "string",
            "targetType": "string"
         }
      }
   ],
   "nextToken": "string"
}
```

## Response Elements
<a name="API_ListV2LoggingLevels_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [logTargetConfigurations](#API_ListV2LoggingLevels_ResponseSyntax) **   <a name="iot-ListV2LoggingLevels-response-logTargetConfigurations"></a>
The logging configuration for a target.  
Type: Array of [LogTargetConfiguration](API_LogTargetConfiguration.md) objects

 ** [nextToken](#API_ListV2LoggingLevels_ResponseSyntax) **   <a name="iot-ListV2LoggingLevels-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

## Errors
<a name="API_ListV2LoggingLevels_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** NotConfiguredException **   
The resource is not configured.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_ListV2LoggingLevels_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListV2LoggingLevels) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListV2LoggingLevels) 

# ListViolationEvents
<a name="API_ListViolationEvents"></a>

Lists the Device Defender security profile violations discovered during the given time period. You can use filters to limit the results to those alerts issued for a particular security profile, behavior, or thing (device).

Requires permission to access the [ListViolationEvents](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ListViolationEvents_RequestSyntax"></a>

```
GET /violation-events?behaviorCriteriaType=behaviorCriteriaType&endTime=endTime&listSuppressedAlerts=listSuppressedAlerts&maxResults=maxResults&nextToken=nextToken&securityProfileName=securityProfileName&startTime=startTime&thingName=thingName&verificationState=verificationState HTTP/1.1
```

## URI Request Parameters
<a name="API_ListViolationEvents_RequestParameters"></a>

The request uses the following URI parameters.

 ** [behaviorCriteriaType](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-behaviorCriteriaType"></a>
 The criteria for a behavior.   
Valid Values: `STATIC | STATISTICAL | MACHINE_LEARNING` 

 ** [endTime](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-endTime"></a>
The end time for the alerts to be listed.  
Required: Yes

 ** [listSuppressedAlerts](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-listSuppressedAlerts"></a>
 A list of all suppressed alerts. 

 ** [maxResults](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 250.

 ** [nextToken](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-nextToken"></a>
The token for the next set of results.

 ** [securityProfileName](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-securityProfileName"></a>
A filter to limit results to those alerts generated by the specified security profile.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [startTime](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-startTime"></a>
The start time for the alerts to be listed.  
Required: Yes

 ** [thingName](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-thingName"></a>
A filter to limit results to those alerts caused by the specified thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.

 ** [verificationState](#API_ListViolationEvents_RequestSyntax) **   <a name="iot-ListViolationEvents-request-uri-verificationState"></a>
The verification state of the violation (detect alarm).  
Valid Values: `FALSE_POSITIVE | BENIGN_POSITIVE | TRUE_POSITIVE | UNKNOWN` 

## Request Body
<a name="API_ListViolationEvents_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_ListViolationEvents_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "violationEvents": [ 
      { 
         "behavior": { 
            "criteria": { 
               "comparisonOperator": "string",
               "consecutiveDatapointsToAlarm": number,
               "consecutiveDatapointsToClear": number,
               "durationSeconds": number,
               "mlDetectionConfig": { 
                  "confidenceLevel": "string"
               },
               "statisticalThreshold": { 
                  "statistic": "string"
               },
               "value": { 
                  "cidrs": [ "string" ],
                  "count": number,
                  "number": number,
                  "numbers": [ number ],
                  "ports": [ number ],
                  "strings": [ "string" ]
               }
            },
            "exportMetric": boolean,
            "metric": "string",
            "metricDimension": { 
               "dimensionName": "string",
               "operator": "string"
            },
            "name": "string",
            "suppressAlerts": boolean
         },
         "metricValue": { 
            "cidrs": [ "string" ],
            "count": number,
            "number": number,
            "numbers": [ number ],
            "ports": [ number ],
            "strings": [ "string" ]
         },
         "securityProfileName": "string",
         "thingName": "string",
         "verificationState": "string",
         "verificationStateDescription": "string",
         "violationEventAdditionalInfo": { 
            "confidenceLevel": "string"
         },
         "violationEventTime": number,
         "violationEventType": "string",
         "violationId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListViolationEvents_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_ListViolationEvents_ResponseSyntax) **   <a name="iot-ListViolationEvents-response-nextToken"></a>
A token that can be used to retrieve the next set of results, or `null` if there are no additional results.  
Type: String

 ** [violationEvents](#API_ListViolationEvents_ResponseSyntax) **   <a name="iot-ListViolationEvents-response-violationEvents"></a>
The security profile violation alerts issued for this account during the given time period, potentially filtered by security profile, behavior violated, or thing (device) violating.  
Type: Array of [ViolationEvent](API_ViolationEvent.md) objects

## Errors
<a name="API_ListViolationEvents_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListViolationEvents_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ListViolationEvents) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ListViolationEvents) 

# PutVerificationStateOnViolation
<a name="API_PutVerificationStateOnViolation"></a>

Set a verification state and provide a description of that verification state on a violation (detect alarm).

## Request Syntax
<a name="API_PutVerificationStateOnViolation_RequestSyntax"></a>

```
POST /violations/verification-state/violationId HTTP/1.1
Content-type: application/json

{
   "verificationState": "string",
   "verificationStateDescription": "string"
}
```

## URI Request Parameters
<a name="API_PutVerificationStateOnViolation_RequestParameters"></a>

The request uses the following URI parameters.

 ** [violationId](#API_PutVerificationStateOnViolation_RequestSyntax) **   <a name="iot-PutVerificationStateOnViolation-request-uri-violationId"></a>
The violation ID.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9\-]+`   
Required: Yes

## Request Body
<a name="API_PutVerificationStateOnViolation_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [verificationState](#API_PutVerificationStateOnViolation_RequestSyntax) **   <a name="iot-PutVerificationStateOnViolation-request-verificationState"></a>
The verification state of the violation.  
Type: String  
Valid Values: `FALSE_POSITIVE | BENIGN_POSITIVE | TRUE_POSITIVE | UNKNOWN`   
Required: Yes

 ** [verificationStateDescription](#API_PutVerificationStateOnViolation_RequestSyntax) **   <a name="iot-PutVerificationStateOnViolation-request-verificationStateDescription"></a>
The description of the verification state of the violation (detect alarm).  
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[^\p{Cntrl}]*`   
Required: No

## Response Syntax
<a name="API_PutVerificationStateOnViolation_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_PutVerificationStateOnViolation_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_PutVerificationStateOnViolation_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_PutVerificationStateOnViolation_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/PutVerificationStateOnViolation) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/PutVerificationStateOnViolation) 

# RegisterCACertificate
<a name="API_RegisterCACertificate"></a>

Registers a CA certificate with AWS IoT Core. There is no limit to the number of CA certificates you can register in your AWS account. You can register up to 10 CA certificates with the same `CA subject field` per AWS account.

Requires permission to access the [RegisterCACertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_RegisterCACertificate_RequestSyntax"></a>

```
POST /cacertificate?allowAutoRegistration=allowAutoRegistration&setAsActive=setAsActive HTTP/1.1
Content-type: application/json

{
   "caCertificate": "string",
   "certificateMode": "string",
   "registrationConfig": { 
      "roleArn": "string",
      "templateBody": "string",
      "templateName": "string"
   },
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "verificationCertificate": "string"
}
```

## URI Request Parameters
<a name="API_RegisterCACertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [allowAutoRegistration](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-uri-allowAutoRegistration"></a>
Allows this CA certificate to be used for auto registration of device certificates.

 ** [setAsActive](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-uri-setAsActive"></a>
A boolean value that specifies if the CA certificate is set to active.  
Valid values: `ACTIVE | INACTIVE` 

## Request Body
<a name="API_RegisterCACertificate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [caCertificate](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-caCertificate"></a>
The CA certificate.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [certificateMode](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-certificateMode"></a>
Describes the certificate mode in which the Certificate Authority (CA) will be registered. If the `verificationCertificate` field is not provided, set `certificateMode` to be `SNI_ONLY`. If the `verificationCertificate` field is provided, set `certificateMode` to be `DEFAULT`. When `certificateMode` is not provided, it defaults to `DEFAULT`. All the device certificates that are registered using this CA will be registered in the same certificate mode as the CA. For more information about certificate mode for device certificates, see [ certificate mode](https://docs.aws.amazon.com/iot/latest/apireference/API_CertificateDescription.html#iot-Type-CertificateDescription-certificateMode).   
Type: String  
Valid Values: `DEFAULT | SNI_ONLY`   
Required: No

 ** [registrationConfig](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-registrationConfig"></a>
Information about the registration configuration.  
Type: [RegistrationConfig](API_RegistrationConfig.md) object  
Required: No

 ** [tags](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-tags"></a>
Metadata which can be used to manage the CA certificate.  
For URI Request parameters use format: ...key1=value1&key2=value2...  
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."  
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of [Tag](API_Tag.md) objects  
Required: No

 ** [verificationCertificate](#API_RegisterCACertificate_RequestSyntax) **   <a name="iot-RegisterCACertificate-request-verificationCertificate"></a>
The private key verification certificate. If `certificateMode` is `SNI_ONLY`, the `verificationCertificate` field must be empty. If `certificateMode` is `DEFAULT` or not provided, the `verificationCertificate` field must not be empty.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*`   
Required: No

## Response Syntax
<a name="API_RegisterCACertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateArn": "string",
   "certificateId": "string"
}
```

## Response Elements
<a name="API_RegisterCACertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateArn](#API_RegisterCACertificate_ResponseSyntax) **   <a name="iot-RegisterCACertificate-response-certificateArn"></a>
The CA certificate ARN.  
Type: String

 ** [certificateId](#API_RegisterCACertificate_ResponseSyntax) **   <a name="iot-RegisterCACertificate-response-certificateId"></a>
The CA certificate identifier.  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

## Errors
<a name="API_RegisterCACertificate_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** RegistrationCodeValidationException **   
The registration code is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_RegisterCACertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RegisterCACertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RegisterCACertificate) 

# RegisterCertificate
<a name="API_RegisterCertificate"></a>

Registers a device certificate with AWS IoT in the same [certificate mode](https://docs.aws.amazon.com/iot/latest/apireference/API_CertificateDescription.html#iot-Type-CertificateDescription-certificateMode) as the signing CA. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.

Requires permission to access the [RegisterCertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_RegisterCertificate_RequestSyntax"></a>

```
POST /certificate/register?setAsActive=setAsActive HTTP/1.1
Content-type: application/json

{
   "caCertificatePem": "string",
   "certificatePem": "string",
   "status": "string"
}
```

## URI Request Parameters
<a name="API_RegisterCertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [setAsActive](#API_RegisterCertificate_RequestSyntax) **   <a name="iot-RegisterCertificate-request-uri-setAsActive"></a>
 *This parameter has been deprecated.*   
A boolean value that specifies if the certificate is set to active.  
Valid values: `ACTIVE | INACTIVE` 

## Request Body
<a name="API_RegisterCertificate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [caCertificatePem](#API_RegisterCertificate_RequestSyntax) **   <a name="iot-RegisterCertificate-request-caCertificatePem"></a>
The CA certificate used to sign the device certificate being registered.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*`   
Required: No

 ** [certificatePem](#API_RegisterCertificate_RequestSyntax) **   <a name="iot-RegisterCertificate-request-certificatePem"></a>
The certificate data, in PEM format.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [status](#API_RegisterCertificate_RequestSyntax) **   <a name="iot-RegisterCertificate-request-status"></a>
The status of the register certificate request. Valid values that you can use include `ACTIVE`, `INACTIVE`, and `REVOKED`.  
Type: String  
Valid Values: `ACTIVE | INACTIVE | REVOKED | PENDING_TRANSFER | REGISTER_INACTIVE | PENDING_ACTIVATION`   
Required: No

## Response Syntax
<a name="API_RegisterCertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateArn": "string",
   "certificateId": "string"
}
```

## Response Elements
<a name="API_RegisterCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateArn](#API_RegisterCertificate_ResponseSyntax) **   <a name="iot-RegisterCertificate-response-certificateArn"></a>
The certificate ARN.  
Type: String

 ** [certificateId](#API_RegisterCertificate_ResponseSyntax) **   <a name="iot-RegisterCertificate-response-certificateId"></a>
The certificate identifier.  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

## Errors
<a name="API_RegisterCertificate_Errors"></a>

 ** CertificateConflictException **   
Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** CertificateStateException **   
The certificate operation is not allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 406

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_RegisterCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RegisterCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RegisterCertificate) 

# RegisterCertificateWithoutCA
<a name="API_RegisterCertificateWithoutCA"></a>

Register a certificate that does not have a certificate authority (CA). For supported certificates, consult [ Certificate signing algorithms supported by AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms). 

## Request Syntax
<a name="API_RegisterCertificateWithoutCA_RequestSyntax"></a>

```
POST /certificate/register-no-ca HTTP/1.1
Content-type: application/json

{
   "certificatePem": "string",
   "status": "string"
}
```

## URI Request Parameters
<a name="API_RegisterCertificateWithoutCA_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_RegisterCertificateWithoutCA_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [certificatePem](#API_RegisterCertificateWithoutCA_RequestSyntax) **   <a name="iot-RegisterCertificateWithoutCA-request-certificatePem"></a>
The certificate data, in PEM format.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*`   
Required: Yes

 ** [status](#API_RegisterCertificateWithoutCA_RequestSyntax) **   <a name="iot-RegisterCertificateWithoutCA-request-status"></a>
The status of the register certificate request.  
Type: String  
Valid Values: `ACTIVE | INACTIVE | REVOKED | PENDING_TRANSFER | REGISTER_INACTIVE | PENDING_ACTIVATION`   
Required: No

## Response Syntax
<a name="API_RegisterCertificateWithoutCA_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateArn": "string",
   "certificateId": "string"
}
```

## Response Elements
<a name="API_RegisterCertificateWithoutCA_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateArn](#API_RegisterCertificateWithoutCA_ResponseSyntax) **   <a name="iot-RegisterCertificateWithoutCA-response-certificateArn"></a>
The Amazon Resource Name (ARN) of the registered certificate.  
Type: String

 ** [certificateId](#API_RegisterCertificateWithoutCA_ResponseSyntax) **   <a name="iot-RegisterCertificateWithoutCA-response-certificateId"></a>
The ID of the registered certificate. (The last part of the certificate ARN contains the certificate ID.  
Type: String  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+` 

## Errors
<a name="API_RegisterCertificateWithoutCA_Errors"></a>

 ** CertificateStateException **   
The certificate operation is not allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 406

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_RegisterCertificateWithoutCA_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RegisterCertificateWithoutCA) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RegisterCertificateWithoutCA) 

# RegisterThing
<a name="API_RegisterThing"></a>

Provisions a thing in the device registry. RegisterThing calls other AWS IoT control plane APIs. These calls might exceed your account level [AWS IoT Throttling Limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot) and cause throttle errors. Please contact [AWS Customer Support](https://console.aws.amazon.com/support/home) to raise your throttling limits if necessary.

Requires permission to access the [RegisterThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_RegisterThing_RequestSyntax"></a>

```
POST /things HTTP/1.1
Content-type: application/json

{
   "parameters": { 
      "string" : "string" 
   },
   "templateBody": "string"
}
```

## URI Request Parameters
<a name="API_RegisterThing_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_RegisterThing_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [parameters](#API_RegisterThing_RequestSyntax) **   <a name="iot-RegisterThing-request-parameters"></a>
The parameters for provisioning a thing. See [Provisioning Templates](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html) for more information.  
Type: String to string map  
Key Length Constraints: Minimum length of 0. Maximum length of 2048.  
Key Pattern: `[\s\S]*`   
Value Length Constraints: Minimum length of 0. Maximum length of 4096.  
Value Pattern: `[\s\S]*`   
Required: No

 ** [templateBody](#API_RegisterThing_RequestSyntax) **   <a name="iot-RegisterThing-request-templateBody"></a>
The provisioning template. See [Provisioning Devices That Have Device Certificates](https://docs.aws.amazon.com/iot/latest/developerguide/provision-w-cert.html) for more information.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax
<a name="API_RegisterThing_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificatePem": "string",
   "resourceArns": { 
      "string" : "string" 
   }
}
```

## Response Elements
<a name="API_RegisterThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificatePem](#API_RegisterThing_ResponseSyntax) **   <a name="iot-RegisterThing-response-certificatePem"></a>
The certificate data, in PEM format.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 65536.  
Pattern: `[\s\S]*` 

 ** [resourceArns](#API_RegisterThing_ResponseSyntax) **   <a name="iot-RegisterThing-response-resourceArns"></a>
ARNs for the generated resources.  
Type: String to string map

## Errors
<a name="API_RegisterThing_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceRegistrationFailureException **   
The resource registration failed.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_RegisterThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RegisterThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RegisterThing) 

# RejectCertificateTransfer
<a name="API_RejectCertificateTransfer"></a>

Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from **PENDING\$1TRANSFER** to **INACTIVE**.

To check for pending certificate transfers, call [ListCertificates](API_ListCertificates.md) to enumerate your certificates.

This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.

Requires permission to access the [RejectCertificateTransfer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_RejectCertificateTransfer_RequestSyntax"></a>

```
PATCH /reject-certificate-transfer/certificateId HTTP/1.1
Content-type: application/json

{
   "rejectReason": "string"
}
```

## URI Request Parameters
<a name="API_RejectCertificateTransfer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_RejectCertificateTransfer_RequestSyntax) **   <a name="iot-RejectCertificateTransfer-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

## Request Body
<a name="API_RejectCertificateTransfer_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [rejectReason](#API_RejectCertificateTransfer_RequestSyntax) **   <a name="iot-RejectCertificateTransfer-request-rejectReason"></a>
The reason the certificate transfer was rejected.  
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\s\S]*`   
Required: No

## Response Syntax
<a name="API_RejectCertificateTransfer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_RejectCertificateTransfer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_RejectCertificateTransfer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** TransferAlreadyCompletedException **   
You can't revert the certificate transfer because the transfer is already complete.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_RejectCertificateTransfer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RejectCertificateTransfer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RejectCertificateTransfer) 

# RemoveThingFromBillingGroup
<a name="API_RemoveThingFromBillingGroup"></a>

Removes the given thing from the billing group.

Requires permission to access the [RemoveThingFromBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Note**  
This call is asynchronous. It might take several seconds for the detachment to propagate.

## Request Syntax
<a name="API_RemoveThingFromBillingGroup_RequestSyntax"></a>

```
PUT /billing-groups/removeThingFromBillingGroup HTTP/1.1
Content-type: application/json

{
   "billingGroupArn": "string",
   "billingGroupName": "string",
   "thingArn": "string",
   "thingName": "string"
}
```

## URI Request Parameters
<a name="API_RemoveThingFromBillingGroup_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_RemoveThingFromBillingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [billingGroupArn](#API_RemoveThingFromBillingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromBillingGroup-request-billingGroupArn"></a>
The ARN of the billing group.  
Type: String  
Required: No

 ** [billingGroupName](#API_RemoveThingFromBillingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromBillingGroup-request-billingGroupName"></a>
The name of the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingArn](#API_RemoveThingFromBillingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromBillingGroup-request-thingArn"></a>
The ARN of the thing to be removed from the billing group.  
Type: String  
Required: No

 ** [thingName](#API_RemoveThingFromBillingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromBillingGroup-request-thingName"></a>
The name of the thing to be removed from the billing group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_RemoveThingFromBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_RemoveThingFromBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_RemoveThingFromBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_RemoveThingFromBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RemoveThingFromBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RemoveThingFromBillingGroup) 

# RemoveThingFromThingGroup
<a name="API_RemoveThingFromThingGroup"></a>

Remove the specified thing from the specified group.

You must specify either a `thingGroupArn` or a `thingGroupName` to identify the thing group and either a `thingArn` or a `thingName` to identify the thing to remove from the thing group. 

Requires permission to access the [RemoveThingFromThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_RemoveThingFromThingGroup_RequestSyntax"></a>

```
PUT /thing-groups/removeThingFromThingGroup HTTP/1.1
Content-type: application/json

{
   "thingArn": "string",
   "thingGroupArn": "string",
   "thingGroupName": "string",
   "thingName": "string"
}
```

## URI Request Parameters
<a name="API_RemoveThingFromThingGroup_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_RemoveThingFromThingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [thingArn](#API_RemoveThingFromThingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromThingGroup-request-thingArn"></a>
The ARN of the thing to remove from the group.  
Type: String  
Required: No

 ** [thingGroupArn](#API_RemoveThingFromThingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromThingGroup-request-thingGroupArn"></a>
The group ARN.  
Type: String  
Required: No

 ** [thingGroupName](#API_RemoveThingFromThingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromThingGroup-request-thingGroupName"></a>
The group name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingName](#API_RemoveThingFromThingGroup_RequestSyntax) **   <a name="iot-RemoveThingFromThingGroup-request-thingName"></a>
The name of the thing to remove from the group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_RemoveThingFromThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_RemoveThingFromThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_RemoveThingFromThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_RemoveThingFromThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/RemoveThingFromThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/RemoveThingFromThingGroup) 

# ReplaceTopicRule
<a name="API_ReplaceTopicRule"></a>

Replaces the rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

Requires permission to access the [ReplaceTopicRule](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ReplaceTopicRule_RequestSyntax"></a>

```
PATCH /rules/ruleName HTTP/1.1
Content-type: application/json

{
   "actions": [ 
      { 
         "cloudwatchAlarm": { 
            "alarmName": "string",
            "roleArn": "string",
            "stateReason": "string",
            "stateValue": "string"
         },
         "cloudwatchLogs": { 
            "batchMode": boolean,
            "logGroupName": "string",
            "roleArn": "string"
         },
         "cloudwatchMetric": { 
            "metricName": "string",
            "metricNamespace": "string",
            "metricTimestamp": "string",
            "metricUnit": "string",
            "metricValue": "string",
            "roleArn": "string"
         },
         "dynamoDB": { 
            "hashKeyField": "string",
            "hashKeyType": "string",
            "hashKeyValue": "string",
            "operation": "string",
            "payloadField": "string",
            "rangeKeyField": "string",
            "rangeKeyType": "string",
            "rangeKeyValue": "string",
            "roleArn": "string",
            "tableName": "string"
         },
         "dynamoDBv2": { 
            "putItem": { 
               "tableName": "string"
            },
            "roleArn": "string"
         },
         "elasticsearch": { 
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "roleArn": "string",
            "type": "string"
         },
         "firehose": { 
            "batchMode": boolean,
            "deliveryStreamName": "string",
            "roleArn": "string",
            "separator": "string"
         },
         "http": { 
            "auth": { 
               "sigv4": { 
                  "roleArn": "string",
                  "serviceName": "string",
                  "signingRegion": "string"
               }
            },
            "batchConfig": { 
               "maxBatchOpenMs": number,
               "maxBatchSize": number,
               "maxBatchSizeBytes": number
            },
            "confirmationUrl": "string",
            "enableBatching": boolean,
            "headers": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ],
            "url": "string"
         },
         "iotAnalytics": { 
            "batchMode": boolean,
            "channelArn": "string",
            "channelName": "string",
            "roleArn": "string"
         },
         "iotEvents": { 
            "batchMode": boolean,
            "inputName": "string",
            "messageId": "string",
            "roleArn": "string"
         },
         "iotSiteWise": { 
            "putAssetPropertyValueEntries": [ 
               { 
                  "assetId": "string",
                  "entryId": "string",
                  "propertyAlias": "string",
                  "propertyId": "string",
                  "propertyValues": [ 
                     { 
                        "quality": "string",
                        "timestamp": { 
                           "offsetInNanos": "string",
                           "timeInSeconds": "string"
                        },
                        "value": { 
                           "booleanValue": "string",
                           "doubleValue": "string",
                           "integerValue": "string",
                           "stringValue": "string"
                        }
                     }
                  ]
               }
            ],
            "roleArn": "string"
         },
         "kafka": { 
            "clientProperties": { 
               "string" : "string" 
            },
            "destinationArn": "string",
            "headers": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ],
            "key": "string",
            "partition": "string",
            "topic": "string"
         },
         "kinesis": { 
            "partitionKey": "string",
            "roleArn": "string",
            "streamName": "string"
         },
         "lambda": { 
            "functionArn": "string"
         },
         "location": { 
            "deviceId": "string",
            "latitude": "string",
            "longitude": "string",
            "roleArn": "string",
            "timestamp": { 
               "unit": "string",
               "value": "string"
            },
            "trackerName": "string"
         },
         "openSearch": { 
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "roleArn": "string",
            "type": "string"
         },
         "republish": { 
            "headers": { 
               "contentType": "string",
               "correlationData": "string",
               "messageExpiry": "string",
               "payloadFormatIndicator": "string",
               "responseTopic": "string",
               "userProperties": [ 
                  { 
                     "key": "string",
                     "value": "string"
                  }
               ]
            },
            "qos": number,
            "roleArn": "string",
            "topic": "string"
         },
         "s3": { 
            "bucketName": "string",
            "cannedAcl": "string",
            "key": "string",
            "roleArn": "string"
         },
         "salesforce": { 
            "token": "string",
            "url": "string"
         },
         "sns": { 
            "messageFormat": "string",
            "roleArn": "string",
            "targetArn": "string"
         },
         "sqs": { 
            "queueUrl": "string",
            "roleArn": "string",
            "useBase64": boolean
         },
         "stepFunctions": { 
            "executionNamePrefix": "string",
            "roleArn": "string",
            "stateMachineName": "string"
         },
         "timestream": { 
            "databaseName": "string",
            "dimensions": [ 
               { 
                  "name": "string",
                  "value": "string"
               }
            ],
            "roleArn": "string",
            "tableName": "string",
            "timestamp": { 
               "unit": "string",
               "value": "string"
            }
         }
      }
   ],
   "awsIotSqlVersion": "string",
   "description": "string",
   "errorAction": { 
      "cloudwatchAlarm": { 
         "alarmName": "string",
         "roleArn": "string",
         "stateReason": "string",
         "stateValue": "string"
      },
      "cloudwatchLogs": { 
         "batchMode": boolean,
         "logGroupName": "string",
         "roleArn": "string"
      },
      "cloudwatchMetric": { 
         "metricName": "string",
         "metricNamespace": "string",
         "metricTimestamp": "string",
         "metricUnit": "string",
         "metricValue": "string",
         "roleArn": "string"
      },
      "dynamoDB": { 
         "hashKeyField": "string",
         "hashKeyType": "string",
         "hashKeyValue": "string",
         "operation": "string",
         "payloadField": "string",
         "rangeKeyField": "string",
         "rangeKeyType": "string",
         "rangeKeyValue": "string",
         "roleArn": "string",
         "tableName": "string"
      },
      "dynamoDBv2": { 
         "putItem": { 
            "tableName": "string"
         },
         "roleArn": "string"
      },
      "elasticsearch": { 
         "endpoint": "string",
         "id": "string",
         "index": "string",
         "roleArn": "string",
         "type": "string"
      },
      "firehose": { 
         "batchMode": boolean,
         "deliveryStreamName": "string",
         "roleArn": "string",
         "separator": "string"
      },
      "http": { 
         "auth": { 
            "sigv4": { 
               "roleArn": "string",
               "serviceName": "string",
               "signingRegion": "string"
            }
         },
         "batchConfig": { 
            "maxBatchOpenMs": number,
            "maxBatchSize": number,
            "maxBatchSizeBytes": number
         },
         "confirmationUrl": "string",
         "enableBatching": boolean,
         "headers": [ 
            { 
               "key": "string",
               "value": "string"
            }
         ],
         "url": "string"
      },
      "iotAnalytics": { 
         "batchMode": boolean,
         "channelArn": "string",
         "channelName": "string",
         "roleArn": "string"
      },
      "iotEvents": { 
         "batchMode": boolean,
         "inputName": "string",
         "messageId": "string",
         "roleArn": "string"
      },
      "iotSiteWise": { 
         "putAssetPropertyValueEntries": [ 
            { 
               "assetId": "string",
               "entryId": "string",
               "propertyAlias": "string",
               "propertyId": "string",
               "propertyValues": [ 
                  { 
                     "quality": "string",
                     "timestamp": { 
                        "offsetInNanos": "string",
                        "timeInSeconds": "string"
                     },
                     "value": { 
                        "booleanValue": "string",
                        "doubleValue": "string",
                        "integerValue": "string",
                        "stringValue": "string"
                     }
                  }
               ]
            }
         ],
         "roleArn": "string"
      },
      "kafka": { 
         "clientProperties": { 
            "string" : "string" 
         },
         "destinationArn": "string",
         "headers": [ 
            { 
               "key": "string",
               "value": "string"
            }
         ],
         "key": "string",
         "partition": "string",
         "topic": "string"
      },
      "kinesis": { 
         "partitionKey": "string",
         "roleArn": "string",
         "streamName": "string"
      },
      "lambda": { 
         "functionArn": "string"
      },
      "location": { 
         "deviceId": "string",
         "latitude": "string",
         "longitude": "string",
         "roleArn": "string",
         "timestamp": { 
            "unit": "string",
            "value": "string"
         },
         "trackerName": "string"
      },
      "openSearch": { 
         "endpoint": "string",
         "id": "string",
         "index": "string",
         "roleArn": "string",
         "type": "string"
      },
      "republish": { 
         "headers": { 
            "contentType": "string",
            "correlationData": "string",
            "messageExpiry": "string",
            "payloadFormatIndicator": "string",
            "responseTopic": "string",
            "userProperties": [ 
               { 
                  "key": "string",
                  "value": "string"
               }
            ]
         },
         "qos": number,
         "roleArn": "string",
         "topic": "string"
      },
      "s3": { 
         "bucketName": "string",
         "cannedAcl": "string",
         "key": "string",
         "roleArn": "string"
      },
      "salesforce": { 
         "token": "string",
         "url": "string"
      },
      "sns": { 
         "messageFormat": "string",
         "roleArn": "string",
         "targetArn": "string"
      },
      "sqs": { 
         "queueUrl": "string",
         "roleArn": "string",
         "useBase64": boolean
      },
      "stepFunctions": { 
         "executionNamePrefix": "string",
         "roleArn": "string",
         "stateMachineName": "string"
      },
      "timestream": { 
         "databaseName": "string",
         "dimensions": [ 
            { 
               "name": "string",
               "value": "string"
            }
         ],
         "roleArn": "string",
         "tableName": "string",
         "timestamp": { 
            "unit": "string",
            "value": "string"
         }
      }
   },
   "ruleDisabled": boolean,
   "sql": "string"
}
```

## URI Request Parameters
<a name="API_ReplaceTopicRule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [ruleName](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-uri-ruleName"></a>
The name of the rule.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[a-zA-Z0-9_]+$`   
Required: Yes

## Request Body
<a name="API_ReplaceTopicRule_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [actions](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-actions"></a>
The actions associated with the rule.  
Type: Array of [Action](API_Action.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 10 items.  
Required: Yes

 ** [awsIotSqlVersion](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-awsIotSqlVersion"></a>
The version of the SQL rules engine to use when evaluating the rule.  
Type: String  
Required: No

 ** [description](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-description"></a>
The description of the rule.  
Type: String  
Required: No

 ** [errorAction](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-errorAction"></a>
The action to take when an error occurs.  
Type: [Action](API_Action.md) object  
Required: No

 ** [ruleDisabled](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-ruleDisabled"></a>
Specifies whether the rule is disabled.  
Type: Boolean  
Required: No

 ** [sql](#API_ReplaceTopicRule_RequestSyntax) **   <a name="iot-ReplaceTopicRule-request-sql"></a>
The SQL statement used to query the topic. For more information, see [AWS IoT SQL Reference](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) in the * AWS IoT Developer Guide*.  
Type: String  
Required: Yes

## Response Syntax
<a name="API_ReplaceTopicRule_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_ReplaceTopicRule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_ReplaceTopicRule_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** SqlParseException **   
The Rule-SQL expression can't be parsed correctly.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_ReplaceTopicRule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ReplaceTopicRule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ReplaceTopicRule) 

# SearchIndex
<a name="API_SearchIndex"></a>

The query search index.

Requires permission to access the [SearchIndex](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_SearchIndex_RequestSyntax"></a>

```
POST /indices/search HTTP/1.1
Content-type: application/json

{
   "indexName": "string",
   "maxResults": number,
   "nextToken": "string",
   "queryString": "string",
   "queryVersion": "string"
}
```

## URI Request Parameters
<a name="API_SearchIndex_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_SearchIndex_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [indexName](#API_SearchIndex_RequestSyntax) **   <a name="iot-SearchIndex-request-indexName"></a>
The search index name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [maxResults](#API_SearchIndex_RequestSyntax) **   <a name="iot-SearchIndex-request-maxResults"></a>
The maximum number of results to return per page at one time. This maximum number cannot exceed 100. The response might contain fewer results but will never contain more. You can use [https://docs.aws.amazon.com/iot/latest/apireference/API_SearchIndex.html#iot-SearchIndex-request-nextToken](https://docs.aws.amazon.com/iot/latest/apireference/API_SearchIndex.html#iot-SearchIndex-request-nextToken) to retrieve the next set of results until `nextToken` returns `NULL`.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [nextToken](#API_SearchIndex_RequestSyntax) **   <a name="iot-SearchIndex-request-nextToken"></a>
The token used to get the next set of results, or `null` if there are no additional results.  
Type: String  
Required: No

 ** [queryString](#API_SearchIndex_RequestSyntax) **   <a name="iot-SearchIndex-request-queryString"></a>
The search query string. For more information about the search query syntax, see [Query syntax](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html).  
Type: String  
Length Constraints: Minimum length of 1.  
Required: Yes

 ** [queryVersion](#API_SearchIndex_RequestSyntax) **   <a name="iot-SearchIndex-request-queryVersion"></a>
The query version.  
Type: String  
Required: No

## Response Syntax
<a name="API_SearchIndex_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "thingGroups": [ 
      { 
         "attributes": { 
            "string" : "string" 
         },
         "parentGroupNames": [ "string" ],
         "thingGroupDescription": "string",
         "thingGroupId": "string",
         "thingGroupName": "string"
      }
   ],
   "things": [ 
      { 
         "attributes": { 
            "string" : "string" 
         },
         "connectivity": { 
            "connected": boolean,
            "disconnectReason": "string",
            "timestamp": number
         },
         "deviceDefender": "string",
         "shadow": "string",
         "thingGroupNames": [ "string" ],
         "thingId": "string",
         "thingName": "string",
         "thingTypeName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_SearchIndex_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_SearchIndex_ResponseSyntax) **   <a name="iot-SearchIndex-response-nextToken"></a>
The token used to get the next set of results, or `null` if there are no additional results.  
Type: String

 ** [thingGroups](#API_SearchIndex_ResponseSyntax) **   <a name="iot-SearchIndex-response-thingGroups"></a>
The thing groups that match the search query.  
Type: Array of [ThingGroupDocument](API_ThingGroupDocument.md) objects

 ** [things](#API_SearchIndex_ResponseSyntax) **   <a name="iot-SearchIndex-response-things"></a>
The things that match the search query.  
Type: Array of [ThingDocument](API_ThingDocument.md) objects

## Errors
<a name="API_SearchIndex_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_SearchIndex_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/SearchIndex) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/SearchIndex) 

# SetDefaultAuthorizer
<a name="API_SetDefaultAuthorizer"></a>

Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer.

Requires permission to access the [SetDefaultAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_SetDefaultAuthorizer_RequestSyntax"></a>

```
POST /default-authorizer HTTP/1.1
Content-type: application/json

{
   "authorizerName": "string"
}
```

## URI Request Parameters
<a name="API_SetDefaultAuthorizer_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_SetDefaultAuthorizer_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [authorizerName](#API_SetDefaultAuthorizer_RequestSyntax) **   <a name="iot-SetDefaultAuthorizer-request-authorizerName"></a>
The authorizer name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Response Syntax
<a name="API_SetDefaultAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authorizerArn": "string",
   "authorizerName": "string"
}
```

## Response Elements
<a name="API_SetDefaultAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authorizerArn](#API_SetDefaultAuthorizer_ResponseSyntax) **   <a name="iot-SetDefaultAuthorizer-response-authorizerArn"></a>
The authorizer ARN.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [authorizerName](#API_SetDefaultAuthorizer_ResponseSyntax) **   <a name="iot-SetDefaultAuthorizer-response-authorizerName"></a>
The authorizer name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

## Errors
<a name="API_SetDefaultAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceAlreadyExistsException **   
The resource already exists.    
 ** message **   
The message for the exception.  
 ** resourceArn **   
The ARN of the resource that caused the exception.  
 ** resourceId **   
The ID of the resource that caused the exception.
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_SetDefaultAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/SetDefaultAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/SetDefaultAuthorizer) 

# SetDefaultPolicyVersion
<a name="API_SetDefaultPolicyVersion"></a>

Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the [ListPrincipalPolicies](API_ListPrincipalPolicies.md) action.

Requires permission to access the [SetDefaultPolicyVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_SetDefaultPolicyVersion_RequestSyntax"></a>

```
PATCH /policies/policyName/version/policyVersionId HTTP/1.1
```

## URI Request Parameters
<a name="API_SetDefaultPolicyVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [policyName](#API_SetDefaultPolicyVersion_RequestSyntax) **   <a name="iot-SetDefaultPolicyVersion-request-uri-policyName"></a>
The policy name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: Yes

 ** [policyVersionId](#API_SetDefaultPolicyVersion_RequestSyntax) **   <a name="iot-SetDefaultPolicyVersion-request-uri-policyVersionId"></a>
The policy version ID.  
Pattern: `[0-9]+`   
Required: Yes

## Request Body
<a name="API_SetDefaultPolicyVersion_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_SetDefaultPolicyVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_SetDefaultPolicyVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_SetDefaultPolicyVersion_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_SetDefaultPolicyVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/SetDefaultPolicyVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/SetDefaultPolicyVersion) 

# SetLoggingOptions
<a name="API_SetLoggingOptions"></a>

Sets the logging options.

NOTE: use of this command is not recommended. Use `SetV2LoggingOptions` instead.

Requires permission to access the [SetLoggingOptions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_SetLoggingOptions_RequestSyntax"></a>

```
POST /loggingOptions HTTP/1.1
Content-type: application/json

{
   "logLevel": "string",
   "roleArn": "string"
}
```

## URI Request Parameters
<a name="API_SetLoggingOptions_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_SetLoggingOptions_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [logLevel](#API_SetLoggingOptions_RequestSyntax) **   <a name="iot-SetLoggingOptions-request-logLevel"></a>
The log level.  
Type: String  
Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`   
Required: No

 ** [roleArn](#API_SetLoggingOptions_RequestSyntax) **   <a name="iot-SetLoggingOptions-request-roleArn"></a>
The ARN of the IAM role that grants access.  
Type: String  
Required: Yes

## Response Syntax
<a name="API_SetLoggingOptions_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_SetLoggingOptions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_SetLoggingOptions_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_SetLoggingOptions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/SetLoggingOptions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/SetLoggingOptions) 

# SetV2LoggingLevel
<a name="API_SetV2LoggingLevel"></a>

Sets the logging level.

Requires permission to access the [SetV2LoggingLevel](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_SetV2LoggingLevel_RequestSyntax"></a>

```
POST /v2LoggingLevel HTTP/1.1
Content-type: application/json

{
   "logLevel": "string",
   "logTarget": { 
      "targetName": "string",
      "targetType": "string"
   }
}
```

## URI Request Parameters
<a name="API_SetV2LoggingLevel_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_SetV2LoggingLevel_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [logLevel](#API_SetV2LoggingLevel_RequestSyntax) **   <a name="iot-SetV2LoggingLevel-request-logLevel"></a>
The log level.  
Type: String  
Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`   
Required: Yes

 ** [logTarget](#API_SetV2LoggingLevel_RequestSyntax) **   <a name="iot-SetV2LoggingLevel-request-logTarget"></a>
The log target.  
Type: [LogTarget](API_LogTarget.md) object  
Required: Yes

## Response Syntax
<a name="API_SetV2LoggingLevel_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_SetV2LoggingLevel_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_SetV2LoggingLevel_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** NotConfiguredException **   
The resource is not configured.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_SetV2LoggingLevel_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/SetV2LoggingLevel) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/SetV2LoggingLevel) 

# SetV2LoggingOptions
<a name="API_SetV2LoggingOptions"></a>

Sets the logging options for the V2 logging service.

Requires permission to access the [SetV2LoggingOptions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_SetV2LoggingOptions_RequestSyntax"></a>

```
POST /v2LoggingOptions HTTP/1.1
Content-type: application/json

{
   "defaultLogLevel": "string",
   "disableAllLogs": boolean,
   "eventConfigurations": [ 
      { 
         "eventType": "string",
         "logDestination": "string",
         "logLevel": "string"
      }
   ],
   "roleArn": "string"
}
```

## URI Request Parameters
<a name="API_SetV2LoggingOptions_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_SetV2LoggingOptions_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [defaultLogLevel](#API_SetV2LoggingOptions_RequestSyntax) **   <a name="iot-SetV2LoggingOptions-request-defaultLogLevel"></a>
The default logging level.  
Type: String  
Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`   
Required: No

 ** [disableAllLogs](#API_SetV2LoggingOptions_RequestSyntax) **   <a name="iot-SetV2LoggingOptions-request-disableAllLogs"></a>
If true all logs are disabled. The default is false.  
Type: Boolean  
Required: No

 ** [eventConfigurations](#API_SetV2LoggingOptions_RequestSyntax) **   <a name="iot-SetV2LoggingOptions-request-eventConfigurations"></a>
 The list of event configurations that override account-level logging.   
Type: Array of [LogEventConfiguration](API_LogEventConfiguration.md) objects  
Required: No

 ** [roleArn](#API_SetV2LoggingOptions_RequestSyntax) **   <a name="iot-SetV2LoggingOptions-request-roleArn"></a>
The ARN of the role that allows IoT to write to Cloudwatch logs.  
Type: String  
Required: No

## Response Syntax
<a name="API_SetV2LoggingOptions_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_SetV2LoggingOptions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_SetV2LoggingOptions_Errors"></a>

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

## See Also
<a name="API_SetV2LoggingOptions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/SetV2LoggingOptions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/SetV2LoggingOptions) 

# StartAuditMitigationActionsTask
<a name="API_StartAuditMitigationActionsTask"></a>

Starts a task that applies a set of mitigation actions to the specified target.

Requires permission to access the [StartAuditMitigationActionsTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_StartAuditMitigationActionsTask_RequestSyntax"></a>

```
POST /audit/mitigationactions/tasks/taskId HTTP/1.1
Content-type: application/json

{
   "auditCheckToActionsMapping": { 
      "string" : [ "string" ]
   },
   "clientRequestToken": "string",
   "target": { 
      "auditCheckToReasonCodeFilter": { 
         "string" : [ "string" ]
      },
      "auditTaskId": "string",
      "findingIds": [ "string" ]
   }
}
```

## URI Request Parameters
<a name="API_StartAuditMitigationActionsTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_StartAuditMitigationActionsTask_RequestSyntax) **   <a name="iot-StartAuditMitigationActionsTask-request-uri-taskId"></a>
A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_StartAuditMitigationActionsTask_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [auditCheckToActionsMapping](#API_StartAuditMitigationActionsTask_RequestSyntax) **   <a name="iot-StartAuditMitigationActionsTask-request-auditCheckToActionsMapping"></a>
For an audit check, specifies which mitigation actions to apply. Those actions must be defined in your AWS accounts.  
Type: String to array of strings map  
Array Members: Minimum number of 1 item. Maximum number of 5 items.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [clientRequestToken](#API_StartAuditMitigationActionsTask_RequestSyntax) **   <a name="iot-StartAuditMitigationActionsTask-request-clientRequestToken"></a>
Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[a-zA-Z0-9-_]+$`   
Required: Yes

 ** [target](#API_StartAuditMitigationActionsTask_RequestSyntax) **   <a name="iot-StartAuditMitigationActionsTask-request-target"></a>
Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a specific set of findings.  
Type: [AuditMitigationActionsTaskTarget](API_AuditMitigationActionsTaskTarget.md) object  
Required: Yes

## Response Syntax
<a name="API_StartAuditMitigationActionsTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "taskId": "string"
}
```

## Response Elements
<a name="API_StartAuditMitigationActionsTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [taskId](#API_StartAuditMitigationActionsTask_ResponseSyntax) **   <a name="iot-StartAuditMitigationActionsTask-response-taskId"></a>
The unique identifier for the audit mitigation task. This matches the `taskId` that you specified in the request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_StartAuditMitigationActionsTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** TaskAlreadyExistsException **   
 This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.   
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_StartAuditMitigationActionsTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/StartAuditMitigationActionsTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/StartAuditMitigationActionsTask) 

# StartDetectMitigationActionsTask
<a name="API_StartDetectMitigationActionsTask"></a>

 Starts a Device Defender ML Detect mitigation actions task. 

Requires permission to access the [StartDetectMitigationActionsTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_StartDetectMitigationActionsTask_RequestSyntax"></a>

```
PUT /detect/mitigationactions/tasks/taskId HTTP/1.1
Content-type: application/json

{
   "actions": [ "string" ],
   "clientRequestToken": "string",
   "includeOnlyActiveViolations": boolean,
   "includeSuppressedAlerts": boolean,
   "target": { 
      "behaviorName": "string",
      "securityProfileName": "string",
      "violationIds": [ "string" ]
   },
   "violationEventOccurrenceRange": { 
      "endTime": number,
      "startTime": number
   }
}
```

## URI Request Parameters
<a name="API_StartDetectMitigationActionsTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-uri-taskId"></a>
 The unique identifier of the task.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_StartDetectMitigationActionsTask_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [actions](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-actions"></a>
 The actions to be performed when a device has unexpected behavior.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 5 items.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [clientRequestToken](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-clientRequestToken"></a>
 Each mitigation action task must have a unique client request token. If you try to create a new task with the same token as a task that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[a-zA-Z0-9-_]+$`   
Required: Yes

 ** [includeOnlyActiveViolations](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-includeOnlyActiveViolations"></a>
 Specifies to list only active violations.   
Type: Boolean  
Required: No

 ** [includeSuppressedAlerts](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-includeSuppressedAlerts"></a>
 Specifies to include suppressed alerts.   
Type: Boolean  
Required: No

 ** [target](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-target"></a>
 Specifies the ML Detect findings to which the mitigation actions are applied.   
Type: [DetectMitigationActionsTaskTarget](API_DetectMitigationActionsTaskTarget.md) object  
Required: Yes

 ** [violationEventOccurrenceRange](#API_StartDetectMitigationActionsTask_RequestSyntax) **   <a name="iot-StartDetectMitigationActionsTask-request-violationEventOccurrenceRange"></a>
 Specifies the time period of which violation events occurred between.   
Type: [ViolationEventOccurrenceRange](API_ViolationEventOccurrenceRange.md) object  
Required: No

## Response Syntax
<a name="API_StartDetectMitigationActionsTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "taskId": "string"
}
```

## Response Elements
<a name="API_StartDetectMitigationActionsTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [taskId](#API_StartDetectMitigationActionsTask_ResponseSyntax) **   <a name="iot-StartDetectMitigationActionsTask-response-taskId"></a>
 The unique identifier of the task.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_StartDetectMitigationActionsTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** TaskAlreadyExistsException **   
 This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.   
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_StartDetectMitigationActionsTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/StartDetectMitigationActionsTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/StartDetectMitigationActionsTask) 

# StartOnDemandAuditTask
<a name="API_StartOnDemandAuditTask"></a>

Starts an on-demand Device Defender audit.

Requires permission to access the [StartOnDemandAuditTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_StartOnDemandAuditTask_RequestSyntax"></a>

```
POST /audit/tasks HTTP/1.1
Content-type: application/json

{
   "targetCheckNames": [ "string" ]
}
```

## URI Request Parameters
<a name="API_StartOnDemandAuditTask_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_StartOnDemandAuditTask_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [targetCheckNames](#API_StartOnDemandAuditTask_RequestSyntax) **   <a name="iot-StartOnDemandAuditTask-request-targetCheckNames"></a>
Which checks are performed during the audit. The checks you specify must be enabled for your account or an exception occurs. Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or `UpdateAccountAuditConfiguration` to select which checks are enabled.  
Type: Array of strings  
Required: Yes

## Response Syntax
<a name="API_StartOnDemandAuditTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "taskId": "string"
}
```

## Response Elements
<a name="API_StartOnDemandAuditTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [taskId](#API_StartOnDemandAuditTask_ResponseSyntax) **   <a name="iot-StartOnDemandAuditTask-response-taskId"></a>
The ID of the on-demand audit you started.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 40.  
Pattern: `[a-zA-Z0-9\-]+` 

## Errors
<a name="API_StartOnDemandAuditTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_StartOnDemandAuditTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/StartOnDemandAuditTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/StartOnDemandAuditTask) 

# StartThingRegistrationTask
<a name="API_StartThingRegistrationTask"></a>

Creates a bulk thing provisioning task.

Requires permission to access the [StartThingRegistrationTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_StartThingRegistrationTask_RequestSyntax"></a>

```
POST /thing-registration-tasks HTTP/1.1
Content-type: application/json

{
   "inputFileBucket": "string",
   "inputFileKey": "string",
   "roleArn": "string",
   "templateBody": "string"
}
```

## URI Request Parameters
<a name="API_StartThingRegistrationTask_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_StartThingRegistrationTask_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [inputFileBucket](#API_StartThingRegistrationTask_RequestSyntax) **   <a name="iot-StartThingRegistrationTask-request-inputFileBucket"></a>
The S3 bucket that contains the input file.  
Type: String  
Length Constraints: Minimum length of 3. Maximum length of 256.  
Pattern: `[a-zA-Z0-9._-]+`   
Required: Yes

 ** [inputFileKey](#API_StartThingRegistrationTask_RequestSyntax) **   <a name="iot-StartThingRegistrationTask-request-inputFileKey"></a>
The name of input file within the S3 bucket. This file contains a newline delimited JSON file. Each line contains the parameter values to provision one device (thing).  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `[a-zA-Z0-9!_.*'()-\/]+`   
Required: Yes

 ** [roleArn](#API_StartThingRegistrationTask_RequestSyntax) **   <a name="iot-StartThingRegistrationTask-request-roleArn"></a>
The IAM role ARN that grants permission the input file.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [templateBody](#API_StartThingRegistrationTask_RequestSyntax) **   <a name="iot-StartThingRegistrationTask-request-templateBody"></a>
The provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 10240.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax
<a name="API_StartThingRegistrationTask_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "taskId": "string"
}
```

## Response Elements
<a name="API_StartThingRegistrationTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [taskId](#API_StartThingRegistrationTask_ResponseSyntax) **   <a name="iot-StartThingRegistrationTask-response-taskId"></a>
The bulk thing provisioning task ID.  
Type: String  
Length Constraints: Maximum length of 40.

## Errors
<a name="API_StartThingRegistrationTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_StartThingRegistrationTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/StartThingRegistrationTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/StartThingRegistrationTask) 

# StopThingRegistrationTask
<a name="API_StopThingRegistrationTask"></a>

Cancels a bulk thing provisioning task.

Requires permission to access the [StopThingRegistrationTask](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_StopThingRegistrationTask_RequestSyntax"></a>

```
PUT /thing-registration-tasks/taskId/cancel HTTP/1.1
```

## URI Request Parameters
<a name="API_StopThingRegistrationTask_RequestParameters"></a>

The request uses the following URI parameters.

 ** [taskId](#API_StopThingRegistrationTask_RequestSyntax) **   <a name="iot-StopThingRegistrationTask-request-uri-taskId"></a>
The bulk thing provisioning task ID.  
Length Constraints: Maximum length of 40.  
Required: Yes

## Request Body
<a name="API_StopThingRegistrationTask_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_StopThingRegistrationTask_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_StopThingRegistrationTask_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_StopThingRegistrationTask_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_StopThingRegistrationTask_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/StopThingRegistrationTask) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/StopThingRegistrationTask) 

# TagResource
<a name="API_TagResource"></a>

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

Requires permission to access the [TagResource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_TagResource_RequestSyntax"></a>

```
POST /tags HTTP/1.1
Content-type: application/json

{
   "resourceArn": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## URI Request Parameters
<a name="API_TagResource_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_TagResource_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [resourceArn](#API_TagResource_RequestSyntax) **   <a name="iot-TagResource-request-resourceArn"></a>
The ARN of the resource.  
Type: String  
Required: Yes

 ** [tags](#API_TagResource_RequestSyntax) **   <a name="iot-TagResource-request-tags"></a>
The new or modified tags for the resource.  
Type: Array of [Tag](API_Tag.md) objects  
Required: Yes

## Response Syntax
<a name="API_TagResource_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_TagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_TagResource_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_TagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/TagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/TagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/TagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/TagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/TagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/TagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/TagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/TagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/TagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/TagResource) 

# TestAuthorization
<a name="API_TestAuthorization"></a>

Tests if a specified principal is authorized to perform an AWS IoT action on a specified resource. Use this to test and debug the authorization behavior of devices that connect to the AWS IoT device gateway.

Requires permission to access the [TestAuthorization](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_TestAuthorization_RequestSyntax"></a>

```
POST /test-authorization?clientId=clientId HTTP/1.1
Content-type: application/json

{
   "authInfos": [ 
      { 
         "actionType": "string",
         "resources": [ "string" ]
      }
   ],
   "cognitoIdentityPoolId": "string",
   "policyNamesToAdd": [ "string" ],
   "policyNamesToSkip": [ "string" ],
   "principal": "string"
}
```

## URI Request Parameters
<a name="API_TestAuthorization_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientId](#API_TestAuthorization_RequestSyntax) **   <a name="iot-TestAuthorization-request-uri-clientId"></a>
The MQTT client ID.

## Request Body
<a name="API_TestAuthorization_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [authInfos](#API_TestAuthorization_RequestSyntax) **   <a name="iot-TestAuthorization-request-authInfos"></a>
A list of authorization info objects. Simulating authorization will create a response for each `authInfo` object in the list.  
Type: Array of [AuthInfo](API_AuthInfo.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Required: Yes

 ** [cognitoIdentityPoolId](#API_TestAuthorization_RequestSyntax) **   <a name="iot-TestAuthorization-request-cognitoIdentityPoolId"></a>
The Cognito identity pool ID.  
Type: String  
Required: No

 ** [policyNamesToAdd](#API_TestAuthorization_RequestSyntax) **   <a name="iot-TestAuthorization-request-policyNamesToAdd"></a>
When testing custom authorization, the policies specified here are treated as if they are attached to the principal being authorized.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: No

 ** [policyNamesToSkip](#API_TestAuthorization_RequestSyntax) **   <a name="iot-TestAuthorization-request-policyNamesToSkip"></a>
When testing custom authorization, the policies specified here are treated as if they are not attached to the principal being authorized.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w+=,.@-]+`   
Required: No

 ** [principal](#API_TestAuthorization_RequestSyntax) **   <a name="iot-TestAuthorization-request-principal"></a>
The principal. Valid principals are CertificateArn (arn:aws:iot:*region*:*accountId*:cert/*certificateId*) and CognitoId (*region*:*id*).  
Type: String  
Required: No

## Response Syntax
<a name="API_TestAuthorization_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authResults": [ 
      { 
         "allowed": { 
            "policies": [ 
               { 
                  "policyArn": "string",
                  "policyName": "string"
               }
            ]
         },
         "authDecision": "string",
         "authInfo": { 
            "actionType": "string",
            "resources": [ "string" ]
         },
         "denied": { 
            "explicitDeny": { 
               "policies": [ 
                  { 
                     "policyArn": "string",
                     "policyName": "string"
                  }
               ]
            },
            "implicitDeny": { 
               "policies": [ 
                  { 
                     "policyArn": "string",
                     "policyName": "string"
                  }
               ]
            }
         },
         "missingContextValues": [ "string" ]
      }
   ]
}
```

## Response Elements
<a name="API_TestAuthorization_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authResults](#API_TestAuthorization_ResponseSyntax) **   <a name="iot-TestAuthorization-response-authResults"></a>
The authentication results.  
Type: Array of [AuthResult](API_AuthResult.md) objects

## Errors
<a name="API_TestAuthorization_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_TestAuthorization_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/TestAuthorization) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/TestAuthorization) 

# TestInvokeAuthorizer
<a name="API_TestInvokeAuthorizer"></a>

Tests a custom authorization behavior by invoking a specified custom authorizer. Use this to test and debug the custom authorization behavior of devices that connect to the AWS IoT device gateway.

Requires permission to access the [TestInvokeAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_TestInvokeAuthorizer_RequestSyntax"></a>

```
POST /authorizer/authorizerName/test HTTP/1.1
Content-type: application/json

{
   "httpContext": { 
      "headers": { 
         "string" : "string" 
      },
      "queryString": "string"
   },
   "mqttContext": { 
      "clientId": "string",
      "password": blob,
      "username": "string"
   },
   "tlsContext": { 
      "serverName": "string"
   },
   "token": "string",
   "tokenSignature": "string"
}
```

## URI Request Parameters
<a name="API_TestInvokeAuthorizer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [authorizerName](#API_TestInvokeAuthorizer_RequestSyntax) **   <a name="iot-TestInvokeAuthorizer-request-uri-authorizerName"></a>
The custom authorizer name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_TestInvokeAuthorizer_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [httpContext](#API_TestInvokeAuthorizer_RequestSyntax) **   <a name="iot-TestInvokeAuthorizer-request-httpContext"></a>
Specifies a test HTTP authorization request.  
Type: [HttpContext](API_HttpContext.md) object  
Required: No

 ** [mqttContext](#API_TestInvokeAuthorizer_RequestSyntax) **   <a name="iot-TestInvokeAuthorizer-request-mqttContext"></a>
Specifies a test MQTT authorization request.  
Type: [MqttContext](API_MqttContext.md) object  
Required: No

 ** [tlsContext](#API_TestInvokeAuthorizer_RequestSyntax) **   <a name="iot-TestInvokeAuthorizer-request-tlsContext"></a>
Specifies a test TLS authorization request.  
Type: [TlsContext](API_TlsContext.md) object  
Required: No

 ** [token](#API_TestInvokeAuthorizer_RequestSyntax) **   <a name="iot-TestInvokeAuthorizer-request-token"></a>
The token returned by your custom authentication service.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 6144.  
Pattern: `[\s\S]*`   
Required: No

 ** [tokenSignature](#API_TestInvokeAuthorizer_RequestSyntax) **   <a name="iot-TestInvokeAuthorizer-request-tokenSignature"></a>
The signature made with the token and your custom authentication service's private key. This value must be Base-64-encoded.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2560.  
Pattern: `[A-Za-z0-9+/]+={0,2}`   
Required: No

## Response Syntax
<a name="API_TestInvokeAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "disconnectAfterInSeconds": number,
   "isAuthenticated": boolean,
   "policyDocuments": [ "string" ],
   "principalId": "string",
   "refreshAfterInSeconds": number
}
```

## Response Elements
<a name="API_TestInvokeAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [disconnectAfterInSeconds](#API_TestInvokeAuthorizer_ResponseSyntax) **   <a name="iot-TestInvokeAuthorizer-response-disconnectAfterInSeconds"></a>
The number of seconds after which the connection is terminated.  
Type: Integer

 ** [isAuthenticated](#API_TestInvokeAuthorizer_ResponseSyntax) **   <a name="iot-TestInvokeAuthorizer-response-isAuthenticated"></a>
True if the token is authenticated, otherwise false.  
Type: Boolean

 ** [policyDocuments](#API_TestInvokeAuthorizer_ResponseSyntax) **   <a name="iot-TestInvokeAuthorizer-response-policyDocuments"></a>
IAM policy documents.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 404600.  
Pattern: `[\s\S]*` 

 ** [principalId](#API_TestInvokeAuthorizer_ResponseSyntax) **   <a name="iot-TestInvokeAuthorizer-response-principalId"></a>
The principal ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9]+` 

 ** [refreshAfterInSeconds](#API_TestInvokeAuthorizer_ResponseSyntax) **   <a name="iot-TestInvokeAuthorizer-response-refreshAfterInSeconds"></a>
The number of seconds after which the temporary credentials are refreshed.  
Type: Integer

## Errors
<a name="API_TestInvokeAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidResponseException **   
The response is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_TestInvokeAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/TestInvokeAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/TestInvokeAuthorizer) 

# TransferCertificate
<a name="API_TransferCertificate"></a>

Transfers the specified certificate to the specified AWS account.

Requires permission to access the [TransferCertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

You can cancel the transfer until it is accepted by the recipient.

No notification is sent to the transfer destination's account. The caller is responsible for notifying the transfer target.

The certificate being transferred must not be in the `ACTIVE` state. You can use the [UpdateCertificate](API_UpdateCertificate.md) action to deactivate it.

The certificate must not have any policies attached to it. You can use the [DetachPolicy](API_DetachPolicy.md) action to detach them.

 **Customer managed key behavior:** When you use a customer managed key to encrypt your data and then transfer the certificate to a customer in a different account using the `TransferCertificate` operation, the certificates will no longer be encrypted by their customer managed key configuration. During the transfer process, certificates are encrypted using AWS IoT Core owned keys.

While a certificate is in the **PENDING\$1TRANSFER** state, it's always protected by AWS IoT Core owned keys, regardless of the customer managed key configuration of either the source or destination account. 

Once the transfer is completed through [AcceptCertificateTransfer](API_AcceptCertificateTransfer.md), [RejectCertificateTransfer](API_RejectCertificateTransfer.md), or [CancelCertificateTransfer](API_CancelCertificateTransfer.md), the certificate will be protected by the customer managed key configuration of the account that owns the certificate after the transfer operation:
+ If the transfer is accepted: The certificate is encrypted by the target account's customer managed key configuration.
+ If the transfer is rejected or cancelled: The certificate is protected by the source account's customer managed key configuration.

## Request Syntax
<a name="API_TransferCertificate_RequestSyntax"></a>

```
PATCH /transfer-certificate/certificateId?targetAwsAccount=targetAwsAccount HTTP/1.1
Content-type: application/json

{
   "transferMessage": "string"
}
```

## URI Request Parameters
<a name="API_TransferCertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_TransferCertificate_RequestSyntax) **   <a name="iot-TransferCertificate-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

 ** [targetAwsAccount](#API_TransferCertificate_RequestSyntax) **   <a name="iot-TransferCertificate-request-uri-targetAwsAccount"></a>
The AWS account.  
Length Constraints: Fixed length of 12.  
Pattern: `[0-9]+`   
Required: Yes

## Request Body
<a name="API_TransferCertificate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [transferMessage](#API_TransferCertificate_RequestSyntax) **   <a name="iot-TransferCertificate-request-transferMessage"></a>
The transfer message.  
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\s\S]*`   
Required: No

## Response Syntax
<a name="API_TransferCertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "transferredCertificateArn": "string"
}
```

## Response Elements
<a name="API_TransferCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [transferredCertificateArn](#API_TransferCertificate_ResponseSyntax) **   <a name="iot-TransferCertificate-response-transferredCertificateArn"></a>
The ARN of the certificate.  
Type: String

## Errors
<a name="API_TransferCertificate_Errors"></a>

 ** CertificateStateException **   
The certificate operation is not allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 406

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** TransferConflictException **   
You can't transfer the certificate because authorization policies are still attached.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_TransferCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/TransferCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/TransferCertificate) 

# UntagResource
<a name="API_UntagResource"></a>

Removes the given tags (metadata) from the resource.

Requires permission to access the [UntagResource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UntagResource_RequestSyntax"></a>

```
POST /untag HTTP/1.1
Content-type: application/json

{
   "resourceArn": "string",
   "tagKeys": [ "string" ]
}
```

## URI Request Parameters
<a name="API_UntagResource_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UntagResource_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [resourceArn](#API_UntagResource_RequestSyntax) **   <a name="iot-UntagResource-request-resourceArn"></a>
The ARN of the resource.  
Type: String  
Required: Yes

 ** [tagKeys](#API_UntagResource_RequestSyntax) **   <a name="iot-UntagResource-request-tagKeys"></a>
A list of the keys of the tags to be removed from the resource.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`   
Required: Yes

## Response Syntax
<a name="API_UntagResource_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UntagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UntagResource_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UntagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UntagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UntagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UntagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UntagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UntagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UntagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UntagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UntagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UntagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UntagResource) 

# UpdateAccountAuditConfiguration
<a name="API_UpdateAccountAuditConfiguration"></a>

Configures or reconfigures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

Requires permission to access the [UpdateAccountAuditConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateAccountAuditConfiguration_RequestSyntax"></a>

```
PATCH /audit/configuration HTTP/1.1
Content-type: application/json

{
   "auditCheckConfigurations": { 
      "string" : { 
         "configuration": { 
            "string" : "string" 
         },
         "enabled": boolean
      }
   },
   "auditNotificationTargetConfigurations": { 
      "string" : { 
         "enabled": boolean,
         "roleArn": "string",
         "targetArn": "string"
      }
   },
   "roleArn": "string"
}
```

## URI Request Parameters
<a name="API_UpdateAccountAuditConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateAccountAuditConfiguration_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [auditCheckConfigurations](#API_UpdateAccountAuditConfiguration_RequestSyntax) **   <a name="iot-UpdateAccountAuditConfiguration-request-auditCheckConfigurations"></a>
Specifies which audit checks are enabled and disabled for this account. Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are currently enabled.  
Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted.  
You cannot disable a check if it's used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself.  
On the first call to `UpdateAccountAuditConfiguration`, this parameter is required and must specify at least one enabled check.  
Type: String to [AuditCheckConfiguration](API_AuditCheckConfiguration.md) object map  
Required: No

 ** [auditNotificationTargetConfigurations](#API_UpdateAccountAuditConfiguration_RequestSyntax) **   <a name="iot-UpdateAccountAuditConfiguration-request-auditNotificationTargetConfigurations"></a>
Information about the targets to which audit notifications are sent.  
Type: String to [AuditNotificationTarget](API_AuditNotificationTarget.md) object map  
Valid Keys: `SNS`   
Required: No

 ** [roleArn](#API_UpdateAccountAuditConfiguration_RequestSyntax) **   <a name="iot-UpdateAccountAuditConfiguration-request-roleArn"></a>
The Amazon Resource Name (ARN) of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: No

## Response Syntax
<a name="API_UpdateAccountAuditConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateAccountAuditConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateAccountAuditConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateAccountAuditConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateAccountAuditConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateAccountAuditConfiguration) 

# UpdateAuditSuppression
<a name="API_UpdateAuditSuppression"></a>

 Updates a Device Defender audit suppression. 

## Request Syntax
<a name="API_UpdateAuditSuppression_RequestSyntax"></a>

```
PATCH /audit/suppressions/update HTTP/1.1
Content-type: application/json

{
   "checkName": "string",
   "description": "string",
   "expirationDate": number,
   "resourceIdentifier": { 
      "account": "string",
      "caCertificateId": "string",
      "clientId": "string",
      "cognitoIdentityPoolId": "string",
      "deviceCertificateArn": "string",
      "deviceCertificateId": "string",
      "iamRoleArn": "string",
      "issuerCertificateIdentifier": { 
         "issuerCertificateSerialNumber": "string",
         "issuerCertificateSubject": "string",
         "issuerId": "string"
      },
      "policyVersionIdentifier": { 
         "policyName": "string",
         "policyVersionId": "string"
      },
      "roleAliasArn": "string"
   },
   "suppressIndefinitely": boolean
}
```

## URI Request Parameters
<a name="API_UpdateAuditSuppression_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateAuditSuppression_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [checkName](#API_UpdateAuditSuppression_RequestSyntax) **   <a name="iot-UpdateAuditSuppression-request-checkName"></a>
An audit check name. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: String  
Required: Yes

 ** [description](#API_UpdateAuditSuppression_RequestSyntax) **   <a name="iot-UpdateAuditSuppression-request-description"></a>
 The description of the audit suppression.   
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

 ** [expirationDate](#API_UpdateAuditSuppression_RequestSyntax) **   <a name="iot-UpdateAuditSuppression-request-expirationDate"></a>
 The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.   
Type: Timestamp  
Required: No

 ** [resourceIdentifier](#API_UpdateAuditSuppression_RequestSyntax) **   <a name="iot-UpdateAuditSuppression-request-resourceIdentifier"></a>
Information that identifies the noncompliant resource.  
Type: [ResourceIdentifier](API_ResourceIdentifier.md) object  
Required: Yes

 ** [suppressIndefinitely](#API_UpdateAuditSuppression_RequestSyntax) **   <a name="iot-UpdateAuditSuppression-request-suppressIndefinitely"></a>
 Indicates whether a suppression should exist indefinitely or not.   
Type: Boolean  
Required: No

## Response Syntax
<a name="API_UpdateAuditSuppression_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateAuditSuppression_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateAuditSuppression_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateAuditSuppression_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateAuditSuppression) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateAuditSuppression) 

# UpdateAuthorizer
<a name="API_UpdateAuthorizer"></a>

Updates an authorizer.

Requires permission to access the [UpdateAuthorizer](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateAuthorizer_RequestSyntax"></a>

```
PUT /authorizer/authorizerName HTTP/1.1
Content-type: application/json

{
   "authorizerFunctionArn": "string",
   "enableCachingForHttp": boolean,
   "status": "string",
   "tokenKeyName": "string",
   "tokenSigningPublicKeys": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_UpdateAuthorizer_RequestParameters"></a>

The request uses the following URI parameters.

 ** [authorizerName](#API_UpdateAuthorizer_RequestSyntax) **   <a name="iot-UpdateAuthorizer-request-uri-authorizerName"></a>
The authorizer name.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_UpdateAuthorizer_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [authorizerFunctionArn](#API_UpdateAuthorizer_RequestSyntax) **   <a name="iot-UpdateAuthorizer-request-authorizerFunctionArn"></a>
The ARN of the authorizer's Lambda function.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `[\s\S]*`   
Required: No

 ** [enableCachingForHttp](#API_UpdateAuthorizer_RequestSyntax) **   <a name="iot-UpdateAuthorizer-request-enableCachingForHttp"></a>
When `true`, the result from the authorizer’s Lambda function is cached for the time specified in `refreshAfterInSeconds`. The cached result is used while the device reuses the same HTTP connection.  
Type: Boolean  
Required: No

 ** [status](#API_UpdateAuthorizer_RequestSyntax) **   <a name="iot-UpdateAuthorizer-request-status"></a>
The status of the update authorizer request.  
Type: String  
Valid Values: `ACTIVE | INACTIVE`   
Required: No

 ** [tokenKeyName](#API_UpdateAuthorizer_RequestSyntax) **   <a name="iot-UpdateAuthorizer-request-tokenKeyName"></a>
The key used to extract the token from the HTTP headers.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: No

 ** [tokenSigningPublicKeys](#API_UpdateAuthorizer_RequestSyntax) **   <a name="iot-UpdateAuthorizer-request-tokenSigningPublicKeys"></a>
The public keys used to verify the token signature.  
Type: String to string map  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Maximum length of 5120.  
Value Pattern: `[\s\S]*`   
Required: No

## Response Syntax
<a name="API_UpdateAuthorizer_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "authorizerArn": "string",
   "authorizerName": "string"
}
```

## Response Elements
<a name="API_UpdateAuthorizer_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [authorizerArn](#API_UpdateAuthorizer_ResponseSyntax) **   <a name="iot-UpdateAuthorizer-response-authorizerArn"></a>
The authorizer ARN.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [authorizerName](#API_UpdateAuthorizer_ResponseSyntax) **   <a name="iot-UpdateAuthorizer-response-authorizerName"></a>
The authorizer name.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

## Errors
<a name="API_UpdateAuthorizer_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateAuthorizer_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateAuthorizer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateAuthorizer) 

# UpdateBillingGroup
<a name="API_UpdateBillingGroup"></a>

Updates information about the billing group.

Requires permission to access the [UpdateBillingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateBillingGroup_RequestSyntax"></a>

```
PATCH /billing-groups/billingGroupName HTTP/1.1
Content-type: application/json

{
   "billingGroupProperties": { 
      "billingGroupDescription": "string"
   },
   "expectedVersion": number
}
```

## URI Request Parameters
<a name="API_UpdateBillingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [billingGroupName](#API_UpdateBillingGroup_RequestSyntax) **   <a name="iot-UpdateBillingGroup-request-uri-billingGroupName"></a>
The name of the billing group.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateBillingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [billingGroupProperties](#API_UpdateBillingGroup_RequestSyntax) **   <a name="iot-UpdateBillingGroup-request-billingGroupProperties"></a>
The properties of the billing group.  
Type: [BillingGroupProperties](API_BillingGroupProperties.md) object  
Required: Yes

 ** [expectedVersion](#API_UpdateBillingGroup_RequestSyntax) **   <a name="iot-UpdateBillingGroup-request-expectedVersion"></a>
The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the `UpdateBillingGroup` request is rejected with a `VersionConflictException`.  
Type: Long  
Required: No

## Response Syntax
<a name="API_UpdateBillingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "version": number
}
```

## Response Elements
<a name="API_UpdateBillingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [version](#API_UpdateBillingGroup_ResponseSyntax) **   <a name="iot-UpdateBillingGroup-response-version"></a>
The latest version of the billing group.  
Type: Long

## Errors
<a name="API_UpdateBillingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_UpdateBillingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateBillingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateBillingGroup) 

# UpdateCACertificate
<a name="API_UpdateCACertificate"></a>

Updates a registered CA certificate.

Requires permission to access the [UpdateCACertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateCACertificate_RequestSyntax"></a>

```
PUT /cacertificate/caCertificateId?newAutoRegistrationStatus=newAutoRegistrationStatus&newStatus=newStatus HTTP/1.1
Content-type: application/json

{
   "registrationConfig": { 
      "roleArn": "string",
      "templateBody": "string",
      "templateName": "string"
   },
   "removeAutoRegistration": boolean
}
```

## URI Request Parameters
<a name="API_UpdateCACertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [caCertificateId](#API_UpdateCACertificate_RequestSyntax) **   <a name="iot-UpdateCACertificate-request-uri-certificateId"></a>
The CA certificate identifier.  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

 ** [newAutoRegistrationStatus](#API_UpdateCACertificate_RequestSyntax) **   <a name="iot-UpdateCACertificate-request-uri-newAutoRegistrationStatus"></a>
The new value for the auto registration status. Valid values are: "ENABLE" or "DISABLE".  
Valid Values: `ENABLE | DISABLE` 

 ** [newStatus](#API_UpdateCACertificate_RequestSyntax) **   <a name="iot-UpdateCACertificate-request-uri-newStatus"></a>
The updated status of the CA certificate.  
 **Note:** The status value REGISTER\$1INACTIVE is deprecated and should not be used.  
Valid Values: `ACTIVE | INACTIVE` 

## Request Body
<a name="API_UpdateCACertificate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [registrationConfig](#API_UpdateCACertificate_RequestSyntax) **   <a name="iot-UpdateCACertificate-request-registrationConfig"></a>
Information about the registration configuration.  
Type: [RegistrationConfig](API_RegistrationConfig.md) object  
Required: No

 ** [removeAutoRegistration](#API_UpdateCACertificate_RequestSyntax) **   <a name="iot-UpdateCACertificate-request-removeAutoRegistration"></a>
If true, removes auto registration.  
Type: Boolean  
Required: No

## Response Syntax
<a name="API_UpdateCACertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateCACertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateCACertificate_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateCACertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateCACertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateCACertificate) 

# UpdateCertificate
<a name="API_UpdateCertificate"></a>

Updates the status of the specified certificate. This operation is idempotent.

Requires permission to access the [UpdateCertificate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

Certificates must be in the ACTIVE state to authenticate devices that use a certificate to connect to AWS IoT.

Within a few minutes of updating a certificate from the ACTIVE state to any other state, AWS IoT disconnects all devices that used that certificate to connect. Devices cannot use a certificate that is not in the ACTIVE state to reconnect.

## Request Syntax
<a name="API_UpdateCertificate_RequestSyntax"></a>

```
PUT /certificates/certificateId?newStatus=newStatus HTTP/1.1
```

## URI Request Parameters
<a name="API_UpdateCertificate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateId](#API_UpdateCertificate_RequestSyntax) **   <a name="iot-UpdateCertificate-request-uri-certificateId"></a>
The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)  
Length Constraints: Fixed length of 64.  
Pattern: `(0x)?[a-fA-F0-9]+`   
Required: Yes

 ** [newStatus](#API_UpdateCertificate_RequestSyntax) **   <a name="iot-UpdateCertificate-request-uri-newStatus"></a>
The new status.  
 **Note:** Setting the status to PENDING\$1TRANSFER or PENDING\$1ACTIVATION will result in an exception being thrown. PENDING\$1TRANSFER and PENDING\$1ACTIVATION are statuses used internally by AWS IoT. They are not intended for developer use.  
 **Note:** The status value REGISTER\$1INACTIVE is deprecated and should not be used.  
Valid Values: `ACTIVE | INACTIVE | REVOKED | PENDING_TRANSFER | REGISTER_INACTIVE | PENDING_ACTIVATION`   
Required: Yes

## Request Body
<a name="API_UpdateCertificate_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_UpdateCertificate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateCertificate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateCertificate_Errors"></a>

 ** CertificateStateException **   
The certificate operation is not allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 406

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateCertificate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateCertificate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateCertificate) 

# UpdateCertificateProvider
<a name="API_UpdateCertificateProvider"></a>

Updates a certificate provider.

Requires permission to access the [UpdateCertificateProvider](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action. 

## Request Syntax
<a name="API_UpdateCertificateProvider_RequestSyntax"></a>

```
PUT /certificate-providers/certificateProviderName HTTP/1.1
Content-type: application/json

{
   "accountDefaultForOperations": [ "string" ],
   "lambdaFunctionArn": "string"
}
```

## URI Request Parameters
<a name="API_UpdateCertificateProvider_RequestParameters"></a>

The request uses the following URI parameters.

 ** [certificateProviderName](#API_UpdateCertificateProvider_RequestSyntax) **   <a name="iot-UpdateCertificateProvider-request-uri-certificateProviderName"></a>
The name of the certificate provider.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_UpdateCertificateProvider_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [accountDefaultForOperations](#API_UpdateCertificateProvider_RequestSyntax) **   <a name="iot-UpdateCertificateProvider-request-accountDefaultForOperations"></a>
A list of the operations that the certificate provider will use to generate certificates. Valid value: `CreateCertificateFromCsr`.  
Type: Array of strings  
Array Members: Fixed number of 1 item.  
Valid Values: `CreateCertificateFromCsr`   
Required: No

 ** [lambdaFunctionArn](#API_UpdateCertificateProvider_RequestSyntax) **   <a name="iot-UpdateCertificateProvider-request-lambdaFunctionArn"></a>
The Lambda function ARN that's associated with the certificate provider.  
Type: String  
Length Constraints: Maximum length of 2048.  
Pattern: `[\s\S]*`   
Required: No

## Response Syntax
<a name="API_UpdateCertificateProvider_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "certificateProviderArn": "string",
   "certificateProviderName": "string"
}
```

## Response Elements
<a name="API_UpdateCertificateProvider_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [certificateProviderArn](#API_UpdateCertificateProvider_ResponseSyntax) **   <a name="iot-UpdateCertificateProvider-response-certificateProviderArn"></a>
The ARN of the certificate provider.  
Type: String  
Length Constraints: Maximum length of 2048.

 ** [certificateProviderName](#API_UpdateCertificateProvider_ResponseSyntax) **   <a name="iot-UpdateCertificateProvider-response-certificateProviderName"></a>
The name of the certificate provider.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

## Errors
<a name="API_UpdateCertificateProvider_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateCertificateProvider_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateCertificateProvider) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateCertificateProvider) 

# UpdateCommand
<a name="API_UpdateCommand"></a>

Update information about a command or mark a command for deprecation.

## Request Syntax
<a name="API_UpdateCommand_RequestSyntax"></a>

```
PATCH /commands/commandId HTTP/1.1
Content-type: application/json

{
   "deprecated": boolean,
   "description": "string",
   "displayName": "string"
}
```

## URI Request Parameters
<a name="API_UpdateCommand_RequestParameters"></a>

The request uses the following URI parameters.

 ** [commandId](#API_UpdateCommand_RequestSyntax) **   <a name="iot-UpdateCommand-request-uri-commandId"></a>
The unique identifier of the command to be updated.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateCommand_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [deprecated](#API_UpdateCommand_RequestSyntax) **   <a name="iot-UpdateCommand-request-deprecated"></a>
A boolean that you can use to specify whether to deprecate a command.  
Type: Boolean  
Required: No

 ** [description](#API_UpdateCommand_RequestSyntax) **   <a name="iot-UpdateCommand-request-description"></a>
A short text description of the command.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]*`   
Required: No

 ** [displayName](#API_UpdateCommand_RequestSyntax) **   <a name="iot-UpdateCommand-request-displayName"></a>
The new user-friendly name to use in the console for the command.  
Type: String  
Length Constraints: Maximum length of 64.  
Pattern: `[^\p{C}]*`   
Required: No

## Response Syntax
<a name="API_UpdateCommand_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "commandId": "string",
   "deprecated": boolean,
   "description": "string",
   "displayName": "string",
   "lastUpdatedAt": number
}
```

## Response Elements
<a name="API_UpdateCommand_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [commandId](#API_UpdateCommand_ResponseSyntax) **   <a name="iot-UpdateCommand-response-commandId"></a>
The unique identifier of the command.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [deprecated](#API_UpdateCommand_ResponseSyntax) **   <a name="iot-UpdateCommand-response-deprecated"></a>
The boolean that indicates whether the command was deprecated.  
Type: Boolean

 ** [description](#API_UpdateCommand_ResponseSyntax) **   <a name="iot-UpdateCommand-response-description"></a>
The updated text description of the command.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]*` 

 ** [displayName](#API_UpdateCommand_ResponseSyntax) **   <a name="iot-UpdateCommand-response-displayName"></a>
The updated user-friendly display name in the console for the command.  
Type: String  
Length Constraints: Maximum length of 64.  
Pattern: `[^\p{C}]*` 

 ** [lastUpdatedAt](#API_UpdateCommand_ResponseSyntax) **   <a name="iot-UpdateCommand-response-lastUpdatedAt"></a>
The date and time (epoch timestamp in seconds) when the command was last updated.  
Type: Timestamp

## Errors
<a name="API_UpdateCommand_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateCommand_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateCommand) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateCommand) 

# UpdateCustomMetric
<a name="API_UpdateCustomMetric"></a>

Updates a Device Defender detect custom metric. 

Requires permission to access the [UpdateCustomMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateCustomMetric_RequestSyntax"></a>

```
PATCH /custom-metric/metricName HTTP/1.1
Content-type: application/json

{
   "displayName": "string"
}
```

## URI Request Parameters
<a name="API_UpdateCustomMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_UpdateCustomMetric_RequestSyntax) **   <a name="iot-UpdateCustomMetric-request-uri-metricName"></a>
 The name of the custom metric. Cannot be updated.   
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateCustomMetric_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [displayName](#API_UpdateCustomMetric_RequestSyntax) **   <a name="iot-UpdateCustomMetric-request-displayName"></a>
 Field represents a friendly name in the console for the custom metric, it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated.   
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\p{Graph}\x20]*`   
Required: Yes

## Response Syntax
<a name="API_UpdateCustomMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "creationDate": number,
   "displayName": "string",
   "lastModifiedDate": number,
   "metricArn": "string",
   "metricName": "string",
   "metricType": "string"
}
```

## Response Elements
<a name="API_UpdateCustomMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [creationDate](#API_UpdateCustomMetric_ResponseSyntax) **   <a name="iot-UpdateCustomMetric-response-creationDate"></a>
 The creation date of the custom metric in milliseconds since epoch.   
Type: Timestamp

 ** [displayName](#API_UpdateCustomMetric_ResponseSyntax) **   <a name="iot-UpdateCustomMetric-response-displayName"></a>
 A friendly name in the console for the custom metric   
Type: String  
Length Constraints: Maximum length of 128.  
Pattern: `[\p{Graph}\x20]*` 

 ** [lastModifiedDate](#API_UpdateCustomMetric_ResponseSyntax) **   <a name="iot-UpdateCustomMetric-response-lastModifiedDate"></a>
 The time the custom metric was last modified in milliseconds since epoch.   
Type: Timestamp

 ** [metricArn](#API_UpdateCustomMetric_ResponseSyntax) **   <a name="iot-UpdateCustomMetric-response-metricArn"></a>
 The Amazon Resource Number (ARN) of the custom metric.   
Type: String

 ** [metricName](#API_UpdateCustomMetric_ResponseSyntax) **   <a name="iot-UpdateCustomMetric-response-metricName"></a>
 The name of the custom metric.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [metricType](#API_UpdateCustomMetric_ResponseSyntax) **   <a name="iot-UpdateCustomMetric-response-metricType"></a>
 The type of the custom metric.   
The type `number` only takes a single metric value as an input, but while submitting the metrics value in the DeviceMetrics report, it must be passed as an array with a single value.
Type: String  
Valid Values: `string-list | ip-address-list | number-list | number` 

## Errors
<a name="API_UpdateCustomMetric_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateCustomMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateCustomMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateCustomMetric) 

# UpdateDimension
<a name="API_UpdateDimension"></a>

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and recreate it).

Requires permission to access the [UpdateDimension](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateDimension_RequestSyntax"></a>

```
PATCH /dimensions/name HTTP/1.1
Content-type: application/json

{
   "stringValues": [ "string" ]
}
```

## URI Request Parameters
<a name="API_UpdateDimension_RequestParameters"></a>

The request uses the following URI parameters.

 ** [name](#API_UpdateDimension_RequestSyntax) **   <a name="iot-UpdateDimension-request-uri-name"></a>
A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateDimension_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [stringValues](#API_UpdateDimension_RequestSyntax) **   <a name="iot-UpdateDimension-request-stringValues"></a>
Specifies the value or list of values for the dimension. For `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT topic (for example, "admin/\$1").  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

## Response Syntax
<a name="API_UpdateDimension_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "arn": "string",
   "creationDate": number,
   "lastModifiedDate": number,
   "name": "string",
   "stringValues": [ "string" ],
   "type": "string"
}
```

## Response Elements
<a name="API_UpdateDimension_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [arn](#API_UpdateDimension_ResponseSyntax) **   <a name="iot-UpdateDimension-response-arn"></a>
The Amazon Resource Name (ARN)of the created dimension.  
Type: String

 ** [creationDate](#API_UpdateDimension_ResponseSyntax) **   <a name="iot-UpdateDimension-response-creationDate"></a>
The date and time, in milliseconds since epoch, when the dimension was initially created.  
Type: Timestamp

 ** [lastModifiedDate](#API_UpdateDimension_ResponseSyntax) **   <a name="iot-UpdateDimension-response-lastModifiedDate"></a>
The date and time, in milliseconds since epoch, when the dimension was most recently updated.  
Type: Timestamp

 ** [name](#API_UpdateDimension_ResponseSyntax) **   <a name="iot-UpdateDimension-response-name"></a>
A unique identifier for the dimension.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [stringValues](#API_UpdateDimension_ResponseSyntax) **   <a name="iot-UpdateDimension-response-stringValues"></a>
The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Length Constraints: Minimum length of 1. Maximum length of 256.

 ** [type](#API_UpdateDimension_ResponseSyntax) **   <a name="iot-UpdateDimension-response-type"></a>
The type of the dimension.  
Type: String  
Valid Values: `TOPIC_FILTER` 

## Errors
<a name="API_UpdateDimension_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateDimension_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateDimension) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateDimension) 

# UpdateDomainConfiguration
<a name="API_UpdateDomainConfiguration"></a>

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

Requires permission to access the [UpdateDomainConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateDomainConfiguration_RequestSyntax"></a>

```
PUT /domainConfigurations/domainConfigurationName HTTP/1.1
Content-type: application/json

{
   "applicationProtocol": "string",
   "authenticationType": "string",
   "authorizerConfig": { 
      "allowAuthorizerOverride": boolean,
      "defaultAuthorizerName": "string"
   },
   "clientCertificateConfig": { 
      "clientCertificateCallbackArn": "string"
   },
   "domainConfigurationStatus": "string",
   "removeAuthorizerConfig": boolean,
   "serverCertificateConfig": { 
      "enableOCSPCheck": boolean,
      "ocspAuthorizedResponderArn": "string",
      "ocspLambdaArn": "string"
   },
   "tlsConfig": { 
      "securityPolicy": "string"
   }
}
```

## URI Request Parameters
<a name="API_UpdateDomainConfiguration_RequestParameters"></a>

The request uses the following URI parameters.

 ** [domainConfigurationName](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-uri-domainConfigurationName"></a>
The name of the domain configuration to be updated.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.:-]+`   
Required: Yes

## Request Body
<a name="API_UpdateDomainConfiguration_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [applicationProtocol](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-applicationProtocol"></a>
An enumerated string that speciﬁes the application-layer protocol.  
+  `SECURE_MQTT` - MQTT over TLS.
+  `MQTT_WSS` - MQTT over WebSocket.
+  `HTTPS` - HTTP over TLS.
+  `DEFAULT` - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application\$1layer protocol. For more information, see [Device communication protocols](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).
Type: String  
Valid Values: `SECURE_MQTT | MQTT_WSS | HTTPS | DEFAULT`   
Required: No

 ** [authenticationType](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-authenticationType"></a>
An enumerated string that speciﬁes the authentication type.  
+  `CUSTOM_AUTH_X509` - Use custom authentication and authorization with additional details from the X.509 client certificate.
+  `CUSTOM_AUTH` - Use custom authentication and authorization. For more information, see [Custom authentication and authorization](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html).
+  `AWS_X509` - Use X.509 client certificates without custom authentication and authorization. For more information, see [X.509 client certificates](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html).
+  `AWS_SIGV4` - Use AWS Signature Version 4. For more information, see [IAM users, groups, and roles](https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html).
+  `DEFAULT ` - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see [Device communication protocols](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html).
Type: String  
Valid Values: `CUSTOM_AUTH_X509 | CUSTOM_AUTH | AWS_X509 | AWS_SIGV4 | DEFAULT`   
Required: No

 ** [authorizerConfig](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-authorizerConfig"></a>
An object that specifies the authorization service for a domain.  
Type: [AuthorizerConfig](API_AuthorizerConfig.md) object  
Required: No

 ** [clientCertificateConfig](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-clientCertificateConfig"></a>
An object that speciﬁes the client certificate conﬁguration for a domain.  
Type: [ClientCertificateConfig](API_ClientCertificateConfig.md) object  
Required: No

 ** [domainConfigurationStatus](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-domainConfigurationStatus"></a>
The status to which the domain configuration should be updated.  
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: No

 ** [removeAuthorizerConfig](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-removeAuthorizerConfig"></a>
Removes the authorization configuration from a domain.  
Type: Boolean  
Required: No

 ** [serverCertificateConfig](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-serverCertificateConfig"></a>
The server certificate configuration.  
Type: [ServerCertificateConfig](API_ServerCertificateConfig.md) object  
Required: No

 ** [tlsConfig](#API_UpdateDomainConfiguration_RequestSyntax) **   <a name="iot-UpdateDomainConfiguration-request-tlsConfig"></a>
An object that specifies the TLS configuration for a domain.  
Type: [TlsConfig](API_TlsConfig.md) object  
Required: No

## Response Syntax
<a name="API_UpdateDomainConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "domainConfigurationArn": "string",
   "domainConfigurationName": "string"
}
```

## Response Elements
<a name="API_UpdateDomainConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [domainConfigurationArn](#API_UpdateDomainConfiguration_ResponseSyntax) **   <a name="iot-UpdateDomainConfiguration-response-domainConfigurationArn"></a>
The ARN of the domain configuration that was updated.  
Type: String

 ** [domainConfigurationName](#API_UpdateDomainConfiguration_ResponseSyntax) **   <a name="iot-UpdateDomainConfiguration-response-domainConfigurationName"></a>
The name of the domain configuration that was updated.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w.:-]+` 

## Errors
<a name="API_UpdateDomainConfiguration_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateDomainConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateDomainConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateDomainConfiguration) 

# UpdateDynamicThingGroup
<a name="API_UpdateDynamicThingGroup"></a>

Updates a dynamic thing group.

Requires permission to access the [UpdateDynamicThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateDynamicThingGroup_RequestSyntax"></a>

```
PATCH /dynamic-thing-groups/thingGroupName HTTP/1.1
Content-type: application/json

{
   "expectedVersion": number,
   "indexName": "string",
   "queryString": "string",
   "queryVersion": "string",
   "thingGroupProperties": { 
      "attributePayload": { 
         "attributes": { 
            "string" : "string" 
         },
         "merge": boolean
      },
      "thingGroupDescription": "string"
   }
}
```

## URI Request Parameters
<a name="API_UpdateDynamicThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingGroupName](#API_UpdateDynamicThingGroup_RequestSyntax) **   <a name="iot-UpdateDynamicThingGroup-request-uri-thingGroupName"></a>
The name of the dynamic thing group to update.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateDynamicThingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [expectedVersion](#API_UpdateDynamicThingGroup_RequestSyntax) **   <a name="iot-UpdateDynamicThingGroup-request-expectedVersion"></a>
The expected version of the dynamic thing group to update.  
Type: Long  
Required: No

 ** [indexName](#API_UpdateDynamicThingGroup_RequestSyntax) **   <a name="iot-UpdateDynamicThingGroup-request-indexName"></a>
The dynamic thing group index to update.  
Currently one index is supported: `AWS_Things`.
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [queryString](#API_UpdateDynamicThingGroup_RequestSyntax) **   <a name="iot-UpdateDynamicThingGroup-request-queryString"></a>
The dynamic thing group search query string to update.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: No

 ** [queryVersion](#API_UpdateDynamicThingGroup_RequestSyntax) **   <a name="iot-UpdateDynamicThingGroup-request-queryVersion"></a>
The dynamic thing group query version to update.  
Currently one query version is supported: "2017-09-30". If not specified, the query version defaults to this value.
Type: String  
Required: No

 ** [thingGroupProperties](#API_UpdateDynamicThingGroup_RequestSyntax) **   <a name="iot-UpdateDynamicThingGroup-request-thingGroupProperties"></a>
The dynamic thing group properties to update.  
Type: [ThingGroupProperties](API_ThingGroupProperties.md) object  
Required: Yes

## Response Syntax
<a name="API_UpdateDynamicThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "version": number
}
```

## Response Elements
<a name="API_UpdateDynamicThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [version](#API_UpdateDynamicThingGroup_ResponseSyntax) **   <a name="iot-UpdateDynamicThingGroup-response-version"></a>
The dynamic thing group version.  
Type: Long

## Errors
<a name="API_UpdateDynamicThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_UpdateDynamicThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateDynamicThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateDynamicThingGroup) 

# UpdateEncryptionConfiguration
<a name="API_UpdateEncryptionConfiguration"></a>

Updates the encryption configuration. By default, AWS IoT Core encrypts your data at rest using AWS owned keys. AWS IoT Core also supports symmetric customer managed keys from AWS Key Management Service (AWS KMS). With customer managed keys, you create, own, and manage the KMS keys in your AWS account. 

Before using this API, you must set up permissions for AWS IoT Core to access AWS KMS. For more information, see [Data encryption at rest](https://docs.aws.amazon.com/iot/latest/developerguide/encryption-at-rest.html) in the * AWS IoT Core Developer Guide*.

## Request Syntax
<a name="API_UpdateEncryptionConfiguration_RequestSyntax"></a>

```
PATCH /encryption-configuration HTTP/1.1
Content-type: application/json

{
   "encryptionType": "string",
   "kmsAccessRoleArn": "string",
   "kmsKeyArn": "string"
}
```

## URI Request Parameters
<a name="API_UpdateEncryptionConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateEncryptionConfiguration_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [encryptionType](#API_UpdateEncryptionConfiguration_RequestSyntax) **   <a name="iot-UpdateEncryptionConfiguration-request-encryptionType"></a>
The type of the KMS key.  
Type: String  
Valid Values: `CUSTOMER_MANAGED_KMS_KEY | AWS_OWNED_KMS_KEY`   
Required: Yes

 ** [kmsAccessRoleArn](#API_UpdateEncryptionConfiguration_RequestSyntax) **   <a name="iot-UpdateEncryptionConfiguration-request-kmsAccessRoleArn"></a>
The Amazon Resource Name (ARN) of the IAM role assumed by AWS IoT Core to call AWS KMS on behalf of the customer.  
Type: String  
Length Constraints: Maximum length of 2048.  
Required: No

 ** [kmsKeyArn](#API_UpdateEncryptionConfiguration_RequestSyntax) **   <a name="iot-UpdateEncryptionConfiguration-request-kmsKeyArn"></a>
The ARN of the customer managedKMS key.  
Type: String  
Length Constraints: Maximum length of 2048.  
Required: No

## Response Syntax
<a name="API_UpdateEncryptionConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateEncryptionConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateEncryptionConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateEncryptionConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateEncryptionConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateEncryptionConfiguration) 

# UpdateEventConfigurations
<a name="API_UpdateEventConfigurations"></a>

Updates the event configurations.

Requires permission to access the [UpdateEventConfigurations](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateEventConfigurations_RequestSyntax"></a>

```
PATCH /event-configurations HTTP/1.1
Content-type: application/json

{
   "eventConfigurations": { 
      "string" : { 
         "Enabled": boolean
      }
   }
}
```

## URI Request Parameters
<a name="API_UpdateEventConfigurations_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateEventConfigurations_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [eventConfigurations](#API_UpdateEventConfigurations_RequestSyntax) **   <a name="iot-UpdateEventConfigurations-request-eventConfigurations"></a>
The new event configuration values.  
Type: String to [Configuration](API_Configuration.md) object map  
Valid Keys: `THING | THING_GROUP | THING_TYPE | THING_GROUP_MEMBERSHIP | THING_GROUP_HIERARCHY | THING_TYPE_ASSOCIATION | JOB | JOB_EXECUTION | POLICY | CERTIFICATE | CA_CERTIFICATE`   
Required: No

## Response Syntax
<a name="API_UpdateEventConfigurations_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateEventConfigurations_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateEventConfigurations_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateEventConfigurations_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateEventConfigurations) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateEventConfigurations) 

# UpdateFleetMetric
<a name="API_UpdateFleetMetric"></a>

Updates the data for a fleet metric.

Requires permission to access the [UpdateFleetMetric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateFleetMetric_RequestSyntax"></a>

```
PATCH /fleet-metric/metricName HTTP/1.1
Content-type: application/json

{
   "aggregationField": "string",
   "aggregationType": { 
      "name": "string",
      "values": [ "string" ]
   },
   "description": "string",
   "expectedVersion": number,
   "indexName": "string",
   "period": number,
   "queryString": "string",
   "queryVersion": "string",
   "unit": "string"
}
```

## URI Request Parameters
<a name="API_UpdateFleetMetric_RequestParameters"></a>

The request uses the following URI parameters.

 ** [metricName](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-uri-metricName"></a>
The name of the fleet metric to update.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_\-\.]+`   
Required: Yes

## Request Body
<a name="API_UpdateFleetMetric_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [aggregationField](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-aggregationField"></a>
The field to aggregate.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: No

 ** [aggregationType](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-aggregationType"></a>
The type of the aggregation query.  
Type: [AggregationType](API_AggregationType.md) object  
Required: No

 ** [description](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-description"></a>
The description of the fleet metric.  
Type: String  
Length Constraints: Maximum length of 1024.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

 ** [expectedVersion](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-expectedVersion"></a>
The expected version of the fleet metric record in the registry.  
Type: Long  
Required: No

 ** [indexName](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-indexName"></a>
The name of the index to search.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

 ** [period](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-period"></a>
The time in seconds between fleet metric emissions. Range [60(1 min), 86400(1 day)] and must be multiple of 60.  
Type: Integer  
Valid Range: Minimum value of 60. Maximum value of 86400.  
Required: No

 ** [queryString](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-queryString"></a>
The search query string.  
Type: String  
Length Constraints: Minimum length of 1.  
Required: No

 ** [queryVersion](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-queryVersion"></a>
The version of the query.  
Type: String  
Required: No

 ** [unit](#API_UpdateFleetMetric_RequestSyntax) **   <a name="iot-UpdateFleetMetric-request-unit"></a>
Used to support unit transformation such as milliseconds to seconds. The unit must be supported by [CW metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).  
Type: String  
Valid Values: `Seconds | Microseconds | Milliseconds | Bytes | Kilobytes | Megabytes | Gigabytes | Terabytes | Bits | Kilobits | Megabits | Gigabits | Terabits | Percent | Count | Bytes/Second | Kilobytes/Second | Megabytes/Second | Gigabytes/Second | Terabytes/Second | Bits/Second | Kilobits/Second | Megabits/Second | Gigabits/Second | Terabits/Second | Count/Second | None`   
Required: No

## Response Syntax
<a name="API_UpdateFleetMetric_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateFleetMetric_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateFleetMetric_Errors"></a>

 ** IndexNotReadyException **   
The index is not ready.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidAggregationException **   
The aggregation is invalid.  
HTTP Status Code: 400

 ** InvalidQueryException **   
The query is invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_UpdateFleetMetric_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateFleetMetric) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateFleetMetric) 

# UpdateIndexingConfiguration
<a name="API_UpdateIndexingConfiguration"></a>

Updates the search configuration.

Requires permission to access the [UpdateIndexingConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateIndexingConfiguration_RequestSyntax"></a>

```
POST /indexing/config HTTP/1.1
Content-type: application/json

{
   "thingGroupIndexingConfiguration": { 
      "customFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "managedFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "thingGroupIndexingMode": "string"
   },
   "thingIndexingConfiguration": { 
      "customFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "deviceDefenderIndexingMode": "string",
      "filter": { 
         "geoLocations": [ 
            { 
               "name": "string",
               "order": "string"
            }
         ],
         "namedShadowNames": [ "string" ]
      },
      "managedFields": [ 
         { 
            "name": "string",
            "type": "string"
         }
      ],
      "namedShadowIndexingMode": "string",
      "thingConnectivityIndexingMode": "string",
      "thingIndexingMode": "string"
   }
}
```

## URI Request Parameters
<a name="API_UpdateIndexingConfiguration_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateIndexingConfiguration_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [thingGroupIndexingConfiguration](#API_UpdateIndexingConfiguration_RequestSyntax) **   <a name="iot-UpdateIndexingConfiguration-request-thingGroupIndexingConfiguration"></a>
Thing group indexing configuration.  
Type: [ThingGroupIndexingConfiguration](API_ThingGroupIndexingConfiguration.md) object  
Required: No

 ** [thingIndexingConfiguration](#API_UpdateIndexingConfiguration_RequestSyntax) **   <a name="iot-UpdateIndexingConfiguration-request-thingIndexingConfiguration"></a>
Thing indexing configuration.  
Type: [ThingIndexingConfiguration](API_ThingIndexingConfiguration.md) object  
Required: No

## Response Syntax
<a name="API_UpdateIndexingConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateIndexingConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateIndexingConfiguration_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateIndexingConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateIndexingConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateIndexingConfiguration) 

# UpdateJob
<a name="API_UpdateJob"></a>

Updates supported fields of the specified job.

Requires permission to access the [UpdateJob](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateJob_RequestSyntax"></a>

```
PATCH /jobs/jobId?namespaceId=namespaceId HTTP/1.1
Content-type: application/json

{
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "string",
            "failureType": "string",
            "minNumberOfExecutedThings": number,
            "thresholdPercentage": number
         }
      ]
   },
   "description": "string",
   "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
   },
   "jobExecutionsRolloutConfig": { 
      "exponentialRate": { 
         "baseRatePerMinute": number,
         "incrementFactor": number,
         "rateIncreaseCriteria": { 
            "numberOfNotifiedThings": number,
            "numberOfSucceededThings": number
         }
      },
      "maximumPerMinute": number
   },
   "presignedUrlConfig": { 
      "expiresInSec": number,
      "roleArn": "string"
   },
   "timeoutConfig": { 
      "inProgressTimeoutInMinutes": number
   }
}
```

## URI Request Parameters
<a name="API_UpdateJob_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobId](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-uri-jobId"></a>
The ID of the job to be updated.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [namespaceId](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-uri-namespaceId"></a>
The namespace used to indicate that a job is a customer-managed job.  
When you specify a value for this parameter, AWS IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.  
 `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`   
The `namespaceId` feature is only supported by AWS IoT Greengrass at this time. For more information, see [Setting up AWS IoT Greengrass core devices.](https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html) 
Pattern: `[a-zA-Z0-9_-]+` 

## Request Body
<a name="API_UpdateJob_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [abortConfig](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-abortConfig"></a>
Allows you to create criteria to abort a job.  
Type: [AbortConfig](API_AbortConfig.md) object  
Required: No

 ** [description](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-description"></a>
A short text description of the job.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [jobExecutionsRetryConfig](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-jobExecutionsRetryConfig"></a>
Allows you to create the criteria to retry a job.  
Type: [JobExecutionsRetryConfig](API_JobExecutionsRetryConfig.md) object  
Required: No

 ** [jobExecutionsRolloutConfig](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-jobExecutionsRolloutConfig"></a>
Allows you to create a staged rollout of the job.  
Type: [JobExecutionsRolloutConfig](API_JobExecutionsRolloutConfig.md) object  
Required: No

 ** [presignedUrlConfig](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-presignedUrlConfig"></a>
Configuration information for pre-signed S3 URLs.  
Type: [PresignedUrlConfig](API_PresignedUrlConfig.md) object  
Required: No

 ** [timeoutConfig](#API_UpdateJob_RequestSyntax) **   <a name="iot-UpdateJob-request-timeoutConfig"></a>
Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to `IN_PROGRESS`. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to `TIMED_OUT`.   
Type: [TimeoutConfig](API_TimeoutConfig.md) object  
Required: No

## Response Syntax
<a name="API_UpdateJob_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateJob_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateJob_Errors"></a>

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateJob_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateJob) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateJob) 

# UpdateMitigationAction
<a name="API_UpdateMitigationAction"></a>

Updates the definition for the specified mitigation action.

Requires permission to access the [UpdateMitigationAction](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateMitigationAction_RequestSyntax"></a>

```
PATCH /mitigationactions/actions/actionName HTTP/1.1
Content-type: application/json

{
   "actionParams": { 
      "addThingsToThingGroupParams": { 
         "overrideDynamicGroups": boolean,
         "thingGroupNames": [ "string" ]
      },
      "enableIoTLoggingParams": { 
         "logLevel": "string",
         "roleArnForLogging": "string"
      },
      "publishFindingToSnsParams": { 
         "topicArn": "string"
      },
      "replaceDefaultPolicyVersionParams": { 
         "templateName": "string"
      },
      "updateCACertificateParams": { 
         "action": "string"
      },
      "updateDeviceCertificateParams": { 
         "action": "string"
      }
   },
   "roleArn": "string"
}
```

## URI Request Parameters
<a name="API_UpdateMitigationAction_RequestParameters"></a>

The request uses the following URI parameters.

 ** [actionName](#API_UpdateMitigationAction_RequestSyntax) **   <a name="iot-UpdateMitigationAction-request-uri-actionName"></a>
The friendly name for the mitigation action. You cannot change the name by using `UpdateMitigationAction`. Instead, you must delete and recreate the mitigation action with the new name.  
Length Constraints: Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateMitigationAction_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [actionParams](#API_UpdateMitigationAction_RequestSyntax) **   <a name="iot-UpdateMitigationAction-request-actionParams"></a>
Defines the type of action and the parameters for that action.  
Type: [MitigationActionParams](API_MitigationActionParams.md) object  
Required: No

 ** [roleArn](#API_UpdateMitigationAction_RequestSyntax) **   <a name="iot-UpdateMitigationAction-request-roleArn"></a>
The ARN of the IAM role that is used to apply the mitigation action.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: No

## Response Syntax
<a name="API_UpdateMitigationAction_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "actionArn": "string",
   "actionId": "string"
}
```

## Response Elements
<a name="API_UpdateMitigationAction_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [actionArn](#API_UpdateMitigationAction_ResponseSyntax) **   <a name="iot-UpdateMitigationAction-response-actionArn"></a>
The ARN for the new mitigation action.  
Type: String

 ** [actionId](#API_UpdateMitigationAction_ResponseSyntax) **   <a name="iot-UpdateMitigationAction-response-actionId"></a>
A unique identifier for the mitigation action.  
Type: String

## Errors
<a name="API_UpdateMitigationAction_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateMitigationAction_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateMitigationAction) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateMitigationAction) 

# UpdatePackage
<a name="API_UpdatePackage"></a>

Updates the supported fields for a specific software package.

Requires permission to access the [UpdatePackage](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) and [GetIndexingConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) actions.

## Request Syntax
<a name="API_UpdatePackage_RequestSyntax"></a>

```
PATCH /packages/packageName?clientToken=clientToken HTTP/1.1
Content-type: application/json

{
   "defaultVersionName": "string",
   "description": "string",
   "unsetDefaultVersion": boolean
}
```

## URI Request Parameters
<a name="API_UpdatePackage_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_UpdatePackage_RequestSyntax) **   <a name="iot-UpdatePackage-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_UpdatePackage_RequestSyntax) **   <a name="iot-UpdatePackage-request-uri-packageName"></a>
The name of the target software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_UpdatePackage_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [defaultVersionName](#API_UpdatePackage_RequestSyntax) **   <a name="iot-UpdatePackage-request-defaultVersionName"></a>
The name of the default package version.  
 **Note:** You cannot name a `defaultVersion` and set `unsetDefaultVersion` equal to `true` at the same time.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: No

 ** [description](#API_UpdatePackage_RequestSyntax) **   <a name="iot-UpdatePackage-request-description"></a>
The package description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [unsetDefaultVersion](#API_UpdatePackage_RequestSyntax) **   <a name="iot-UpdatePackage-request-unsetDefaultVersion"></a>
Indicates whether you want to remove the named default package version from the software package. Set as `true` to remove the default package version.   
 **Note:** You cannot name a `defaultVersion` and set `unsetDefaultVersion` equal to `true` at the same time.  
Type: Boolean  
Required: No

## Response Syntax
<a name="API_UpdatePackage_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdatePackage_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdatePackage_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_UpdatePackage_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdatePackage) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdatePackage) 

# UpdatePackageConfiguration
<a name="API_UpdatePackageConfiguration"></a>

Updates the software package configuration.

Requires permission to access the [UpdatePackageConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) and [iam:PassRole](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) actions.

## Request Syntax
<a name="API_UpdatePackageConfiguration_RequestSyntax"></a>

```
PATCH /package-configuration?clientToken=clientToken HTTP/1.1
Content-type: application/json

{
   "versionUpdateByJobsConfig": { 
      "enabled": boolean,
      "roleArn": "string"
   }
}
```

## URI Request Parameters
<a name="API_UpdatePackageConfiguration_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_UpdatePackageConfiguration_RequestSyntax) **   <a name="iot-UpdatePackageConfiguration-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

## Request Body
<a name="API_UpdatePackageConfiguration_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [versionUpdateByJobsConfig](#API_UpdatePackageConfiguration_RequestSyntax) **   <a name="iot-UpdatePackageConfiguration-request-versionUpdateByJobsConfig"></a>
Configuration to manage job's package version reporting. This updates the thing's reserved named shadow that the job targets.  
Type: [VersionUpdateByJobsConfig](API_VersionUpdateByJobsConfig.md) object  
Required: No

## Response Syntax
<a name="API_UpdatePackageConfiguration_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdatePackageConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdatePackageConfiguration_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_UpdatePackageConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdatePackageConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdatePackageConfiguration) 

# UpdatePackageVersion
<a name="API_UpdatePackageVersion"></a>

Updates the supported fields for a specific package version.

Requires permission to access the [UpdatePackageVersion](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) and [GetIndexingConfiguration](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) actions.

## Request Syntax
<a name="API_UpdatePackageVersion_RequestSyntax"></a>

```
PATCH /packages/packageName/versions/versionName?clientToken=clientToken HTTP/1.1
Content-type: application/json

{
   "action": "string",
   "artifact": { 
      "s3Location": { 
         "bucket": "string",
         "key": "string",
         "version": "string"
      }
   },
   "attributes": { 
      "string" : "string" 
   },
   "description": "string",
   "recipe": "string"
}
```

## URI Request Parameters
<a name="API_UpdatePackageVersion_RequestParameters"></a>

The request uses the following URI parameters.

 ** [clientToken](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-uri-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Length Constraints: Minimum length of 36. Maximum length of 64.  
Pattern: `\S{36,64}` 

 ** [packageName](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-uri-packageName"></a>
The name of the associated software package.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

 ** [versionName](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-uri-versionName"></a>
The name of the target package version.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_.]+`   
Required: Yes

## Request Body
<a name="API_UpdatePackageVersion_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [action](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-action"></a>
The status that the package version should be assigned. For more information, see [Package version lifecycle](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle).  
Type: String  
Valid Values: `PUBLISH | DEPRECATE`   
Required: No

 ** [artifact](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-artifact"></a>
The various components that make up a software package version.  
Type: [PackageVersionArtifact](API_PackageVersionArtifact.md) object  
Required: No

 ** [attributes](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-attributes"></a>
Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.   
 **Note:** Attributes can be updated only when the package version is in a draft state.  
The combined size of all the attributes on a package version is limited to 3KB.  
Type: String to string map  
Key Length Constraints: Minimum length of 1.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+`   
Required: No

 ** [description](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-description"></a>
The package version description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [recipe](#API_UpdatePackageVersion_RequestSyntax) **   <a name="iot-UpdatePackageVersion-request-recipe"></a>
The inline job document associated with a software package version used for a quick job deployment.  
Type: String  
Length Constraints: Maximum length of 3072.  
Required: No

## Response Syntax
<a name="API_UpdatePackageVersion_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdatePackageVersion_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdatePackageVersion_Errors"></a>

 ** ConflictException **   
The request conflicts with the current state of the resource.    
 ** resourceId **   
A resource with the same name already exists.
HTTP Status Code: 409

 ** InternalServerException **   
Internal error from the service that indicates an unexpected error or that the service is unavailable.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ValidationException **   
The request is not valid.  
HTTP Status Code: 400

## See Also
<a name="API_UpdatePackageVersion_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdatePackageVersion) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdatePackageVersion) 

# UpdateProvisioningTemplate
<a name="API_UpdateProvisioningTemplate"></a>

Updates a provisioning template.

Requires permission to access the [UpdateProvisioningTemplate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateProvisioningTemplate_RequestSyntax"></a>

```
PATCH /provisioning-templates/templateName HTTP/1.1
Content-type: application/json

{
   "defaultVersionId": number,
   "description": "string",
   "enabled": boolean,
   "preProvisioningHook": { 
      "payloadVersion": "string",
      "targetArn": "string"
   },
   "provisioningRoleArn": "string",
   "removePreProvisioningHook": boolean
}
```

## URI Request Parameters
<a name="API_UpdateProvisioningTemplate_RequestParameters"></a>

The request uses the following URI parameters.

 ** [templateName](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-uri-templateName"></a>
The name of the provisioning template.  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9A-Za-z_-]+$`   
Required: Yes

## Request Body
<a name="API_UpdateProvisioningTemplate_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [defaultVersionId](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-defaultVersionId"></a>
The ID of the default provisioning template version.  
Type: Integer  
Required: No

 ** [description](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-description"></a>
The description of the provisioning template.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[^\p{C}]*`   
Required: No

 ** [enabled](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-enabled"></a>
True to enable the provisioning template, otherwise false.  
Type: Boolean  
Required: No

 ** [preProvisioningHook](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-preProvisioningHook"></a>
Updates the pre-provisioning hook template. Only supports template of type `FLEET_PROVISIONING`. For more information about provisioning template types, see [type](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateProvisioningTemplate.html#iot-CreateProvisioningTemplate-request-type).  
Type: [ProvisioningHook](API_ProvisioningHook.md) object  
Required: No

 ** [provisioningRoleArn](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-provisioningRoleArn"></a>
The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: No

 ** [removePreProvisioningHook](#API_UpdateProvisioningTemplate_RequestSyntax) **   <a name="iot-UpdateProvisioningTemplate-request-removePreProvisioningHook"></a>
Removes pre-provisioning hook template.  
Type: Boolean  
Required: No

## Response Syntax
<a name="API_UpdateProvisioningTemplate_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateProvisioningTemplate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateProvisioningTemplate_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateProvisioningTemplate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateProvisioningTemplate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateProvisioningTemplate) 

# UpdateRoleAlias
<a name="API_UpdateRoleAlias"></a>

Updates a role alias.

Requires permission to access the [UpdateRoleAlias](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Important**  
The value of [https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateRoleAlias.html#iot-UpdateRoleAlias-request-credentialDurationSeconds](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateRoleAlias.html#iot-UpdateRoleAlias-request-credentialDurationSeconds) must be less than or equal to the maximum session duration of the IAM role that the role alias references. For more information, see [ Modifying a role maximum session duration (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-api.html#roles-modify_max-session-duration-api) from the AWS Identity and Access Management User Guide.

## Request Syntax
<a name="API_UpdateRoleAlias_RequestSyntax"></a>

```
PUT /role-aliases/roleAlias HTTP/1.1
Content-type: application/json

{
   "credentialDurationSeconds": number,
   "roleArn": "string"
}
```

## URI Request Parameters
<a name="API_UpdateRoleAlias_RequestParameters"></a>

The request uses the following URI parameters.

 ** [roleAlias](#API_UpdateRoleAlias_RequestSyntax) **   <a name="iot-UpdateRoleAlias-request-uri-roleAlias"></a>
The role alias to update.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+`   
Required: Yes

## Request Body
<a name="API_UpdateRoleAlias_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [credentialDurationSeconds](#API_UpdateRoleAlias_RequestSyntax) **   <a name="iot-UpdateRoleAlias-request-credentialDurationSeconds"></a>
The number of seconds the credential will be valid.  
This value must be less than or equal to the maximum session duration of the IAM role that the role alias references.  
Type: Integer  
Valid Range: Minimum value of 900. Maximum value of 43200.  
Required: No

 ** [roleArn](#API_UpdateRoleAlias_RequestSyntax) **   <a name="iot-UpdateRoleAlias-request-roleArn"></a>
The role ARN.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: No

## Response Syntax
<a name="API_UpdateRoleAlias_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "roleAlias": "string",
   "roleAliasArn": "string"
}
```

## Response Elements
<a name="API_UpdateRoleAlias_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [roleAlias](#API_UpdateRoleAlias_ResponseSyntax) **   <a name="iot-UpdateRoleAlias-response-roleAlias"></a>
The role alias.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w=,@-]+` 

 ** [roleAliasArn](#API_UpdateRoleAlias_ResponseSyntax) **   <a name="iot-UpdateRoleAlias-response-roleAliasArn"></a>
The role alias ARN.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.

## Errors
<a name="API_UpdateRoleAlias_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateRoleAlias_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateRoleAlias) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateRoleAlias) 

# UpdateScheduledAudit
<a name="API_UpdateScheduledAudit"></a>

Updates a scheduled audit, including which checks are performed and how often the audit takes place.

Requires permission to access the [UpdateScheduledAudit](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateScheduledAudit_RequestSyntax"></a>

```
PATCH /audit/scheduledaudits/scheduledAuditName HTTP/1.1
Content-type: application/json

{
   "dayOfMonth": "string",
   "dayOfWeek": "string",
   "frequency": "string",
   "targetCheckNames": [ "string" ]
}
```

## URI Request Parameters
<a name="API_UpdateScheduledAudit_RequestParameters"></a>

The request uses the following URI parameters.

 ** [scheduledAuditName](#API_UpdateScheduledAudit_RequestSyntax) **   <a name="iot-UpdateScheduledAudit-request-uri-scheduledAuditName"></a>
The name of the scheduled audit. (Max. 128 chars)  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateScheduledAudit_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [dayOfMonth](#API_UpdateScheduledAudit_RequestSyntax) **   <a name="iot-UpdateScheduledAudit-request-dayOfMonth"></a>
The day of the month on which the scheduled audit takes place. This can be `1` through `31` or `LAST`. This field is required if the `frequency` parameter is set to `MONTHLY`. If days 29-31 are specified, and the month does not have that many days, the audit takes place on the "LAST" day of the month.  
Type: String  
Pattern: `^([1-9]|[12][0-9]|3[01])$|^LAST$`   
Required: No

 ** [dayOfWeek](#API_UpdateScheduledAudit_RequestSyntax) **   <a name="iot-UpdateScheduledAudit-request-dayOfWeek"></a>
The day of the week on which the scheduled audit takes place. This can be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This field is required if the "frequency" parameter is set to `WEEKLY` or `BIWEEKLY`.  
Type: String  
Valid Values: `SUN | MON | TUE | WED | THU | FRI | SAT`   
Required: No

 ** [frequency](#API_UpdateScheduledAudit_RequestSyntax) **   <a name="iot-UpdateScheduledAudit-request-frequency"></a>
How often the scheduled audit takes place, either `DAILY`, `WEEKLY`, `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined by the system.  
Type: String  
Valid Values: `DAILY | WEEKLY | BIWEEKLY | MONTHLY`   
Required: No

 ** [targetCheckNames](#API_UpdateScheduledAudit_RequestSyntax) **   <a name="iot-UpdateScheduledAudit-request-targetCheckNames"></a>
Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.)  
Type: Array of strings  
Required: No

## Response Syntax
<a name="API_UpdateScheduledAudit_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "scheduledAuditArn": "string"
}
```

## Response Elements
<a name="API_UpdateScheduledAudit_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [scheduledAuditArn](#API_UpdateScheduledAudit_ResponseSyntax) **   <a name="iot-UpdateScheduledAudit-response-scheduledAuditArn"></a>
The ARN of the scheduled audit.  
Type: String

## Errors
<a name="API_UpdateScheduledAudit_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateScheduledAudit_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateScheduledAudit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateScheduledAudit) 

# UpdateSecurityProfile
<a name="API_UpdateSecurityProfile"></a>

Updates a Device Defender security profile.

Requires permission to access the [UpdateSecurityProfile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateSecurityProfile_RequestSyntax"></a>

```
PATCH /security-profiles/securityProfileName?expectedVersion=expectedVersion HTTP/1.1
Content-type: application/json

{
   "additionalMetricsToRetain": [ "string" ],
   "additionalMetricsToRetainV2": [ 
      { 
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         }
      }
   ],
   "alertTargets": { 
      "string" : { 
         "alertTargetArn": "string",
         "roleArn": "string"
      }
   },
   "behaviors": [ 
      { 
         "criteria": { 
            "comparisonOperator": "string",
            "consecutiveDatapointsToAlarm": number,
            "consecutiveDatapointsToClear": number,
            "durationSeconds": number,
            "mlDetectionConfig": { 
               "confidenceLevel": "string"
            },
            "statisticalThreshold": { 
               "statistic": "string"
            },
            "value": { 
               "cidrs": [ "string" ],
               "count": number,
               "number": number,
               "numbers": [ number ],
               "ports": [ number ],
               "strings": [ "string" ]
            }
         },
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         },
         "name": "string",
         "suppressAlerts": boolean
      }
   ],
   "deleteAdditionalMetricsToRetain": boolean,
   "deleteAlertTargets": boolean,
   "deleteBehaviors": boolean,
   "deleteMetricsExportConfig": boolean,
   "metricsExportConfig": { 
      "mqttTopic": "string",
      "roleArn": "string"
   },
   "securityProfileDescription": "string"
}
```

## URI Request Parameters
<a name="API_UpdateSecurityProfile_RequestParameters"></a>

The request uses the following URI parameters.

 ** [expectedVersion](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-uri-expectedVersion"></a>
The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a `VersionConflictException` is thrown.

 ** [securityProfileName](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-uri-securityProfileName"></a>
The name of the security profile you want to update.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateSecurityProfile_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [additionalMetricsToRetain](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-additionalMetricsToRetain"></a>
 *This parameter has been deprecated.*   
 *Please use [UpdateSecurityProfile:additionalMetricsToRetainV2](#iot-UpdateSecurityProfile-request-additionalMetricsToRetainV2) instead.*   
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's `behaviors`, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.  
Type: Array of strings  
Required: No

 ** [additionalMetricsToRetainV2](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-additionalMetricsToRetainV2"></a>
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.  
Type: Array of [MetricToRetain](API_MetricToRetain.md) objects  
Required: No

 ** [alertTargets](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-alertTargets"></a>
Where the alerts are sent. (Alerts are always sent to the console.)  
Type: String to [AlertTarget](API_AlertTarget.md) object map  
Valid Keys: `SNS`   
Required: No

 ** [behaviors](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-behaviors"></a>
Specifies the behaviors that, when violated by a device (thing), cause an alert.  
Type: Array of [Behavior](API_Behavior.md) objects  
Array Members: Maximum number of 100 items.  
Required: No

 ** [deleteAdditionalMetricsToRetain](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-deleteAdditionalMetricsToRetain"></a>
If true, delete all `additionalMetricsToRetain` defined for this security profile. If any `additionalMetricsToRetain` are defined in the current invocation, an exception occurs.  
Type: Boolean  
Required: No

 ** [deleteAlertTargets](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-deleteAlertTargets"></a>
If true, delete all `alertTargets` defined for this security profile. If any `alertTargets` are defined in the current invocation, an exception occurs.  
Type: Boolean  
Required: No

 ** [deleteBehaviors](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-deleteBehaviors"></a>
If true, delete all `behaviors` defined for this security profile. If any `behaviors` are defined in the current invocation, an exception occurs.  
Type: Boolean  
Required: No

 ** [deleteMetricsExportConfig](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-deleteMetricsExportConfig"></a>
Set the value as true to delete metrics export related configurations.  
Type: Boolean  
Required: No

 ** [metricsExportConfig](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-metricsExportConfig"></a>
Specifies the MQTT topic and role ARN required for metric export.  
Type: [MetricsExportConfig](API_MetricsExportConfig.md) object  
Required: No

 ** [securityProfileDescription](#API_UpdateSecurityProfile_RequestSyntax) **   <a name="iot-UpdateSecurityProfile-request-securityProfileDescription"></a>
A description of the security profile.  
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*`   
Required: No

## Response Syntax
<a name="API_UpdateSecurityProfile_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "additionalMetricsToRetain": [ "string" ],
   "additionalMetricsToRetainV2": [ 
      { 
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         }
      }
   ],
   "alertTargets": { 
      "string" : { 
         "alertTargetArn": "string",
         "roleArn": "string"
      }
   },
   "behaviors": [ 
      { 
         "criteria": { 
            "comparisonOperator": "string",
            "consecutiveDatapointsToAlarm": number,
            "consecutiveDatapointsToClear": number,
            "durationSeconds": number,
            "mlDetectionConfig": { 
               "confidenceLevel": "string"
            },
            "statisticalThreshold": { 
               "statistic": "string"
            },
            "value": { 
               "cidrs": [ "string" ],
               "count": number,
               "number": number,
               "numbers": [ number ],
               "ports": [ number ],
               "strings": [ "string" ]
            }
         },
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         },
         "name": "string",
         "suppressAlerts": boolean
      }
   ],
   "creationDate": number,
   "lastModifiedDate": number,
   "metricsExportConfig": { 
      "mqttTopic": "string",
      "roleArn": "string"
   },
   "securityProfileArn": "string",
   "securityProfileDescription": "string",
   "securityProfileName": "string",
   "version": number
}
```

## Response Elements
<a name="API_UpdateSecurityProfile_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [additionalMetricsToRetain](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-additionalMetricsToRetain"></a>
 *This parameter has been deprecated.*   
 *Please use [UpdateSecurityProfile:additionalMetricsToRetainV2](#iot-UpdateSecurityProfile-response-additionalMetricsToRetainV2) instead.*   
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's `behaviors`, but it is also retained for any metric specified here.  
Type: Array of strings

 ** [additionalMetricsToRetainV2](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-additionalMetricsToRetainV2"></a>
A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.  
Type: Array of [MetricToRetain](API_MetricToRetain.md) objects

 ** [alertTargets](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-alertTargets"></a>
Where the alerts are sent. (Alerts are always sent to the console.)  
Type: String to [AlertTarget](API_AlertTarget.md) object map  
Valid Keys: `SNS` 

 ** [behaviors](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-behaviors"></a>
Specifies the behaviors that, when violated by a device (thing), cause an alert.  
Type: Array of [Behavior](API_Behavior.md) objects  
Array Members: Maximum number of 100 items.

 ** [creationDate](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-creationDate"></a>
The time the security profile was created.  
Type: Timestamp

 ** [lastModifiedDate](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-lastModifiedDate"></a>
The time the security profile was last modified.  
Type: Timestamp

 ** [metricsExportConfig](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-metricsExportConfig"></a>
Specifies the MQTT topic and role ARN required for metric export.  
Type: [MetricsExportConfig](API_MetricsExportConfig.md) object

 ** [securityProfileArn](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-securityProfileArn"></a>
The ARN of the security profile that was updated.  
Type: String

 ** [securityProfileDescription](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-securityProfileDescription"></a>
The description of the security profile.  
Type: String  
Length Constraints: Maximum length of 1000.  
Pattern: `[\p{Graph}\x20]*` 

 ** [securityProfileName](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-securityProfileName"></a>
The name of the security profile that was updated.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+` 

 ** [version](#API_UpdateSecurityProfile_ResponseSyntax) **   <a name="iot-UpdateSecurityProfile-response-version"></a>
The updated version of the security profile.  
Type: Long

## Errors
<a name="API_UpdateSecurityProfile_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_UpdateSecurityProfile_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateSecurityProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateSecurityProfile) 

# UpdateStream
<a name="API_UpdateStream"></a>

Updates an existing stream. The stream version will be incremented by one.

Requires permission to access the [UpdateStream](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateStream_RequestSyntax"></a>

```
PUT /streams/streamId HTTP/1.1
Content-type: application/json

{
   "description": "string",
   "files": [ 
      { 
         "fileId": number,
         "s3Location": { 
            "bucket": "string",
            "key": "string",
            "version": "string"
         }
      }
   ],
   "roleArn": "string"
}
```

## URI Request Parameters
<a name="API_UpdateStream_RequestParameters"></a>

The request uses the following URI parameters.

 ** [streamId](#API_UpdateStream_RequestSyntax) **   <a name="iot-UpdateStream-request-uri-streamId"></a>
The stream ID.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateStream_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [description](#API_UpdateStream_RequestSyntax) **   <a name="iot-UpdateStream-request-description"></a>
The description of the stream.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+`   
Required: No

 ** [files](#API_UpdateStream_RequestSyntax) **   <a name="iot-UpdateStream-request-files"></a>
The files associated with the stream.  
Type: Array of [StreamFile](API_StreamFile.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 50 items.  
Required: No

 ** [roleArn](#API_UpdateStream_RequestSyntax) **   <a name="iot-UpdateStream-request-roleArn"></a>
An IAM role that allows the IoT service principal assumes to access your S3 files.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: No

## Response Syntax
<a name="API_UpdateStream_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "description": "string",
   "streamArn": "string",
   "streamId": "string",
   "streamVersion": number
}
```

## Response Elements
<a name="API_UpdateStream_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [description](#API_UpdateStream_ResponseSyntax) **   <a name="iot-UpdateStream-response-description"></a>
A description of the stream.  
Type: String  
Length Constraints: Maximum length of 2028.  
Pattern: `[^\p{C}]+` 

 ** [streamArn](#API_UpdateStream_ResponseSyntax) **   <a name="iot-UpdateStream-response-streamArn"></a>
The stream ARN.  
Type: String

 ** [streamId](#API_UpdateStream_ResponseSyntax) **   <a name="iot-UpdateStream-response-streamId"></a>
The stream ID.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9_-]+` 

 ** [streamVersion](#API_UpdateStream_ResponseSyntax) **   <a name="iot-UpdateStream-response-streamVersion"></a>
The stream version.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 65535.

## Errors
<a name="API_UpdateStream_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** LimitExceededException **   
A limit has been exceeded.    
 ** message **   
The message for the exception.
HTTP Status Code: 410

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateStream_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateStream) 

# UpdateThing
<a name="API_UpdateThing"></a>

Updates the data for a thing.

Requires permission to access the [UpdateThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateThing_RequestSyntax"></a>

```
PATCH /things/thingName HTTP/1.1
Content-type: application/json

{
   "attributePayload": { 
      "attributes": { 
         "string" : "string" 
      },
      "merge": boolean
   },
   "expectedVersion": number,
   "removeThingType": boolean,
   "thingTypeName": "string"
}
```

## URI Request Parameters
<a name="API_UpdateThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_UpdateThing_RequestSyntax) **   <a name="iot-UpdateThing-request-uri-thingName"></a>
The name of the thing to update.  
You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateThing_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [attributePayload](#API_UpdateThing_RequestSyntax) **   <a name="iot-UpdateThing-request-attributePayload"></a>
A list of thing attributes, a JSON string containing name-value pairs. For example:  
 `{\"attributes\":{\"name1\":\"value2\"}}`   
This data is used to add new attributes or update existing attributes.  
Type: [AttributePayload](API_AttributePayload.md) object  
Required: No

 ** [expectedVersion](#API_UpdateThing_RequestSyntax) **   <a name="iot-UpdateThing-request-expectedVersion"></a>
The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the `UpdateThing` request is rejected with a `VersionConflictException`.  
Type: Long  
Required: No

 ** [removeThingType](#API_UpdateThing_RequestSyntax) **   <a name="iot-UpdateThing-request-removeThingType"></a>
Remove a thing type association. If **true**, the association is removed.  
Type: Boolean  
Required: No

 ** [thingTypeName](#API_UpdateThing_RequestSyntax) **   <a name="iot-UpdateThing-request-thingTypeName"></a>
The name of the thing type.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_UpdateThing_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_UpdateThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateThing) 

# UpdateThingGroup
<a name="API_UpdateThingGroup"></a>

Update a thing group.

Requires permission to access the [UpdateThingGroup](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateThingGroup_RequestSyntax"></a>

```
PATCH /thing-groups/thingGroupName HTTP/1.1
Content-type: application/json

{
   "expectedVersion": number,
   "thingGroupProperties": { 
      "attributePayload": { 
         "attributes": { 
            "string" : "string" 
         },
         "merge": boolean
      },
      "thingGroupDescription": "string"
   }
}
```

## URI Request Parameters
<a name="API_UpdateThingGroup_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingGroupName](#API_UpdateThingGroup_RequestSyntax) **   <a name="iot-UpdateThingGroup-request-uri-thingGroupName"></a>
The thing group to update.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateThingGroup_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [expectedVersion](#API_UpdateThingGroup_RequestSyntax) **   <a name="iot-UpdateThingGroup-request-expectedVersion"></a>
The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail.  
Type: Long  
Required: No

 ** [thingGroupProperties](#API_UpdateThingGroup_RequestSyntax) **   <a name="iot-UpdateThingGroup-request-thingGroupProperties"></a>
The thing group properties.  
Type: [ThingGroupProperties](API_ThingGroupProperties.md) object  
Required: Yes

## Response Syntax
<a name="API_UpdateThingGroup_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "version": number
}
```

## Response Elements
<a name="API_UpdateThingGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [version](#API_UpdateThingGroup_ResponseSyntax) **   <a name="iot-UpdateThingGroup-response-version"></a>
The version of the updated thing group.  
Type: Long

## Errors
<a name="API_UpdateThingGroup_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** VersionConflictException **   
An exception thrown when the version of an entity specified with the `expectedVersion` parameter does not match the latest version in the system.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

## See Also
<a name="API_UpdateThingGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateThingGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateThingGroup) 

# UpdateThingGroupsForThing
<a name="API_UpdateThingGroupsForThing"></a>

Updates the groups to which the thing belongs.

Requires permission to access the [UpdateThingGroupsForThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateThingGroupsForThing_RequestSyntax"></a>

```
PUT /thing-groups/updateThingGroupsForThing HTTP/1.1
Content-type: application/json

{
   "overrideDynamicGroups": boolean,
   "thingGroupsToAdd": [ "string" ],
   "thingGroupsToRemove": [ "string" ],
   "thingName": "string"
}
```

## URI Request Parameters
<a name="API_UpdateThingGroupsForThing_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateThingGroupsForThing_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [overrideDynamicGroups](#API_UpdateThingGroupsForThing_RequestSyntax) **   <a name="iot-UpdateThingGroupsForThing-request-overrideDynamicGroups"></a>
Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.  
Type: Boolean  
Required: No

 ** [thingGroupsToAdd](#API_UpdateThingGroupsForThing_RequestSyntax) **   <a name="iot-UpdateThingGroupsForThing-request-thingGroupsToAdd"></a>
The groups to which the thing will be added.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingGroupsToRemove](#API_UpdateThingGroupsForThing_RequestSyntax) **   <a name="iot-UpdateThingGroupsForThing-request-thingGroupsToRemove"></a>
The groups from which the thing will be removed.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

 ** [thingName](#API_UpdateThingGroupsForThing_RequestSyntax) **   <a name="iot-UpdateThingGroupsForThing-request-thingName"></a>
The thing whose group memberships will be updated.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_UpdateThingGroupsForThing_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateThingGroupsForThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateThingGroupsForThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_UpdateThingGroupsForThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateThingGroupsForThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateThingGroupsForThing) 

# UpdateThingType
<a name="API_UpdateThingType"></a>

Updates a thing type.

## Request Syntax
<a name="API_UpdateThingType_RequestSyntax"></a>

```
PATCH /thing-types/thingTypeName HTTP/1.1
Content-type: application/json

{
   "thingTypeProperties": { 
      "mqtt5Configuration": { 
         "propagatingAttributes": [ 
            { 
               "connectionAttribute": "string",
               "thingAttribute": "string",
               "userPropertyKey": "string"
            }
         ]
      },
      "searchableAttributes": [ "string" ],
      "thingTypeDescription": "string"
   }
}
```

## URI Request Parameters
<a name="API_UpdateThingType_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingTypeName](#API_UpdateThingType_RequestSyntax) **   <a name="iot-UpdateThingType-request-uri-thingTypeName"></a>
The name of a thing type.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_UpdateThingType_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [thingTypeProperties](#API_UpdateThingType_RequestSyntax) **   <a name="iot-UpdateThingType-request-thingTypeProperties"></a>
The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names.  
Type: [ThingTypeProperties](API_ThingTypeProperties.md) object  
Required: No

## Response Syntax
<a name="API_UpdateThingType_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateThingType_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateThingType_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateThingType_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateThingType) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateThingType) 

# UpdateTopicRuleDestination
<a name="API_UpdateTopicRuleDestination"></a>

Updates a topic rule destination. You use this to change the status, endpoint URL, or confirmation URL of the destination.

Requires permission to access the [UpdateTopicRuleDestination](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_UpdateTopicRuleDestination_RequestSyntax"></a>

```
PATCH /destinations HTTP/1.1
Content-type: application/json

{
   "arn": "string",
   "status": "string"
}
```

## URI Request Parameters
<a name="API_UpdateTopicRuleDestination_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_UpdateTopicRuleDestination_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [arn](#API_UpdateTopicRuleDestination_RequestSyntax) **   <a name="iot-UpdateTopicRuleDestination-request-arn"></a>
The ARN of the topic rule destination.  
Type: String  
Required: Yes

 ** [status](#API_UpdateTopicRuleDestination_RequestSyntax) **   <a name="iot-UpdateTopicRuleDestination-request-status"></a>
The status of the topic rule destination. Valid values are:    
IN\$1PROGRESS  
A topic rule destination was created but has not been confirmed. You can set `status` to `IN_PROGRESS` by calling `UpdateTopicRuleDestination`. Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint.  
ENABLED  
Confirmation was completed, and traffic to this destination is allowed. You can set `status` to `DISABLED` by calling `UpdateTopicRuleDestination`.  
DISABLED  
Confirmation was completed, and traffic to this destination is not allowed. You can set `status` to `ENABLED` by calling `UpdateTopicRuleDestination`.  
ERROR  
Confirmation could not be completed, for example if the confirmation timed out. You can call `GetTopicRuleDestination` for details about the error. You can set `status` to `IN_PROGRESS` by calling `UpdateTopicRuleDestination`. Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint.
Type: String  
Valid Values: `ENABLED | IN_PROGRESS | DISABLED | ERROR | DELETING`   
Required: Yes

## Response Syntax
<a name="API_UpdateTopicRuleDestination_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_UpdateTopicRuleDestination_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UpdateTopicRuleDestination_Errors"></a>

 ** ConflictingResourceUpdateException **   
A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_UpdateTopicRuleDestination_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/UpdateTopicRuleDestination) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/UpdateTopicRuleDestination) 

# ValidateSecurityProfileBehaviors
<a name="API_ValidateSecurityProfileBehaviors"></a>

Validates a Device Defender security profile behaviors specification.

Requires permission to access the [ValidateSecurityProfileBehaviors](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_ValidateSecurityProfileBehaviors_RequestSyntax"></a>

```
POST /security-profile-behaviors/validate HTTP/1.1
Content-type: application/json

{
   "behaviors": [ 
      { 
         "criteria": { 
            "comparisonOperator": "string",
            "consecutiveDatapointsToAlarm": number,
            "consecutiveDatapointsToClear": number,
            "durationSeconds": number,
            "mlDetectionConfig": { 
               "confidenceLevel": "string"
            },
            "statisticalThreshold": { 
               "statistic": "string"
            },
            "value": { 
               "cidrs": [ "string" ],
               "count": number,
               "number": number,
               "numbers": [ number ],
               "ports": [ number ],
               "strings": [ "string" ]
            }
         },
         "exportMetric": boolean,
         "metric": "string",
         "metricDimension": { 
            "dimensionName": "string",
            "operator": "string"
         },
         "name": "string",
         "suppressAlerts": boolean
      }
   ]
}
```

## URI Request Parameters
<a name="API_ValidateSecurityProfileBehaviors_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_ValidateSecurityProfileBehaviors_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [behaviors](#API_ValidateSecurityProfileBehaviors_RequestSyntax) **   <a name="iot-ValidateSecurityProfileBehaviors-request-behaviors"></a>
Specifies the behaviors that, when violated by a device (thing), cause an alert.  
Type: Array of [Behavior](API_Behavior.md) objects  
Array Members: Maximum number of 100 items.  
Required: Yes

## Response Syntax
<a name="API_ValidateSecurityProfileBehaviors_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "valid": boolean,
   "validationErrors": [ 
      { 
         "errorMessage": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ValidateSecurityProfileBehaviors_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [valid](#API_ValidateSecurityProfileBehaviors_ResponseSyntax) **   <a name="iot-ValidateSecurityProfileBehaviors-response-valid"></a>
True if the behaviors were valid.  
Type: Boolean

 ** [validationErrors](#API_ValidateSecurityProfileBehaviors_ResponseSyntax) **   <a name="iot-ValidateSecurityProfileBehaviors-response-validationErrors"></a>
The list of any errors found in the behaviors.  
Type: Array of [ValidationError](API_ValidationError.md) objects

## Errors
<a name="API_ValidateSecurityProfileBehaviors_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

## See Also
<a name="API_ValidateSecurityProfileBehaviors_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-2015-05-28/ValidateSecurityProfileBehaviors) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-2015-05-28/ValidateSecurityProfileBehaviors) 

# AWS IoT data
<a name="API_Operations_AWS_IoT_Data_Plane"></a>

The following actions are supported by AWS IoT data:
+  [DeleteConnection](API_iotdata_DeleteConnection.md) 
+  [DeleteThingShadow](API_iotdata_DeleteThingShadow.md) 
+  [GetRetainedMessage](API_iotdata_GetRetainedMessage.md) 
+  [GetThingShadow](API_iotdata_GetThingShadow.md) 
+  [ListNamedShadowsForThing](API_iotdata_ListNamedShadowsForThing.md) 
+  [ListRetainedMessages](API_iotdata_ListRetainedMessages.md) 
+  [Publish](API_iotdata_Publish.md) 
+  [UpdateThingShadow](API_iotdata_UpdateThingShadow.md) 

# DeleteConnection
<a name="API_iotdata_DeleteConnection"></a>

Disconnects a connected MQTT client from AWS IoT Core. When you disconnect a client, AWS IoT Core closes the client's network connection and optionally cleans the session state.

Requires permission to access the [DeleteConnection](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdata_DeleteConnection_RequestSyntax"></a>

```
DELETE /connections/clientId?cleanSession=cleanSession&preventWillMessage=preventWillMessage HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdata_DeleteConnection_RequestParameters"></a>

The request uses the following URI parameters.

 ** [cleanSession](#API_iotdata_DeleteConnection_RequestSyntax) **   <a name="iot-iotdata_DeleteConnection-request-uri-cleanSession"></a>
Specifies whether to remove the client's persistent session state when disconnecting. Set to `TRUE` to delete all session information, including subscriptions and queued messages. Set to `FALSE` to preserve the session state for [persistent sessions](https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html#mqtt-persistent-sessions). For clean sessions this parameter will be ignored. By default, this is set to `FALSE` (preserves the session state).

 ** [clientId](#API_iotdata_DeleteConnection_RequestSyntax) **   <a name="iot-iotdata_DeleteConnection-request-uri-clientId"></a>
The unique identifier of the MQTT client to disconnect. The client ID can't start with a dollar sign (\$1).  
MQTT client IDs must be URL encoded (percent-encoded) when they contain characters that are not valid in HTTP requests, such as spaces, forward slashes (/), and UTF-8 characters.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[^$].*`   
Required: Yes

 ** [preventWillMessage](#API_iotdata_DeleteConnection_RequestSyntax) **   <a name="iot-iotdata_DeleteConnection-request-uri-preventWillMessage"></a>
Controls if AWS IoT Core publishes the client's Last Will and Testament (LWT) message upon disconnection. Set to `TRUE` to prevent publishing the LWT message. Set to `FALSE` to ensure that LWT is published. By default, this is set to `FALSE` (LWT message is published).

## Request Body
<a name="API_iotdata_DeleteConnection_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdata_DeleteConnection_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_iotdata_DeleteConnection_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iotdata_DeleteConnection_Errors"></a>

 ** ForbiddenException **   
The caller isn't authorized to make the request.  
HTTP Status Code: 403

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

## See Also
<a name="API_iotdata_DeleteConnection_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/DeleteConnection) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/DeleteConnection) 

# DeleteThingShadow
<a name="API_iotdata_DeleteThingShadow"></a>

Deletes the shadow for the specified thing.

Requires permission to access the [DeleteThingShadow](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

For more information, see [DeleteThingShadow](http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html) in the AWS IoT Developer Guide.

## Request Syntax
<a name="API_iotdata_DeleteThingShadow_RequestSyntax"></a>

```
DELETE /things/thingName/shadow?name=shadowName HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdata_DeleteThingShadow_RequestParameters"></a>

The request uses the following URI parameters.

 ** [shadowName](#API_iotdata_DeleteThingShadow_RequestSyntax) **   <a name="iot-iotdata_DeleteThingShadow-request-uri-shadowName"></a>
The name of the shadow.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[$a-zA-Z0-9:_-]+` 

 ** [thingName](#API_iotdata_DeleteThingShadow_RequestSyntax) **   <a name="iot-iotdata_DeleteThingShadow-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iotdata_DeleteThingShadow_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdata_DeleteThingShadow_ResponseSyntax"></a>

```
HTTP/1.1 200

payload
```

## Response Elements
<a name="API_iotdata_DeleteThingShadow_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The response returns the following as the HTTP body.

 ** [payload](#API_iotdata_DeleteThingShadow_ResponseSyntax) **   <a name="iot-iotdata_DeleteThingShadow-response-payload"></a>
The state information, in JSON format.

## Errors
<a name="API_iotdata_DeleteThingShadow_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** UnsupportedDocumentEncodingException **   
The document encoding is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 415

## See Also
<a name="API_iotdata_DeleteThingShadow_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/DeleteThingShadow) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/DeleteThingShadow) 

# GetRetainedMessage
<a name="API_iotdata_GetRetainedMessage"></a>

Gets the details of a single retained message for the specified topic.

This action returns the message payload of the retained message, which can incur messaging costs. To list only the topic names of the retained messages, call [ListRetainedMessages](https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_ListRetainedMessages.html).

Requires permission to access the [GetRetainedMessage](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html) action.

For more information about messaging costs, see [AWS IoT Core pricing - Messaging](http://aws.amazon.com/iot-core/pricing/#Messaging).

## Request Syntax
<a name="API_iotdata_GetRetainedMessage_RequestSyntax"></a>

```
GET /retainedMessage/topic HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdata_GetRetainedMessage_RequestParameters"></a>

The request uses the following URI parameters.

 ** [topic](#API_iotdata_GetRetainedMessage_RequestSyntax) **   <a name="iot-iotdata_GetRetainedMessage-request-uri-topic"></a>
The topic name of the retained message to retrieve.  
Required: Yes

## Request Body
<a name="API_iotdata_GetRetainedMessage_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdata_GetRetainedMessage_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "lastModifiedTime": number,
   "payload": blob,
   "qos": number,
   "topic": "string",
   "userProperties": blob
}
```

## Response Elements
<a name="API_iotdata_GetRetainedMessage_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [lastModifiedTime](#API_iotdata_GetRetainedMessage_ResponseSyntax) **   <a name="iot-iotdata_GetRetainedMessage-response-lastModifiedTime"></a>
The Epoch date and time, in milliseconds, when the retained message was stored by AWS IoT.  
Type: Long

 ** [payload](#API_iotdata_GetRetainedMessage_ResponseSyntax) **   <a name="iot-iotdata_GetRetainedMessage-response-payload"></a>
The Base64-encoded message payload of the retained message body.  
Type: Base64-encoded binary data object

 ** [qos](#API_iotdata_GetRetainedMessage_ResponseSyntax) **   <a name="iot-iotdata_GetRetainedMessage-response-qos"></a>
The quality of service (QoS) level used to publish the retained message.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 1.

 ** [topic](#API_iotdata_GetRetainedMessage_ResponseSyntax) **   <a name="iot-iotdata_GetRetainedMessage-response-topic"></a>
The topic name to which the retained message was published.  
Type: String

 ** [userProperties](#API_iotdata_GetRetainedMessage_ResponseSyntax) **   <a name="iot-iotdata_GetRetainedMessage-response-userProperties"></a>
A base64-encoded JSON string that includes an array of JSON objects, or null if the retained message doesn't include any user properties.  
The following example `userProperties` parameter is a JSON string that represents two user properties. Note that it will be base64-encoded:  
 `[{"deviceName": "alpha"}, {"deviceCnt": "45"}]`   
Type: Base64-encoded binary data object

## Errors
<a name="API_iotdata_GetRetainedMessage_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_iotdata_GetRetainedMessage_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/GetRetainedMessage) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/GetRetainedMessage) 

# GetThingShadow
<a name="API_iotdata_GetThingShadow"></a>

Gets the shadow for the specified thing.

Requires permission to access the [GetThingShadow](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

For more information, see [GetThingShadow](http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html) in the AWS IoT Developer Guide.

## Request Syntax
<a name="API_iotdata_GetThingShadow_RequestSyntax"></a>

```
GET /things/thingName/shadow?name=shadowName HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdata_GetThingShadow_RequestParameters"></a>

The request uses the following URI parameters.

 ** [shadowName](#API_iotdata_GetThingShadow_RequestSyntax) **   <a name="iot-iotdata_GetThingShadow-request-uri-shadowName"></a>
The name of the shadow.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[$a-zA-Z0-9:_-]+` 

 ** [thingName](#API_iotdata_GetThingShadow_RequestSyntax) **   <a name="iot-iotdata_GetThingShadow-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iotdata_GetThingShadow_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdata_GetThingShadow_ResponseSyntax"></a>

```
HTTP/1.1 200

payload
```

## Response Elements
<a name="API_iotdata_GetThingShadow_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The response returns the following as the HTTP body.

 ** [payload](#API_iotdata_GetThingShadow_ResponseSyntax) **   <a name="iot-iotdata_GetThingShadow-response-payload"></a>
The state information, in JSON format.

## Errors
<a name="API_iotdata_GetThingShadow_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** UnsupportedDocumentEncodingException **   
The document encoding is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 415

## See Also
<a name="API_iotdata_GetThingShadow_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/GetThingShadow) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/GetThingShadow) 

# ListNamedShadowsForThing
<a name="API_iotdata_ListNamedShadowsForThing"></a>

Lists the shadows for the specified thing.

Requires permission to access the [ListNamedShadowsForThing](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdata_ListNamedShadowsForThing_RequestSyntax"></a>

```
GET /api/things/shadow/ListNamedShadowsForThing/thingName?nextToken=nextToken&pageSize=pageSize HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdata_ListNamedShadowsForThing_RequestParameters"></a>

The request uses the following URI parameters.

 ** [nextToken](#API_iotdata_ListNamedShadowsForThing_RequestSyntax) **   <a name="iot-iotdata_ListNamedShadowsForThing-request-uri-nextToken"></a>
The token to retrieve the next set of results.

 ** [pageSize](#API_iotdata_ListNamedShadowsForThing_RequestSyntax) **   <a name="iot-iotdata_ListNamedShadowsForThing-request-uri-pageSize"></a>
The result page size.  
Valid Range: Minimum value of 1. Maximum value of 100.

 ** [thingName](#API_iotdata_ListNamedShadowsForThing_RequestSyntax) **   <a name="iot-iotdata_ListNamedShadowsForThing-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iotdata_ListNamedShadowsForThing_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdata_ListNamedShadowsForThing_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "results": [ "string" ],
   "timestamp": number
}
```

## Response Elements
<a name="API_iotdata_ListNamedShadowsForThing_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_iotdata_ListNamedShadowsForThing_ResponseSyntax) **   <a name="iot-iotdata_ListNamedShadowsForThing-response-nextToken"></a>
The token to use to get the next set of results, or **null** if there are no additional results.  
Type: String

 ** [results](#API_iotdata_ListNamedShadowsForThing_ResponseSyntax) **   <a name="iot-iotdata_ListNamedShadowsForThing-response-results"></a>
The list of shadows for the specified thing.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[$a-zA-Z0-9:_-]+` 

 ** [timestamp](#API_iotdata_ListNamedShadowsForThing_ResponseSyntax) **   <a name="iot-iotdata_ListNamedShadowsForThing-response-timestamp"></a>
The Epoch date and time the response was generated by AWS IoT.  
Type: Long

## Errors
<a name="API_iotdata_ListNamedShadowsForThing_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_iotdata_ListNamedShadowsForThing_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/ListNamedShadowsForThing) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/ListNamedShadowsForThing) 

# ListRetainedMessages
<a name="API_iotdata_ListRetainedMessages"></a>

Lists summary information about the retained messages stored for the account.

This action returns only the topic names of the retained messages. It doesn't return any message payloads. Although this action doesn't return a message payload, it can still incur messaging costs.

To get the message payload of a retained message, call [GetRetainedMessage](https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_GetRetainedMessage.html) with the topic name of the retained message.

Requires permission to access the [ListRetainedMessages](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html) action.

For more information about messaging costs, see [AWS IoT Core pricing - Messaging](http://aws.amazon.com/iot-core/pricing/#Messaging).

## Request Syntax
<a name="API_iotdata_ListRetainedMessages_RequestSyntax"></a>

```
GET /retainedMessage?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdata_ListRetainedMessages_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_iotdata_ListRetainedMessages_RequestSyntax) **   <a name="iot-iotdata_ListRetainedMessages-request-uri-maxResults"></a>
The maximum number of results to return at one time.  
Valid Range: Minimum value of 1. Maximum value of 200.

 ** [nextToken](#API_iotdata_ListRetainedMessages_RequestSyntax) **   <a name="iot-iotdata_ListRetainedMessages-request-uri-nextToken"></a>
To retrieve the next set of results, the `nextToken` value from a previous response; otherwise **null** to receive the first set of results.

## Request Body
<a name="API_iotdata_ListRetainedMessages_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdata_ListRetainedMessages_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "retainedTopics": [ 
      { 
         "lastModifiedTime": number,
         "payloadSize": number,
         "qos": number,
         "topic": "string"
      }
   ]
}
```

## Response Elements
<a name="API_iotdata_ListRetainedMessages_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_iotdata_ListRetainedMessages_ResponseSyntax) **   <a name="iot-iotdata_ListRetainedMessages-response-nextToken"></a>
The token for the next set of results, or null if there are no additional results.  
Type: String

 ** [retainedTopics](#API_iotdata_ListRetainedMessages_ResponseSyntax) **   <a name="iot-iotdata_ListRetainedMessages-response-retainedTopics"></a>
A summary list the account's retained messages. The information returned doesn't include the message payloads of the retained messages.  
Type: Array of [RetainedMessageSummary](API_iotdata_RetainedMessageSummary.md) objects

## Errors
<a name="API_iotdata_ListRetainedMessages_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_iotdata_ListRetainedMessages_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/ListRetainedMessages) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/ListRetainedMessages) 

# Publish
<a name="API_iotdata_Publish"></a>

Publishes an MQTT message.

Requires permission to access the [Publish](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

For more information about MQTT messages, see [MQTT Protocol](http://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html) in the AWS IoT Developer Guide.

For more information about messaging costs, see [AWS IoT Core pricing - Messaging](http://aws.amazon.com/iot-core/pricing/#Messaging).

## Request Syntax
<a name="API_iotdata_Publish_RequestSyntax"></a>

```
POST /topics/topic?contentType=contentType&messageExpiry=messageExpiry&qos=qos&responseTopic=responseTopic&retain=retain HTTP/1.1
x-amz-mqtt5-user-properties: userProperties
x-amz-mqtt5-payload-format-indicator: payloadFormatIndicator
x-amz-mqtt5-correlation-data: correlationData

payload
```

## URI Request Parameters
<a name="API_iotdata_Publish_RequestParameters"></a>

The request uses the following URI parameters.

 ** [contentType](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-uri-contentType"></a>
A UTF-8 encoded string that describes the content of the publishing message.

 ** [correlationData](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-correlationData"></a>
The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received. `correlationData` is an HTTP header value in the API.

 ** [messageExpiry](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-uri-messageExpiry"></a>
A user-defined integer value that represents the message expiry interval in seconds. If absent, the message doesn't expire. For more information about the limits of `messageExpiry`, see [AWS IoT Core message broker and protocol limits and quotas ](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#message-broker-limits) from the AWS Reference Guide.

 ** [payloadFormatIndicator](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-payloadFormatIndicator"></a>
An `Enum` string value that indicates whether the payload is formatted as UTF-8. `payloadFormatIndicator` is an HTTP header value in the API.  
Valid Values: `UNSPECIFIED_BYTES | UTF8_DATA` 

 ** [qos](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-uri-qos"></a>
The Quality of Service (QoS) level. The default QoS level is 0.  
Valid Range: Minimum value of 0. Maximum value of 1.

 ** [responseTopic](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-uri-responseTopic"></a>
A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.

 ** [retain](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-uri-retain"></a>
A Boolean value that determines whether to set the RETAIN flag when the message is published.  
Setting the RETAIN flag causes the message to be retained and sent to new subscribers to the topic.  
Valid values: `true` \$1 `false`   
Default value: `false` 

 ** [topic](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-uri-topic"></a>
The name of the MQTT topic.  
Required: Yes

 ** [userProperties](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-userProperties"></a>
A JSON string that contains an array of JSON objects. If you don’t use AWS SDK or AWS CLI, you must encode the JSON string to base64 format before adding it to the HTTP header. `userProperties` is an HTTP header value in the API.  
The following example `userProperties` parameter is a JSON string which represents two User Properties. Note that it needs to be base64-encoded:  
 `[{"deviceName": "alpha"}, {"deviceCnt": "45"}]` 

## Request Body
<a name="API_iotdata_Publish_RequestBody"></a>

The request accepts the following binary data.

 ** [payload](#API_iotdata_Publish_RequestSyntax) **   <a name="iot-iotdata_Publish-request-payload"></a>
The message body. MQTT accepts text, binary, and empty (null) message payloads.  
Publishing an empty (null) payload with **retain** = `true` deletes the retained message identified by **topic** from AWS IoT Core.

## Response Syntax
<a name="API_iotdata_Publish_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_iotdata_Publish_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iotdata_Publish_Errors"></a>

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

## See Also
<a name="API_iotdata_Publish_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/Publish) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/Publish) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/Publish) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/Publish) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/Publish) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/Publish) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/Publish) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/Publish) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/Publish) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/Publish) 

# UpdateThingShadow
<a name="API_iotdata_UpdateThingShadow"></a>

Updates the shadow for the specified thing.

Requires permission to access the [UpdateThingShadow](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

For more information, see [UpdateThingShadow](http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html) in the AWS IoT Developer Guide.

## Request Syntax
<a name="API_iotdata_UpdateThingShadow_RequestSyntax"></a>

```
POST /things/thingName/shadow?name=shadowName HTTP/1.1

payload
```

## URI Request Parameters
<a name="API_iotdata_UpdateThingShadow_RequestParameters"></a>

The request uses the following URI parameters.

 ** [shadowName](#API_iotdata_UpdateThingShadow_RequestSyntax) **   <a name="iot-iotdata_UpdateThingShadow-request-uri-shadowName"></a>
The name of the shadow.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[$a-zA-Z0-9:_-]+` 

 ** [thingName](#API_iotdata_UpdateThingShadow_RequestSyntax) **   <a name="iot-iotdata_UpdateThingShadow-request-uri-thingName"></a>
The name of the thing.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iotdata_UpdateThingShadow_RequestBody"></a>

The request accepts the following binary data.

 ** [payload](#API_iotdata_UpdateThingShadow_RequestSyntax) **   <a name="iot-iotdata_UpdateThingShadow-request-payload"></a>
The state information, in JSON format.  
Required: Yes

## Response Syntax
<a name="API_iotdata_UpdateThingShadow_ResponseSyntax"></a>

```
HTTP/1.1 200

payload
```

## Response Elements
<a name="API_iotdata_UpdateThingShadow_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The response returns the following as the HTTP body.

 ** [payload](#API_iotdata_UpdateThingShadow_ResponseSyntax) **   <a name="iot-iotdata_UpdateThingShadow-response-payload"></a>
The state information, in JSON format.

## Errors
<a name="API_iotdata_UpdateThingShadow_Errors"></a>

 ** ConflictException **   
The specified version does not match the version of the document.    
 ** message **   
The message for the exception.
HTTP Status Code: 409

 ** InternalFailureException **   
An unexpected error has occurred.    
 ** message **   
The message for the exception.
HTTP Status Code: 500

 ** InvalidRequestException **   
The request is not valid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** MethodNotAllowedException **   
The specified combination of HTTP verb and URI is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 405

 ** RequestEntityTooLargeException **   
The payload exceeds the maximum size allowed.    
 ** message **   
The message for the exception.
HTTP Status Code: 413

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message for the exception.
HTTP Status Code: 429

 ** UnauthorizedException **   
You are not authorized to perform this operation.    
 ** message **   
The message for the exception.
HTTP Status Code: 401

 ** UnsupportedDocumentEncodingException **   
The document encoding is not supported.    
 ** message **   
The message for the exception.
HTTP Status Code: 415

## See Also
<a name="API_iotdata_UpdateThingShadow_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-data-2015-05-28/UpdateThingShadow) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-data-2015-05-28/UpdateThingShadow) 

# AWS IoT jobs data
<a name="API_Operations_AWS_IoT_Jobs_Data_Plane"></a>

The following actions are supported by AWS IoT jobs data:
+  [DescribeJobExecution](API_iot-jobs-data_DescribeJobExecution.md) 
+  [GetPendingJobExecutions](API_iot-jobs-data_GetPendingJobExecutions.md) 
+  [StartCommandExecution](API_iot-jobs-data_StartCommandExecution.md) 
+  [StartNextPendingJobExecution](API_iot-jobs-data_StartNextPendingJobExecution.md) 
+  [UpdateJobExecution](API_iot-jobs-data_UpdateJobExecution.md) 

# DescribeJobExecution
<a name="API_iot-jobs-data_DescribeJobExecution"></a>

Gets details of a job execution.

Requires permission to access the [DescribeJobExecution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-jobs-data_DescribeJobExecution_RequestSyntax"></a>

```
GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument HTTP/1.1
```

## URI Request Parameters
<a name="API_iot-jobs-data_DescribeJobExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [executionNumber](#API_iot-jobs-data_DescribeJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_DescribeJobExecution-request-uri-executionNumber"></a>
Optional. A number that identifies a particular job execution on a particular device. If not specified, the latest job execution is returned.

 ** [includeJobDocument](#API_iot-jobs-data_DescribeJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_DescribeJobExecution-request-uri-includeJobDocument"></a>
Optional. Unless set to false, the response contains the job document. The default is true.

 ** [jobId](#API_iot-jobs-data_DescribeJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_DescribeJobExecution-request-uri-jobId"></a>
The unique identifier assigned to this job when it was created.  
Pattern: `[a-zA-Z0-9_-]+|^\$next`   
Required: Yes

 ** [thingName](#API_iot-jobs-data_DescribeJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_DescribeJobExecution-request-uri-thingName"></a>
The thing name associated with the device the job execution is running on.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iot-jobs-data_DescribeJobExecution_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iot-jobs-data_DescribeJobExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "execution": { 
      "approximateSecondsBeforeTimedOut": number,
      "executionNumber": number,
      "jobDocument": "string",
      "jobId": "string",
      "lastUpdatedAt": number,
      "queuedAt": number,
      "startedAt": number,
      "status": "string",
      "statusDetails": { 
         "string" : "string" 
      },
      "thingName": "string",
      "versionNumber": number
   }
}
```

## Response Elements
<a name="API_iot-jobs-data_DescribeJobExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [execution](#API_iot-jobs-data_DescribeJobExecution_ResponseSyntax) **   <a name="iot-iot-jobs-data_DescribeJobExecution-response-execution"></a>
Contains data about a job execution.  
Type: [JobExecution](API_iot-jobs-data_JobExecution.md) object

## Errors
<a name="API_iot-jobs-data_DescribeJobExecution_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The contents of the request were invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** TerminalStateException **   
The job is in a terminal state.  
HTTP Status Code: 410

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message associated with the exception.  
 ** payload **   
The payload associated with the exception.
HTTP Status Code: 400

## See Also
<a name="API_iot-jobs-data_DescribeJobExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-jobs-data-2017-09-29/DescribeJobExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-jobs-data-2017-09-29/DescribeJobExecution) 

# GetPendingJobExecutions
<a name="API_iot-jobs-data_GetPendingJobExecutions"></a>

Gets the list of all jobs for a thing that are not in a terminal status.

Requires permission to access the [GetPendingJobExecutions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-jobs-data_GetPendingJobExecutions_RequestSyntax"></a>

```
GET /things/thingName/jobs HTTP/1.1
```

## URI Request Parameters
<a name="API_iot-jobs-data_GetPendingJobExecutions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_iot-jobs-data_GetPendingJobExecutions_RequestSyntax) **   <a name="iot-iot-jobs-data_GetPendingJobExecutions-request-uri-thingName"></a>
The name of the thing that is executing the job.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iot-jobs-data_GetPendingJobExecutions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iot-jobs-data_GetPendingJobExecutions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "inProgressJobs": [ 
      { 
         "executionNumber": number,
         "jobId": "string",
         "lastUpdatedAt": number,
         "queuedAt": number,
         "startedAt": number,
         "versionNumber": number
      }
   ],
   "queuedJobs": [ 
      { 
         "executionNumber": number,
         "jobId": "string",
         "lastUpdatedAt": number,
         "queuedAt": number,
         "startedAt": number,
         "versionNumber": number
      }
   ]
}
```

## Response Elements
<a name="API_iot-jobs-data_GetPendingJobExecutions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [inProgressJobs](#API_iot-jobs-data_GetPendingJobExecutions_ResponseSyntax) **   <a name="iot-iot-jobs-data_GetPendingJobExecutions-response-inProgressJobs"></a>
A list of JobExecutionSummary objects with status IN\$1PROGRESS.  
Type: Array of [JobExecutionSummary](API_iot-jobs-data_JobExecutionSummary.md) objects

 ** [queuedJobs](#API_iot-jobs-data_GetPendingJobExecutions_ResponseSyntax) **   <a name="iot-iot-jobs-data_GetPendingJobExecutions-response-queuedJobs"></a>
A list of JobExecutionSummary objects with status QUEUED.  
Type: Array of [JobExecutionSummary](API_iot-jobs-data_JobExecutionSummary.md) objects

## Errors
<a name="API_iot-jobs-data_GetPendingJobExecutions_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The contents of the request were invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message associated with the exception.  
 ** payload **   
The payload associated with the exception.
HTTP Status Code: 400

## See Also
<a name="API_iot-jobs-data_GetPendingJobExecutions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-jobs-data-2017-09-29/GetPendingJobExecutions) 

# StartCommandExecution
<a name="API_iot-jobs-data_StartCommandExecution"></a>

Using the command created with the `CreateCommand` API, start a command execution on a specific device.

**Note**  
The IAM permissions are derived from the `iot:StartCommandExecution` action. For more information on the IAM permissions policy statement, see [Start a command execution (AWS CLI) > Sample IAM policy](https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-execution-start-monitor.html#iot-remote-command-execution-start).

## Request Syntax
<a name="API_iot-jobs-data_StartCommandExecution_RequestSyntax"></a>

```
POST /command-executions HTTP/1.1
Content-type: application/json

{
   "clientToken": "string",
   "commandArn": "string",
   "executionTimeoutSeconds": number,
   "parameters": { 
      "string" : { 
         "B": boolean,
         "BIN": blob,
         "D": number,
         "I": number,
         "L": number,
         "S": "string",
         "UL": "string"
      }
   },
   "targetArn": "string"
}
```

## URI Request Parameters
<a name="API_iot-jobs-data_StartCommandExecution_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_iot-jobs-data_StartCommandExecution_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [clientToken](#API_iot-jobs-data_StartCommandExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartCommandExecution-request-clientToken"></a>
The client token is used to implement idempotency. It ensures that the request completes no more than one time. If you retry a request with the same token and the same parameters, the request will complete successfully. However, if you retry the request using the same token but different parameters, an HTTP 409 conflict occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\x21-\x7E]+$`   
Required: No

 ** [commandArn](#API_iot-jobs-data_StartCommandExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartCommandExecution-request-commandArn"></a>
The Amazon Resource Number (ARN) of the command. For example, `arn:aws:iot:<region>:<accountid>:command/<commandName>`   
Type: String  
Required: Yes

 ** [executionTimeoutSeconds](#API_iot-jobs-data_StartCommandExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartCommandExecution-request-executionTimeoutSeconds"></a>
Specifies the amount of time in second the device has to finish the command execution. A timer is started as soon as the command execution is created. If the command execution status is not set to another terminal state before the timer expires, it will automatically update to `TIMED_OUT`.  
Type: Long  
Valid Range: Minimum value of 1.  
Required: No

 ** [parameters](#API_iot-jobs-data_StartCommandExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartCommandExecution-request-parameters"></a>
A list of parameters that are required by the `StartCommandExecution` API when performing the command on a device.  
Type: String to [CommandParameterValue](API_iot-jobs-data_CommandParameterValue.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 192.  
Key Pattern: `^[.$a-zA-Z0-9_-]+$`   
Required: No

 ** [targetArn](#API_iot-jobs-data_StartCommandExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartCommandExecution-request-targetArn"></a>
The Amazon Resource Number (ARN) of the device where the command execution is occurring.  
Type: String  
Length Constraints: Maximum length of 2048.  
Required: Yes

## Response Syntax
<a name="API_iot-jobs-data_StartCommandExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "executionId": "string"
}
```

## Response Elements
<a name="API_iot-jobs-data_StartCommandExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [executionId](#API_iot-jobs-data_StartCommandExecution_ResponseSyntax) **   <a name="iot-iot-jobs-data_StartCommandExecution-response-executionId"></a>
A unique identifier for the command execution.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+` 

## Errors
<a name="API_iot-jobs-data_StartCommandExecution_Errors"></a>

 ** ConflictException **   
A conflict has occurred when performing the API request.    
 ** resourceId **   
A conflict occurred while performing the API request on the resource ID.
HTTP Status Code: 409

 ** InternalServerException **   
An internal server error occurred when performing the API request.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceQuotaExceededException **   
The service quota has been exceeded for this request.  
HTTP Status Code: 402

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message associated with the exception.  
 ** payload **   
The payload associated with the exception.
HTTP Status Code: 400

 ** ValidationException **   
A validation error occurred when performing the API request.  
HTTP Status Code: 400

## See Also
<a name="API_iot-jobs-data_StartCommandExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-jobs-data-2017-09-29/StartCommandExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-jobs-data-2017-09-29/StartCommandExecution) 

# StartNextPendingJobExecution
<a name="API_iot-jobs-data_StartNextPendingJobExecution"></a>

Gets and starts the next pending (status IN\$1PROGRESS or QUEUED) job execution for a thing.

Requires permission to access the [StartNextPendingJobExecution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-jobs-data_StartNextPendingJobExecution_RequestSyntax"></a>

```
PUT /things/thingName/jobs/$next HTTP/1.1
Content-type: application/json

{
   "statusDetails": { 
      "string" : "string" 
   },
   "stepTimeoutInMinutes": number
}
```

## URI Request Parameters
<a name="API_iot-jobs-data_StartNextPendingJobExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [thingName](#API_iot-jobs-data_StartNextPendingJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartNextPendingJobExecution-request-uri-thingName"></a>
The name of the thing associated with the device.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iot-jobs-data_StartNextPendingJobExecution_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [statusDetails](#API_iot-jobs-data_StartNextPendingJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartNextPendingJobExecution-request-statusDetails"></a>
A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.  
The maximum length of the value in the name/value pair is 1,024 characters.  
Type: String to string map  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+`   
Required: No

 ** [stepTimeoutInMinutes](#API_iot-jobs-data_StartNextPendingJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_StartNextPendingJobExecution-request-stepTimeoutInMinutes"></a>
Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by calling `UpdateJobExecution`, setting the status to `IN_PROGRESS`, and specifying a new timeout value in field `stepTimeoutInMinutes`) the job execution status will be automatically set to `TIMED_OUT`. Note that setting the step timeout has no effect on the in progress timeout that may have been specified when the job was created (`CreateJob` using field `timeoutConfig`).  
Valid values for this parameter range from 1 to 10080 (1 minute to 7 days).  
Type: Long  
Required: No

## Response Syntax
<a name="API_iot-jobs-data_StartNextPendingJobExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "execution": { 
      "approximateSecondsBeforeTimedOut": number,
      "executionNumber": number,
      "jobDocument": "string",
      "jobId": "string",
      "lastUpdatedAt": number,
      "queuedAt": number,
      "startedAt": number,
      "status": "string",
      "statusDetails": { 
         "string" : "string" 
      },
      "thingName": "string",
      "versionNumber": number
   }
}
```

## Response Elements
<a name="API_iot-jobs-data_StartNextPendingJobExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [execution](#API_iot-jobs-data_StartNextPendingJobExecution_ResponseSyntax) **   <a name="iot-iot-jobs-data_StartNextPendingJobExecution-response-execution"></a>
A JobExecution object.  
Type: [JobExecution](API_iot-jobs-data_JobExecution.md) object

## Errors
<a name="API_iot-jobs-data_StartNextPendingJobExecution_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The contents of the request were invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message associated with the exception.  
 ** payload **   
The payload associated with the exception.
HTTP Status Code: 400

## See Also
<a name="API_iot-jobs-data_StartNextPendingJobExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-jobs-data-2017-09-29/StartNextPendingJobExecution) 

# UpdateJobExecution
<a name="API_iot-jobs-data_UpdateJobExecution"></a>

Updates the status of a job execution.

Requires permission to access the [UpdateJobExecution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotjobsdataplane.html) action.

## Request Syntax
<a name="API_iot-jobs-data_UpdateJobExecution_RequestSyntax"></a>

```
POST /things/thingName/jobs/jobId HTTP/1.1
Content-type: application/json

{
   "executionNumber": number,
   "expectedVersion": number,
   "includeJobDocument": boolean,
   "includeJobExecutionState": boolean,
   "status": "string",
   "statusDetails": { 
      "string" : "string" 
   },
   "stepTimeoutInMinutes": number
}
```

## URI Request Parameters
<a name="API_iot-jobs-data_UpdateJobExecution_RequestParameters"></a>

The request uses the following URI parameters.

 ** [jobId](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-uri-jobId"></a>
The unique identifier assigned to this job when it was created.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9_-]+`   
Required: Yes

 ** [thingName](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-uri-thingName"></a>
The name of the thing associated with the device.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: Yes

## Request Body
<a name="API_iot-jobs-data_UpdateJobExecution_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [executionNumber](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-executionNumber"></a>
Optional. A number that identifies a particular job execution on a particular device.  
Type: Long  
Required: No

 ** [expectedVersion](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-expectedVersion"></a>
Optional. The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)  
Type: Long  
Required: No

 ** [includeJobDocument](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-includeJobDocument"></a>
Optional. When set to true, the response contains the job document. The default is false.  
Type: Boolean  
Required: No

 ** [includeJobExecutionState](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-includeJobExecutionState"></a>
Optional. When included and set to true, the response contains the JobExecutionState data. The default is false.  
Type: Boolean  
Required: No

 ** [status](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-status"></a>
The new status for the job execution (IN\$1PROGRESS, FAILED, SUCCESS, or REJECTED). This must be specified on every update.  
Type: String  
Valid Values: `QUEUED | IN_PROGRESS | SUCCEEDED | FAILED | TIMED_OUT | REJECTED | REMOVED | CANCELED`   
Required: Yes

 ** [statusDetails](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-statusDetails"></a>
 Optional. A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.  
The maximum length of the value in the name/value pair is 1,024 characters.  
Type: String to string map  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[a-zA-Z0-9:_-]+`   
Value Length Constraints: Minimum length of 1.  
Value Pattern: `[^\p{C}]+`   
Required: No

 ** [stepTimeoutInMinutes](#API_iot-jobs-data_UpdateJobExecution_RequestSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-request-stepTimeoutInMinutes"></a>
Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by again calling `UpdateJobExecution`, setting the status to `IN_PROGRESS`, and specifying a new timeout value in this field) the job execution status will be automatically set to `TIMED_OUT`. Note that setting or resetting the step timeout has no effect on the in progress timeout that may have been specified when the job was created (`CreateJob` using field `timeoutConfig`).  
Valid values for this parameter range from 1 to 10080 (1 minute to 7 days). A value of -1 is also valid and will cancel the current step timer (created by an earlier use of `UpdateJobExecutionRequest`).  
Type: Long  
Required: No

## Response Syntax
<a name="API_iot-jobs-data_UpdateJobExecution_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "executionState": { 
      "status": "string",
      "statusDetails": { 
         "string" : "string" 
      },
      "versionNumber": number
   },
   "jobDocument": "string"
}
```

## Response Elements
<a name="API_iot-jobs-data_UpdateJobExecution_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [executionState](#API_iot-jobs-data_UpdateJobExecution_ResponseSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-response-executionState"></a>
A JobExecutionState object.  
Type: [JobExecutionState](API_iot-jobs-data_JobExecutionState.md) object

 ** [jobDocument](#API_iot-jobs-data_UpdateJobExecution_ResponseSyntax) **   <a name="iot-iot-jobs-data_UpdateJobExecution-response-jobDocument"></a>
The contents of the Job Documents.  
Type: String  
Length Constraints: Maximum length of 32768.

## Errors
<a name="API_iot-jobs-data_UpdateJobExecution_Errors"></a>

 ** CertificateValidationException **   
The certificate is invalid.    
 ** message **   
Additional information about the exception.
HTTP Status Code: 400

 ** InvalidRequestException **   
The contents of the request were invalid.    
 ** message **   
The message for the exception.
HTTP Status Code: 400

 ** InvalidStateTransitionException **   
An update attempted to change the job execution to a state that is invalid because of the job execution's current state (for example, an attempt to change a request in state SUCCESS to state IN\$1PROGRESS). In this case, the body of the error message also contains the executionState field.  
HTTP Status Code: 409

 ** ResourceNotFoundException **   
The specified resource does not exist.    
 ** message **   
The message for the exception.
HTTP Status Code: 404

 ** ServiceUnavailableException **   
The service is temporarily unavailable.    
 ** message **   
The message for the exception.
HTTP Status Code: 503

 ** ThrottlingException **   
The rate exceeds the limit.    
 ** message **   
The message associated with the exception.  
 ** payload **   
The payload associated with the exception.
HTTP Status Code: 400

## See Also
<a name="API_iot-jobs-data_UpdateJobExecution_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iot-jobs-data-2017-09-29/UpdateJobExecution) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iot-jobs-data-2017-09-29/UpdateJobExecution) 

# AWS IoT Core Device Advisor
<a name="API_Operations_AWS_IoT_Core_Device_Advisor"></a>

The following actions are supported by AWS IoT Core Device Advisor:
+  [CreateSuiteDefinition](API_iotdeviceadvisor_CreateSuiteDefinition.md) 
+  [DeleteSuiteDefinition](API_iotdeviceadvisor_DeleteSuiteDefinition.md) 
+  [GetEndpoint](API_iotdeviceadvisor_GetEndpoint.md) 
+  [GetSuiteDefinition](API_iotdeviceadvisor_GetSuiteDefinition.md) 
+  [GetSuiteRun](API_iotdeviceadvisor_GetSuiteRun.md) 
+  [GetSuiteRunReport](API_iotdeviceadvisor_GetSuiteRunReport.md) 
+  [ListSuiteDefinitions](API_iotdeviceadvisor_ListSuiteDefinitions.md) 
+  [ListSuiteRuns](API_iotdeviceadvisor_ListSuiteRuns.md) 
+  [ListTagsForResource](API_iotdeviceadvisor_ListTagsForResource.md) 
+  [StartSuiteRun](API_iotdeviceadvisor_StartSuiteRun.md) 
+  [StopSuiteRun](API_iotdeviceadvisor_StopSuiteRun.md) 
+  [TagResource](API_iotdeviceadvisor_TagResource.md) 
+  [UntagResource](API_iotdeviceadvisor_UntagResource.md) 
+  [UpdateSuiteDefinition](API_iotdeviceadvisor_UpdateSuiteDefinition.md) 

# CreateSuiteDefinition
<a name="API_iotdeviceadvisor_CreateSuiteDefinition"></a>

Creates a Device Advisor test suite.

Requires permission to access the [CreateSuiteDefinition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_RequestSyntax"></a>

```
POST /suiteDefinitions HTTP/1.1
Content-type: application/json

{
   "clientToken": "string",
   "suiteDefinitionConfiguration": { 
      "devicePermissionRoleArn": "string",
      "devices": [ 
         { 
            "certificateArn": "string",
            "deviceRoleArn": "string",
            "thingArn": "string"
         }
      ],
      "intendedForQualification": boolean,
      "isLongDurationTest": boolean,
      "protocol": "string",
      "rootGroup": "string",
      "suiteDefinitionName": "string"
   },
   "tags": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_RequestParameters"></a>

The request does not use any URI parameters.

## Request Body
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [clientToken](#API_iotdeviceadvisor_CreateSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-request-clientToken"></a>
A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\u0021-\u007E]+$`   
Required: No

 ** [suiteDefinitionConfiguration](#API_iotdeviceadvisor_CreateSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-request-suiteDefinitionConfiguration"></a>
Creates a Device Advisor test suite with suite definition configuration.  
Type: [SuiteDefinitionConfiguration](API_iotdeviceadvisor_SuiteDefinitionConfiguration.md) object  
Required: Yes

 ** [tags](#API_iotdeviceadvisor_CreateSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-request-tags"></a>
The tags to be attached to the suite definition.  
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Value Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: No

## Response Syntax
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "createdAt": number,
   "suiteDefinitionArn": "string",
   "suiteDefinitionId": "string",
   "suiteDefinitionName": "string"
}
```

## Response Elements
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [createdAt](#API_iotdeviceadvisor_CreateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-response-createdAt"></a>
The timestamp of when the test suite was created.  
Type: Timestamp

 ** [suiteDefinitionArn](#API_iotdeviceadvisor_CreateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-response-suiteDefinitionArn"></a>
The Amazon Resource Name (ARN) of the test suite.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_CreateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-response-suiteDefinitionId"></a>
The UUID of the test suite created.  
Type: String  
Length Constraints: Minimum length of 12. Maximum length of 36.

 ** [suiteDefinitionName](#API_iotdeviceadvisor_CreateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_CreateSuiteDefinition-response-suiteDefinitionName"></a>
The suite definition name of the test suite. This is a required parameter.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.

## Errors
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_CreateSuiteDefinition_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition) 

# DeleteSuiteDefinition
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition"></a>

Deletes a Device Advisor test suite.

Requires permission to access the [DeleteSuiteDefinition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_RequestSyntax"></a>

```
DELETE /suiteDefinitions/suiteDefinitionId HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_DeleteSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_DeleteSuiteDefinition-request-uri-suiteDefinitionId"></a>
Suite definition ID of the test suite to be deleted.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_DeleteSuiteDefinition_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition) 

# GetEndpoint
<a name="API_iotdeviceadvisor_GetEndpoint"></a>

Gets information about an Device Advisor endpoint.

## Request Syntax
<a name="API_iotdeviceadvisor_GetEndpoint_RequestSyntax"></a>

```
GET /endpoint?authenticationMethod=authenticationMethod&certificateArn=certificateArn&deviceRoleArn=deviceRoleArn&thingArn=thingArn HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_GetEndpoint_RequestParameters"></a>

The request uses the following URI parameters.

 ** [authenticationMethod](#API_iotdeviceadvisor_GetEndpoint_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetEndpoint-request-uri-authenticationMethod"></a>
The authentication method used during the device connection.  
Valid Values: `X509ClientCertificate | SignatureVersion4` 

 ** [certificateArn](#API_iotdeviceadvisor_GetEndpoint_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetEndpoint-request-uri-certificateArn"></a>
The certificate ARN of the device. This is an optional parameter.  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [deviceRoleArn](#API_iotdeviceadvisor_GetEndpoint_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetEndpoint-request-uri-deviceRoleArn"></a>
The device role ARN of the device. This is an optional parameter.  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [thingArn](#API_iotdeviceadvisor_GetEndpoint_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetEndpoint-request-uri-thingArn"></a>
The thing ARN of the device. This is an optional parameter.  
Length Constraints: Minimum length of 20. Maximum length of 2048.

## Request Body
<a name="API_iotdeviceadvisor_GetEndpoint_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_GetEndpoint_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "endpoint": "string"
}
```

## Response Elements
<a name="API_iotdeviceadvisor_GetEndpoint_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [endpoint](#API_iotdeviceadvisor_GetEndpoint_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetEndpoint-response-endpoint"></a>
The response of an Device Advisor endpoint.  
Type: String  
Length Constraints: Minimum length of 45. Maximum length of 75.

## Errors
<a name="API_iotdeviceadvisor_GetEndpoint_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_GetEndpoint_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/GetEndpoint) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/GetEndpoint) 

# GetSuiteDefinition
<a name="API_iotdeviceadvisor_GetSuiteDefinition"></a>

Gets information about a Device Advisor test suite.

Requires permission to access the [GetSuiteDefinition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_GetSuiteDefinition_RequestSyntax"></a>

```
GET /suiteDefinitions/suiteDefinitionId?suiteDefinitionVersion=suiteDefinitionVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_GetSuiteDefinition_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_GetSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-request-uri-suiteDefinitionId"></a>
Suite definition ID of the test suite to get.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

 ** [suiteDefinitionVersion](#API_iotdeviceadvisor_GetSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-request-uri-suiteDefinitionVersion"></a>
Suite definition version of the test suite to get.  
Length Constraints: Minimum length of 2. Maximum length of 255.

## Request Body
<a name="API_iotdeviceadvisor_GetSuiteDefinition_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "createdAt": number,
   "lastModifiedAt": number,
   "latestVersion": "string",
   "suiteDefinitionArn": "string",
   "suiteDefinitionConfiguration": { 
      "devicePermissionRoleArn": "string",
      "devices": [ 
         { 
            "certificateArn": "string",
            "deviceRoleArn": "string",
            "thingArn": "string"
         }
      ],
      "intendedForQualification": boolean,
      "isLongDurationTest": boolean,
      "protocol": "string",
      "rootGroup": "string",
      "suiteDefinitionName": "string"
   },
   "suiteDefinitionId": "string",
   "suiteDefinitionVersion": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## Response Elements
<a name="API_iotdeviceadvisor_GetSuiteDefinition_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [createdAt](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-createdAt"></a>
Date (in Unix epoch time) when the suite definition was created.  
Type: Timestamp

 ** [lastModifiedAt](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-lastModifiedAt"></a>
Date (in Unix epoch time) when the suite definition was last modified.  
Type: Timestamp

 ** [latestVersion](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-latestVersion"></a>
Latest suite definition version of the suite definition.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 255.

 ** [suiteDefinitionArn](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-suiteDefinitionArn"></a>
The ARN of the suite definition.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [suiteDefinitionConfiguration](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-suiteDefinitionConfiguration"></a>
Suite configuration of the suite definition.  
Type: [SuiteDefinitionConfiguration](API_iotdeviceadvisor_SuiteDefinitionConfiguration.md) object

 ** [suiteDefinitionId](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-suiteDefinitionId"></a>
Suite definition ID of the suite definition.  
Type: String  
Length Constraints: Minimum length of 12. Maximum length of 36.

 ** [suiteDefinitionVersion](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-suiteDefinitionVersion"></a>
Suite definition version of the suite definition.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 255.

 ** [tags](#API_iotdeviceadvisor_GetSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteDefinition-response-tags"></a>
Tags attached to the suite definition.  
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Value Length Constraints: Minimum length of 1. Maximum length of 256.

## Errors
<a name="API_iotdeviceadvisor_GetSuiteDefinition_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_GetSuiteDefinition_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/GetSuiteDefinition) 

# GetSuiteRun
<a name="API_iotdeviceadvisor_GetSuiteRun"></a>

Gets information about a Device Advisor test suite run.

Requires permission to access the [GetSuiteRun](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_GetSuiteRun_RequestSyntax"></a>

```
GET /suiteDefinitions/suiteDefinitionId/suiteRuns/suiteRunId HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_GetSuiteRun_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_GetSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-request-uri-suiteDefinitionId"></a>
Suite definition ID for the test suite run.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

 ** [suiteRunId](#API_iotdeviceadvisor_GetSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-request-uri-suiteRunId"></a>
Suite run ID for the test suite run.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_GetSuiteRun_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "endTime": number,
   "errorReason": "string",
   "startTime": number,
   "status": "string",
   "suiteDefinitionId": "string",
   "suiteDefinitionVersion": "string",
   "suiteRunArn": "string",
   "suiteRunConfiguration": { 
      "parallelRun": boolean,
      "primaryDevice": { 
         "certificateArn": "string",
         "deviceRoleArn": "string",
         "thingArn": "string"
      },
      "selectedTestList": [ "string" ]
   },
   "suiteRunId": "string",
   "tags": { 
      "string" : "string" 
   },
   "testResult": { 
      "groups": [ 
         { 
            "groupId": "string",
            "groupName": "string",
            "tests": [ 
               { 
                  "endTime": number,
                  "failure": "string",
                  "logUrl": "string",
                  "startTime": number,
                  "status": "string",
                  "testCaseDefinitionId": "string",
                  "testCaseDefinitionName": "string",
                  "testCaseRunId": "string",
                  "testScenarios": [ 
                     { 
                        "failure": "string",
                        "status": "string",
                        "systemMessage": "string",
                        "testCaseScenarioId": "string",
                        "testCaseScenarioType": "string"
                     }
                  ],
                  "warnings": "string"
               }
            ]
         }
      ]
   }
}
```

## Response Elements
<a name="API_iotdeviceadvisor_GetSuiteRun_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [endTime](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-endTime"></a>
Date (in Unix epoch time) when the test suite run ended.  
Type: Timestamp

 ** [errorReason](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-errorReason"></a>
Error reason for any test suite run failure.  
Type: String

 ** [startTime](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-startTime"></a>
Date (in Unix epoch time) when the test suite run started.  
Type: Timestamp

 ** [status](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-status"></a>
Status for the test suite run.  
Type: String  
Valid Values: `PASS | FAIL | CANCELED | PENDING | RUNNING | STOPPING | STOPPED | PASS_WITH_WARNINGS | ERROR` 

 ** [suiteDefinitionId](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-suiteDefinitionId"></a>
Suite definition ID for the test suite run.  
Type: String  
Length Constraints: Minimum length of 12. Maximum length of 36.

 ** [suiteDefinitionVersion](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-suiteDefinitionVersion"></a>
Suite definition version for the test suite run.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 255.

 ** [suiteRunArn](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-suiteRunArn"></a>
The ARN of the suite run.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [suiteRunConfiguration](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-suiteRunConfiguration"></a>
Suite run configuration for the test suite run.  
Type: [SuiteRunConfiguration](API_iotdeviceadvisor_SuiteRunConfiguration.md) object

 ** [suiteRunId](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-suiteRunId"></a>
Suite run ID for the test suite run.  
Type: String  
Length Constraints: Minimum length of 12. Maximum length of 36.

 ** [tags](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-tags"></a>
The tags attached to the suite run.  
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Value Length Constraints: Minimum length of 1. Maximum length of 256.

 ** [testResult](#API_iotdeviceadvisor_GetSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRun-response-testResult"></a>
Test results for the test suite run.  
Type: [TestResult](API_iotdeviceadvisor_TestResult.md) object

## Errors
<a name="API_iotdeviceadvisor_GetSuiteRun_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_GetSuiteRun_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/GetSuiteRun) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/GetSuiteRun) 

# GetSuiteRunReport
<a name="API_iotdeviceadvisor_GetSuiteRunReport"></a>

Gets a report download link for a successful Device Advisor qualifying test suite run.

Requires permission to access the [GetSuiteRunReport](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_GetSuiteRunReport_RequestSyntax"></a>

```
GET /suiteDefinitions/suiteDefinitionId/suiteRuns/suiteRunId/report HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_GetSuiteRunReport_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_GetSuiteRunReport_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRunReport-request-uri-suiteDefinitionId"></a>
Suite definition ID of the test suite.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

 ** [suiteRunId](#API_iotdeviceadvisor_GetSuiteRunReport_RequestSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRunReport-request-uri-suiteRunId"></a>
Suite run ID of the test suite run.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_GetSuiteRunReport_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_GetSuiteRunReport_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "qualificationReportDownloadUrl": "string"
}
```

## Response Elements
<a name="API_iotdeviceadvisor_GetSuiteRunReport_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [qualificationReportDownloadUrl](#API_iotdeviceadvisor_GetSuiteRunReport_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_GetSuiteRunReport-response-qualificationReportDownloadUrl"></a>
Download URL of the qualification report.  
Type: String

## Errors
<a name="API_iotdeviceadvisor_GetSuiteRunReport_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_GetSuiteRunReport_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/GetSuiteRunReport) 

# ListSuiteDefinitions
<a name="API_iotdeviceadvisor_ListSuiteDefinitions"></a>

Lists the Device Advisor test suites you have created.

Requires permission to access the [ListSuiteDefinitions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_RequestSyntax"></a>

```
GET /suiteDefinitions?maxResults=maxResults&nextToken=nextToken HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_iotdeviceadvisor_ListSuiteDefinitions_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteDefinitions-request-uri-maxResults"></a>
The maximum number of results to return at once.  
Valid Range: Minimum value of 1. Maximum value of 50.

 ** [nextToken](#API_iotdeviceadvisor_ListSuiteDefinitions_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteDefinitions-request-uri-nextToken"></a>
A token used to get the next set of results.  
Length Constraints: Maximum length of 2000.

## Request Body
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "suiteDefinitionInformationList": [ 
      { 
         "createdAt": number,
         "defaultDevices": [ 
            { 
               "certificateArn": "string",
               "deviceRoleArn": "string",
               "thingArn": "string"
            }
         ],
         "intendedForQualification": boolean,
         "isLongDurationTest": boolean,
         "protocol": "string",
         "suiteDefinitionId": "string",
         "suiteDefinitionName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_iotdeviceadvisor_ListSuiteDefinitions_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteDefinitions-response-nextToken"></a>
A token used to get the next set of results.  
Type: String  
Length Constraints: Maximum length of 2000.

 ** [suiteDefinitionInformationList](#API_iotdeviceadvisor_ListSuiteDefinitions_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteDefinitions-response-suiteDefinitionInformationList"></a>
An array of objects that provide summaries of information about the suite definitions in the list.  
Type: Array of [SuiteDefinitionInformation](API_iotdeviceadvisor_SuiteDefinitionInformation.md) objects

## Errors
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_ListSuiteDefinitions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions) 

# ListSuiteRuns
<a name="API_iotdeviceadvisor_ListSuiteRuns"></a>

Lists runs of the specified Device Advisor test suite. You can list all runs of the test suite, or the runs of a specific version of the test suite.

Requires permission to access the [ListSuiteRuns](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_ListSuiteRuns_RequestSyntax"></a>

```
GET /suiteRuns?maxResults=maxResults&nextToken=nextToken&suiteDefinitionId=suiteDefinitionId&suiteDefinitionVersion=suiteDefinitionVersion HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_ListSuiteRuns_RequestParameters"></a>

The request uses the following URI parameters.

 ** [maxResults](#API_iotdeviceadvisor_ListSuiteRuns_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteRuns-request-uri-maxResults"></a>
The maximum number of results to return at once.  
Valid Range: Minimum value of 1. Maximum value of 50.

 ** [nextToken](#API_iotdeviceadvisor_ListSuiteRuns_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteRuns-request-uri-nextToken"></a>
A token to retrieve the next set of results.  
Length Constraints: Maximum length of 2000.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_ListSuiteRuns_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteRuns-request-uri-suiteDefinitionId"></a>
Lists the test suite runs of the specified test suite based on suite definition ID.  
Length Constraints: Minimum length of 12. Maximum length of 36.

 ** [suiteDefinitionVersion](#API_iotdeviceadvisor_ListSuiteRuns_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteRuns-request-uri-suiteDefinitionVersion"></a>
Must be passed along with `suiteDefinitionId`. Lists the test suite runs of the specified test suite based on suite definition version.  
Length Constraints: Minimum length of 2. Maximum length of 255.

## Request Body
<a name="API_iotdeviceadvisor_ListSuiteRuns_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_ListSuiteRuns_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "suiteRunsList": [ 
      { 
         "createdAt": number,
         "endAt": number,
         "failed": number,
         "passed": number,
         "startedAt": number,
         "status": "string",
         "suiteDefinitionId": "string",
         "suiteDefinitionName": "string",
         "suiteDefinitionVersion": "string",
         "suiteRunId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_iotdeviceadvisor_ListSuiteRuns_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_iotdeviceadvisor_ListSuiteRuns_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteRuns-response-nextToken"></a>
A token to retrieve the next set of results.  
Type: String  
Length Constraints: Maximum length of 2000.

 ** [suiteRunsList](#API_iotdeviceadvisor_ListSuiteRuns_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_ListSuiteRuns-response-suiteRunsList"></a>
An array of objects that provide summaries of information about the suite runs in the list.  
Type: Array of [SuiteRunInformation](API_iotdeviceadvisor_SuiteRunInformation.md) objects

## Errors
<a name="API_iotdeviceadvisor_ListSuiteRuns_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_ListSuiteRuns_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/ListSuiteRuns) 

# ListTagsForResource
<a name="API_iotdeviceadvisor_ListTagsForResource"></a>

Lists the tags attached to an IoT Device Advisor resource.

Requires permission to access the [ListTagsForResource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_ListTagsForResource_RequestSyntax"></a>

```
GET /tags/resourceArn HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_ListTagsForResource_RequestParameters"></a>

The request uses the following URI parameters.

 ** [resourceArn](#API_iotdeviceadvisor_ListTagsForResource_RequestSyntax) **   <a name="iot-iotdeviceadvisor_ListTagsForResource-request-uri-resourceArn"></a>
The resource ARN of the IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_ListTagsForResource_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_ListTagsForResource_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "tags": { 
      "string" : "string" 
   }
}
```

## Response Elements
<a name="API_iotdeviceadvisor_ListTagsForResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [tags](#API_iotdeviceadvisor_ListTagsForResource_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_ListTagsForResource-response-tags"></a>
The tags attached to the IoT Device Advisor resource.  
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Value Length Constraints: Minimum length of 1. Maximum length of 256.

## Errors
<a name="API_iotdeviceadvisor_ListTagsForResource_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_ListTagsForResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/ListTagsForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/ListTagsForResource) 

# StartSuiteRun
<a name="API_iotdeviceadvisor_StartSuiteRun"></a>

Starts a Device Advisor test suite run.

Requires permission to access the [StartSuiteRun](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_StartSuiteRun_RequestSyntax"></a>

```
POST /suiteDefinitions/suiteDefinitionId/suiteRuns HTTP/1.1
Content-type: application/json

{
   "suiteDefinitionVersion": "string",
   "suiteRunConfiguration": { 
      "parallelRun": boolean,
      "primaryDevice": { 
         "certificateArn": "string",
         "deviceRoleArn": "string",
         "thingArn": "string"
      },
      "selectedTestList": [ "string" ]
   },
   "tags": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_StartSuiteRun_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_StartSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-request-uri-suiteDefinitionId"></a>
Suite definition ID of the test suite.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_StartSuiteRun_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [suiteDefinitionVersion](#API_iotdeviceadvisor_StartSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-request-suiteDefinitionVersion"></a>
Suite definition version of the test suite.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 255.  
Required: No

 ** [suiteRunConfiguration](#API_iotdeviceadvisor_StartSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-request-suiteRunConfiguration"></a>
Suite run configuration.  
Type: [SuiteRunConfiguration](API_iotdeviceadvisor_SuiteRunConfiguration.md) object  
Required: Yes

 ** [tags](#API_iotdeviceadvisor_StartSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-request-tags"></a>
The tags to be attached to the suite run.  
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Value Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: No

## Response Syntax
<a name="API_iotdeviceadvisor_StartSuiteRun_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "createdAt": number,
   "endpoint": "string",
   "suiteRunArn": "string",
   "suiteRunId": "string"
}
```

## Response Elements
<a name="API_iotdeviceadvisor_StartSuiteRun_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [createdAt](#API_iotdeviceadvisor_StartSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-response-createdAt"></a>
Starts a Device Advisor test suite run based on suite create time.  
Type: Timestamp

 ** [endpoint](#API_iotdeviceadvisor_StartSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-response-endpoint"></a>
The response of an Device Advisor test endpoint.  
Type: String  
Length Constraints: Minimum length of 45. Maximum length of 75.

 ** [suiteRunArn](#API_iotdeviceadvisor_StartSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-response-suiteRunArn"></a>
Amazon Resource Name (ARN) of the started suite run.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [suiteRunId](#API_iotdeviceadvisor_StartSuiteRun_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_StartSuiteRun-response-suiteRunId"></a>
Suite Run ID of the started suite run.  
Type: String  
Length Constraints: Minimum length of 12. Maximum length of 36.

## Errors
<a name="API_iotdeviceadvisor_StartSuiteRun_Errors"></a>

 ** ConflictException **   
Sends a Conflict Exception.    
 ** message **   
Sends a Conflict Exception message.
HTTP Status Code: 400

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_StartSuiteRun_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/StartSuiteRun) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/StartSuiteRun) 

# StopSuiteRun
<a name="API_iotdeviceadvisor_StopSuiteRun"></a>

Stops a Device Advisor test suite run that is currently running.

Requires permission to access the [StopSuiteRun](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_StopSuiteRun_RequestSyntax"></a>

```
POST /suiteDefinitions/suiteDefinitionId/suiteRuns/suiteRunId/stop HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_StopSuiteRun_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_StopSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_StopSuiteRun-request-uri-suiteDefinitionId"></a>
Suite definition ID of the test suite run to be stopped.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

 ** [suiteRunId](#API_iotdeviceadvisor_StopSuiteRun_RequestSyntax) **   <a name="iot-iotdeviceadvisor_StopSuiteRun-request-uri-suiteRunId"></a>
Suite run ID of the test suite run to be stopped.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_StopSuiteRun_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_StopSuiteRun_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_iotdeviceadvisor_StopSuiteRun_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iotdeviceadvisor_StopSuiteRun_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_StopSuiteRun_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/StopSuiteRun) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/StopSuiteRun) 

# TagResource
<a name="API_iotdeviceadvisor_TagResource"></a>

Adds to and modifies existing tags of an IoT Device Advisor resource.

Requires permission to access the [TagResource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_TagResource_RequestSyntax"></a>

```
POST /tags/resourceArn HTTP/1.1
Content-type: application/json

{
   "tags": { 
      "string" : "string" 
   }
}
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_TagResource_RequestParameters"></a>

The request uses the following URI parameters.

 ** [resourceArn](#API_iotdeviceadvisor_TagResource_RequestSyntax) **   <a name="iot-iotdeviceadvisor_TagResource-request-uri-resourceArn"></a>
The resource ARN of an IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_TagResource_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [tags](#API_iotdeviceadvisor_TagResource_RequestSyntax) **   <a name="iot-iotdeviceadvisor_TagResource-request-tags"></a>
The tags to be attached to the IoT Device Advisor resource.  
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 50 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Value Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

## Response Syntax
<a name="API_iotdeviceadvisor_TagResource_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_iotdeviceadvisor_TagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iotdeviceadvisor_TagResource_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_TagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/TagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/TagResource) 

# UntagResource
<a name="API_iotdeviceadvisor_UntagResource"></a>

Removes tags from an IoT Device Advisor resource.

Requires permission to access the [UntagResource](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_UntagResource_RequestSyntax"></a>

```
DELETE /tags/resourceArn?tagKeys=tagKeys HTTP/1.1
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_UntagResource_RequestParameters"></a>

The request uses the following URI parameters.

 ** [resourceArn](#API_iotdeviceadvisor_UntagResource_RequestSyntax) **   <a name="iot-iotdeviceadvisor_UntagResource-request-uri-resourceArn"></a>
The resource ARN of an IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Required: Yes

 ** [tagKeys](#API_iotdeviceadvisor_UntagResource_RequestSyntax) **   <a name="iot-iotdeviceadvisor_UntagResource-request-uri-tagKeys"></a>
List of tag keys to remove from the IoT Device Advisor resource.  
Array Members: Minimum number of 0 items. Maximum number of 50 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_UntagResource_RequestBody"></a>

The request does not have a request body.

## Response Syntax
<a name="API_iotdeviceadvisor_UntagResource_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_iotdeviceadvisor_UntagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iotdeviceadvisor_UntagResource_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
Sends a Resource Not Found exception.    
 ** message **   
Sends a Resource Not Found Exception message.
HTTP Status Code: 404

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_UntagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/UntagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/UntagResource) 

# UpdateSuiteDefinition
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition"></a>

Updates a Device Advisor test suite.

Requires permission to access the [UpdateSuiteDefinition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_RequestSyntax"></a>

```
PATCH /suiteDefinitions/suiteDefinitionId HTTP/1.1
Content-type: application/json

{
   "suiteDefinitionConfiguration": { 
      "devicePermissionRoleArn": "string",
      "devices": [ 
         { 
            "certificateArn": "string",
            "deviceRoleArn": "string",
            "thingArn": "string"
         }
      ],
      "intendedForQualification": boolean,
      "isLongDurationTest": boolean,
      "protocol": "string",
      "rootGroup": "string",
      "suiteDefinitionName": "string"
   }
}
```

## URI Request Parameters
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_RequestParameters"></a>

The request uses the following URI parameters.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_UpdateSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-request-uri-suiteDefinitionId"></a>
Suite definition ID of the test suite to be updated.  
Length Constraints: Minimum length of 12. Maximum length of 36.  
Required: Yes

## Request Body
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [suiteDefinitionConfiguration](#API_iotdeviceadvisor_UpdateSuiteDefinition_RequestSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-request-suiteDefinitionConfiguration"></a>
Updates a Device Advisor test suite with suite definition configuration.  
Type: [SuiteDefinitionConfiguration](API_iotdeviceadvisor_SuiteDefinitionConfiguration.md) object  
Required: Yes

## Response Syntax
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "createdAt": number,
   "lastUpdatedAt": number,
   "suiteDefinitionArn": "string",
   "suiteDefinitionId": "string",
   "suiteDefinitionName": "string",
   "suiteDefinitionVersion": "string"
}
```

## Response Elements
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [createdAt](#API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-response-createdAt"></a>
Timestamp of when the test suite was created.  
Type: Timestamp

 ** [lastUpdatedAt](#API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-response-lastUpdatedAt"></a>
Timestamp of when the test suite was updated.  
Type: Timestamp

 ** [suiteDefinitionArn](#API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-response-suiteDefinitionArn"></a>
Amazon Resource Name (ARN) of the updated test suite.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.

 ** [suiteDefinitionId](#API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-response-suiteDefinitionId"></a>
Suite definition ID of the updated test suite.  
Type: String  
Length Constraints: Minimum length of 12. Maximum length of 36.

 ** [suiteDefinitionName](#API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-response-suiteDefinitionName"></a>
Updates the suite definition name. This is a required parameter.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.

 ** [suiteDefinitionVersion](#API_iotdeviceadvisor_UpdateSuiteDefinition_ResponseSyntax) **   <a name="iot-iotdeviceadvisor_UpdateSuiteDefinition-response-suiteDefinitionVersion"></a>
Suite definition version of the updated test suite.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 255.

## Errors
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_Errors"></a>

 ** InternalServerException **   
Sends an Internal Failure exception.    
 ** message **   
Sends an Internal Failure Exception message.
HTTP Status Code: 500

 ** ValidationException **   
Sends a validation exception.    
 ** message **   
Sends a Validation Exception message.
HTTP Status Code: 400

## See Also
<a name="API_iotdeviceadvisor_UpdateSuiteDefinition_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition) 

# AWS IoT Secure Tunneling
<a name="API_Operations_AWS_IoT_Secure_Tunneling"></a>

The following actions are supported by AWS IoT Secure Tunneling:
+  [CloseTunnel](API_iot-secure-tunneling_CloseTunnel.md) 
+  [DescribeTunnel](API_iot-secure-tunneling_DescribeTunnel.md) 
+  [ListTagsForResource](API_iot-secure-tunneling_ListTagsForResource.md) 
+  [ListTunnels](API_iot-secure-tunneling_ListTunnels.md) 
+  [OpenTunnel](API_iot-secure-tunneling_OpenTunnel.md) 
+  [RotateTunnelAccessToken](API_iot-secure-tunneling_RotateTunnelAccessToken.md) 
+  [TagResource](API_iot-secure-tunneling_TagResource.md) 
+  [UntagResource](API_iot-secure-tunneling_UntagResource.md) 

# CloseTunnel
<a name="API_iot-secure-tunneling_CloseTunnel"></a>

Closes a tunnel identified by the unique tunnel id. When a `CloseTunnel` request is received, we close the WebSocket connections between the client and proxy server so no data can be transmitted.

Requires permission to access the [CloseTunnel](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-secure-tunneling_CloseTunnel_RequestSyntax"></a>

```
{
   "delete": boolean,
   "tunnelId": "string"
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_CloseTunnel_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [delete](#API_iot-secure-tunneling_CloseTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_CloseTunnel-request-delete"></a>
When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.  
Type: Boolean  
Required: No

 ** [tunnelId](#API_iot-secure-tunneling_CloseTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_CloseTunnel-request-tunnelId"></a>
The ID of the tunnel to close.  
Type: String  
Pattern: `[a-zA-Z0-9_\-+=:]{1,128}`   
Required: Yes

## Response Elements
<a name="API_iot-secure-tunneling_CloseTunnel_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iot-secure-tunneling_CloseTunnel_Errors"></a>

 ** ResourceNotFoundException **   
Thrown when an operation is attempted on a resource that does not exist.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_CloseTunnel_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/CloseTunnel) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/CloseTunnel) 

# DescribeTunnel
<a name="API_iot-secure-tunneling_DescribeTunnel"></a>

Gets information about a tunnel identified by the unique tunnel id.

Requires permission to access the [DescribeTunnel](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-secure-tunneling_DescribeTunnel_RequestSyntax"></a>

```
{
   "tunnelId": "string"
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_DescribeTunnel_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [tunnelId](#API_iot-secure-tunneling_DescribeTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_DescribeTunnel-request-tunnelId"></a>
The tunnel to describe.  
Type: String  
Pattern: `[a-zA-Z0-9_\-+=:]{1,128}`   
Required: Yes

## Response Syntax
<a name="API_iot-secure-tunneling_DescribeTunnel_ResponseSyntax"></a>

```
{
   "tunnel": { 
      "createdAt": number,
      "description": "string",
      "destinationConfig": { 
         "services": [ "string" ],
         "thingName": "string"
      },
      "destinationConnectionState": { 
         "lastUpdatedAt": number,
         "status": "string"
      },
      "lastUpdatedAt": number,
      "sourceConnectionState": { 
         "lastUpdatedAt": number,
         "status": "string"
      },
      "status": "string",
      "tags": [ 
         { 
            "key": "string",
            "value": "string"
         }
      ],
      "timeoutConfig": { 
         "maxLifetimeTimeoutMinutes": number
      },
      "tunnelArn": "string",
      "tunnelId": "string"
   }
}
```

## Response Elements
<a name="API_iot-secure-tunneling_DescribeTunnel_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [tunnel](#API_iot-secure-tunneling_DescribeTunnel_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_DescribeTunnel-response-tunnel"></a>
The tunnel being described.  
Type: [Tunnel](API_iot-secure-tunneling_Tunnel.md) object

## Errors
<a name="API_iot-secure-tunneling_DescribeTunnel_Errors"></a>

 ** ResourceNotFoundException **   
Thrown when an operation is attempted on a resource that does not exist.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_DescribeTunnel_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/DescribeTunnel) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/DescribeTunnel) 

# ListTagsForResource
<a name="API_iot-secure-tunneling_ListTagsForResource"></a>

Lists the tags for the specified resource.

## Request Syntax
<a name="API_iot-secure-tunneling_ListTagsForResource_RequestSyntax"></a>

```
{
   "resourceArn": "string"
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_ListTagsForResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_iot-secure-tunneling_ListTagsForResource_RequestSyntax) **   <a name="iot-iot-secure-tunneling_ListTagsForResource-request-resourceArn"></a>
The resource ARN.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Required: Yes

## Response Syntax
<a name="API_iot-secure-tunneling_ListTagsForResource_ResponseSyntax"></a>

```
{
   "tags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ]
}
```

## Response Elements
<a name="API_iot-secure-tunneling_ListTagsForResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [tags](#API_iot-secure-tunneling_ListTagsForResource_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_ListTagsForResource-response-tags"></a>
The tags for the specified resource.  
Type: Array of [Tag](API_iot-secure-tunneling_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 200 items.

## Errors
<a name="API_iot-secure-tunneling_ListTagsForResource_Errors"></a>

 ** ResourceNotFoundException **   
Thrown when an operation is attempted on a resource that does not exist.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_ListTagsForResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/ListTagsForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/ListTagsForResource) 

# ListTunnels
<a name="API_iot-secure-tunneling_ListTunnels"></a>

List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.

Requires permission to access the [ListTunnels](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-secure-tunneling_ListTunnels_RequestSyntax"></a>

```
{
   "maxResults": number,
   "nextToken": "string",
   "thingName": "string"
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_ListTunnels_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [maxResults](#API_iot-secure-tunneling_ListTunnels_RequestSyntax) **   <a name="iot-iot-secure-tunneling_ListTunnels-request-maxResults"></a>
The maximum number of results to return at once.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [nextToken](#API_iot-secure-tunneling_ListTunnels_RequestSyntax) **   <a name="iot-iot-secure-tunneling_ListTunnels-request-nextToken"></a>
To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.  
Type: String  
Pattern: `[a-zA-Z0-9_=-]{1,4096}`   
Required: No

 ** [thingName](#API_iot-secure-tunneling_ListTunnels_RequestSyntax) **   <a name="iot-iot-secure-tunneling_ListTunnels-request-thingName"></a>
The name of the IoT thing associated with the destination device.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[a-zA-Z0-9:_-]+`   
Required: No

## Response Syntax
<a name="API_iot-secure-tunneling_ListTunnels_ResponseSyntax"></a>

```
{
   "nextToken": "string",
   "tunnelSummaries": [ 
      { 
         "createdAt": number,
         "description": "string",
         "lastUpdatedAt": number,
         "status": "string",
         "tunnelArn": "string",
         "tunnelId": "string"
      }
   ]
}
```

## Response Elements
<a name="API_iot-secure-tunneling_ListTunnels_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [nextToken](#API_iot-secure-tunneling_ListTunnels_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_ListTunnels-response-nextToken"></a>
The token to use to get the next set of results, or null if there are no additional results.  
Type: String  
Pattern: `[a-zA-Z0-9_=-]{1,4096}` 

 ** [tunnelSummaries](#API_iot-secure-tunneling_ListTunnels_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_ListTunnels-response-tunnelSummaries"></a>
A short description of the tunnels in an AWS account.  
Type: Array of [TunnelSummary](API_iot-secure-tunneling_TunnelSummary.md) objects

## See Also
<a name="API_iot-secure-tunneling_ListTunnels_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/ListTunnels) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/ListTunnels) 

# OpenTunnel
<a name="API_iot-secure-tunneling_OpenTunnel"></a>

Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server.

Requires permission to access the [OpenTunnel](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

## Request Syntax
<a name="API_iot-secure-tunneling_OpenTunnel_RequestSyntax"></a>

```
{
   "description": "string",
   "destinationConfig": { 
      "services": [ "string" ],
      "thingName": "string"
   },
   "tags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ],
   "timeoutConfig": { 
      "maxLifetimeTimeoutMinutes": number
   }
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_OpenTunnel_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [description](#API_iot-secure-tunneling_OpenTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-request-description"></a>
A short text description of the tunnel.   
Type: String  
Pattern: `[^\p{C}]{1,2048}`   
Required: No

 ** [destinationConfig](#API_iot-secure-tunneling_OpenTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-request-destinationConfig"></a>
The destination configuration for the OpenTunnel request.  
Type: [DestinationConfig](API_iot-secure-tunneling_DestinationConfig.md) object  
Required: No

 ** [tags](#API_iot-secure-tunneling_OpenTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-request-tags"></a>
A collection of tag metadata.  
Type: Array of [Tag](API_iot-secure-tunneling_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 200 items.  
Required: No

 ** [timeoutConfig](#API_iot-secure-tunneling_OpenTunnel_RequestSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-request-timeoutConfig"></a>
Timeout configuration for a tunnel.  
Type: [TimeoutConfig](API_iot-secure-tunneling_TimeoutConfig.md) object  
Required: No

## Response Syntax
<a name="API_iot-secure-tunneling_OpenTunnel_ResponseSyntax"></a>

```
{
   "destinationAccessToken": "string",
   "sourceAccessToken": "string",
   "tunnelArn": "string",
   "tunnelId": "string"
}
```

## Response Elements
<a name="API_iot-secure-tunneling_OpenTunnel_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [destinationAccessToken](#API_iot-secure-tunneling_OpenTunnel_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-response-destinationAccessToken"></a>
The access token the destination local proxy uses to connect to AWS IoT Secure Tunneling.  
Type: String

 ** [sourceAccessToken](#API_iot-secure-tunneling_OpenTunnel_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-response-sourceAccessToken"></a>
The access token the source local proxy uses to connect to AWS IoT Secure Tunneling.  
Type: String

 ** [tunnelArn](#API_iot-secure-tunneling_OpenTunnel_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-response-tunnelArn"></a>
The Amazon Resource Name for the tunnel.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.

 ** [tunnelId](#API_iot-secure-tunneling_OpenTunnel_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_OpenTunnel-response-tunnelId"></a>
A unique alpha-numeric tunnel ID.  
Type: String  
Pattern: `[a-zA-Z0-9_\-+=:]{1,128}` 

## Errors
<a name="API_iot-secure-tunneling_OpenTunnel_Errors"></a>

 ** LimitExceededException **   
Thrown when a tunnel limit is exceeded.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_OpenTunnel_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/OpenTunnel) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/OpenTunnel) 

# RotateTunnelAccessToken
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken"></a>

Revokes the current client access token (CAT) and returns new CAT for clients to use when reconnecting to secure tunneling to access the same tunnel.

Requires permission to access the [RotateTunnelAccessToken](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.

**Note**  
Rotating the CAT doesn't extend the tunnel duration. For example, say the tunnel duration is 12 hours and the tunnel has already been open for 4 hours. When you rotate the access tokens, the new tokens that are generated can only be used for the remaining 8 hours.

## Request Syntax
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken_RequestSyntax"></a>

```
{
   "clientMode": "string",
   "destinationConfig": { 
      "services": [ "string" ],
      "thingName": "string"
   },
   "tunnelId": "string"
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [clientMode](#API_iot-secure-tunneling_RotateTunnelAccessToken_RequestSyntax) **   <a name="iot-iot-secure-tunneling_RotateTunnelAccessToken-request-clientMode"></a>
The mode of the client that will use the client token, which can be either the source or destination, or both source and destination.  
Type: String  
Valid Values: `SOURCE | DESTINATION | ALL`   
Required: Yes

 ** [destinationConfig](#API_iot-secure-tunneling_RotateTunnelAccessToken_RequestSyntax) **   <a name="iot-iot-secure-tunneling_RotateTunnelAccessToken-request-destinationConfig"></a>
The destination configuration. You can not use `DestinationConfig` with source `clientMode`.  
Type: [DestinationConfig](API_iot-secure-tunneling_DestinationConfig.md) object  
Required: No

 ** [tunnelId](#API_iot-secure-tunneling_RotateTunnelAccessToken_RequestSyntax) **   <a name="iot-iot-secure-tunneling_RotateTunnelAccessToken-request-tunnelId"></a>
The tunnel for which you want to rotate the access tokens.  
Type: String  
Pattern: `[a-zA-Z0-9_\-+=:]{1,128}`   
Required: Yes

## Response Syntax
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken_ResponseSyntax"></a>

```
{
   "destinationAccessToken": "string",
   "sourceAccessToken": "string",
   "tunnelArn": "string"
}
```

## Response Elements
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [destinationAccessToken](#API_iot-secure-tunneling_RotateTunnelAccessToken_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_RotateTunnelAccessToken-response-destinationAccessToken"></a>
The client access token that the destination local proxy uses to connect to AWS IoT Secure Tunneling.  
Type: String

 ** [sourceAccessToken](#API_iot-secure-tunneling_RotateTunnelAccessToken_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_RotateTunnelAccessToken-response-sourceAccessToken"></a>
The client access token that the source local proxy uses to connect to AWS IoT Secure Tunneling.  
Type: String

 ** [tunnelArn](#API_iot-secure-tunneling_RotateTunnelAccessToken_ResponseSyntax) **   <a name="iot-iot-secure-tunneling_RotateTunnelAccessToken-response-tunnelArn"></a>
The Amazon Resource Name for the tunnel.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1600.

## Errors
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken_Errors"></a>

 ** ResourceNotFoundException **   
Thrown when an operation is attempted on a resource that does not exist.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_RotateTunnelAccessToken_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken) 

# TagResource
<a name="API_iot-secure-tunneling_TagResource"></a>

A resource tag.

## Request Syntax
<a name="API_iot-secure-tunneling_TagResource_RequestSyntax"></a>

```
{
   "resourceArn": "string",
   "tags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_TagResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_iot-secure-tunneling_TagResource_RequestSyntax) **   <a name="iot-iot-secure-tunneling_TagResource-request-resourceArn"></a>
The ARN of the resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Required: Yes

 ** [tags](#API_iot-secure-tunneling_TagResource_RequestSyntax) **   <a name="iot-iot-secure-tunneling_TagResource-request-tags"></a>
The tags for the resource.  
Type: Array of [Tag](API_iot-secure-tunneling_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 200 items.  
Required: Yes

## Response Elements
<a name="API_iot-secure-tunneling_TagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iot-secure-tunneling_TagResource_Errors"></a>

 ** ResourceNotFoundException **   
Thrown when an operation is attempted on a resource that does not exist.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_TagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/TagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/TagResource) 

# UntagResource
<a name="API_iot-secure-tunneling_UntagResource"></a>

Removes a tag from a resource.

## Request Syntax
<a name="API_iot-secure-tunneling_UntagResource_RequestSyntax"></a>

```
{
   "resourceArn": "string",
   "tagKeys": [ "string" ]
}
```

## Request Parameters
<a name="API_iot-secure-tunneling_UntagResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_iot-secure-tunneling_UntagResource_RequestSyntax) **   <a name="iot-iot-secure-tunneling_UntagResource-request-resourceArn"></a>
The resource ARN.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Required: Yes

 ** [tagKeys](#API_iot-secure-tunneling_UntagResource_RequestSyntax) **   <a name="iot-iot-secure-tunneling_UntagResource-request-tagKeys"></a>
The keys of the tags to remove.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`   
Required: Yes

## Response Elements
<a name="API_iot-secure-tunneling_UntagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_iot-secure-tunneling_UntagResource_Errors"></a>

 ** ResourceNotFoundException **   
Thrown when an operation is attempted on a resource that does not exist.  
HTTP Status Code: 400

## See Also
<a name="API_iot-secure-tunneling_UntagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/iotsecuretunneling-2018-10-05/UntagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/iotsecuretunneling-2018-10-05/UntagResource) 