<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 from src/site/markdown/api.md at 2021-12-13
 | Rendered using Apache Maven Fluido Skin 1.7
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20211213" />
    <meta http-equiv="Content-Language" content="en" />
    <title>AsterixDB &#x2013; HTTP API to AsterixDB</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script type="text/javascript" src="./js/apache-maven-fluido-1.7.min.js"></script>

  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="./" id="bannerLeft"><img src="images/asterixlogo.png"  alt="AsterixDB"/></a></div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2021-12-13</li>
      <li id="projectVersion" class="pull-right">Version: 0.9.7.1</li>
      <li class="pull-right"><a href="index.html" title="Documentation Home">Documentation Home</a></li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
    <ul class="nav nav-list">
      <li class="nav-header">Get Started - Installation</li>
    <li><a href="ncservice.html" title="Option 1: using NCService"><span class="none"></span>Option 1: using NCService</a></li>
    <li><a href="ansible.html" title="Option 2: using Ansible"><span class="none"></span>Option 2: using Ansible</a></li>
    <li><a href="aws.html" title="Option 3: using Amazon Web Services"><span class="none"></span>Option 3: using Amazon Web Services</a></li>
      <li class="nav-header">AsterixDB Primer</li>
    <li><a href="sqlpp/primer-sqlpp.html" title="Using SQL++"><span class="none"></span>Using SQL++</a></li>
      <li class="nav-header">Data Model</li>
    <li><a href="datamodel.html" title="The Asterix Data Model"><span class="none"></span>The Asterix Data Model</a></li>
      <li class="nav-header">Queries</li>
    <li><a href="sqlpp/manual.html" title="The SQL++ Query Language"><span class="none"></span>The SQL++ Query Language</a></li>
    <li><a href="SQLPP.html" title="Raw SQL++ Grammar"><span class="none"></span>Raw SQL++ Grammar</a></li>
    <li><a href="sqlpp/builtins.html" title="Builtin Functions"><span class="none"></span>Builtin Functions</a></li>
      <li class="nav-header">API/SDK</li>
    <li class="active"><a href="#"><span class="none"></span>HTTP API</a></li>
    <li><a href="csv.html" title="CSV Output"><span class="none"></span>CSV Output</a></li>
      <li class="nav-header">Advanced Features</li>
    <li><a href="aql/externaldata.html" title="Accessing External Data"><span class="none"></span>Accessing External Data</a></li>
    <li><a href="feeds.html" title="Data Ingestion with Feeds"><span class="none"></span>Data Ingestion with Feeds</a></li>
    <li><a href="udf.html" title="User Defined Functions"><span class="none"></span>User Defined Functions</a></li>
    <li><a href="sqlpp/filters.html" title="Filter-Based LSM Index Acceleration"><span class="none"></span>Filter-Based LSM Index Acceleration</a></li>
    <li><a href="sqlpp/fulltext.html" title="Support of Full-text Queries"><span class="none"></span>Support of Full-text Queries</a></li>
    <li><a href="sqlpp/similarity.html" title="Support of Similarity Queries"><span class="none"></span>Support of Similarity Queries</a></li>
    <li><a href="interval_join.html" title="Support of Interval Joins"><span class="none"></span>Support of Interval Joins</a></li>
    <li><a href="sqlpp/arrayindex.html" title="Support of Array Indexes"><span class="none"></span>Support of Array Indexes</a></li>
      <li class="nav-header">Deprecated</li>
    <li><a href="aql/primer.html" title="AsterixDB Primer: Using AQL"><span class="none"></span>AsterixDB Primer: Using AQL</a></li>
    <li><a href="aql/manual.html" title="Queries: The Asterix Query Language (AQL)"><span class="none"></span>Queries: The Asterix Query Language (AQL)</a></li>
    <li><a href="aql/builtins.html" title="Queries: Builtin Functions (AQL)"><span class="none"></span>Queries: Builtin Functions (AQL)</a></li>
</ul>
          <hr />
          <div id="poweredBy">
            <div class="clear"></div>
            <div class="clear"></div>
            <div class="clear"></div>
            <div class="clear"></div>
<a href="./" title="AsterixDB" class="builtBy"><img class="builtBy"  alt="AsterixDB" src="images/asterixlogo.png"    /></a>
            </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<!--
 ! Licensed to the Apache Software Foundation (ASF) under one
 ! or more contributor license agreements.  See the NOTICE file
 ! distributed with this work for additional information
 ! regarding copyright ownership.  The ASF licenses this file
 ! to you under the Apache License, Version 2.0 (the
 ! "License"); you may not use this file except in compliance
 ! with the License.  You may obtain a copy of the License at
 !
 !   http://www.apache.org/licenses/LICENSE-2.0
 !
 ! Unless required by applicable law or agreed to in writing,
 ! software distributed under the License is distributed on an
 ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 ! KIND, either express or implied.  See the License for the
 ! specific language governing permissions and limitations
 ! under the License.
 !-->
<h1>HTTP API to AsterixDB</h1>
<div class="section">
<h2><a name="Table_of_Contents"></a><a name="toc" id="toc">Table of Contents</a></h2>
<ul>

<li><a href="#queryservice">Query Service API</a></li>
<li><a href="#querystatus">Query Status API</a></li>
<li><a href="#queryresult">Query Result API</a></li>
</ul></div>
<div class="section">
<h2><a name="POST_.2Fquery.2Fservice_.5BBack_to_TOC.5D"></a><a name="queryservice" id="queryservice">POST /query/service</a><font size="4"> <a href="#toc">[Back to TOC]</a></font></h2>
<p><b>Description</b> Returns result for query as JSON. The response is a JSON object that contains some result metadata along with either an embedded result or an opaque handle that can be used to navigate to the result (see the decription of the <tt>mode</tt> parameter for more details).</p>
<p><b>Parameters</b></p>
<ul>

<li><tt>statement</tt> - Specifies at least one valid SQL++ statement to run. The statements need to be urlencoded. Required.</li>
<li><tt>pretty</tt> - If the parameter <tt>pretty</tt> is given with the value <tt>true</tt>, the result will be indented. (Optional)</li>
<li><tt>client_context_id</tt> - A user-defined sequence of characters that the API receives and returns unchanged. This can be used e.g. to match individual requests, jobs, and responses. Another option could be to use it for groups of requests if an application decides to put e.g. an group identifier into that field to route groups of responses to a particular response processor.</li>
<li><tt>mode</tt> - Result delivery mode. Possible values are <tt>immediate</tt>, <tt>deferred</tt>, <tt>async</tt> (default: <tt>immediate</tt>). If the delivery mode is <tt>immediate</tt> the query result is returned with the response. If the delivery mode is <tt>deferred</tt> the response contains a handle to the <a href="#queryresult">result</a>. If the delivery mode is <tt>async</tt> the response contains a handle to the query&#x2019;s <a href="#querystatus">status</a>.</li>
<li><tt>readonly</tt> - Reject DDL and DML statements, only accept the following kinds: <a href="sqlpp/manual.html#SELECT_statements">SELECT</a>, <a href="sqlpp/manual.html#Declarations">USE</a>, <a href="sqlpp/manual.html#Declarations">DECLARE FUNCTION</a>, and <a href="sqlpp/manual.html#Performance_tuning">SET</a></li>
<li><tt>args</tt> - (SQL++ only) A JSON array where each item is a value of a <a href="sqlpp/manual.html#Parameter_references">positional query parameter</a></li>
<li><tt>$parameter_name</tt> - (SQL++ only) a JSON value of a <a href="sqlpp/manual.html#Parameter_references">named query parameter</a>.</li>
</ul>
<p><b>Command (immediate result delivery)</b></p>

<div>
<div>
<pre class="source">$ curl -v --data-urlencode &quot;statement=select 1;&quot; \
          --data pretty=true                     \
          --data client_context_id=xyz           \
          http://localhost:19002/query/service
</pre></div></div>

<p><b>Sample response</b></p>

<div>
<div>
<pre class="source">&gt; POST /query/service HTTP/1.1
&gt; Host: localhost:19002
&gt; User-Agent: curl/7.43.0
&gt; Accept: */*
&gt; Content-Length: 57
&gt; Content-Type: application/x-www-form-urlencoded
&gt;
&lt; HTTP/1.1 200 OK
&lt; transfer-encoding: chunked
&lt; connection: keep-alive
&lt; content-type: application/json; charset=utf-8
&lt;
{
    &quot;requestID&quot;: &quot;5f72e78c-482a-45bf-b174-6443c8273025&quot;,
    &quot;clientContextID&quot;: &quot;xyz&quot;,
    &quot;signature&quot;: &quot;*&quot;,
    &quot;results&quot;: [ {
        &quot;$1&quot; : 1
    } ]
    ,
    &quot;status&quot;: &quot;success&quot;,
    &quot;metrics&quot;: {
        &quot;elapsedTime&quot;: &quot;20.263371ms&quot;,
        &quot;executionTime&quot;: &quot;19.889389ms&quot;,
        &quot;resultCount&quot;: 1,
        &quot;resultSize&quot;: 15
    }
}
</pre></div></div>

<p><b>Command (<a name="deferred" id="deferred">deferred result delivery</a>)</b></p>

<div>
<div>
<pre class="source">$ curl -v --data-urlencode &quot;statement=select 1;&quot; \
          --data mode=deferred                   \
          http://localhost:19002/query/service
</pre></div></div>

<p><b>Sample response</b></p>

<div>
<div>
<pre class="source">&gt; POST /query/service HTTP/1.1
&gt; Host: localhost:19002
&gt; User-Agent: curl/7.43.0
&gt; Accept: */*
&gt; Content-Length: 37
&gt; Content-Type: application/x-www-form-urlencoded
&gt;
&lt; HTTP/1.1 200 OK
&lt; transfer-encoding: chunked
&lt; connection: keep-alive
&lt; content-type: application/json; charset=utf-8
&lt;
{
    &quot;requestID&quot;: &quot;6df7afb4-5f83-49b6-8c4b-f11ec84c4d7e&quot;,
    &quot;signature&quot;: &quot;*&quot;,
    &quot;handle&quot;: &quot;http://localhost:19002/query/service/result/7-0&quot;,
    &quot;status&quot;: &quot;success&quot;,
    &quot;metrics&quot;: {
        &quot;elapsedTime&quot;: &quot;12.270570ms&quot;,
        &quot;executionTime&quot;: &quot;11.948343ms&quot;,
        &quot;resultCount&quot;: 0,
        &quot;resultSize&quot;: 0
    }
}
</pre></div></div>

<p><b>Command (<a name="async" id="async>">async result delivery</a>)</b></p>

<div>
<div>
<pre class="source">$ curl -v --data-urlencode &quot;statement=select 1;&quot; \
          --data mode=async                      \
          http://localhost:19002/query/service
</pre></div></div>

<p><b>Sample response</b></p>

<div>
<div>
<pre class="source">&gt; POST /query/service HTTP/1.1
&gt; Host: localhost:19002
&gt; User-Agent: curl/7.43.0
&gt; Accept: */*
&gt; Content-Length: 34
&gt; Content-Type: application/x-www-form-urlencoded
&gt;
&lt; HTTP/1.1 200 OK
&lt; transfer-encoding: chunked
&lt; connection: keep-alive
&lt; content-type: application/json; charset=utf-8
&lt;
{
    &quot;requestID&quot;: &quot;c5858420-d821-4c0c-81a4-2364386827c2&quot;,
    &quot;signature&quot;: &quot;*&quot;,
    &quot;status&quot;: &quot;running&quot;,
    &quot;handle&quot;: &quot;http://localhost:19002/query/service/status/9-0&quot;,
    &quot;metrics&quot;: {
        &quot;elapsedTime&quot;: &quot;9.727006ms&quot;,
        &quot;executionTime&quot;: &quot;9.402282ms&quot;,
        &quot;resultCount&quot;: 0,
        &quot;resultSize&quot;: 0
    }
}
</pre></div></div>
</div>
<div class="section">
<h2><a name="GET_.2Fquery.2Fservice.2Fstatus_.5BBack_to_TOC.5D"></a><a name="querystatus" id="querystatus">GET /query/service/status</a><font size="4"> <a href="#toc">[Back to TOC]</a></font></h2>
<p><b>Description</b> Returns status of an <tt>async</tt> query request. The response is a JSON object that has a similar structure to the responses for the <a href="#queryservice">/query/service</a> endpoint. Possible status values for the status are <tt>running</tt>, <tt>success</tt>, <tt>timeout</tt>, <tt>failed</tt>, and <tt>fatal</tt>. If the status value is <tt>success</tt>, the response also contains a handle to the <a href="#queryresult">result</a>. URLs for this endpoint are usually not constructed by the application, they are simply extracted from the <tt>handle</tt> field of the response to a request to the <a href="#queryservice">/query/service</a> endpoint.</p>
<p><b>Command</b></p>
<p>This example shows a request/reponse for the (opaque) status handle that was returned by the <a href="#async">async result delivery</a> example.</p>

<div>
<div>
<pre class="source">$ curl -v http://localhost:19002/query/service/status/9-0
</pre></div></div>

<p><b>Sample response</b></p>

<div>
<div>
<pre class="source">&gt; GET /query/service/status/9-0 HTTP/1.1
&gt; Host: localhost:19002
&gt; User-Agent: curl/7.43.0
&gt; Accept: */*
&gt;
&lt; HTTP/1.1 200 OK
&lt; transfer-encoding: chunked
&lt; connection: keep-alive
&lt; content-type: application/json; charset=utf-8
&lt;
{
    &quot;status&quot;: &quot;success&quot;,
    &quot;handle&quot;: &quot;http://localhost:19002/query/service/result/9-0&quot;
}
</pre></div></div>
</div>
<div class="section">
<h2><a name="GET_.2Fquery.2Fservice.2Fresult_.5BBack_to_TOC.5D"></a><a name="queryresult" id="queryresult">GET /query/service/result</a><font size="4"> <a href="#toc">[Back to TOC]</a></font></h2>
<p><b>Description</b> Returns result set for an <tt>async</tt> or <tt>deferred</tt> query request. The response is a plain result without a wrapping JSON object. URLs for this endpoint are usually not constructed by the application, they are simply extracted from the <tt>handle</tt> field of the response to a request to the <a href="#queryservice">/query/service</a> or the <a href="#querystatus">/query/service/status</a> endpoint.</p>
<p><b>Command</b></p>
<p>This example shows a request/reponse for the (opaque) result handle that was returned by the <a href="#deferred">deferred result delivery</a> example.</p>

<div>
<div>
<pre class="source">$ curl -v http://localhost:19002/query/service/result/7-0
</pre></div></div>

<p><b>Sample response</b></p>

<div>
<div>
<pre class="source">&gt; GET /query/service/result/7-0 HTTP/1.1
&gt; Host: localhost:19002
&gt; User-Agent: curl/7.43.0
&gt; Accept: */*
&gt;
&lt; HTTP/1.1 200 OK
&lt; transfer-encoding: chunked
&lt; connection: keep-alive
&lt; content-type: application/json
&lt;
[ { &quot;$1&quot;: 1 }
 ]
</pre></div></div></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<div class="row-fluid">Apache AsterixDB, AsterixDB, Apache, the Apache
        feather logo, and the Apache AsterixDB project logo are either
        registered trademarks or trademarks of The Apache Software
        Foundation in the United States and other countries.
        All other marks mentioned may be trademarks or registered
        trademarks of their respective owners.
      </div>
        </div>
      </div>
    </footer>
  </body>
</html>
