REST API Workbook
For each call, you can add the following command:
-w"\n%{http_code}\n"
After the username and password in order to receive more meaningful HTTP errors.
Read Workbook
This REST API call has been deprecated as of Datameer v7.0 and is scheduled to be removed before the release of Datameer v8.0. It is replaced by the call Read Workbook v2.
Request method - GET
Description
Returns information on a specified workbook within Datameer including version number, class name, file information (uuid, path, description, name), run schedule, custom properties, and sheet data.
URI syntax
curl -u <username>:<password> -X GET 'http://<Datameer-serverIP>:<port-number>/rest/workbook/<workbook-configuration-id>'
Example response
Read Workbook (version 2)
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
Create Workbook
This REST API call has been deprecated as of Datameer v7.0 and is scheduled to be removed before the release of Datameer v8.0. It is replaced by the call Create Workbook v2.
Request method - POST
Description
Adds a workbook in Datameer.
URI syntax
curl -u <username>:<password> -X POST -d @<file name>.json 'http://<Datameer-serverIP>:<port-number>/rest/workbook'
Example response
{ "configuration-id": 48, "status": "success" }
Additional notes
<file name>.json
- The workbook file is a JSON representation of all information entered during the creation process using the web interface.
- An easy method of creating a workbook file is to use REST to read an import job, data link ,or workbook and change the JSON that is returned.
- Injecting a workbook from a JSON file needs to match the current version of Datameer. Backup workbooks from previous versions of Datameer aren't supported unless properly migrated during the upgrade.
Create Workbook (version 2)
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'
Response
If the request is successful, there is no output.
Additional notes
<file name>.json
- The workbook file is a JSON representation of all information entered during the creation process using the web interface.
- An easy method of creating a workbook file is to use REST to read an import job, data link ,or workbook and change the JSON that is returned.
- Injecting a workbook from a JSON file needs to match the current version of Datameer. Backup workbooks from previous versions of Datameer aren't supported unless properly migrated during the upgrade.
Update Workbook
This REST API call has been deprecated as of Datameer v7.0 and is scheduled to be removed before the release of Datameer v8.0. It is replaced by the call Update Workbook v2.
Request method - PUT
Description
Edits an existing workbook in Datameer.
URI syntax
curl -u <username>:<password> -X PUT -d @<file name>.json 'http://<Datameer-serverIP>:<port-number>/rest/workbook/<workbook-configuration-id>'
Example response
{"status": "success"}
Additional notes
<file name>.json
- The workbook file is a JSON representation of all information entered during the creation process using the web interface.
- An easy method of creating a workbook file is to use REST to read an import job, data link ,or workbook and change the JSON that is returned.
- Injecting a workbook from a JSON file needs to match the current version of Datameer. Backup workbooks from previous versions of Datameer aren't supported unless properly migrated during the upgrade.
Update Workbook (version 2)
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>
Response
If the request is successful, there is no output.
Additional notes
<file name>.json
- The workbook file is a JSON representation of all information entered during the creation process using the web interface.
- An easy method of creating a workbook file is to use REST to read an import job, data link ,or workbook and change the JSON that is returned.
- Injecting a workbook from a JSON file needs to match the current version of Datameer. Backup workbooks from previous versions of Datameer aren't supported unless properly migrated during the upgrade.
Delete 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"}
Metadata of Workbook
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 Data of Workbook
Request method - GET
Description
Returns the column names and records of the workbook.
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 rest.download-data.records-max=100000
property in the <datameer_install>/conf/default.properties
file. Setting the value to 0 unlocks the limit, but increasing the number could result in slower processing for the Datameer conductor. Your local system might also have download restrictions. If you want to download more than 100,000 rows, we suggest creating an export job instead.
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"
Sheet Details of 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 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
This API requires enabling Datameer's Advanced Governance plug-in.
Request method - GET
Description
Returns the hierarchy of up- and downstream dependencies for a given workbook.
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 server filesystem", "name": "Datameer server filesystem", "type": "dst", "description": "A data store for the local filesystem where Datameer is running. Note, this works ONLY for Datameer 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:
- configurationId:
- Data type must be a number
- Use the configuration ID
Query parameters:
- Direction:
- Data type must be a string
- Optional
- Shows either upstream or downstream
- If left blank, shows both
- Level:
- Data type must be a number
- Optional
If left blank, shows all levels
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'
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" } } } ] }
Advanced Parameters
View the workbook's permissions for others
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 groups
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'
View the workbook's permissions for a specific group
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>'
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. 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'
Response
If the request is successful, there is no output.