<!DOCTYPE html>
<html lang="1.4" class="js csstransforms3d">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="Hugo 0.58.3" />
    <meta name="description" content="A set of micro-services for connecting millions of devices.">
<meta name="author" content="The Eclipse Hono Project">

    <link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">

    <title>Device Connection API Specification :: Eclipse Hono&trade; Vers.: 1.4</title>

    
    <link href="/hono/docs/css/nucleus.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/fontawesome-all.min.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/hybrid.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/featherlight.min.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/perfect-scrollbar.min.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/auto-complete.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/theme.css?1611195105" rel="stylesheet">
    <link href="/hono/docs/css/hugo-theme.css?1611195105" rel="stylesheet">
    
      <link href="/hono/docs/css/theme-hono.css?1611195105" rel="stylesheet">
    

    <script src="/hono/docs/js/jquery-2.x.min.js?1611195105"></script>

    <style type="text/css">
      :root #header + #content > #left > #rlblock_left{
          display:none !important;
      }
      
        :not(pre) > code + span.copy-to-clipboard {
            display: none;
        }
      
    </style>
    

<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
<link rel="stylesheet" href='/hono/docs/css/hono.css'>


<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="Device Connection API Specification :: Eclipse Hono&amp;trade; Vers.: 1.4">
<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">


<meta property="og:title" content="Device Connection API Specification :: Eclipse Hono&amp;trade; Vers.: 1.4" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/1.4/api/device-connection//" />
<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />

  </head>
  <body class="" data-url="/hono/docs/1.4/api/device-connection/">
    <nav id="sidebar" class="">



  <div id="header-wrapper">
    <div id="header">
      <a href="https://www.eclipse.org/hono/">
    <img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
</a>

    </div>
    
        <div class="searchbox">
    <label for="search-by"><i class="fas fa-search"></i></label>
    <input data-search-input id="search-by" type="search" placeholder="Search...">
    <span data-search-clear=""><i class="fas fa-times"></i></span>
</div>

<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1611195105"></script>
<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1611195105"></script>
<script type="text/javascript">
    
        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.4";
    
</script>
<script type="text/javascript" src="/hono/docs/js/search.js?1611195105"></script>

    
  </div>

    <div class="highlightable">
    <ul class="topics">

        
          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/concepts/" title="Concepts" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.4/concepts/">
          <i class="far fa-lightbulb"></i> Concepts
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/device-identity/" title="Device Identity" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/device-identity/">
        Device Identity
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/tenancy/">
        Multi-Tenancy
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/device-provisioning/" title="Device Provisioning" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/device-provisioning/">
        Device Provisioning
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/connecting-devices/" title="Connecting Devices" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/connecting-devices/">
        Connecting Devices
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/device-notifications/">
        Device Notifications
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/command-and-control/">
        Command &amp; Control
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/resource-limits/" title="Resource limits" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/resource-limits/">
        Resource limits
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/concepts/connection-events/" title="Connection Events" class="dd-item ">
        <a href="/hono/docs/1.4/concepts/connection-events/">
        Connection Events
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/user-guide/" title="User Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.4/user-guide/">
          <i class="fas fa-book-reader"></i> User Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/mongodb-based-device-registry/" title="MongoDB Based Device Registry" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/mongodb-based-device-registry/">
        MongoDB Based Device Registry
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/file-based-device-registry/" title="File Based Device Registry" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/file-based-device-registry/">
        File Based Device Registry
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/http-adapter/">
        HTTP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/mqtt-adapter/">
        MQTT Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/amqp-adapter/">
        AMQP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/coap-adapter/">
        CoAP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/kura-adapter/">
        Kura Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/sigfox-adapter/">
        Sigfox Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
        <a href="/hono/docs/1.4/user-guide/jmeter_load_tests/">
        Load Tests with JMeter
        
        </a>
    </li>
     
  
 

            
          
             
            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/admin-guide/" title="Admin Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.4/admin-guide/">
          <i class="fas fa-sliders-h"></i> Admin Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/common-config/">
        Common Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/auth-server-config/">
        Auth Server Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/mongodb-device-registry-config/" title="MongoDB Based Device Registry Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/mongodb-device-registry-config/">
        MongoDB Based Device Registry Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/file-based-device-registry-config/" title="File Based Device Registry Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/file-based-device-registry-config/">
        File Based Device Registry Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/device-connection-config/">
        Device Connection Service Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/http-adapter-config/">
        HTTP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/mqtt-adapter-config/">
        MQTT Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/amqp-adapter-config/">
        AMQP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/coap-adapter-config/" title="CoAP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/coap-adapter-config/">
        CoAP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/kura-adapter-config/">
        Kura Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/hono-client-configuration/">
        Hono Client Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/amqp-network-config/">
        AMQP 1.0 Messaging Network Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/secure_communication/">
        Secure Communication
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
        <a href="/hono/docs/1.4/admin-guide/monitoring-tracing-config/">
        Monitoring &amp; Tracing
        
        </a>
    </li>
     
  
 

            
          
             
            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/dev-guide/" title="Developer Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.4/dev-guide/">
          <i class="fas fa-tools"></i> Developer Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
        <a href="/hono/docs/1.4/dev-guide/building_hono/">
        Building from Source
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item ">
        <a href="/hono/docs/1.4/dev-guide/amqp_adapter_client/">
        AMQP Adapter Client for Java
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
        <a href="/hono/docs/1.4/dev-guide/java_client_consumer/">
        Consuming Messages from Java
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
        <a href="/hono/docs/1.4/dev-guide/custom_http_adapter/">
        Implement a Custom Hono HTTP Protocol Adapter
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/api/" title="API" class="dd-item 
        parent
        
        
        ">
      <a href="/hono/docs/1.4/api/">
          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/telemetry/" title="Telemetry API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/telemetry/">
        Telemetry API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/event/" title="Event API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/event/">
        Event API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/command-and-control/" title="Command &amp; Control API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/command-and-control/">
        Command &amp; Control API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/tenant/" title="Tenant API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/tenant/">
        Tenant API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/device-connection/" title="Device Connection API Specification" class="dd-item active">
        <a href="/hono/docs/1.4/api/device-connection/">
        Device Connection API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/device-registration/" title="Device Registration API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/device-registration/">
        Device Registration API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/credentials/" title="Credentials API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/credentials/">
        Credentials API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/authentication/" title="Authentication API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/authentication/">
        Authentication API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/management/" title="Device Registry Management API Specification" class="dd-item ">
        <a href="/hono/docs/1.4/api/management/">
        Device Registry Management API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/api/metrics/" title="Metrics" class="dd-item ">
        <a href="/hono/docs/1.4/api/metrics/">
        Metrics
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/deployment/" title="Deployment" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.4/deployment/">
          <i class="fas fa-shipping-fast"></i> Deployment
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
        <a href="/hono/docs/1.4/deployment/helm-based-deployment/">
        Helm based Deployment
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
        <a href="/hono/docs/1.4/deployment/openshift/">
        OpenShift / OKD
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
        <a href="/hono/docs/1.4/deployment/create-kubernetes-cluster/">
        Setting up a Kubernetes Cluster
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
        <a href="/hono/docs/1.4/deployment/resource-limitation/">
        Limiting Resource Usage
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/1.4/architecture/" title="Architecture" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/1.4/architecture/">
          <i class="fas fa-landmark"></i> Architecture
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/architecture/component-view/" title="Component View" class="dd-item ">
        <a href="/hono/docs/1.4/architecture/component-view/">
        Component View
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/1.4/architecture/auth/" title="Authentication/Authorization" class="dd-item ">
        <a href="/hono/docs/1.4/architecture/auth/">
        Authentication/Authorization
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
         
    </ul>

    
    
      <section id="shortcuts">
        <h3></h3>
        <ul>
          
              <li> 
                  <a class="padding" href="https://www.eclipse.org/hono/" title="Hono&#39;s Homepage"><i class='fas fa-home'></i> Hono Home</a>
              </li>
          
              <li> 
                  <a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a>
              </li>
          
        </ul>
      </section>
    

    
    <section id="prefooter">
      <hr/>
      <ul>
      
        <li>
          <div id="select-box-wrapper">
          <div id="select-box">
          <a class="padding">
            Version:&nbsp;
          <div class="select-style">
            <select id="select-language" onchange="location = this.value;">
          
          
          
              
              
                  
                    
                    
                      <option id="stable" value="/hono/docs/api/device-connection/">stable (1.5)</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
                    
                    
                      <option id="1.5" value="/hono/docs/1.5/api/device-connection/">1.5</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.4" value="/hono/docs/1.4/api/device-connection/" selected>1.4</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.3" value="/hono/docs/1.3/api/device-connection/">1.3</option>
                    
                  
              
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.2" value="/hono/docs/1.2/api/device-connection/">1.2</option>
                    
                  
              
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.1" value="/hono/docs/1.1/api/device-connection/">1.1</option>
                    
                  
              
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="1.0" value="/hono/docs/1.0/api/device-connection/">1.0</option>
                    
                  
              
                  
              
          
              
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
              
                  
                    
                    
                      <option id="dev" value="/hono/docs/dev/api/device-connection/">dev</option>
                    
                  
              
          
        </select>
        <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
          width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
          <g>
            <g id="arrow-drop-down">
              <polygon points="0,63.75 127.5,191.25 255,63.75 		" />
            </g>
          </g>
        </svg>
        </div>
        </a>
        </div>
        </div>
        </li>
      
      
      
      </ul>
    </section>
    
    <section id="footer">
      

<p>&copy; 2021 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p>

<p>
    Documentation built with
    <a href="https://gohugo.io/" target="_blank">Hugo</a>
    using the
    <a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
</p>

<div class="eclipse-logo">
    <a href="https://www.eclipse.org" target="_blank">
        <img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
    </a>
</div>

    </section>
  </div>
</nav>





        <section id="body">
        <div id="overlay"></div>
        
        
    <div class="old-version-hint">
        <p>This page refers to version <em>1.4</em>.
            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
        </p>
    </div>


    
        <div class="padding highlightable">
              
              <div>
                <div id="top-bar">
                
                  
                  
                  
                  <div id="top-github-link">
                    <a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/api/device-connection/index.md" target="blank">
                      <i class="fas fa-code-branch"></i>
                      <span id="top-github-link-text">Edit this page</span>
                    </a>
                  </div>
                  
                
                
                <div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
                    <span id="sidebar-toggle-span">
                        <a href="#" id="sidebar-toggle" data-sidebar-toggle="">
                          <i class="fas fa-bars"></i>
                        </a>
                    </span>
                  
                  <span id="toc-menu"><i class="fas fa-list-alt"></i></span>
                  
                  <span class="links">
                 
                 
                    
          
          
            
            
          
          
            
            
          
          
            <a href='/hono/docs/1.4/'>Documentation</a> > <a href='/hono/docs/1.4/api/'>API</a> > Device Connection API Specification
          
         
          
         
          
        
                 
                  </span>
                </div>
                
                    <div class="progress">
    <div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#preconditions-for-invoking-the-device-connection-api">Preconditions for invoking the Device Connection API</a></li>
<li><a href="#set-last-known-gateway-for-device">Set last known Gateway for Device</a></li>
<li><a href="#get-last-known-gateway-for-device">Get last known Gateway for Device</a></li>
<li><a href="#set-command-handling-protocol-adapter-instance-for-device">Set command-handling protocol adapter instance for device</a></li>
<li><a href="#remove-command-handling-protocol-adapter-instance-for-device">Remove command-handling protocol adapter instance for device</a></li>
<li><a href="#get-command-handling-protocol-adapter-instances-for-device">Get command-handling protocol adapter instances for device</a></li>
<li><a href="#standard-message-properties">Standard Message Properties</a>
<ul>
<li><a href="#standard-request-properties">Standard Request Properties</a></li>
<li><a href="#standard-response-properties">Standard Response Properties</a></li>
</ul></li>
<li><a href="#delivery-states">Delivery States</a></li>
</ul></li>
</ul>
</nav>
    </div>
</div>

                
              </div>
            </div>
            

        
        <div id="body-inner">
          
            <h1>Device Connection API Specification</h1>
          

        


<p>The <em>Device Connection API</em> is used by <em>Protocol Adapters</em> to set and retrieve information about the connections from devices or gateways to the protocol adapters.</p>

<p>The Device Connection API is defined by means of AMQP 1.0 message exchanges, i.e. a client needs to connect to the Device Connection service component using an AMQP 1.0 client in order to invoke operations of the API as described in the following sections.</p>

<p><a name="preconditions"></a></p>

<h2 id="preconditions-for-invoking-the-device-connection-api">Preconditions for invoking the Device Connection API</h2>

<ol>
<li>Client has established an AMQP connection with the Device Connection service.</li>
<li>Client has established an AMQP link in role <em>sender</em> on the connection using target address <code>device_con/${tenant_id}</code>. This link is used by the client to send commands concerning device connections to Hono.</li>
<li>Client has established an AMQP link in role <em>receiver</em> on the connection using source address <code>device_con/${tenant_id}/${reply-to}</code> where <em>reply-to</em> may be any arbitrary string chosen by the client. This link is used by the client to receive responses to the requests it has sent to the Device Connection service. This link&rsquo;s source address is also referred to as the <em>reply-to</em> address for the request messages.</li>
</ol>

<figure>
    <img src="preconditions.svg"
         alt="A client establishes an AMQP connection and the links required to invoke operations of the Device Connection service"/> <figcaption>
            <h4>Client connecting to Device Connection service</h4>
        </figcaption>
</figure>


<h2 id="set-last-known-gateway-for-device">Set last known Gateway for Device</h2>

<p>Clients use this command to <em>set</em> the gateway that last acted on behalf of a given device.</p>

<p>As this operation is invoked frequently by Hono&rsquo;s components, implementors may choose to keep this information in memory. This API doesn&rsquo;t mandate checks on the validity of the given device or gateway IDs in order not to introduce a dependency on the <em>Device Registration API</em>. However, implementations of this API may choose to perform such checks or impose a restriction on the overall amount of data that can be stored per tenant in order to protect against malicious requests.</p>

<p><strong>Message Flow</strong></p>

<figure>
    <img src="set_last_known_gateway_success.svg"
         alt="A client sends a request message for setting the last known gateway and receives a response containing a confirmation"/> <figcaption>
            <h4>Client sets the last known gateway for a device</h4>
        </figcaption>
</figure>


<p><strong>Request Message Format</strong></p>

<p>The following table provides an overview of the properties a client needs to set on a message to set the last known gateway for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>subject</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>set-last-gw</code>.</td>
</tr>

<tr>
<td align="left"><em>gateway_id</em></td>
<td align="center">yes</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">The identifier of the gateway that last acted on behalf of the device identified by the <em>device_id</em> property. If a device connects directly instead of through a gateway, the device&rsquo;s identifier MUST be specified here.</td>
</tr>
</tbody>
</table>

<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>

<p><strong>Response Message Format</strong></p>

<p>A response to a <em>set last known gateway for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a>.</p>

<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>

<table>
<thead>
<tr>
<th align="left">Code</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>204</em></td>
<td align="left">OK, the last known gateway for the device has been updated.</td>
</tr>

<tr>
<td align="left"><em>400</em></td>
<td align="left">Bad Request, the last known gateway has not been updated due to invalid or missing data in the request.</td>
</tr>
</tbody>
</table>

<p>Implementors of this API may return a <em>404</em> status code in order to indicate that no device and/or gateway with the given identifier exists for the given tenant. However, performing such a check is optional.</p>

<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>

<h2 id="get-last-known-gateway-for-device">Get last known Gateway for Device</h2>

<p>Clients use this command to <em>retrieve</em> the gateway that last acted on behalf of a given device.</p>

<p><strong>Message Flow</strong></p>

<figure>
    <img src="get_last_known_gateway_success.svg"
         alt="A client sends a request message for retrieving the last known gateway and receives a response containing the information"/> <figcaption>
            <h4>Client retrieving the last known gateway for a device</h4>
        </figcaption>
</figure>


<p><strong>Request Message Format</strong></p>

<p>The following table provides an overview of the properties a client needs to set on a message to retrieve the last known gateway for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>subject</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>get-last-gw</code>.</td>
</tr>
</tbody>
</table>

<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>

<p><strong>Response Message Format</strong></p>

<p>A response to a <em>get last known gateway for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a> as well as the properties shown in the following table:</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>content-type</em></td>
<td align="center">no</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>application/json</code> if the invocation of the operation was successful and the body of the response message contains payload as described below.</td>
</tr>
</tbody>
</table>

<p>The result of a successful invocation is carried in a single Data section of the response message as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.</p>

<p>The response message JSON object has the following properties:</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">JSON Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>gateway-id</em></td>
<td align="center"><em>yes</em></td>
<td align="left"><em>string</em></td>
<td align="left">The ID of the last known gateway for the device.</td>
</tr>

<tr>
<td align="left"><em>last-updated</em></td>
<td align="center"><em>no</em></td>
<td align="left"><em>string</em></td>
<td align="left">The date that the information about the last known gateway for the device was last updated. The value MUST be an <a href="https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations">ISO 8601 compliant <em>combined date and time representation in extended format</em></a>.</td>
</tr>
</tbody>
</table>

<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>

<table>
<thead>
<tr>
<th align="left">Code</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>200</em></td>
<td align="left">OK, the payload contains the gateway ID.</td>
</tr>

<tr>
<td align="left"><em>400</em></td>
<td align="left">Bad Request, the request message does not contain all required information/properties.</td>
</tr>

<tr>
<td align="left"><em>404</em></td>
<td align="left">Not Found, there is no last known gateway assigned to the device.</td>
</tr>
</tbody>
</table>

<p>Implementors of this API may return a <em>404</em> status code in order to indicate that no device with the given identifier exists for the given tenant. However, performing such a check is optional.</p>

<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>

<h2 id="set-command-handling-protocol-adapter-instance-for-device">Set command-handling protocol adapter instance for device</h2>

<p>Clients use this command to <em>set</em> the protocol adapter instance that currently handles command &amp; control messages for a given device.</p>

<p>Clients can provide an optional <code>lifespan</code> parameter to make the protocol adapter instance entry expire after the given number of seconds. Note that implementations of this API have to support this feature, otherwise protocol adapters, as the clients of this API, might fail to correctly route command messages.</p>

<p>This API doesn&rsquo;t mandate checks on the validity of the given device in order not to introduce a dependency on the <em>Device Registration API</em>. However, implementations of this API may choose to perform such checks or impose a restriction on the overall amount of data that can be stored per tenant in order to protect against malicious requests.</p>

<p><strong>Message Flow</strong></p>

<figure>
    <img src="set_cmd_handling_adapter_instance.svg"
         alt="A client sends a request message for setting the adapter instance and receives a response containing a confirmation"/> <figcaption>
            <h4>Client sets the command-handling protocol adapter instance for device</h4>
        </figcaption>
</figure>


<p><strong>Request Message Format</strong></p>

<p>The following table provides an overview of the properties a client needs to set on a message to set the command-handling protocol adapter instance for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>subject</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>set-cmd-handling-adapter-instance</code>.</td>
</tr>

<tr>
<td align="left"><em>adapter_instance_id</em></td>
<td align="center">yes</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">The identifier of the protocol adapter instance that currently handles commands for the device or gateway identified by the <em>device_id</em> property.</td>
</tr>

<tr>
<td align="left"><em>lifespan</em></td>
<td align="center">no</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>int</em></td>
<td align="left">The lifespan of the mapping entry in seconds. After that period, the mapping entry shall be treated as non-existent by the <em>Device Connection API</em> methods. A negative value, as well as an omitted property, is interpreted as an unlimited lifespan.</td>
</tr>
</tbody>
</table>

<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>

<p><strong>Response Message Format</strong></p>

<p>A response to a <em>set command-handling adapter instance for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a>.</p>

<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>

<table>
<thead>
<tr>
<th align="left">Code</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>204</em></td>
<td align="left">OK, the command-handling adapter instance for the device has been updated.</td>
</tr>

<tr>
<td align="left"><em>400</em></td>
<td align="left">Bad Request, the adapter instance for the device has not been set or updated due to invalid or missing data in the request.</td>
</tr>
</tbody>
</table>

<p>Implementors of this API may return a <em>404</em> status code in order to indicate that no device with the given identifier exists for the given tenant. However, performing such a check is optional.</p>

<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>

<h2 id="remove-command-handling-protocol-adapter-instance-for-device">Remove command-handling protocol adapter instance for device</h2>

<p>Clients use this command to <em>remove</em> the information, which protocol adapter instance is currently handling command &amp; control messages for the given device. The mapping information is only removed, if the currently associated adapter instance matches the one given in the request.</p>

<p>This API doesn&rsquo;t mandate checks on the validity of the given device in order not to introduce a dependency on the <em>Device Registration API</em>. However, implementations of this API may choose to perform such checks or impose a restriction on the overall amount of data that can be stored per tenant in order to protect against malicious requests.</p>

<p><strong>Message Flow</strong></p>

<figure>
    <img src="remove_cmd_handling_adapter_instance.svg"
         alt="A client sends a request message for removing the adapter instance mapping and receives a response containing a confirmation"/> <figcaption>
            <h4>Client removes the command-handling protocol adapter instance information for device</h4>
        </figcaption>
</figure>


<p><strong>Request Message Format</strong></p>

<p>The following table provides an overview of the properties a client needs to set on a message to remove the mapping information regarding the command-handling protocol adapter instance for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>subject</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>remove-cmd-handling-adapter-instance</code>.</td>
</tr>

<tr>
<td align="left"><em>adapter_instance_id</em></td>
<td align="center">yes</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">The identifier of the protocol adapter instance to remove the mapping information for. Only if this adapter instance is currently associated with the device or gateway identified by the <em>device_id</em> property, the mapping entry will be removed.</td>
</tr>
</tbody>
</table>

<p>The body of the message SHOULD be empty and will be ignored if it is not.</p>

<p><strong>Response Message Format</strong></p>

<p>A response to a <em>remove command-handling adapter instance for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a>.</p>

<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>

<table>
<thead>
<tr>
<th align="left">Code</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>204</em></td>
<td align="left">OK, the adapter instance mapping information for the device has been removed.</td>
</tr>

<tr>
<td align="left"><em>400</em></td>
<td align="left">Bad Request, the request message does not contain all required properties.</td>
</tr>

<tr>
<td align="left"><em>412</em></td>
<td align="left">Precondition failed, the adapter instance for the device has not been removed because there is no matching command-handling adapter instance assigned to the device.</td>
</tr>
</tbody>
</table>

<p>Implementors of this API may return a <em>404</em> status code in order to indicate that no device with the given identifier exists for the given tenant. However, performing such a check is optional.</p>

<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>

<h2 id="get-command-handling-protocol-adapter-instances-for-device">Get command-handling protocol adapter instances for device</h2>

<p>Clients use this command to <em>get</em> information about the adapter instances that can handle command &amp; control messages for the given device.</p>

<p>As part of the request message, the client is supposed to provide the list of gateways that may act on behalf of the given device. The client may get this list via the Device Registration API&rsquo;s <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration"><em>assert Device Registration</em></a> operation.</p>

<p>This API doesn&rsquo;t mandate checks on the validity of the given device and the gateway list in order not to introduce a dependency on the <em>Device Registration API</em>.</p>

<p>The command implementation MUST determine the adapter instances by applying the following rules (in the given order):</p>

<ol>
<li>If an adapter instance is associated with the given device, this adapter instance is returned as the <em>single</em> returned list entry.</li>
<li>Otherwise, if there is an adapter instance registered for the last known gateway associated with the given device, this adapter instance is returned as the <em>single</em> returned list entry. The last known gateway has to be contained in the given list of gateways for this case.</li>
<li>Otherwise, <em>all</em> adapter instances associated with any of the given gateway identifiers are returned.</li>
</ol>

<p>That means that for a device communicating via a gateway, the result is reduced to a <em>single element</em> list if an adapter instance for the device itself or its last known gateway is found. The adapter instance registered for the device itself is given precedence in order to ensure that a gateway having subscribed to commands for that <em>particular device</em> is chosen over a gateway that has subscribed to commands for <em>all</em> devices of a tenant.</p>

<p><strong>Message Flow</strong></p>

<figure>
    <img src="get_cmd_handling_adapter_instances.svg"
         alt="A client sends a request message for retrieving the list of command-handling adapter instances for a device and receives a response containing the information"/> <figcaption>
            <h4>Client retrieving the list of command-handling adapter instances for a device</h4>
        </figcaption>
</figure>


<p><strong>Request Message Format</strong></p>

<p>The following table provides an overview of the properties a client needs to set on a message to retrieve the command-handling adapter instances for a device in addition to the <a href="#standard-request-properties">Standard Request Properties</a>.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>content-type</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>application/json</code>.</td>
</tr>

<tr>
<td align="left"><em>subject</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>get-cmd-handling-adapter-instances</code>.</td>
</tr>
</tbody>
</table>

<p>The body of the message MUST consist of a single AMQP <em>Data</em> section containing a UTF-8 encoded string representation of a single JSON object. The JSON object has the following properties:</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">JSON Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>gateway-ids</em></td>
<td align="center"><em>yes</em></td>
<td align="left"><em>array</em></td>
<td align="left">The IDs of the gateways that may act on behalf of the given device. This list may be obtained via the Device Registration API&rsquo;s <a href="/hono/docs/1.4/api/device-registration/#assert-device-registration"><em>assert Device Registration</em></a> operation.</td>
</tr>
</tbody>
</table>

<p>Example of a request payload:</p>

<pre><code class="language-json">{
  &quot;gateway-ids&quot;: [&quot;gw-1&quot;, &quot;gw-2&quot;, &quot;gw-3&quot;]
}
</code></pre>

<p><strong>Response Message Format</strong></p>

<p>A response to a <em>get command-handling adapter instances for device</em> request contains the <a href="#standard-response-properties">Standard Response Properties</a> as well as the properties shown in the following table:</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>content-type</em></td>
<td align="center">no</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to <code>application/json</code> if the invocation of the operation was successful and the body of the response message contains payload as described below.</td>
</tr>
</tbody>
</table>

<p>The result of a successful invocation is carried in a single Data section of the response message as a UTF-8 encoded string representation of a single JSON object. It is an error to include payload that is not of this type.</p>

<p>The response message JSON object has the following properties:</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">JSON Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>adapter-instances</em></td>
<td align="center"><em>yes</em></td>
<td align="left"><em>array</em></td>
<td align="left">A non-empty array of JSON objects that represent the command-handling adapter instances along with the device or gateway id.</td>
</tr>
</tbody>
</table>

<p>Each entry in the <em>adapter-instances</em> array has the following properties:</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">JSON Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>adapter-instance-id</em></td>
<td align="center"><em>yes</em></td>
<td align="left"><em>string</em></td>
<td align="left">The ID of the protocol adapter instance handling command &amp; control messages for the device given in the <em>device-id</em> property.</td>
</tr>

<tr>
<td align="left"><em>device-id</em></td>
<td align="center"><em>yes</em></td>
<td align="left"><em>string</em></td>
<td align="left">The ID of the gateway or device that the protocol adapter instance given by the <em>adapter-instance-id</em> is handling command &amp; control messages for. This ID is not necessarily the <em>device_id</em> given in the request message, it may be the ID of one of the gateways acting on behalf of the device.</td>
</tr>
</tbody>
</table>

<p>An example of a response message with a single adapter instance result, returned for example if an adapter instance is registered for the given device:</p>

<pre><code class="language-json">{
  &quot;adapter-instances&quot;: [
    {
      &quot;adapter-instance-id&quot;: &quot;adapter-1&quot;,
      &quot;device-id&quot;: &quot;4711&quot;
    }
  ]
}
</code></pre>

<p>An example of a response message with multiple contained adapter instances, returned for example if no adapter instance is registered for the given device or its last used gateway, and therefore a list of all adapter instances for the gateways of the device is returned:</p>

<pre><code class="language-json">{
  &quot;adapter-instances&quot;: [
    {
      &quot;adapter-instance-id&quot;: &quot;adapter-1&quot;,
      &quot;device-id&quot;: &quot;gw-1&quot;
    },
    {
      &quot;adapter-instance-id&quot;: &quot;adapter-1&quot;,
      &quot;device-id&quot;: &quot;gw-2&quot;
    }
  ]
}
</code></pre>

<p>The response message&rsquo;s <em>status</em> property may contain the following codes:</p>

<table>
<thead>
<tr>
<th align="left">Code</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>200</em></td>
<td align="left">OK, the payload contains the adapter instances.</td>
</tr>

<tr>
<td align="left"><em>400</em></td>
<td align="left">Bad Request, the request message does not contain all required information/properties.</td>
</tr>

<tr>
<td align="left"><em>404</em></td>
<td align="left">Not Found, there is no command-handling adapter instance assigned to the device.</td>
</tr>
</tbody>
</table>

<p>Implementors of this API may also return a <em>404</em> status code in order to indicate that no device with the given identifier exists for the given tenant. However, performing such a check is optional.</p>

<p>For status codes indicating an error (codes in the <code>400 - 499</code> range) the message body MAY contain a detailed description of the error that occurred.</p>

<h2 id="standard-message-properties">Standard Message Properties</h2>

<p>Due to the nature of the request/response message pattern of the operations of the Device Connection API, there are some standard properties shared by all of the request and response messages exchanged as part of the operations.</p>

<h3 id="standard-request-properties">Standard Request Properties</h3>

<p>The following table provides an overview of the properties shared by all request messages regardless of the particular operation being invoked.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>subject</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST be set to the value defined by the particular operation being invoked.</td>
</tr>

<tr>
<td align="left"><em>correlation-id</em></td>
<td align="center">no</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>message-id</em></td>
<td align="left">MAY contain an ID used to correlate a response message to the original request. If set, it is used as the <em>correlation-id</em> property in the response, otherwise the value of the <em>message-id</em> property is used. Either this or the <em>message-id</em> property MUST be set.</td>
</tr>

<tr>
<td align="left"><em>message-id</em></td>
<td align="center">no</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MAY contain an identifier that uniquely identifies the message at the sender side. Either this or the <em>correlation-id</em> property MUST be set.</td>
</tr>

<tr>
<td align="left"><em>reply-to</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST contain the source address that the client wants to received response messages from. This address MUST be the same as the source address used for establishing the client&rsquo;s receive link (see <a href="#preconditions-for-invoking-the-device-connection-api">Preconditions</a>).</td>
</tr>

<tr>
<td align="left"><em>device_id</em></td>
<td align="center">yes</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">MUST contain the ID of the device that is subject to the operation.</td>
</tr>
</tbody>
</table>

<h3 id="standard-response-properties">Standard Response Properties</h3>

<p>The following table provides an overview of the properties shared by all response messages regardless of the particular operation being invoked.</p>

<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="center">Mandatory</th>
<th align="left">Location</th>
<th align="left">AMQP Type</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>correlation-id</em></td>
<td align="center">yes</td>
<td align="left"><em>properties</em></td>
<td align="left"><em>message-id</em></td>
<td align="left">Contains the <em>message-id</em> (or the <em>correlation-id</em>, if specified) of the request message that this message is the response to.</td>
</tr>

<tr>
<td align="left"><em>status</em></td>
<td align="center">yes</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>int</em></td>
<td align="left">Contains the status code indicating the outcome of the operation. Concrete values and their semantics are defined for each particular operation.</td>
</tr>

<tr>
<td align="left"><em>cache_control</em></td>
<td align="center">no</td>
<td align="left"><em>application-properties</em></td>
<td align="left"><em>string</em></td>
<td align="left">Contains an <a href="https://tools.ietf.org/html/rfc2616#section-14.9">RFC 2616</a> compliant <em>cache directive</em>. The directive contained in the property MUST be obeyed by clients that are caching responses.</td>
</tr>
</tbody>
</table>

<h2 id="delivery-states">Delivery States</h2>

<p>Hono uses the following AMQP message delivery states when receiving request messages from clients:</p>

<table>
<thead>
<tr>
<th align="left">Delivery State</th>
<th align="left">Description</th>
</tr>
</thead>

<tbody>
<tr>
<td align="left"><em>ACCEPTED</em></td>
<td align="left">Indicates that the request message has been received and accepted for processing.</td>
</tr>

<tr>
<td align="left"><em>REJECTED</em></td>
<td align="left">Indicates that Hono has received the request but was not able to process it. The <em>error</em> field contains information regarding the reason why. Clients should not try to re-send the request using the same message properties in this case.</td>
</tr>
</tbody>
</table>

<footer class=" footline" >
	
</footer>


        
        </div> 
        

      </div>

    <div id="navigation">
        
        
        
        
            
            
                
                    
                    
                
                

                    
                    
                        
                    
                    

                    
                        
            
            
                
                    
                        
                        
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                        
                        
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                        
                        
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
                        
            
            
                
                    
                
                

                    
                    
                    

                    
            
        
                    
            
        
                    
            
        
        
        


	 
	 
    </div>

    </section>
    
    <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
      <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
    </div>
    <script src="/hono/docs/js/clipboard.min.js?1611195106"></script>
    <script src="/hono/docs/js/perfect-scrollbar.min.js?1611195106"></script>
    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1611195106"></script>
    <script src="/hono/docs/js/jquery.sticky.js?1611195106"></script>
    <script src="/hono/docs/js/featherlight.min.js?1611195106"></script>
    <script src="/hono/docs/js/html5shiv-printshiv.min.js?1611195106"></script>
    <script src="/hono/docs/js/highlight.pack.js?1611195106"></script>
    <script>hljs.initHighlightingOnLoad();</script>
    <script src="/hono/docs/js/modernizr.custom.71422.js?1611195106"></script>
    <script src="/hono/docs/js/learn.js?1611195106"></script>
    <script src="/hono/docs/js/hugo-learn.js?1611195106"></script>

    <link href="/hono/docs/mermaid/mermaid.css?1611195106" type="text/css" rel="stylesheet" />
    <script src="/hono/docs/mermaid/mermaid.js?1611195106"></script>
    <script>
        mermaid.initialize({ startOnLoad: true });
    </script>
    




<script>
    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>


<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>

  </body>
</html>

