:doc:`IoT <../../iot>` / Client / describe_thing

**************
describe_thing
**************



.. py:method:: IoT.Client.describe_thing(**kwargs)

  

  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.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iot-2015-05-28/DescribeThing>`_  


  **Request Syntax**
  ::

    response = client.describe_thing(
        thingName='string'
    )
    
  :type thingName: string
  :param thingName: **[REQUIRED]** 

    The name of the thing.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'defaultClientId': 'string',
          'thingName': 'string',
          'thingId': 'string',
          'thingArn': 'string',
          'thingTypeName': 'string',
          'attributes': {
              'string': 'string'
          },
          'version': 123,
          'billingGroupName': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      The output from the DescribeThing operation.

      
      

      - **defaultClientId** *(string) --* 

        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 IoT fleet without removing the flexibility of the underlying device certificate model or shadows.

        
      

      - **thingName** *(string) --* 

        The name of the thing.

        
      

      - **thingId** *(string) --* 

        The ID of the thing to describe.

        
      

      - **thingArn** *(string) --* 

        The ARN of the thing to describe.

        
      

      - **thingTypeName** *(string) --* 

        The thing type name.

        
      

      - **attributes** *(dict) --* 

        The thing attributes.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
      

      - **version** *(integer) --* 

        The current version of the thing record in the registry.

         

        .. note::

          

          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.

          

        
      

      - **billingGroupName** *(string) --* 

        The name of the billing group the thing belongs to.

        
  
  **Exceptions**
  
  *   :py:class:`IoT.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`IoT.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`IoT.Client.exceptions.ThrottlingException`

  
  *   :py:class:`IoT.Client.exceptions.UnauthorizedException`

  
  *   :py:class:`IoT.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`IoT.Client.exceptions.InternalFailureException`

  