REST API Workbook
INFO
Add the following command after the username and password to receive more meaningful HTTP errors:
-w"\n%{http_code}\n"
This command can be added to each call.
Create a Workbook v2
Request Method | POST |
Description | Creates a workbook based on a JSON representation for workbooks using the Git versioning plug-in. |
URI Syntax | curl -u <username>:<password> -X POST -H "Content-Type:application/json" -d @<file name>.json 'http://<Datameer-serverIP>:<port-number>/api/workbooks' |
Example Response | "status": "success", "configuration-id": 50, "file-id": 57, "file-uuid": "9424e496-6e1c-416c-b235-0dbe3dd80f33", "file-path": "/Users/admin/NewWorkbook_wb" |
Additional Notes |
|
Read a Workbook v2
Request Method | GET |
Description | Reads a workbook based on a JSON representation for the workbooks using the Git versioning plug-in. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<file-id>' |
Example Response | { "workbook": { "_version": "5.11.0", "dataPermission": { "groups": {}, "owner": "system", "permissionForOthers": false }, "errorHandling": { "maxLogErrors": 1000, "mode": "IGNORE" }, "file": { "createdAt": "2015-12-07T09:08:11.557+01:00", "description": "", "extension": "WORKBOOK", "folder": [ "/Analytics/Workbooks", "8bbdb7a0-7ddc-4225-85fe-95d001caedb9" ], "modifiedAt": "2015-12-07T09:08:11.568+01:00", "name": "apache_log_wb", "permission": { "groups": {}, "owner": "system", "permissionForOthers": { "executable": true, "readable": true, "writable": true }, "publiclyShared": false }, "uuid": "1a552255-3f2a-407d-9270-2813af4c1a74" }, "jobConfiguration": { "dataRetentionPolicy": { "_type": "PurgeAfter", "minimumToKeep": 1 }, "hadoopProperties": {}, "logging": { "properties": {} }, "triggering": { "_type": "DataDrivenTriggering", "sheets": {} } }, "notification": { "emailsInCaseOfFailure": [], "emailsInCaseOfSuccess": [] }, "sheets": [ { "_type": "DataSourceReferenceSheet", "uuid": "69aee54f-44f1-4d9a-a259-2fba7aa91a69", "columns": [ { "id": "remoteHost", "name": "remoteHost", "position": 0 }, { "id": "logName", "name": "logName", "position": 1 }, { "id": "remoteUser", "name": "remoteUser", "position": 2 }, { "id": "requestTime", "name": "requestTime", "position": 3 }, { "id": "request", "name": "request", "position": 4 }, { "id": "status", "name": "status", "position": 5 }, { "id": "bytesSent", "name": "bytesSent", "position": 6 } ], "identifier": "7f170571-06e1-4655-b9b8-823b228df25c", "kept": false, "name": "apache_log", "position": 0 }, { "_type": "FormulaSheet", "columns": [ { "formula": "=GROUPBY(#apache_log!status)", "id": "0", "name": "A", "position": 0 }, { "formula": "=GROUPCOUNT()", "id": "1", "name": "B", "position": 1 } ], "identifier": "2228a24d-87fc-4bf5-bc40-3b7486c33a49", "kept": true, "name": "status", "position": 1 } ], "properties": {} }, "_links": { "file": { "href": "/api/filesystem/files/1a552255-3f2a-407d-9270-2813af4c1a74" }, "self": { "href": "/api/filesystem/workbooks/1a552255-3f2a-407d-9270-2813af4c1a74" } } |
Update a Workbook v2
Request Method | PUT |
Description | Updates an existing workbook using the Git versioning plug-in. |
URI Syntax | curl -u <username>:<password> -X PUT -H "Content-Type:application/json" -d @<file name>.json 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<file-id>' |
Example Response | "status" : "success" "configuration-id": 43, "file-id": 50, "file-uuid": "7a6956d1-35c1-4be0-9fb9-f37994df8583", "file-path": "/Users/admin/Workbook.wbk" |
Additional Notes |
|
Delete a Workbook
Request Method | DELETE |
Description | Removes a workbook from Datameer. |
URI Syntax | curl -u <username>:<password> -X DELETE 'http://<Datameer-ServerIP>:<Port>/rest/workbook/<workbook-configuration-id>' |
Example Response | {"status": "success"} |
View Workbook Metadata
Request Method | GET |
Description | Returns data on the workbook including the path, number of records, time stamp, and ID. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/data/workbook/{configuration-id}' |
Example Response | [ { "path": "/Data/ImportJobs/DatameerImport.imp", "record-count": 20, "datas": [ { "timestamp": "Mar 5, 2013 10:44:59 AM", "record-count": 20, "id": 19372 } ] |
Download Workbook Data
Request Method | GET |
Description | Returns the column names and records of the workbook. INFO The default limit for number of rows to download is 100,000, as this functionality is intended for small aggregated data sets. To adjust the record download limit, change the |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/data/workbook/{configuration-id}/{sheet-name}/download' curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/data/workbook/{configuration-id}/{sheet-name}/download?dataId={data-id}' |
Example Response | "ID","NAME","Email","Status","Check" "1","""admin""","""admin@datameer.com""","0","true" "2","""Ajay""","""Ajay@datameer.com""","2","true" "3","""analyst""","""analyst@datameer.com""","1","true" "4","""Bob""","""Bob@datameer.com""","2","false" "5","""Alice""","""Alice@datameer.com""","2","false" "6","""John""","""John@datameer.com""","2","false" "7","""Andreas""","""Andreas@datameer.com""","2","true" "8","""Arthur""","""Arthur@datameer.com""","2","true" "9","""Dagmar""","""Dagmar@datameer.com""","2","false" "10","""Frank""","""Frank@datameer.com""","2","true" "11","""Johannes""","""Johannes@datameer.com""","2","true" "12","""Marko""","""Marko@datameer.com""","2","true" "13","""Marlon""","""Marlon@datameer.com""","2","true" "14","""Mike""","""Mike@datameer.com""","2","true" "15","""Orlando""","""Orlando@datameer.com""","2","true" "16","""Peter""","""Peter@datameer.com""","2","true" "17","""Ralf""","""Ralf@datameer.com""","2","false" "18","""Shirish""","""Shirish@datameer.com""","2","true" "19","""Stefan""","""Stefan@datameer.com""","2","true" "20","""Teresa""","""Teresa@datameer.com""","2","true" |
View Sheet Details of a Workbook
Request Method | GET |
Description | Returns the column names and data type of a workbook. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/sheet-details/<workbook-configuration-id>/<sheet-name>' curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/sheet-details?file=<path-to-workbook>.wbk&sheetName=<sheet-name>' |
Example Response | { "columns": [ { "name": "remoteHost", "type": "STRING" }, { "name": "remoteUser", "type": "STRING" }, { "name": "timeEnglishFormat", "type": "DATE" }, { "name": "request", "type": "STRING" }, { "name": "status", "type": "INTEGER" }, { "name": "bytesSent", "type": "INTEGER" } ], "file": { "path": "/Examples/Basic Tutorial/Solution/Basic Workbook.wbk", "uuid": "c02c5f10-2d30-4320-b2ec-52f89550bfe5" }, "sheetId": "SheetId[_id=2c87ddad-fea4-441a-8475-6ce4cbb5def4]", "sheetName": "Clickstream_Data", "sheetType": "das.internal.DataSourceSheetType" } |
List All Workbooks
Request Method | GET |
Description | Returns a list of all the workbooks in Datameer. This list displays the description, ID number, name, and the path of the workbooks. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/workbook' |
Example Response | [ { "description": "", "id": 388, "name": "Workbook_copy5", "path": "/Workbooks/Andreas/Workbook_copy5.wbk" }, { "description": "", "id": 393, "name": "wb 1605 twitter", "path": "/Workbooks/tester/wb 1605 twitter.wbk" }, { "description": "", "id": 396, "name": "wbk_ext_reference", "path": "/Workbooks/wbk_ext_reference.wbk" }, { "description": "", "id": 397, "name": "wbk_ext_ref_2", "path": "/Workbooks/wbk_ext_ref_2.wbk" } |
Start a Workbook
Request Method | POST |
Description | Runs a workbook. |
URI Syntax | curl -u <username>:<password> -X POST 'http://<Datameer-serverIP>:<port-number>/rest/job-execution?configuration=<workbook-configuration-id>' |
Example Response | { "job-execution-id": 1, "job-execution-trigger": "RESTAPI", "job-execution-user": "admin", "status": "success" } |
Workbook Dependencies
Request Method | GET |
Description | Returns the hierarchy of up- and downstream dependencies for a given workbook. |
Prerequisites | This API requires enabling Datameer's Advanced Governance plug-in. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<server>:<port>/api/workbook/[configurationID]/dependencies[?direction=<upstream | downstream>][&level=<number>]' |
Example Response | { "dependencies": [ { "id": 22, "file": { "path": "/Users/admin/ImportJobTest", "name": "ImportJobTest", "type": "imp", "description": "", "uuid": "b8f258f5-90c9-451d-9058-9d3a8c9b2c5d" } }, { "id": 2, "file": { "path": "/Data/Connections/Datameer X server filesystem", "name": "Datameer X server filesystem", "type": "dst", "description": "A data store for the local filesystem where Datameer X is running. Note, this works ONLY for Datameer X Personal, Workgroup, and Trial editions.\n", "uuid": "78a2fb59-375e-4eae-b338-956ef806f7b1" } } ], "fileCountWithNoReadPermission": 0, "_links": { "self": { "href": "http://localhost:8088/api/workbook/23/dependencies" } } |
Additional Notes | Path parameters:
Query parameters: |
View Workbook Permissions
Request Method | GET |
Description | Returns a list of all the workbook's permission settings. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission' |
Example Response | { "readableForOthers": true, "_links": { "file": { "href": "/api/filesystem/files/43" }, "groups": { "href": "/api/filesystem/files/43/permission/groups" }, "self": { "href": "/api/workbooks/43/permission" }, "others": { "href": "/api/filesystem/files/43/permission/others" } }, "_embedded": { "groups": [ { "readable": true, "name": "IT-Dept.", "_links": { "self": { "href": "/api/filesystem/files/43/permission/groups/IT-Dept." }, "permission": { "href": "/api/filesystem/files/43/permission" } } } ] } |
View the workbook's permissions for others
Request Method | GET |
Description | Returns a list of the workbook's permission settings for "Others". |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission/others' |
View the workbook's permissions for a specific group
Request Method | GET |
Description | Returns the workbook's permission settings for a selected "Group". |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission/groups/<group-name>' |
View the workbook's permissions for groups
Request Method | GET |
Description | Returns a list of the workbook's permission settings for all groups. |
URI Syntax | curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/api/workbooks/<FileID>/permission/groups' |
Roll Back a Workbook
Request Method | PUT |
Description | Rolls back a workbook to a previous state using the Git versioning plug-in. If the workbook exists, it is overwritten. If it doesn't exist, a new one is created. INFO This REST API must be used in conjunction with other version 2 REST APIs. |
URI Syntax | curl -u <username>:<password> -X PUT -H "Content-Type:application/json" -d @wbk.json 'http://<Datameer-serverIP>:<port-number>/api/workbooks/rollback' |
Example Response | If the request is successful, there is no output. |