Description | This GET method lists the available notes on your server. Notebook JSON contains the name and id of all notes. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook |
Success code | 200 |
Fail code | 500 |
sample JSON response | { "status": "OK", "message": "", "body": [ { "name":"Homepage", "id":"2AV4WUEMK" }, { "name":"Zeppelin Tutorial", "id":"2A94M5J1Z" } ] } |
Description | This POST 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. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook |
Success code | 200 |
Fail code | 500 |
sample JSON input (without paragraphs) | {"name": "name of new note"} |
sample JSON input (with initial paragraphs) | { "name": "name of new note", "paragraphs": [ { "title": "paragraph title1", "text": "paragraph text1" }, { "title": "paragraph title2", "text": "paragraph text2", "config": { "title": true, "colWidth": 6.0, "results": [ { "graph": { "mode": "scatterChart", "optionOpen": true } } ] } } ] } |
sample JSON response | { "status": "CREATED", "message": "", "body": "2AZPHY918" } |
Description | This GET 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. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | { "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" } ] } |
Description | This GET 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. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | { "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": {} } } |
Description | This DELETE method deletes a note by the given note id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status": "OK","message": ""} |
Description | This POST 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. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON input | {"name": "name of new note"} |
sample JSON response | { "status": "CREATED", "message": "", "body": "2AZPHY918" } |
Description | This GET method exports a note by the given id and gernerates a JSON |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/export/[noteId] |
Success code | 201 |
Fail code | 500 |
sample JSON response | { "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": {} } |
Description | This POST method imports a note from the note JSON input |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/import |
Success code | 201 |
Fail code | 500 |
sample JSON input | { "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": {} } |
sample JSON response | { "status": "CREATED", "message": "", "body": "2AZPHY918" } |
Description | This POST method runs all paragraphs in the given note id.If you can not find Note id 404 returns. If there is a problem with the interpreter returns a 412 error. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId] |
Success code | 200 |
Fail code | 404 or 412 |
sample JSON response | {"status": "OK"} |
sample JSON error response | { "status": "NOTFOUND", "message": "note not found." } { "status": "PRECONDITIONFAILED", "message": "paragraph1469771130099-278315611 Not selected or Invalid Interpreter bind" } |
Description | This DELETE method stops all paragraphs in the given note id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status":"OK"} |
Description | This PUT method clear all paragraph results from note of given id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/clear |
Success code | 200 |
Forbidden code | 401 |
Not Found code | 404 |
Fail code | 500 |
sample JSON response | {"status": "OK"} |
Description | This POST method create a new paragraph using JSON payload. The body field of the returned JSON contain the new paragraph id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph |
Success code | 201 |
Fail code | 500 |
sample JSON input (add to the last) | { "title": "Paragraph insert revised", "text": "%spark\nprintln(\"Paragraph insert revised\")" } |
sample JSON input (add to specific index) | { "title": "Paragraph insert revised", "text": "%spark\nprintln(\"Paragraph insert revised\")", "index": 0 } |
sample JSON input (providing paragraph config) | { "title": "paragraph title2", "text": "paragraph text2", "config": { "title": true, "colWidth": 6.0, "results": [ { "graph": { "mode": "pieChart", "optionOpen": true } } ] } } |
sample JSON response | { "status": "CREATED", "message": "", "body": "20151218-100330_1754029574" } |
Description | This GET method retrieves an existing paragraph's information using the given id. The body field of the returned JSON contain information about paragraph. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | { "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 } } |
Description | This GET 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. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | { "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" } } |
Description | This PUT 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 colWidth field only by sending request with payload {"colWidth": 12.0} . |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]/config |
Success code | 200 |
Bad Request code | 400 |
Forbidden code | 403 |
Not Found code | 404 |
Fail code | 500 |
sample JSON input | { "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 } |
sample JSON response | { "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":"paragraph1423500782552-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 } } |
Description | This DELETE method deletes a paragraph by the given note and paragraph id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status": "OK","message": ""} |
Description | This POST 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 |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId] |
Success code | 200 |
Fail code | 500 |
sample JSON input (optional, only needed when if you want to update dynamic form's value) | { "name": "name of new note", "params": { "formLabel1": "value1", "formLabel2": "value2" } } |
sample JSON response | {"status": "OK"} |
Description | This POST 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 |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/run/[noteId]/[paragraphId] |
Success code | 200 |
Fail code | 500 |
sample JSON input (optional, only needed when if you want to update dynamic form's value) | { "name": "name of new note", "params": { "formLabel1": "value1", "formLabel2": "value2" } } |
sample JSON response | {"status": "OK"} |
sample JSON error | { "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" } } |
Description | This DELETE method stops the paragraph by given note and paragraph id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status": "OK"} |
Description | This POST method moves a paragraph to the specific index (order) from the note. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/paragraph/[paragraphId]/move/[newIndex] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status": "OK","message": ""} |
Description | GET request will return list of matching paragraphs |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/search?q=[query] |
Success code | 200 |
Fail code | 500 |
Sample JSON response | { "status": "OK", "body": [ { "id": "/paragraph/", "name":"Note Name", "snippet":"", "text":"" } ] } |
Description | This POST method adds cron job by the given note id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON input | {"cron": "cron expression of note"} |
sample JSON response | {"status": "OK"} |
Description | This DELETE method removes cron job by the given note id. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status": "OK"} |
Description | This GET method gets cron job expression of given note id. The body field of the returned JSON contains the cron expression. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/cron/[noteId] |
Success code | 200 |
Fail code | 500 |
sample JSON response | {"status": "OK", "body": "* * * * * ?"} |
Description | This GET method gets a note authorization information. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/permissions |
Success code | 200 |
Forbidden code | 403 |
Fail code | 500 |
sample JSON response | { "status":"OK", "message":"", "body":{ "readers":[ "user2" ], "owners":[ "user1" ], "writers":[ "user2" ] } } |
Description | This PUT method set note authorization information. |
URL | http://[zeppelin-server]:[zeppelin-port]/api/notebook/[noteId]/permissions |
Success code | 200 |
Forbidden code | 403 |
Fail code | 500 |
sample JSON input | { "readers": [ "user1" ], "owners": [ "user2" ], "writers": [ "user1" ] } |
sample JSON response | { "status": "OK" } |