| 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 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.
If you work with Apache Zeppelin and find a need for an additional REST API, please file an issue or send us an email.
The role of registered interpreters, settings and interpreters group are described in here.
| 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"
}
}
} |
### List of registered interpreter settings
| 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"
}
]
}
]
} |
### Get a registered interpreter setting by the setting id
| 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"
]
}
]
}
} |
### Create a new interpreter setting
| 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": "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"
]
}
]
}
} |
### Update an interpreter setting
| 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"
]
}
]
}
} |
### Delete an interpreter setting
| 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"} |
### Restart an interpreter for a specific note
| Description | This ```PUT``` method restarts the given interpreter for a specific note. The ```noteId``` is required in the request body. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/restart/[interpreter ID]``` |
| Success code | 200 |
| Fail code | 400 (if noteId is missing), 403 (no permission), 404 (interpreter not found), 500 |
| Sample JSON input (Required) |
{
"noteId": "2AVQJVC8N"
} |
| Sample JSON response |
{"status":"OK"} |
### Restart an interpreter globally
| Description | This ```PUT``` method restarts the given interpreter globally (affects all users/sessions). This endpoint can be restricted to admin users only via shiro.ini configuration. |
| URL | ```http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/restart-all/[interpreter ID]``` |
| Success code | 200 |
| Fail code | 403 (no permission), 404 (interpreter not found), 500 |
| Sample JSON input | None |
| Sample JSON response |
{"status":"OK"} |
### Add a new repository for dependency resolving
| 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"} |
### Delete a repository for dependency resolving
| 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 |
### Get available types for property
| 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", ...
]
} |
### Get interpreter settings metadata info
| 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 |