Added: zeppelin/site/docs/0.7.3/rest-api/rest-interpreter.html URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.7.3/rest-api/rest-interpreter.html?rev=1809223&view=auto ============================================================================== --- zeppelin/site/docs/0.7.3/rest-api/rest-interpreter.html (added) +++ zeppelin/site/docs/0.7.3/rest-api/rest-interpreter.html Thu Sep 21 20:33:57 2017 @@ -0,0 +1,777 @@ + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Apache Zeppelin 0.7.3 Documentation: Apache Zeppelin Interpreter REST API</title> + <meta name="description" content="This page contains Apache Zeppelin Interpreter REST API information."> + <meta name="author" content="The Apache Software Foundation"> + + <!-- Enable responsive viewport --> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Le HTML5 shim, for IE6-8 support of HTML elements --> + <!--[if lt IE 9]> + <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> + + <!-- Le styles --> + <link href="/docs/0.7.3/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet"> + <link href="/docs/0.7.3/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css"> + <link href="/docs/0.7.3/assets/themes/zeppelin/css/syntax.css" rel="stylesheet" type="text/css" media="screen" /> + <!-- Le fav and touch icons --> + <!-- Update these with your own images + <link rel="shortcut icon" href="images/favicon.ico"> + <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> + <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> + <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> + --> + + <!-- Js --> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/docs.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/anchor.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/toc.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/lunr.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/search.js"></script> + + <!-- atom & rss feed --> + <link href="/docs/0.7.3/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed"> + <link href="/docs/0.7.3/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed"> + </head> + + <body> + + <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <div class="navbar-brand"> + <a class="navbar-brand-main" href="http://zeppelin.apache.org"> + <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin"> + <span style="vertical-align:middle">Zeppelin</span> + </a> + <a class="navbar-brand-version" href="/docs/0.7.3"> + <span><small>0.7.3</small></span> + </a> + </div> + </div> + <nav class="navbar-collapse collapse" role="navigation"> + <ul class="nav navbar-nav"> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/docs/0.7.3/index.html">What is Apache Zeppelin ?</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Getting Started</b><span></li> + <li><a href="/docs/0.7.3/install/install.html">Install</a></li> + <li><a href="/docs/0.7.3/install/configuration.html">Configuration</a></li> + <li><a href="/docs/0.7.3/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li> + <li><a href="/docs/0.7.3/quickstart/tutorial.html">Tutorial</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Basic Feature Guide</b><span></li> + <li><a href="/docs/0.7.3/manual/dynamicform.html">Dynamic Form</a></li> + <li><a href="/docs/0.7.3/manual/publish.html">Publish your Paragraph</a></li> + <li><a href="/docs/0.7.3/manual/notebookashomepage.html">Customize Zeppelin Homepage</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>More</b><span></li> + <li><a href="/docs/0.7.3/install/upgrade.html">Upgrade Zeppelin Version</a></li> + <li><a href="/docs/0.7.3/install/build.html">Build from source</a></li> + <li><a href="/docs/0.7.3/quickstart/install_with_flink_and_spark_cluster.html">Install Zeppelin with Flink and Spark Clusters Tutorial</a></li> + </ul> + </li> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a> + <ul class="dropdown-menu scrollable-menu"> + <li><a href="/docs/0.7.3/manual/interpreters.html">Overview</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Usage</b><span></li> + <li><a href="/docs/0.7.3/manual/interpreterinstallation.html">Interpreter Installation</a></li> + <!--<li><a href="/docs/0.7.3/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>--> + <li><a href="/docs/0.7.3/manual/dependencymanagement.html">Interpreter Dependency Management</a></li> + <li><a href="/docs/0.7.3/manual/userimpersonation.html">Interpreter User Impersonation</a></li> + <li><a href="/docs/0.7.3/manual/interpreterexechooks.html">Interpreter Execution Hooks (Experimental)</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Available Interpreters</b><span></li> + <li><a href="/docs/0.7.3/interpreter/alluxio.html">Alluxio</a></li> + <li><a href="/docs/0.7.3/interpreter/beam.html">Beam</a></li> + <li><a href="/docs/0.7.3/interpreter/bigquery.html">BigQuery</a></li> + <li><a href="/docs/0.7.3/interpreter/cassandra.html">Cassandra</a></li> + <li><a href="/docs/0.7.3/interpreter/elasticsearch.html">Elasticsearch</a></li> + <li><a href="/docs/0.7.3/interpreter/flink.html">Flink</a></li> + <li><a href="/docs/0.7.3/interpreter/geode.html">Geode</a></li> + <li><a href="/docs/0.7.3/interpreter/hbase.html">HBase</a></li> + <li><a href="/docs/0.7.3/interpreter/hdfs.html">HDFS</a></li> + <li><a href="/docs/0.7.3/interpreter/hive.html">Hive</a></li> + <li><a href="/docs/0.7.3/interpreter/ignite.html">Ignite</a></li> + <li><a href="/docs/0.7.3/interpreter/jdbc.html">JDBC</a></li> + <li><a href="/docs/0.7.3/interpreter/kylin.html">Kylin</a></li> + <li><a href="/docs/0.7.3/interpreter/lens.html">Lens</a></li> + <li><a href="/docs/0.7.3/interpreter/livy.html">Livy</a></li> + <li><a href="/docs/0.7.3/interpreter/markdown.html">Markdown</a></li> + <li><a href="/docs/0.7.3/interpreter/pig.html">Pig</a></li> + <li><a href="/docs/0.7.3/interpreter/python.html">Python</a></li> + <li><a href="/docs/0.7.3/interpreter/postgresql.html">Postgresql, HAWQ</a></li> + <li><a href="/docs/0.7.3/interpreter/r.html">R</a></li> + <li><a href="/docs/0.7.3/interpreter/scalding.html">Scalding</a></li> + <li><a href="/docs/0.7.3/interpreter/scio.html">Scio</a></li> + <li><a href="/docs/0.7.3/interpreter/shell.html">Shell</a></li> + <li><a href="/docs/0.7.3/interpreter/spark.html">Spark</a></li> + </ul> + </li> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Display System <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li class="title"><span><b>Basic Display System</b><span></li> + <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#text">Text</a></li> + <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#html">Html</a></li> + <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#table">Table</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Angular API</b><span></li> + <li><a href="/docs/0.7.3/displaysystem/back-end-angular.html">Angular (backend API)</a></li> + <li><a href="/docs/0.7.3/displaysystem/front-end-angular.html">Angular (frontend API)</a></li> + </ul> + </li> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a> + <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;"> + <li class="title"><span><b>Notebook Storage</b><span></li> + <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li> + <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li> + <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li> + <li><a href="/docs/0.7.3/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub Storage</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>REST API</b><span></li> + <li><a href="/docs/0.7.3/rest-api/rest-interpreter.html">Interpreter API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-notebook.html">Notebook API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-notebookRepo.html">Notebook Repository API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-configuration.html">Configuration API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-credential.html">Credential API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-helium.html">Helium API</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Security</b><span></li> + <li><a href="/docs/0.7.3/security/shiroauthentication.html">Shiro Authentication</a></li> + <li><a href="/docs/0.7.3/security/notebook_authorization.html">Notebook Authorization</a></li> + <li><a href="/docs/0.7.3/security/datasource_authorization.html">Data Source Authorization</a></li> + <li><a href="/docs/0.7.3/security/http_security_headers.html">HTTP Security Headers</a></li> + <li><a href="/docs/0.7.3/security/helium_authorization.html">Helium Authorization</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Advanced</b><span></li> + <li><a href="/docs/0.7.3/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li> + <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-standalone-mode">Zeppelin on Spark Cluster Mode (Standalone)</a></li> + <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-yarn-mode">Zeppelin on Spark Cluster Mode (YARN)</a></li> + <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-mesos-mode">Zeppelin on Spark Cluster Mode (Mesos)</a></li> + <li><a href="/docs/0.7.3/install/cdh.html">Zeppelin on CDH</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Contibute</b><span></li> + <li><a href="/docs/0.7.3/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li> + <li><a href="/docs/0.7.3/development/writingzeppelinvisualization.html">Writing Zeppelin Visualization (Experimental)</a></li> + <li><a href="/docs/0.7.3/development/writingzeppelinapplication.html">Writing Zeppelin Application (Experimental)</a></li> + <li><a href="/docs/0.7.3/development/howtocontribute.html">How to contribute (code)</a></li> + <li><a href="/docs/0.7.3/development/howtocontributewebsite.html">How to contribute (website)</a></li> + </ul> + </li> + <li> + <a href="/docs/0.7.3/search.html" class="nav-search-link"> + <span class="fa fa-search nav-search-icon"></span> + </a> + </li> + </ul> + </nav><!--/.navbar-collapse --> + </div> + </div> + + + + <div class="content"> + +<!--<div class="hero-unit Apache Zeppelin Interpreter REST API"> + <h1></h1> +</div> +--> + +<div class="row"> + <div class="col-md-12"> + <!-- +Licensed 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>Apache Zeppelin Interpreter REST API</h1> + +<div id="toc"></div> + +<h2>Overview</h2> + +<p>Apache Zeppelin provides several REST APIs for interaction and remote activation of zeppelin functionality. +All REST APIs are available starting with the following endpoint <code>http://[zeppelin-server]:[zeppelin-port]/api</code>. +Note that Apache Zeppelin REST APIs receive or return JSON objects, it is recommended for you to install some JSON viewers such as <a href="https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc">JSONView</a>.</p> + +<p>If you work with Apache Zeppelin and find a need for an additional REST API, please <a href="http://zeppelin.apache.org/community.html">file an issue or send us an email</a>.</p> + +<h2>Interpreter REST API List</h2> + +<p>The role of registered interpreters, settings and interpreters group are described in <a href="../manual/interpreters.html">here</a>.</p> + +<h3>List of registered interpreters</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method returns all the registered interpreters available on the server.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <pre> +{ + "status": "OK", + "message": "", + "body": { + "md.md": { + "name": "md", + "group": "md", + "className": "org.apache.zeppelin.markdown.Markdown", + "properties": {}, + "path": "/zeppelin/interpreter/md" + }, + "spark.spark": { + "name": "spark", + "group": "spark", + "className": "org.apache.zeppelin.spark.SparkInterpreter", + "properties": { + "spark.executor.memory": { + "defaultValue": "1g", + "description": "Executor memory per worker instance. ex) 512m, 32g" + }, + "spark.cores.max": { + "defaultValue": "", + "description": "Total number of cores to use. Empty value uses all available core." + }, + }, + "path": "/zeppelin/interpreter/spark" + }, + "spark.sql": { + "name": "sql", + "group": "spark", + "className": "org.apache.zeppelin.spark.SparkSqlInterpreter", + "properties": { + "zeppelin.spark.maxResult": { + "defaultValue": "1000", + "description": "Max number of Spark SQL result to display." + } + }, + "path": "/zeppelin/interpreter/spark" + } + } +} + </pre> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>List of registered interpreter settings</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method returns all the interpreters settings registered on the server.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <pre> +{ + "status": "OK", + "message": "", + "body": [ + { + "id": "2AYUGP2D5", + "name": "md", + "group": "md", + "properties": { + "<em>empty</em>": "" + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.markdown.Markdown", + "name": "md" + } + ], + "dependencies": [] + },<br> + { + "id": "2AY6GV7Q3", + "name": "spark", + "group": "spark", + "properties": { + "spark.cores.max": "", + "spark.executor.memory": "1g", + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.spark.SparkInterpreter", + "name": "spark" + }, + { + "class": "org.apache.zeppelin.spark.SparkSqlInterpreter", + "name": "sql" + } + ], + "dependencies": [ + { + "groupArtifactVersion": "com.databricks:spark-csv_2.10:1.3.0" + } + ] + } + ] +} + </pre> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Get a registered interpreter setting by the setting id</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method returns a registered interpreter setting on the server.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[setting ID]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> + 400 if such interpreter setting id does not exist <br/> + 500 for any other errors + </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <pre> +{ + "status": "OK", + "message": "", + "body": { + "id": "2AYW25ANY", + "name": "Markdown setting name", + "group": "md", + "properties": { + "propname": "propvalue" + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.markdown.Markdown", + "name": "md" + } + ], + "dependencies": [ + { + "groupArtifactVersion": "groupId:artifactId:version", + "exclusions": [ + "groupId:artifactId" + ] + } + ] + } +} + </pre> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Create a new interpreter setting</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method adds a new interpreter setting using a registered interpreter to the server.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td>Fail code</td> + <td> + 400 if the input json is empty <br/> + 500 for any other errors + </td> + </tr> + <tr> + <td>Sample JSON input</td> + <td> + <pre> +{ + "name": "Markdown setting name", + "group": "md", + "properties": { + "propname": "propvalue" + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.markdown.Markdown", + "name": "md" + } + ], + "dependencies": [ + { + "groupArtifactVersion": "groupId:artifactId:version", + "exclusions": [ + "groupId:artifactId" + ] + } + ] +} + </pre> + </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <pre> +{ + "status": "CREATED", + "message": "", + "body": { + "id": "2AYW25ANY", + "name": "Markdown setting name", + "group": "md", + "properties": { + "propname": "propvalue" + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.markdown.Markdown", + "name": "md" + } + ], + "dependencies": [ + { + "groupArtifactVersion": "groupId:artifactId:version", + "exclusions": [ + "groupId:artifactId" + ] + } + ] + } +} + </pre> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Update an interpreter setting</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>PUT</code> method updates an interpreter setting with new properties.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[interpreter ID]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON input</td> + <td> + <pre> +{ + "name": "Markdown setting name", + "group": "md", + "properties": { + "propname": "Otherpropvalue" + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.markdown.Markdown", + "name": "md" + } + ], + "dependencies": [ + { + "groupArtifactVersion": "groupId:artifactId:version", + "exclusions": [ + "groupId:artifactId" + ] + } + ] +} + </pre> + </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <pre> +{ + "status": "OK", + "message": "", + "body": { + "id": "2AYW25ANY", + "name": "Markdown setting name", + "group": "md", + "properties": { + "propname": "Otherpropvalue" + }, + "interpreterGroup": [ + { + "class": "org.apache.zeppelin.markdown.Markdown", + "name": "md" + } + ], + "dependencies": [ + { + "groupArtifactVersion": "groupId:artifactId:version", + "exclusions": [ + "groupId:artifactId" + ] + } + ] + } +} + </pre> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Delete an interpreter setting</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method deletes an given interpreter setting.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[interpreter ID]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <code>{"status":"OK"}</code> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Restart an interpreter</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>PUT</code> method restarts the given interpreter id.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/restart/[interpreter ID]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON input (Optional)</td> + <td> + <pre> +{ + "noteId": "2AVQJVC8N" +} + </pre> + </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <code>{"status":"OK"}</code> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Add a new repository for dependency resolving</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method adds new repository.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/repository</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON input</td> + <td> + <pre> +{ + "id": "securecentral", + "url": "https://repo1.maven.org/maven2", + "snapshot": false +} + </pre> + </td> + </tr> + <tr> + <td>Sample JSON response</td> + <td> + <code>{"status":"OK"}</code> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Delete a repository for dependency resolving</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method delete repository with given id.</td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/interpreter/repository/[repository ID]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + </table></p> + + </div> +</div> + + + <hr> + <footer> + <!-- <p>© 2017 The Apache Software Foundation</p>--> + </footer> + </div> + + + + + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-45176241-5', 'zeppelin.apache.org'); + ga('require', 'linkid', 'linkid.js'); + ga('send', 'pageview'); + +</script> + + + + </body> +</html> +
Added: zeppelin/site/docs/0.7.3/rest-api/rest-notebook.html URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.7.3/rest-api/rest-notebook.html?rev=1809223&view=auto ============================================================================== --- zeppelin/site/docs/0.7.3/rest-api/rest-notebook.html (added) +++ zeppelin/site/docs/0.7.3/rest-api/rest-notebook.html Thu Sep 21 20:33:57 2017 @@ -0,0 +1,1516 @@ + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Apache Zeppelin 0.7.3 Documentation: Apache Zeppelin Notebook REST API</title> + <meta name="description" content="This page contains Apache Zeppelin Notebook REST API information."> + <meta name="author" content="The Apache Software Foundation"> + + <!-- Enable responsive viewport --> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Le HTML5 shim, for IE6-8 support of HTML elements --> + <!--[if lt IE 9]> + <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> + + <!-- Le styles --> + <link href="/docs/0.7.3/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet"> + <link href="/docs/0.7.3/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css"> + <link href="/docs/0.7.3/assets/themes/zeppelin/css/syntax.css" rel="stylesheet" type="text/css" media="screen" /> + <!-- Le fav and touch icons --> + <!-- Update these with your own images + <link rel="shortcut icon" href="images/favicon.ico"> + <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> + <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> + <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> + --> + + <!-- Js --> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/docs.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/anchor.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/toc.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/lunr.min.js"></script> + <script src="/docs/0.7.3/assets/themes/zeppelin/js/search.js"></script> + + <!-- atom & rss feed --> + <link href="/docs/0.7.3/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed"> + <link href="/docs/0.7.3/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed"> + </head> + + <body> + + <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <div class="navbar-brand"> + <a class="navbar-brand-main" href="http://zeppelin.apache.org"> + <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin"> + <span style="vertical-align:middle">Zeppelin</span> + </a> + <a class="navbar-brand-version" href="/docs/0.7.3"> + <span><small>0.7.3</small></span> + </a> + </div> + </div> + <nav class="navbar-collapse collapse" role="navigation"> + <ul class="nav navbar-nav"> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="/docs/0.7.3/index.html">What is Apache Zeppelin ?</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Getting Started</b><span></li> + <li><a href="/docs/0.7.3/install/install.html">Install</a></li> + <li><a href="/docs/0.7.3/install/configuration.html">Configuration</a></li> + <li><a href="/docs/0.7.3/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li> + <li><a href="/docs/0.7.3/quickstart/tutorial.html">Tutorial</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Basic Feature Guide</b><span></li> + <li><a href="/docs/0.7.3/manual/dynamicform.html">Dynamic Form</a></li> + <li><a href="/docs/0.7.3/manual/publish.html">Publish your Paragraph</a></li> + <li><a href="/docs/0.7.3/manual/notebookashomepage.html">Customize Zeppelin Homepage</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>More</b><span></li> + <li><a href="/docs/0.7.3/install/upgrade.html">Upgrade Zeppelin Version</a></li> + <li><a href="/docs/0.7.3/install/build.html">Build from source</a></li> + <li><a href="/docs/0.7.3/quickstart/install_with_flink_and_spark_cluster.html">Install Zeppelin with Flink and Spark Clusters Tutorial</a></li> + </ul> + </li> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a> + <ul class="dropdown-menu scrollable-menu"> + <li><a href="/docs/0.7.3/manual/interpreters.html">Overview</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Usage</b><span></li> + <li><a href="/docs/0.7.3/manual/interpreterinstallation.html">Interpreter Installation</a></li> + <!--<li><a href="/docs/0.7.3/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>--> + <li><a href="/docs/0.7.3/manual/dependencymanagement.html">Interpreter Dependency Management</a></li> + <li><a href="/docs/0.7.3/manual/userimpersonation.html">Interpreter User Impersonation</a></li> + <li><a href="/docs/0.7.3/manual/interpreterexechooks.html">Interpreter Execution Hooks (Experimental)</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Available Interpreters</b><span></li> + <li><a href="/docs/0.7.3/interpreter/alluxio.html">Alluxio</a></li> + <li><a href="/docs/0.7.3/interpreter/beam.html">Beam</a></li> + <li><a href="/docs/0.7.3/interpreter/bigquery.html">BigQuery</a></li> + <li><a href="/docs/0.7.3/interpreter/cassandra.html">Cassandra</a></li> + <li><a href="/docs/0.7.3/interpreter/elasticsearch.html">Elasticsearch</a></li> + <li><a href="/docs/0.7.3/interpreter/flink.html">Flink</a></li> + <li><a href="/docs/0.7.3/interpreter/geode.html">Geode</a></li> + <li><a href="/docs/0.7.3/interpreter/hbase.html">HBase</a></li> + <li><a href="/docs/0.7.3/interpreter/hdfs.html">HDFS</a></li> + <li><a href="/docs/0.7.3/interpreter/hive.html">Hive</a></li> + <li><a href="/docs/0.7.3/interpreter/ignite.html">Ignite</a></li> + <li><a href="/docs/0.7.3/interpreter/jdbc.html">JDBC</a></li> + <li><a href="/docs/0.7.3/interpreter/kylin.html">Kylin</a></li> + <li><a href="/docs/0.7.3/interpreter/lens.html">Lens</a></li> + <li><a href="/docs/0.7.3/interpreter/livy.html">Livy</a></li> + <li><a href="/docs/0.7.3/interpreter/markdown.html">Markdown</a></li> + <li><a href="/docs/0.7.3/interpreter/pig.html">Pig</a></li> + <li><a href="/docs/0.7.3/interpreter/python.html">Python</a></li> + <li><a href="/docs/0.7.3/interpreter/postgresql.html">Postgresql, HAWQ</a></li> + <li><a href="/docs/0.7.3/interpreter/r.html">R</a></li> + <li><a href="/docs/0.7.3/interpreter/scalding.html">Scalding</a></li> + <li><a href="/docs/0.7.3/interpreter/scio.html">Scio</a></li> + <li><a href="/docs/0.7.3/interpreter/shell.html">Shell</a></li> + <li><a href="/docs/0.7.3/interpreter/spark.html">Spark</a></li> + </ul> + </li> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Display System <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li class="title"><span><b>Basic Display System</b><span></li> + <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#text">Text</a></li> + <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#html">Html</a></li> + <li><a href="/docs/0.7.3/displaysystem/basicdisplaysystem.html#table">Table</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Angular API</b><span></li> + <li><a href="/docs/0.7.3/displaysystem/back-end-angular.html">Angular (backend API)</a></li> + <li><a href="/docs/0.7.3/displaysystem/front-end-angular.html">Angular (frontend API)</a></li> + </ul> + </li> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a> + <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;"> + <li class="title"><span><b>Notebook Storage</b><span></li> + <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li> + <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li> + <li><a href="/docs/0.7.3/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li> + <li><a href="/docs/0.7.3/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub Storage</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>REST API</b><span></li> + <li><a href="/docs/0.7.3/rest-api/rest-interpreter.html">Interpreter API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-notebook.html">Notebook API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-notebookRepo.html">Notebook Repository API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-configuration.html">Configuration API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-credential.html">Credential API</a></li> + <li><a href="/docs/0.7.3/rest-api/rest-helium.html">Helium API</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Security</b><span></li> + <li><a href="/docs/0.7.3/security/shiroauthentication.html">Shiro Authentication</a></li> + <li><a href="/docs/0.7.3/security/notebook_authorization.html">Notebook Authorization</a></li> + <li><a href="/docs/0.7.3/security/datasource_authorization.html">Data Source Authorization</a></li> + <li><a href="/docs/0.7.3/security/http_security_headers.html">HTTP Security Headers</a></li> + <li><a href="/docs/0.7.3/security/helium_authorization.html">Helium Authorization</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Advanced</b><span></li> + <li><a href="/docs/0.7.3/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li> + <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-standalone-mode">Zeppelin on Spark Cluster Mode (Standalone)</a></li> + <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-yarn-mode">Zeppelin on Spark Cluster Mode (YARN)</a></li> + <li><a href="/docs/0.7.3/install/spark_cluster_mode.html#spark-on-mesos-mode">Zeppelin on Spark Cluster Mode (Mesos)</a></li> + <li><a href="/docs/0.7.3/install/cdh.html">Zeppelin on CDH</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span><b>Contibute</b><span></li> + <li><a href="/docs/0.7.3/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li> + <li><a href="/docs/0.7.3/development/writingzeppelinvisualization.html">Writing Zeppelin Visualization (Experimental)</a></li> + <li><a href="/docs/0.7.3/development/writingzeppelinapplication.html">Writing Zeppelin Application (Experimental)</a></li> + <li><a href="/docs/0.7.3/development/howtocontribute.html">How to contribute (code)</a></li> + <li><a href="/docs/0.7.3/development/howtocontributewebsite.html">How to contribute (website)</a></li> + </ul> + </li> + <li> + <a href="/docs/0.7.3/search.html" class="nav-search-link"> + <span class="fa fa-search nav-search-icon"></span> + </a> + </li> + </ul> + </nav><!--/.navbar-collapse --> + </div> + </div> + + + + <div class="content"> + +<!--<div class="hero-unit Apache Zeppelin Notebook REST API"> + <h1></h1> +</div> +--> + +<div class="row"> + <div class="col-md-12"> + <!-- +Licensed 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>Apache Zeppelin Notebook REST API</h1> + +<div id="toc"></div> + +<h2>Overview</h2> + +<p>Apache Zeppelin provides several REST APIs for interaction and remote activation of zeppelin functionality. +All REST APIs are available starting with the following endpoint <code>http://[zeppelin-server]:[zeppelin-port]/api</code>. +Note that Apache Zeppelin REST APIs receive or return JSON objects, it is recommended for you to install some JSON viewers such as <a href="https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc">JSONView</a>. +If you work with Apache Zeppelin and find a need for an additional REST API, please <a href="http://zeppelin.apache.org/community.html">file an issue or send us an email</a>.</p> + +<p>Notebooks REST API supports the following operations: List, Create, Get, Delete, Clone, Run, Export, Import as detailed in the following tables.</p> + +<h2>Note operations</h2> + +<h3>List of the notes</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method lists the available notes on your server. + Notebook JSON contains the <code>name</code> and <code>id</code> of all notes. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "OK", + "message": "", + "body": [ + { + "name":"Homepage", + "id":"2AV4WUEMK" + }, + { + "name":"Zeppelin Tutorial", + "id":"2A94M5J1Z" + } + ] +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Create a new note</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method creates a new note using the given name or default name if none given. + The body field of the returned JSON contains the new note id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON input (without paragraphs) </td> + <td><pre>{"name": "name of new note"}</pre></td> + </tr> + <tr> + <td> sample JSON input (with initial paragraphs) </td> + <td><pre> +{ + "name": "name of new note", + "paragraphs": [ + { + "title": "paragraph title1", + "text": "paragraph text1" + }, + { + "title": "paragraph title2", + "text": "paragraph text2" + } + ] +}</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "CREATED", + "message": "", + "body": "2AZPHY918" +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Get the status of all paragraphs</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method gets the status of all paragraphs by the given note id. + The body field of the returned JSON contains of the array that compose of the paragraph id, paragraph status, paragraph finish date, paragraph started date. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "OK", + "body": [ + { + "id":"20151121-212654_766735423", + "status":"FINISHED", + "finished":"Tue Nov 24 14:21:40 KST 2015", + "started":"Tue Nov 24 14:21:39 KST 2015" + }, + { + "progress":"1", + "id":"20151121-212657_730976687", + "status":"RUNNING", + "finished":"Tue Nov 24 14:21:35 KST 2015", + "started":"Tue Nov 24 14:21:40 KST 2015" + } + ] +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Get an existing note information</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method retrieves an existing note's information using the given id. + The body field of the returned JSON contain information about paragraphs in the note. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "OK", + "message": "", + "body": { + "paragraphs": [ + { + "text": "%sql \nselect age, count(1) value\nfrom bank \nwhere age < 30 \ngroup by age \norder by age", + "config": { + "colWidth": 4, + "graph": { + "mode": "multiBarChart", + "height": 300, + "optionOpen": false, + "keys": [ + { + "name": "age", + "index": 0, + "aggr": "sum" + } + ], + "values": [ + { + "name": "value", + "index": 1, + "aggr": "sum" + } + ], + "groups": [], + "scatter": { + "xAxis": { + "name": "age", + "index": 0, + "aggr": "sum" + }, + "yAxis": { + "name": "value", + "index": 1, + "aggr": "sum" + } + } + } + }, + "settings": { + "params": {}, + "forms": {} + }, + "jobName": "paragraph_1423500782552_-1439281894", + "id": "20150210-015302_1492795503", + "results": { + "code": "SUCCESS", + "msg": [ + { + "type": "TABLE", + "data": "age\tvalue\n19\t4\n20\t3\n21\t7\n22\t9\n23\t20\n24\t24\n25\t44\n26\t77\n27\t94\n28\t103\n29\t97\n" + } + ] + }, + "dateCreated": "Feb 10, 2015 1:53:02 AM", + "dateStarted": "Jul 3, 2015 1:43:17 PM", + "dateFinished": "Jul 3, 2015 1:43:23 PM", + "status": "FINISHED", + "progressUpdateIntervalMs": 500 + } + ], + "name": "Zeppelin Tutorial", + "id": "2A94M5J1Z", + "angularObjects": {}, + "config": { + "looknfeel": "default" + }, + "info": {} + } +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Delete a note</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method deletes a note by the given note id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK","message": ""}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Clone a note</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method clones a note by the given id and create a new note using the given name + or default name if none given. + The body field of the returned JSON contains the new note id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON input </td> + <td><pre>{"name": "name of new note"}</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "CREATED", + "message": "", + "body": "2AZPHY918" +}</pre></td> + </tr> + </table></p> + +<p><br /></p> + +<h3>Export a note</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method exports a note by the given id and gernerates a JSON + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/export/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <td> sample JSON response </td> + <td><pre>{ + "paragraphs": [ + { + "text": "%md This is my new paragraph in my new note", + "dateUpdated": "Jan 8, 2016 4:49:38 PM", + "config": { + "enabled": true + }, + "settings": { + "params": {}, + "forms": {} + }, + "jobName": "paragraph_1452300578795_1196072540", + "id": "20160108-164938_1685162144", + "dateCreated": "Jan 8, 2016 4:49:38 PM", + "status": "READY", + "progressUpdateIntervalMs": 500 + } + ], + "name": "source note for export", + "id": "2B82H3RR1", + "angularObjects": {}, + "config": {}, + "info": {} +}</pre></td> + </tr> + </table></p> + +<p><br /></p> + +<h3>Import a note</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method imports a note from the note JSON input + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/import</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>sample JSON input</td> + <td><pre> +{ + "paragraphs": [ + { + "text": "%md This is my new paragraph in my new note", + "dateUpdated": "Jan 8, 2016 4:49:38 PM", + "config": { + "enabled": true + }, + "settings": { + "params": {}, + "forms": {} + }, + "jobName": "paragraph_1452300578795_1196072540", + "id": "20160108-164938_1685162144", + "dateCreated": "Jan 8, 2016 4:49:38 PM", + "status": "READY", + "progressUpdateIntervalMs": 500 + } + ], + "name": "source note for export", + "id": "2B82H3RR1", + "angularObjects": {}, + "config": {}, + "info": {} +}</pre></td> + </tr> + <tr> + <td>sample JSON response</td> + <td><pre> +{ + "status": "CREATED", + "message": "", + "body": "2AZPHY918" +}</pre></td> + </tr> + </table></p> + +<h3>Run all paragraphs</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td> + This <code>POST</code> method runs all paragraphs in the given note id. <br /> + If you can not find Note id 404 returns. + If there is a problem with the interpreter returns a 412 error. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 404 or 412</td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK"}</pre></td> + </tr> + <tr> + <td> sample JSON error response </td> + <td> + <pre> + { + "status": "NOT<em>FOUND", + "message": "note not found." + } + </pre><br /> + <pre> + { + "status": "PRECONDITION</em>FAILED", + "message": "paragraph<em>1469771130099</em>-278315611 Not selected or Invalid Interpreter bind" + } + </pre> + </td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Stop all paragraphs</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method stops all paragraphs in the given note id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status":"OK"}</pre></td> + </tr> + </table></p> + +<p><br /></p> + +<h3>Clear all paragraph result</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>PUT</code> method clear all paragraph results from note of given id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/clear</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Forbidden code</td> + <td>401</td> + </tr> + <tr> + <td>Not Found code</td> + <td>404</td> + </tr> + <tr> + <td>Fail code</td> + <td>500</td> + </tr> + <tr> + <td>sample JSON response</td> + <td><pre>{"status": "OK"}</pre></td> + </tr> + </tr> + </table></p> + +<h2>Paragraph operations</h2> + +<p><br/></p> + +<h3>Create a new paragraph</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method create a new paragraph using JSON payload. + The body field of the returned JSON contain the new paragraph id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph</code></td> + </tr> + <tr> + <td>Success code</td> + <td>201</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON input (add to the last) </td> + <td><pre> +{ + "title": "Paragraph insert revised", + "text": "%spark\nprintln(\"Paragraph insert revised\")" +}</pre></td> + </tr> + <tr> + <td> sample JSON input (add to specific index) </td> + <td><pre> +{ + "title": "Paragraph insert revised", + "text": "%spark\nprintln(\"Paragraph insert revised\")", + "index": 0 +}</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "CREATED", + "message": "", + "body": "20151218-100330_1754029574" +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Get a paragraph information</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method retrieves an existing paragraph's information using the given id. + The body field of the returned JSON contain information about paragraph. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "OK", + "message": "", + "body": { + "title": "Paragraph2", + "text": "%spark\n\nprintln(\"it's paragraph2\")", + "dateUpdated": "Dec 18, 2015 7:33:54 AM", + "config": { + "colWidth": 12, + "graph": { + "mode": "table", + "height": 300, + "optionOpen": false, + "keys": [], + "values": [], + "groups": [], + "scatter": {} + }, + "enabled": true, + "title": true, + "editorMode": "ace/mode/scala" + }, + "settings": { + "params": {}, + "forms": {} + }, + "jobName": "paragraph_1450391574392_-1890856722", + "id": "20151218-073254_1105602047", + "results": { + "code": "SUCCESS", + "msg": [ + { + "type": "TEXT", + "data": "it's paragraph2\n" + } + ] + }, + "dateCreated": "Dec 18, 2015 7:32:54 AM", + "dateStarted": "Dec 18, 2015 7:33:55 AM", + "dateFinished": "Dec 18, 2015 7:33:55 AM", + "status": "FINISHED", + "progressUpdateIntervalMs": 500 + } +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Get the status of a single paragraph</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method gets the status of a single paragraph by the given note and paragraph id. + The body field of the returned JSON contains of the array that compose of the paragraph id, paragraph status, paragraph finish date, paragraph started date. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "OK", + "body": { + "id":"20151121-212654_766735423", + "status":"FINISHED", + "finished":"Tue Nov 24 14:21:40 KST 2015", + "started":"Tue Nov 24 14:21:39 KST 2015" + } +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Update paragraph configuration</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>PUT</code> method update paragraph configuration using given id so that user can change paragraph setting such as graph type, show or hide editor/result and paragraph size, etc. You can update certain fields you want, for example you can update <code>colWidth</code> field only by sending request with payload <code>{"colWidth": 12.0}</code>. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]/config</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Bad Request code</td> + <td>400</td> + </tr> + <tr> + <td>Forbidden code</td> + <td>403</td> + </tr> + <tr> + <td>Not Found code</td> + <td>404</td> + </tr> + <tr> + <td>Fail code</td> + <td>500</td> + </tr> + <tr> + <td>sample JSON input</td> + <td><pre> +{ + "colWidth": 6.0, + "graph": { + "mode": "lineChart", + "height": 200.0, + "optionOpen": false, + "keys": [ + { + "name": "age", + "index": 0.0, + "aggr": "sum" + } + ], + "values": [ + { + "name": "value", + "index": 1.0, + "aggr": "sum" + } + ], + "groups": [], + "scatter": {} + }, + "editorHide": true, + "editorMode": "ace/mode/markdown", + "tableHide": false +}</pre></td> + </tr> + <tr> + <td>sample JSON response</td> + <td><pre> +{ + "status":"OK", + "message":"", + "body":{ + "text":"%sql \nselect age, count(1) value\nfrom bank \nwhere age \u003c 30 \ngroup by age \norder by age", + "config":{ + "colWidth":6.0, + "graph":{ + "mode":"lineChart", + "height":200.0, + "optionOpen":false, + "keys":[ + { + "name":"age", + "index":0.0, + "aggr":"sum" + } + ], + "values":[ + { + "name":"value", + "index":1.0, + "aggr":"sum" + } + ], + "groups":[], + "scatter":{} + }, + "tableHide":false, + "editorMode":"ace/mode/markdown", + "editorHide":true + }, + "settings":{ + "params":{}, + "forms":{} + }, + "apps":[], + "jobName":"paragraph<em>1423500782552</em>-1439281894", + "id":"20150210-015302_1492795503", + "results":{ + "code":"SUCCESS", + "msg": [ + { + "type":"TABLE", + "data":"age\tvalue\n19\t4\n20\t3\n21\t7\n22\t9\n23\t20\n24\t24\n25\t44\n26\t77\n27\t94\n28\t103\n29\t97\n" + } + ] + }, + "dateCreated":"Feb 10, 2015 1:53:02 AM", + "dateStarted":"Jul 3, 2015 1:43:17 PM", + "dateFinished":"Jul 3, 2015 1:43:23 PM", + "status":"FINISHED", + "progressUpdateIntervalMs":500 + } +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Delete a paragraph</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method deletes a paragraph by the given note and paragraph id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK","message": ""}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Run a paragraph asynchronously</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method runs the paragraph asynchronously by given note and paragraph id. This API always return SUCCESS even if the execution of the paragraph fails later because the API is asynchronous + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON input (optional, only needed when if you want to update dynamic form's value) </td> + <td><pre> +{ + "name": "name of new note", + "params": { + "formLabel1": "value1", + "formLabel2": "value2" + } +}</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK"}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Run a paragraph synchronously</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method runs the paragraph synchronously by given note and paragraph id. This API can return SUCCESS or ERROR depending on the outcome of the paragraph execution + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/run/[noteId]/[paragraphId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON input (optional, only needed when if you want to update dynamic form's value) </td> + <td><pre> +{ + "name": "name of new note", + "params": { + "formLabel1": "value1", + "formLabel2": "value2" + } +}</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK"}</pre></td> + </tr><br> + <tr> + <td> sample JSON error </td> + <td><pre> +{ + "status": "INTERNAL_SERVER_ERROR", + "body": { + "code": "ERROR", + "type": "TEXT", + "msg": "bash: -c: line 0: unexpected EOF while looking for matching ``'\nbash: -c: line 1: syntax error: unexpected end of file\nExitValue: 2" + } +}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Stop a paragraph</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method stops the paragraph by given note and paragraph id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK"}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Move a paragraph to the specific index</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method moves a paragraph to the specific index (order) from the note. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]/move/[newIndex]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK","message": ""}</pre></td> + </tr> + </table></p> + +<p><br /></p> + +<h3>Full text search through the paragraphs in all notes</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td><code>GET</code> request will return list of matching paragraphs + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/search?q=[query]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td>Sample JSON response </td> + <td><pre> +{ + "status": "OK", + "body": [ + { + "id": "<noteId>/paragraph/<paragraphId>", + "name":"Note Name", + "snippet":"", + "text":"" + } + ] +}</pre></td> + </tr> + </table></p> + +<h2>Cron jobs</h2> + +<p><br/></p> + +<h3>Add Cron Job</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>POST</code> method adds cron job by the given note id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON input </td> + <td><pre>{"cron": "cron expression of note"}</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK"}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Remove Cron Job</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>DELETE</code> method removes cron job by the given note id. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK"}</pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Get Cron Job</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method gets cron job expression of given note id. + The body field of the returned JSON contains the cron expression. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId]</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td> Fail code</td> + <td> 500 </td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre>{"status": "OK", "body": "* * * * * ?"}</pre></td> + </tr> + </table></p> + +<h2>Permission</h2> + +<h3>Get a note permission information</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>GET</code> method gets a note authorization information. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/permissions</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Forbidden code</td> + <td>403</td> + </tr> + <tr> + <td>Fail code</td> + <td>500</td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{<br> + "status":"OK", + "message":"", + "body":{<br> + "readers":[<br> + "user2" + ], + "owners":[<br> + "user1" + ], + "writers":[<br> + "user2" + ] + } +} + </pre></td> + </tr> + </table></p> + +<p><br/></p> + +<h3>Set note permission</h3> + +<p><table class="table-configuration"> + <col width="200"> + <tr> + <td>Description</td> + <td>This <code>PUT</code> method set note authorization information. + </td> + </tr> + <tr> + <td>URL</td> + <td><code>http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/permissions</code></td> + </tr> + <tr> + <td>Success code</td> + <td>200</td> + </tr> + <tr> + <td>Forbidden code</td> + <td>403</td> + </tr> + <tr> + <td>Fail code</td> + <td>500</td> + </tr> + <tr> + <td> sample JSON input </td> + <td><pre> +{ + "readers": [ + "user1" + ], + "owners": [ + "user2" + ], + "writers": [ + "user1" + ] +} +</pre></td> + </tr> + <tr> + <td> sample JSON response </td> + <td><pre> +{ + "status": "OK" +}</pre></td> + </tr> + </table></p> + + </div> +</div> + + + <hr> + <footer> + <!-- <p>© 2017 The Apache Software Foundation</p>--> + </footer> + </div> + + + + + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-45176241-5', 'zeppelin.apache.org'); + ga('require', 'linkid', 'linkid.js'); + ga('send', 'pageview'); + +</script> + + + + </body> +</html> +