--- layout: page title: "Apache Zeppelin Interpreter REST API" description: "This page contains Apache Zeppelin Interpreter REST API information." group: usage/rest_api --- {% include JB/setup %} # Apache Zeppelin Interpreter REST API
## Overview Apache Zeppelin provides several REST APIs for interaction and remote activation of zeppelin functionality. All REST APIs are available starting with the following endpoint `http://[zeppelin-server]:[zeppelin-port]/api`. Note that Apache Zeppelin REST APIs receive or return JSON objects, it is recommended for you to install some JSON viewers such as [JSONView](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc). If you work with Apache Zeppelin and find a need for an additional REST API, please [file an issue or send us an email](http://zeppelin.apache.org/community.html). ## Interpreter REST API List The role of registered interpreters, settings and interpreters group are described in [here](../interpreter/overview.html). ### List of registered interpreters| Description | This ```GET``` method returns all the registered interpreters available on the server. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON response |
{
"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": {
"name": "spark.executor.memory",
"defaultValue": "1g",
"description": "Executor memory per worker instance. ex) 512m, 32g",
"type": "string"
},
"spark.cores.max": {
"defaultValue": "",
"description": "Total number of cores to use. Empty value uses all available core.",
"type": "number"
},
},
"path": "/zeppelin/interpreter/spark"
},
"spark.sql": {
"name": "sql",
"group": "spark",
"className": "org.apache.zeppelin.spark.SparkSqlInterpreter",
"properties": {
"zeppelin.spark.maxResult": {
"name": "zeppelin.spark.maxResult",
"defaultValue": "1000",
"description": "Max number of Spark SQL result to display.",
"type": "number"
}
},
"path": "/zeppelin/interpreter/spark"
}
}
}
|
| Description | This ```GET``` method returns all the interpreters settings registered on the server. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON response |
{
"status": "OK",
"message": "",
"body": [
{
"id": "2AYUGP2D5",
"name": "md",
"group": "md",
"properties": {
"_empty_": ""
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": []
},
{
"id": "2AY6GV7Q3",
"name": "spark",
"group": "spark",
"properties": {
"spark.cores.max": {
"name": "",
"value": "spark.cores.max",
"type": "number"
},
"spark.executor.memory": {
"name": "spark.executor.memory",
"value": "1g",
"type": "string"
}
},
"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"
}
]
}
]
}
|
| Description | This ```GET``` method returns a registered interpreter setting on the server. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[setting ID]``` |
| Success code | 200 |
| Fail code |
400 if such interpreter setting id does not exist 500 for any other errors |
| Sample JSON response |
{
"status": "OK",
"message": "",
"body": {
"id": "2AYW25ANY",
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": {
"name": "propname",
"value": "propvalue",
"type": "textarea"
}
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
}
|
| Description | This ```POST``` method adds a new interpreter setting using a registered interpreter to the server. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting``` |
| Success code | 200 |
| Fail code |
400 if the input json is empty 500 for any other errors |
| Sample JSON input |
{
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": {
"name": "propname",
"value": "propvalue",
"type": "textarea"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
|
| Sample JSON response |
{
"status": "CREATED",
"message": "",
"body": {
"id": "2AYW25ANY",
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": {
"name": "propname",
"value": "propvalue",
"type": "textarea"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
}
|
| Description | This ```PUT``` method updates an interpreter setting with new properties. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[interpreter ID]``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON input |
{
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": {
"name": "propname",
"value": "Otherpropvalue",
"type": "textarea"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
|
| Sample JSON response |
{
"status": "OK",
"message": "",
"body": {
"id": "2AYW25ANY",
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": {
"name": "propname",
"value": "Otherpropvalue",
"type": "textarea"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
}
|
| Description | This ```DELETE``` method deletes an given interpreter setting. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[interpreter ID]``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON response |
{"status":"OK"}
|
| Description | This ```PUT``` method restarts the given interpreter id. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/restart/[interpreter ID]``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON input (Optional) |
{
"noteId": "2AVQJVC8N"
}
|
| Sample JSON response |
{"status":"OK"}
|
| Description | This ```POST``` method adds new repository. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/repository``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON input |
{
"id": "securecentral",
"url": "https://repo1.maven.org/maven2",
"snapshot": false
}
|
| Sample JSON response |
{"status":"OK"}
|
| Description | This ```DELETE``` method delete repository with given id. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/repository/[repository ID]``` |
| Success code | 200 |
| Fail code | 500 |
| Description | This ```GET``` method returns available types for interpreter property. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/property/types``` |
| Success code | 200 |
| Fail code | 500 |
| Sample JSON response |
{
"status": "OK",
"body": [ "textarea", "string", ...
]
}
|
| Description | This ```GET``` method returns interpreter settings metadata info. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/metadata/[setting ID]``` |
| Success code | 200 |
| Fail code | 500 |