Dataiku DSS API
Call paths
All calls in the DSS public API are relative to the /public/api
path on the DSS server.
For example, if your DSS server is available at http://mymachine:10000/
, and you want to call the List projects API, you must make a GET request on http://mymachine:10000/public/api/projects/
curl --user <USER_API_KEY>: -H "Content-Type: application/json" -X GET http://mymachine:port/public/api/projects/
Other notes
Many API calls may return additional attributes compared to the documentation. The stability of these additional attributes is not guaranteed. They may be modified or removed in future releases without notice.
All API calls will return the following two HTTP headers
DSS-API-Version
: Version of the API server handling the requestDSS-Version
: Version of the DSS backend answering the request
Project Folders ¶
Root Project Folder ¶
Get root project folderGET/project-folders/
Get the definition of the root project folder. Only the items on which the API key has the READ privilege for project folders (children) and READ_CONF for projects privilege will be listed.
Example URI
200
Definition of the root project folder
Headers
Content-Type: application/json
Body
{
"id": "Hello, world!",
"name": "Hello, world!",
"parentId": "Hello, world!",
"childrenIds": [
"Hello, world!"
],
"projectKeys": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the project folder"
},
"name": {
"type": "string",
"description": "name of the project folder (or null if root project folder)"
},
"parentId": {
"type": "string",
"description": "the ID of the parent project folder (or null if root project folder)"
},
"childrenIds": {
"type": "array",
"description": "the list of the ID of this project folder's children"
},
"projectKeys": {
"type": "array",
"description": "the list of the project keys inside this project folder"
}
}
}
Project Folder ¶
Get a project folderGET/project-folders/{folderId}
Get the definition of a project folder. Only the items on which the API key has the READ privilege for project folders (children) and READ_CONF for projects privilege will be listed.
π Required privileges : READ on this project folder
Example URI
- folderId
string
(required) Example: KdLmPU6the ID of a project folder
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
200
Definition of the project folder
Headers
Content-Type: application/json
Body
{
"id": "Hello, world!",
"name": "Hello, world!",
"parentId": "Hello, world!",
"childrenIds": [
"Hello, world!"
],
"projectKeys": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the project folder"
},
"name": {
"type": "string",
"description": "name of the project folder (or null if root project folder)"
},
"parentId": {
"type": "string",
"description": "the ID of the parent project folder (or null if root project folder)"
},
"childrenIds": {
"type": "array",
"description": "the list of the ID of this project folder's children"
},
"projectKeys": {
"type": "array",
"description": "the list of the project keys inside this project folder"
}
}
}
Get project folder settingsGET/project-folders/{folderId}/settings
Get the settings of a project folder
π Required privileges : ADMIN on this project folder
Example URI
- folderId
string
(required) Example: KdLmPU6the ID of a project folder
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
200
Settings of the project folder
Headers
Content-Type: application/json
Body
{
"name": "my folder",
"owner": "admin",
"permissions": [
{
"group": "data_scientists",
"read": true,
"writeContents": true,
"admin": false
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name of the project folder"
},
"owner": {
"type": "string",
"description": "login of the owner of the project folder"
},
"permissions": {
"type": "array",
"description": "the list of the permissions of the project folder"
}
}
}
Update project folder settingsPUT/project-folders/{folderId}/settings
Update the settings of a project folder
π Required privileges : ADMIN on this project folder
Example URI
- folderId
string
(required) Example: KdLmPU6the ID of a project folder
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"name": "my folder modified",
"owner": "admin",
"permissions": [
{
"group": "data_scientists",
"read": true,
"writeContents": true,
"admin": true
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name of the project folder"
},
"owner": {
"type": "string",
"description": "login of the owner of the project folder"
},
"permissions": {
"type": "array",
"description": "the list of the permissions of the project folder"
}
}
}
204
Move a project folderPOST/project-folders/{folderId}/move{?destination}
Move a project folder into another project folder (change its parent) along with its content. You cannot move a project folder into one of its sub-folder.
π Required privileges : ADMIN on this project folder, WRITE_CONTENTS on the destination project folder
Example URI
- folderId
string
(required) Example: KdLmPU6the ID of a project folder to move
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
- destination
string
(required) Example: dgKywsxthe ID of the destination project folder
The destination (project folder ID) can be found from the get project folder API call or in the URL when accessing DSS GUI.
204
Delete projectDELETE/project-folders/{folderId}
Permanently deletes a project folder. It must be empty: no sub-folders and no projects inside
π Required privileges : ADMIN (on this project folder)
Example URI
- folderId
string
(required) Example: KdLmPU6the key of the project folder to delete
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
204
Create a sub-project folderPOST/project-folders/{folderId}/children{?name}
Create a sub-project folder within the current project folder.
π Required privileges : WRITE_CONTENTS on the current project folder
Example URI
- folderId
string
(required) Example: KdLmPU6the ID of a project folder to move
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
- name
string
(required) Example: my_sub_folderthe name of the new project folder
200
Definition of the newly created project folder
Headers
Content-Type: application/json
Body
{
"id": "Hello, world!",
"name": "Hello, world!",
"parentId": "Hello, world!",
"childrenIds": [
"Hello, world!"
],
"projectKeys": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the project folder"
},
"name": {
"type": "string",
"description": "name of the project folder (or null if root project folder)"
},
"parentId": {
"type": "string",
"description": "the ID of the parent project folder (or null if root project folder)"
},
"childrenIds": {
"type": "array",
"description": "the list of the ID of this project folder's children"
},
"projectKeys": {
"type": "array",
"description": "the list of the project keys inside this project folder"
}
}
}
Move a projectPOST/project-folders/{folderId}/projects/{projectKey}/move{?destination}
Move a project within the current project folder to another project folder
π Required privileges : WRITE_CONTENTS on the destination project folder, Admin of project
Example URI
- folderId
string
(required) Example: KdLmPU6the ID of a project folder where is the project is
The folderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
- projectKey
string
(required) Example: MYPROJECTthe ID of the project to move
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
- destination
string
(required) Example: dgKywsxthe ID of the destination project folder
The destination (project folder ID) can be found from the get project folder API call or in the URL when accessing DSS GUI.
204
Projects ¶
Projects ¶
List projectsGET/projects/{tags}
Lists the projects. Only the projects on which the API key has the READ_CONF privilege will be listed.
π Required privileges : READ_CONF
Example URI
- tags
string
(optional) Default: trueComma separated list of tags. The query will only return projects having one of these tags
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create projectPOST/projects{?projectFolderId}
Creates a new project
π Required privileges : Admin for project creation, WRITE_CONTENTS on the project folder
Example URI
- projectFolderId
string
(optional) Example: KdLmPU6the ID of the project folder in which the new project will be created (if not provided, will defaults to root project folder)
The projectFolderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
A project key must match [A-Za-z_]*
Headers
Content-Type: application/json
Body
{
"projectKey": "The project key of the new project",
"name": "The name of the new project",
"owner": "The login of the owner of the new project"
}
200
Project ¶
Get project metadataGET/projects/{projectKey}/metadata
Retrieves metadata about this project.
π Required privileges : READ_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
{
"label" : "My first project",
"description" : "This is a sample project summary",
"shortDesc" : "sample project summary",
/* It is advised to keep tags as short words */
"tags" : [
"my tag 1",
"my tag 2",
...
],
"custom" : {
"kv" : {
"as a user" : "I can write",
"whatever" : [ "I", "want" , "here"]
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display name for this object"
},
"description": {
"type": "string",
"description": "Long description (Markdown) for this object"
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"custom": {
"type": "object",
"properties": {},
"description": "Custom opaque metadata"
}
}
}
Update project metadataPUT/projects/{projectKey}/metadata
Updates metadata about this project. You should only set a metadata object that has been obtained through the corresponding GET call.
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"label" : "My first project",
"description" : "This is a sample project summary",
"shortDesc" : "sample project summary",
/* It is advised to keep tags as short words */
"tags" : [
"my tag 1",
"my tag 2",
...
],
"custom" : {
"kv" : {
"as a user" : "I can write",
"whatever" : [ "I", "want" , "here"]
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display name for this object"
},
"description": {
"type": "string",
"description": "Long description (Markdown) for this object"
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"custom": {
"type": "object",
"properties": {},
"description": "Custom opaque metadata"
}
}
}
204
Get project permissionsGET/projects/{projectKey}/permissions
Retrieves access permissions for this project.
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
{
"owner": "Hello, world!",
"permissions": [
{
"group": "Hello, world!",
"type": "Hello, world!"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the owner of the proejct"
},
"permissions": {
"type": "array",
"description": "List of group -> access level mapping"
}
}
}
Update project permissionsPUT/projects/{projectKey}/permissions
Updates access permissions for this project. You should only set a permissions object that has been obtained through the corresponding GET call.
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"owner": "Hello, world!",
"permissions": [
{
"group": "Hello, world!",
"type": "Hello, world!"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the owner of the proejct"
},
"permissions": {
"type": "array",
"description": "List of group -> access level mapping"
}
}
}
204
Get project variablesGET/projects/{projectKey}/variables
Retrieves project-level variables for this project.
π Required privileges : READ_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
200
βLocalβ variables are not kept when deploying a project to an automation node
Headers
Content-Type: application/json
Body
{
"standard": {
"k1": "v1",
"k2": 14
},
"local": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"standard": {
"type": "object",
"properties": {},
"description": "Dictionary of \"regular\" variables for this project. Regular variables are transfered when deploying a project to the automation node"
},
"local": {
"type": "object",
"properties": {},
"description": "Dictionary of \"local\" variables for this project. Local variables are not transfered when deploying a project to the automation node. Local variables override standard variables with the same name"
}
}
}
Update project variablesPUT/projects/{projectKey}/variables
Updates project-level variables for this project. You should only set a variables object that has been obtained through the corresponding GET call.
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
βLocalβ variables are not kept when deploying a project to an automation node
Headers
Content-Type: application/json
Body
{
"standard": {
"k1": "v1",
"k2": 14
},
"local": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"standard": {
"type": "object",
"properties": {},
"description": "Dictionary of \"regular\" variables for this project. Regular variables are transfered when deploying a project to the automation node"
},
"local": {
"type": "object",
"properties": {},
"description": "Dictionary of \"local\" variables for this project. Local variables are not transfered when deploying a project to the automation node. Local variables override standard variables with the same name"
}
}
}
204
Delete projectDELETE/projects/{projectKey}{?dropData}
Permanently deletes a project and all its associated datasets, recipes, models, etc.
π Required privileges : ADMIN (on this project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project to delete
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
- dropData
boolean
(optional) Default: falseDrop the data from any managed datasets
204
Export projectGET/projects/{projectKey}/export{?exportUploads}{?exportManaged}{?exportAnalysisModels}{?exportSavedModels}
Exports a whole project configuration and (optionally) its associated data.
Only the content of Managed Filesystem datasets and uploaded datasets can be exported.
The returned zip archive can be used in DSS import feature.
π Required privileges : ADMIN (on this project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
- exportUploads
boolean
(optional) Default: trueExport uploaded datasets data
- exportManaged
boolean
(optional) Default: trueExport managed Filesystem datasets data
- exportAnalysisModels
boolean
(optional) Default: trueExport trained models that are in analyses (not deployed in the flow).
- exportSavedModels
boolean
(optional) Default: trueExport saved models (deployed in the flow).
200
Headers
Content-Type: application/zip
Duplicate projectPOST/projects/{projectKey}/duplicate
Duplicate a project.
Only the content of Managed Filesystem datasets and uploaded datasets can be duplicated.
π Required privileges : ADMIN (on this project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"targetProjectKey": "COPYOFMYPROJECT",
"targetProjectName": "Copy+of+my+project"
"targetProjectFolderId": "KdLmPU6" /* ID of a project folder. If null, will defaults to root project folder */
"duplicationMode": "MINIMAL" /* MINIMAL, SHARING, FULL, NONE */
"exportAnalysisModels": true
"exportSavedModels": true
"exportGitRepository": true
"exportInsightsData": true
"exportUploads": true
"exportAllInputDatasets": true
"exportAllInputManagedFolders": true
"exportAllDatasets": false
"exportManagedFolders": false
"shareAllInputDatasets": false
"remapping":{
"connections":[
{
"source":"filesystem_source"
"target":"filesystem_target"
}
]
"codeEnvs":[
{
"source":"codenv_source"
"target":"codenv_target"
}
]
},
}
200
Headers
Content-Type: application/json
Body
{
"projectKey": "MYPROJECT"
"targetProjectKey": "COPYOFMYPROJECT"
"targetProjectFolderId": "KdLmPU6"
}
Push to Git remotePOST/projects/{projectKey}/actions/push-to-git-remote{?remote}
Pushes the content of a project to a previously-declared Git remote. The remote must have been added first in the βChangesβ section of DSS.
DSS must be in βper-project Gitβ mode
π Required privileges : ADMIN (on this project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
- remote
string
(required) Example: originThe remote name to push to
204
Get project tagsGET/projects/{projectKey}/tags
Retrieves project-level tags for this project.
π Required privileges : READ_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
{
"tags": {
"origin:sql_import": {
"color": "#ee874a"
},
"creator:admin": {
"color": "#28aadd"
},
"pg": {
"color": "#a088bd"
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"tags": {
"type": "object",
"properties": {},
"description": "Dictionary of tags for this project."
}
}
}
Update project tagsPUT/projects/{projectKey}/tags
Updates project-level tags for this project. You should only set a tags object that has been obtained through the corresponding GET call.
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
NB The project key is usually different than the project displayed name.
The projectKey can be found with the list projects API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"tags": {
"origin:sql_import": {
"color": "#ee874a"
},
"creator:admin": {
"color": "#28aadd"
},
"pg": {
"color": "#a088bd"
}
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"tags": {
"type": "object",
"properties": {},
"description": "Dictionary of tags for this project."
}
}
}
204
Workspaces ¶
Workspaces ¶
List workspacesGET/workspaces
Lists the workspaces. Only the workspaces on which the API key has the READ privilege will be listed.
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"workspaceKey": "Hello, world!",
"displayName": "Hello, world!",
"color": "Hello, world!",
"description": "Hello, world!",
"permissions": [
{
"user": "Hello, world!",
"group": "Hello, world!",
"admin": true,
"write": true,
"read": true
}
],
"currentUserPermissions": {
"user": "Hello, world!",
"group": "Hello, world!",
"admin": true,
"write": true,
"read": true
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create workspacePOST/workspaces
Creates a new workspace
π Required privileges : mayCreateWorkspaces (global permission)
Example URI
A workspace key must match [A-Za-z_]*
Headers
Content-Type: application/json
Body
{
"workspaceKey": "The workspace key of the new workspace",
"displayName": "Name of the workspace",
"color": "#996633",
"description": "Description of the workspace"
}
200
Body
{
"msg": "Created workspace The workspace key of the new workspace"
}
Workspace ¶
Get workspace settingsGET/workspaces/{workspaceKey}
Retrieves settings about this workspace.
π Required privileges : READ, also known as βMemberβ (on workspace). However, if the user is not ADMIN, the permissions array will not be defined.
Example URI
- workspaceKey
string
(required) Example: MY_WORKSPACEthe key of a workspace
NB The workspace key is usually different than the workspace displayed name.
The workspaceKey can be found with the list workspaces API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
{
"workspaceKey": "Hello, world!",
"displayName": "Hello, world!",
"color": "Hello, world!",
"description": "Hello, world!",
"permissions": [
{
"user": "Hello, world!",
"group": "Hello, world!",
"admin": true,
"write": true,
"read": true
}
],
"currentUserPermissions": {
"user": "Hello, world!",
"group": "Hello, world!",
"admin": true,
"write": true,
"read": true
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"workspaceKey": {
"type": "string",
"description": "The key of the workspace"
},
"displayName": {
"type": "string",
"description": "The name of the workspace, as displayed in the User Interface"
},
"color": {
"type": "string",
"description": "The background color of the workspace (using #xxxxxx syntax)"
},
"description": {
"type": "string",
"description": "The description of the workspace"
},
"permissions": {
"type": "array",
"description": "Permissions controlling who is a member, contributor or admin of the workspace"
},
"currentUserPermissions": {
"type": "object",
"properties": {
"user": {
"type": "string",
"description": "Name of the user this permission applies to. Missing if the permission applies to a group"
},
"group": {
"type": "string",
"description": "Name of the group this permission applies to. Missing if the permission applies to a user"
},
"admin": {
"type": "boolean",
"description": "true if the permission grants administrator access"
},
"write": {
"type": "boolean",
"description": "true if the permission grants contributor access"
},
"read": {
"type": "boolean",
"description": "true if the permission grants member access"
}
},
"description": "Permissions of the current user (read-only)"
}
}
}
Update workspace settingsPUT/workspaces/{workspaceKey}
Updates settings about this workspace. You should only set a settings object that has been obtained through the corresponding GET call.
π Required privileges : ADMIN (on workspace)
Example URI
- workspaceKey
string
(required) Example: MY_WORKSPACEthe key of a workspace
NB The workspace key is usually different than the workspace displayed name.
The workspaceKey can be found with the list workspaces API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"workspaceKey" : "MY_WORKSPACE"
"displayName": "My workspace",
"color": "#ff99ff",
"description": "Updated description",
"permissions": [
{
"user": "jdoe",
"admin": true,
"write": true,
"read": true
},
{
"group": "marketing",
"admin": false,
"write": true,
"read": true
},
{
"group": "readers",
"admin": false,
"write": false,
"read": true
}
]
}
200
Delete workspaceDELETE/workspaces/{workspaceKey}
Permanently deletes a workspace
π Required privileges : ADMIN (on this workspace)
Example URI
- workspaceKey
string
(required) Example: MY_WORKSPACEthe key of the workspace to delete
NB The workspace key is usually different than the workspace displayed name.
The workspaceKey can be found with the list workspaces API call or in the URL when accessing DSS GUI.
200
Workspace objects ¶
Get workspace objectsGET/workspaces/{workspaceKey}/objects
List the objects in this workspace.
π Required privileges : READ, also known as βMemberβ (on workspace)
Example URI
- workspaceKey
string
(required) Example: MY_WORKSPACEthe key of a workspace
NB The workspace key is usually different than the workspace displayed name.
The workspaceKey can be found with the list workspaces API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
[
{
"id": "Hello, world!",
"reference": {
"projectKey": "Hello, world!",
"type": "Hello, world!",
"id": "Hello, world!"
},
"appId": "Hello, world!",
"htmlLink": {
"name": "Hello, world!",
"url": "Hello, world!",
"description": "Hello, world!"
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Add workspace objectPOST/workspaces/{workspaceKey}/objects
Add a DSS object, an application or an HTML link to a workspace
π Required privileges : WRITE, also known as βContributorβ (on workspace) and mayShareToWorkspaces (global permission) and mayShareToWorkspaces (on the project hosting the DSS object to add)
Example URI
- workspaceKey
string
(required) Example: MY_WORKSPACEthe key of a workspace
NB The workspace key is usually different than the workspace displayed name.
The workspaceKey can be found with the list workspaces API call or in the URL when accessing DSS GUI.
Add a DSS object to a workspace
Headers
Content-Type: application/json
Body
{
"reference": {
"projectKey": "MYPROJECT",
"type": "DATASET",
"id": "marketing_data"
}
}
Add an HTML link to a workspace
Headers
Content-Type: application/json
Body
{
"htmlLink": {
"name": "Documentation",
"url": "https://docs.dataiku.com",
"description": "Official documentation for latest release of Dataiku"
}
}
Add a DSS application to a workspace
Headers
Content-Type: application/json
Body
{
"appId": "MARKETING_APP"
}
Remove workspace objectDELETE/workspaces/{workspaceKey}/objects/{workspaceObjectId}
Remove an object from a workspace
π Required privileges : WRITE, also known as βContributorβ (on workspace)
Example URI
- workspaceKey
string
(required) Example: MY_WORKSPACEthe key of a workspace
NB The workspace key is usually different than the workspace displayed name.
The workspaceKey can be found with the list workspaces API call or in the URL when accessing DSS GUI.
- workspaceObjectId
string
(required) Example: abcd1234the id of the object in the workspace
The workspaceObjectId can be found with the list workspace objects API call.
200
Data Collections ¶
Data Collections ¶
List Data CollectionsGET/data-collections/
Lists the Data Collections on which the user has READ privilege.
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"displayName": "My first Data Collection",
"color": "#FF0000",
"description": "Description of the data collection",
"tags": [
"some",
"tags"
],
"id": "OjVsTQ3O",
"itemCount": 12,
"lastModifiedOn": 1680307200000
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"description": "Name of the data collection"
},
"color": {
"type": "string",
"description": "Color of the data collection (using #RRGGBB syntax)"
},
"description": {
"type": "string",
"description": "The description of the data collection (markdown)"
},
"tags": {
"type": "array",
"description": "List of tags of the data collection"
},
"id": {
"type": "string",
"description": "Id of the data collection"
},
"itemCount": {
"type": "number",
"description": "Number of objects in the data collection"
},
"lastModifiedOn": {
"type": "number",
"description": "Timestamp of the last data-collection modification"
}
},
"required": [
"displayName",
"color",
"description",
"tags",
"id",
"itemCount",
"lastModifiedOn"
]
}
}
Create Data CollectionPOST/data-collections/
Creates a new Data Collection
Note The user creating the Data Collection will be added as an administrator.
π Required privileges : mayCreateDataCollections (global permission)
Example URI
Headers
Content-Type: application/json
Body
{
"id": "OjVsTQ3O",
"displayName": "My first Data Collection",
"color": "#FF0000",
"description": "Description of the data collection",
"tags": [
"some",
"tags"
],
"permissions": [
{
"user": "user_login",
"admin": true,
"write": true,
"read": true
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the Data Collection (a random id is generated if not provided)"
},
"displayName": {
"type": "string",
"description": "Name of the data collection"
},
"color": {
"type": "string",
"description": "Color of the data collection (using #RRGGBB syntax)"
},
"description": {
"type": "string",
"description": "The description of the data collection (markdown)"
},
"tags": {
"type": "array",
"description": "List of tags of the data collection"
},
"permissions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"admin": {
"type": "boolean",
"description": "true if the permission grants administrator access"
},
"write": {
"type": "boolean",
"description": "true if the permission grants contributor access"
},
"read": {
"type": "boolean",
"description": "true if the permission grants member access"
}
},
"oneOf": [
{
"properties": {
"user": {
"type": "string",
"description": "Name of the user this permission applies to."
}
},
"required": [
"user"
]
},
{
"properties": {
"group": {
"type": "string",
"description": "Name of the group this permission applies to."
}
},
"required": [
"group"
]
}
]
},
"description": "List of permissions of the data collection (READER, CONTRIBUTOR or ADMIN)"
}
},
"required": [
"displayName"
],
"additionalProperties": false
}
201
The response contains the id of the created collection
Body
{
"msg": "Created Data Collection OjVsTQ3O"
"id": "OjVsTQ3O"
}
Data Collection ¶
Get Data Collection settingsGET/data-collections/{dataCollectionId}
Retrieves the settings of this Data Collection.
π Required privileges : READ, also known as βReaderβ (on this Data Collection). However, if the user is not ADMIN, the permissions array will not be defined.
Example URI
- dataCollectionId
string
(required) Example: OjVsTQ3Othe id of a Data Collection (in the [A-Za-z0-9]{8} format)
The Data Collection id can be found with the list Data Collections API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
{
"id": "OjVsTQ3O",
"displayName": "My first Data Collection",
"color": "#FF0000",
"description": "Description of the data collection",
"tags": [
"some",
"tags"
],
"permissions": [
{
"user": "user_login",
"admin": true,
"write": true,
"read": true
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the Data Collection"
},
"displayName": {
"type": "string",
"description": "Name of the data collection"
},
"color": {
"type": "string",
"description": "Color of the data collection (using #RRGGBB syntax)"
},
"description": {
"type": "string",
"description": "The description of the data collection (markdown)"
},
"tags": {
"type": "array",
"description": "List of tags of the data collection"
},
"permissions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"admin": {
"type": "boolean",
"description": "true if the permission grants administrator access"
},
"write": {
"type": "boolean",
"description": "true if the permission grants contributor access"
},
"read": {
"type": "boolean",
"description": "true if the permission grants member access"
}
},
"oneOf": [
{
"properties": {
"user": {
"type": "string",
"description": "Name of the user this permission applies to."
}
},
"required": [
"user"
]
},
{
"properties": {
"group": {
"type": "string",
"description": "Name of the group this permission applies to."
}
},
"required": [
"group"
]
}
]
},
"description": "List of permissions of the data collection (READER, CONTRIBUTOR or ADMIN)"
}
},
"required": [
"displayName",
"color",
"description",
"tags"
]
}
Update Data Collection settingsPUT/data-collections/{dataCollectionId}
Updates the settings of this Data Collection. You should only set a settings object that has been obtained through the corresponding GET call.
π Required privileges : ADMIN (on this Data Collection)
Example URI
- dataCollectionId
string
(required) Example: OjVsTQ3Othe id of a Data Collection (in the [A-Za-z0-9]{8} format)
The Data Collection id can be found with the list Data Collections API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"displayName": "My first Data Collection",
"color": "#FF0000",
"description": "Description of the data collection",
"tags": [
"some",
"tags"
],
"permissions": [
{
"user": "user_login",
"admin": true,
"write": true,
"read": true
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"displayName": {
"type": "string",
"description": "Name of the data collection"
},
"color": {
"type": "string",
"description": "Color of the data collection (using #RRGGBB syntax)"
},
"description": {
"type": "string",
"description": "The description of the data collection (markdown)"
},
"tags": {
"type": "array",
"description": "List of tags of the data collection"
},
"permissions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"admin": {
"type": "boolean",
"description": "true if the permission grants administrator access"
},
"write": {
"type": "boolean",
"description": "true if the permission grants contributor access"
},
"read": {
"type": "boolean",
"description": "true if the permission grants member access"
}
},
"oneOf": [
{
"properties": {
"user": {
"type": "string",
"description": "Name of the user this permission applies to."
}
},
"required": [
"user"
]
},
{
"properties": {
"group": {
"type": "string",
"description": "Name of the group this permission applies to."
}
},
"required": [
"group"
]
}
]
},
"description": "List of permissions of the data collection (READER, CONTRIBUTOR or ADMIN)"
}
},
"required": [
"displayName",
"color",
"description",
"tags"
],
"additionalProperties": false
}
200
Delete Data CollectionDELETE/data-collections/{dataCollectionId}
Permanently deletes a Data Collection
π Required privileges : ADMIN (on this Data Collection)
Example URI
- dataCollectionId
string
(required) Example: OjVsTQ3Othe id of a Data Collection (in the [A-Za-z0-9]{8} format)
The Data Collection id can be found with the list Data Collections API call or in the URL when accessing DSS GUI.
200
Data collections objects ¶
Get Data Collection objectsGET/data-collections/{dataCollectionId}/objects
List the objects in this Data Collection.
π Required privileges : READ, also known as βReaderβ (on this Data Collection)
Example URI
- dataCollectionId
string
(required) Example: OjVsTQ3Othe id of a Data Collection (in the [A-Za-z0-9]{8} format)
The Data Collection id can be found with the list Data Collections API call or in the URL when accessing DSS GUI.
200
Headers
Content-Type: application/json
Body
[
{
"type": "DATASET",
"projectKey": "PROJECT_KEY",
"id": "dataset_name"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of this object (\"DATASET\" here)"
},
"projectKey": {
"type": "string",
"description": "The key of the project of this dataset"
},
"id": {
"type": "string",
"description": "The id of this dataset"
}
},
"required": [
"type",
"projectKey",
"id"
]
}
}
Add Data Collection objectPOST/data-collections/{dataCollectionId}/objects
Add an object to a Data Collection
π Required privileges : WRITE, also known as βContributorβ (on this Data Collection) and mayPublishToDataCollections (global group permission) and publishToDataCollections (on the project hosting the DSS object to add if relevant)
Example URI
- dataCollectionId
string
(required) Example: OjVsTQ3Othe id of a Data Collection (in the [A-Za-z0-9]{8} format)
The Data Collection id can be found with the list Data Collections API call or in the URL when accessing DSS GUI.
Headers
Content-Type: application/json
Body
{
"type": "DATASET",
"projectKey": "PROJECT_KEY",
"id": "dataset_name"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of this object (\"DATASET\" here)"
},
"projectKey": {
"type": "string",
"description": "The key of the project of this dataset"
},
"id": {
"type": "string",
"description": "The id of this dataset"
}
},
"required": [
"type",
"projectKey",
"id"
],
"additionalProperties": false
}
200
Remove dataset from Data CollectionDELETE/data-collections/{dataCollectionId}/objects/dataset/{projectKey}/{datasetName}
Remove a dataset from a Data Collection
π Required privileges : WRITE, also known as βContributorβ (on this Data Collection)
Example URI
- dataCollectionId
string
(required) Example: OjVsTQ3Othe id of a Data Collection (in the [A-Za-z0-9]{8} format)
The Data Collection id can be found with the list Data Collections API call or in the URL when accessing DSS GUI.
- projectKey
string
(required) Example: PROJECT_KEYthe key of the project containing the dataset to remove
The projectKey can be found with the list Data Collections objects API call.
- datasetName
string
(required) Example: DATASET1the name of the dataset to remove
The dataset name can be found with the list Data Collections objects API call.
200
Flow ¶
Generate flow documentation from default template ¶
Generate flow documentation from default templatePOST/projects/{projectKey}/flow/documentation/generate
Start the flow documentation generation using the default template. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"exportId": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Generate flow documentation from a custom template ¶
Generate flow documentation from a custom templatePOST/projects/{projectKey}/flow/documentation/generate-with-template
Start the flow documentation generation using an attached template file to upload. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
Headers
Content-Type: multipart
Body
Multipart file: the template docx file
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"exportId": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Generate flow documentation from a template file in a managed folder ¶
Generate flow documentation from a template file in a managed folderPOST/projects/{projectKey}/flow/documentation/generate-with-template-in-folder{?folderId}{?path}
Start the flow documentation generation using a template file in a managed folder. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- folderId
string
(required)the id of the managed folder
- path
string
(required)the path to the file from the root of the folder
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"exportId": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Download flow documentation ¶
Download flow documentationGET/projects/{projectKey}/flow/documentation/generated/{exportId}
Download the flow documentation. The documentation exportId is obtained through a GET task call on the jobId returned when generating the flow documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- exportId
string
(required)the id of the generated flow documentation
200
Body
The file's contents, as a stream
Datasets ¶
Datasets ¶
List datasetsGET/projects/{projectKey}/datasets/{?tags}{?foreign}
Lists the datasets of a project.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- foreign
boolean
(optional) Default: false Example: trueIf true, also lists the datasets from other projects that are exposed to the specified project
- tags
string
(optional) Example: tag1,tag2Comma separated list of tags. The query will only return datasets having one of these tags
200
Returns an array of [Dataset] object. See GET Dataset for more information on the [Dataset] object
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PKEY1",
"name": "dataset1",
"type": "Filesystem",
"params": {
"connection": "filesystem_input",
"path": "/src/dataset1"
},
"formatType": "csv",
"formatParams": {
"style": "EXCEL",
"separator": "\t"
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create datasetPOST/projects/{projectKey}/datasets
Creates a new dataset.
Important: most parameters and format parameters of datasets are not officially documented and may be modified in future recipes. It is recommended that you use the GET Dataset call to retrieve an existing dataset and modify it to suit your needs and create a new Dataset.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"name": "dataset1",
"type": "Filesystem",
"params": {
"connection": "filesystem_input",
"path": "/src/dataset1"
},
"formatType": "csv",
"formatParams": {
"style": "EXCEL",
"separator": "\t"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this dataset"
},
"name": {
"type": "string",
"description": "Unique name of this dataset in its project"
},
"type": {
"type": "string",
"description": "Type of the dataset"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the dataset type"
},
"formatType": {
"type": "string",
"description": "For file-based datasets, the name of the format"
},
"formatParams": {
"type": "object",
"properties": {},
"description": "For file-based datasets, the parameters of the format. The actual parameters depend on the format type"
},
"managed": {
"type": "boolean",
"description": "Whether this is a managed dataset. See [DSS documentation](http://doc.dataiku.com/dss/latest/concepts/#managed-and-external-datasets) for an explanation"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this dataset"
},
"tags": {
"type": "array",
"description": "Tags of this dataset"
}
}
}
204
Create managed datasetPOST/projects/{projectKey}/datasets/managed
Creates a new managed dataset (i.e. a dataset whose format/storage details are handled by DSS, you only need to select the name, the connection, and optionally some options).
Valid format option ids include:
-
CSV_EXCEL_GZIP
-
CSV_UNIX_GZIP
-
CSV_ESCAPING_NOGZIP_FORHIVE
-
PARQUET_HIVE
-
ORC
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"name": "name_of_the_new_dataset",
"creationSettings": {
"connectionId" : "connection_where_to_store"
}
}
Or
{
"name": "name_of_the_new_dataset",
"creationSettings": {
"connectionId" : "connection_where_to_store",
"specificSettings": {
"formatOptionId": "A format option"
}
}
}
204
Dataset ¶
To build a dataset see POST job
Get dataset settingsGET/projects/{projectKey}/datasets/{datasetName}
Retrieves a Dataset object.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
200
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"name": "dataset1",
"type": "Filesystem",
"params": {
"connection": "filesystem_input",
"path": "/src/dataset1"
},
"formatType": "csv",
"formatParams": {
"style": "EXCEL",
"separator": "\t"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this dataset"
},
"name": {
"type": "string",
"description": "Unique name of this dataset in its project"
},
"type": {
"type": "string",
"description": "Type of the dataset"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the dataset type"
},
"formatType": {
"type": "string",
"description": "For file-based datasets, the name of the format"
},
"formatParams": {
"type": "object",
"properties": {},
"description": "For file-based datasets, the parameters of the format. The actual parameters depend on the format type"
},
"managed": {
"type": "boolean",
"description": "Whether this is a managed dataset. See [DSS documentation](http://doc.dataiku.com/dss/latest/concepts/#managed-and-external-datasets) for an explanation"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this dataset"
},
"tags": {
"type": "array",
"description": "Tags of this dataset"
}
}
}
Update dataset settingsPUT/projects/{projectKey}/datasets/{datasetName}
Updates the settings of a Dataset.
The Dataset
object given as parameter in of a PUT call MUST have been previously obtained from a
GET dataset call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
Headers
Content-Type: application/json
Body
{
"projectKey" : "PKEY1",
"name" : "dataset1",
"type" : "Filesystem",
"params" : {
"connection" : "filesystem_input",
"path" : "/src/dataset1"
},
"formatType" : "csv",
"formatParams" : {
"style" : "EXCEL",
"separator" : "\t"
}
...
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this dataset"
},
"name": {
"type": "string",
"description": "Unique name of this dataset in its project"
},
"type": {
"type": "string",
"description": "Type of the dataset"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the dataset type"
},
"formatType": {
"type": "string",
"description": "For file-based datasets, the name of the format"
},
"formatParams": {
"type": "object",
"properties": {},
"description": "For file-based datasets, the parameters of the format. The actual parameters depend on the format type"
},
"managed": {
"type": "boolean",
"description": "Whether this is a managed dataset. See [DSS documentation](http://doc.dataiku.com/dss/latest/concepts/#managed-and-external-datasets) for an explanation"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this dataset"
},
"tags": {
"type": "array",
"description": "Tags of this dataset"
}
}
}
204
Delete datasetDELETE/projects/{projectKey}/datasets/{datasetName}{?dropData}
Deletes a dataset.
WARNING : Deleting a dataset will trigger the deletion of all associated analyses and recipes.
π Required privileges : WRITE_CONF, WRITE_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- dropData
boolean
(optional) Default: false Example: false
204
Dataset metadata ¶
Get metadataGET/projects/{projectKey}/datasets/{datasetName}/metadata
Retrieves metadata about this dataset.
π Required privileges : READ_METADATA on Dataset
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
200
Headers
Content-Type: application/json
Body
{
"label": "dataset_name",
"tags": [
"tag1",
"tag2"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display name for this object"
},
"description": {
"type": "string",
"description": "Long description (Markdown) for this object"
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"custom": {
"type": "object",
"properties": {},
"description": "Custom opaque metadata"
}
}
}
Sets metadataPUT/projects/{projectKey}/datasets/{datasetName}/metadata
Writes metadata about this dataset. You should only set a metadata object that has been obtained through the corresponding GET call.
π Required privileges : WRITE_METADATA on Dataset
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
Headers
Content-Type: application/json
Body
{
"label": "dataset_name",
"tags": [
"tag1",
"tag2"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display name for this object"
},
"description": {
"type": "string",
"description": "Long description (Markdown) for this object"
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"custom": {
"type": "object",
"properties": {},
"description": "Custom opaque metadata"
}
}
}
200
Dataset information ¶
Get full infoGET/projects/{projectKey}/datasets/{datasetName}/info
Retrieves all the information about this dataset.
π Required privileges : READ_DATA on Dataset
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
200
Headers
Content-Type: application/json
Body
Return a complex object containing all the information about this dataset, such as its type,
parameters, last buid information, schema, etc.
Dataset schema ¶
Get schemaGET/projects/{projectKey}/datasets/{datasetName}/schema
Retrieves the schema of the specified dataset. The datasetβs schema is the list of its columns with their types.
π Required privileges : READ_SCHEMA on Dataset
Example URI
- projectKey
string
(required)the key of a project
- datasetName
string
(required)the name of a dataset
200
The Schema
object has one attribute: columns
(an array of SchemaColumn
)
- columns array[Column]
Each SchemaColumn
has a name and a type:
-
name
string
-
type
string
-
maxLength
int
: for string type only,-1
means no maximum length
Existing types are:
-
string
-
boolean
-
tinyint, smallint, int, bigint
-
float, double
-
date
-
array, map, object
-
geopoint, geometry
Headers
Content-Type: application/json
Body
{
columns: [
{"name": "Column1", type: "string", maxLength: -1},
{"name": "Column2", type: "bigint"},
]
}
Set schemaPUT/projects/{projectKey}/datasets/{datasetName}/schema
The Schema
object given as parameter in of a PUT call MUST have been previously obtained from a
GET schema call at the same URL.
The object with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_SCHEMA
Example URI
- projectKey
string
(required)the key of a project
- datasetName
string
(required)the name of a dataset
The Schema
object has one attribute: columns
(an array of SchemaColumn
)
- columns array[Column]
Each SchemaColumn
has a name and a type:
-
name
string
-
type
string
-
maxLength
int
: for string type only,-1
means no maximum length
Existing types are:
-
string
-
boolean
-
tinyint, smallint, int, bigint
-
float, double
-
date
-
array, map, object
-
geopoint, geometry
Headers
Content-Type: application/json
Body
{
columns: [
{"name": "Column1", type: "string", maxLength: -1},
{"name": "Column2", type: "bigint"},
]
}
204
Dataset data ¶
Get dataGET/projects/{projectKey}/datasets/{datasetName}/data{?format}{?formatParams}{?columns}{?partitions}{?filter}{?sampling}
Streams the content of a dataset.
π Required privileges : READ_DATA on Dataset
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- format
string
(optional) Example: jsonOutput format name. Supported formats are : βjsonβ, βtsv-excel-headerβ (tab-separated with header) and βtsv-excel-noheaderβ (tab-separated without header)
- formatParams
string
(optional)additional parameters for the chosen format, as a json string
- columns
string
(optional) Example: mycol1,mycol2List of requested columns, as a comma-separated list
- sampling
string
(optional)definition of a sampling to use when retrieving the data. By default, no sampling (returns all data)
- partitions
string
(optional) Example: 2015-07-07Partition list specification
- filter
string
(optional) Example: mycol1 > 0 && mycol3 > 0Formula to select only a subset of rows based on a boolean expression
200
The Content-Type
and the content of the request may change according to the requested format.
The default (json) output will produce an array of arrays representing the data:
Body
[
[ "a", "1"],
[ "b", "2"],
...
]
Get data - alternative versionPOST/projects/{projectKey}/datasets/{datasetName}/data
Streams the content of a dataset.
This is a variant of the previous method using POST to post large and complex requests
π Required privileges : READ_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
Headers
Content-Type: application/json
Body
{
"columns": [
"Hello, world!"
],
"partitions": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"columns": {
"type": "array",
"description": "If null, all columns are returned"
},
"partitions": {
"type": "string",
"description": "Partition spec"
}
}
}
200
The Content-Type
and the content of the request may change according to the requested format.
The default (json) output will produce an array of arrays representing the data:
Body
[
[ "a", "1"],
[ "b", "2"],
...
]
Clear dataDELETE/projects/{projectKey}/datasets/{datasetName}/data/{?partitions}
Clears the data contained in the dataset; the dataset itself is not deleted.
If a list of partition identifiers is specified, only the corresponding partitions are cleared.
π Required privileges : WRITE_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- partitions
string
(optional) Example: NPList of partitions to clear, as a partitions spec
204
Dataset status ¶
List partitionsGET/projects/{projectKey}/datasets/{datasetName}/partitions
Lists the partitions of the specified dataset.
If the dataset is not partitioned, returns ["NP"]
π Required privileges : READ_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
200
Body
[
"2015-01-01",
"2015-01-02",
...
]
Get last metric valuesGET/projects/{projectKey}/datasets/{datasetName}/metrics/last/{?partition}
Retrieve the last values of all metrics on a given dataset (or dataset partition)
π Required privileges : READ_METADATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- partition
string
(required) Example: 2015-02-03partition id, if the dataset is partitioned. In that case, use ALL to obtain metrics on the whole dataset
200
For each metric, a complex object is returned
Body
{
"metrics": [
{
"metric": {
"dataType": "BIGINT",
"type": "basic",
"id": "basic:SIZE",
"metricType": "SIZE"
},
"meta": {
"fullName": "Size",
"name": "Size",
"format": "filesize"
},
"partitionsWithValue": [
"2015-01-01"
],
"lastValues": [
{
"dataType": "BIGINT",
"partition": "2015-01-01",
"computed": 1461659714763,
"value": "33871"
}
]
}
]
}
Get single metric historyGET/projects/{projectKey}/datasets/{datasetName}/metrics/history/{?partition}{?metricLookup}
Retrieve the history values of a single metric on a given dataset (or dataset partition)
π Required privileges : READ_METADATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- partition
string
(required) Example: 2015-02-03partition id, if the dataset is partitioned. In that case, use ALL to obtain metrics on the whole dataset
- metricLookup
string
(required) Example: records:COUNT_RECORDSid of the metric to get values for
200
Body
{
"lastValue": {
"partition": "2015-01-01",
"value": 33871,
"time": 1461659714763
},
"from": 1458805030618,
"to": 1461659714763,
"dataType": "BIGINT",
"metric": {
"dataType": "BIGINT",
"type": "basic",
"id": "basic:SIZE",
"metricType": "SIZE"
},
"metricId": "basic:SIZE",
"values": [
{
"partition": "2015-01-01",
"value": 33871,
"time": 1458805030618
},
{
"partition": "2015-01-01",
"value": 33871,
"time": 1458805030814
},
{
"partition": "2015-01-01",
"value": 33871,
"time": 1458805334673
}
],
"valueType": "BIGINT"
}
Actions on dataset ¶
Synchronize Hive metastorePOST/projects/{projectKey}/datasets/{datasetName}/actions/synchronizeHiveMetastore
Synchronizes the Hive table associated with the dataset, that is, updates or create the tableβs so that it corresponds to the datasetβs schema.
Only makes sense on HDFS datasets
π Required privileges : READ_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
204
Update from Hive metastorePOST/projects/{projectKey}/datasets/{datasetName}/actions/updateFromHive
Updates the dataset from the table itβs associated with in Hive. This can change the datasetβs path, schema, partitioning scheme and format.
Only makes sense on HDFS datasets
π Required privileges : READ_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
204
Compute metricsPOST/projects/{projectKey}/datasets/{datasetName}/actions/computeMetrics/{?partitions}
Compute the metrics defined on the dataset. If the body is empty, the probes configured on the dataset are used; otherwise, the probes definition passed in the body are used.
π Required privileges : ADMIN
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- partitions
string
(optional)List of partitions to compute metrics for, as a partitions spec
Headers
Content-Type: application/json
Body
{
"engineConfig": {
"hive": {
"active": true,
"extraConf": [
{
"key": "...",
"value": "..."
}
]
}
},
"probes": [
{
"type": "basic",
"configuration": {
"enable": "true"
}
},
{
"type": "records",
"configuration": {
"countRecords": "true"
}
}
]
}
200
Body
{
"result": {
"computed": [
{
"metricId": "basic:SIZE",
"value": "21568",
"dataType": "BIGINT"
},
{
"metricId": "COUNT_FILES",
"value": "3",
"dataType": "BIGINT"
}
]
}
}
Run checksPOST/projects/{projectKey}/datasets/{datasetName}/actions/runChecks/{?partitions}
Run the checks defined on the dataset. If the body is empty, the checks configured on the dataset are used; otherwise, the checks definition passed in the body are used.
π Required privileges : ADMIN
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- datasetName
string
(required) Example: mydatasetthe name of a dataset
- partitions
string
(optional)List of partitions to run checks on, as a partitions spec
Headers
Content-Type: application/json
Body
{
"checks": [
{
"type": "numericRange",
"metricId": "basic:SIZE",
"minimum": "20000",
"minimumEnabled": true
}
]
}
200
Body
{
"result": {
"results": [
{
"check": {
"type": "numericRange",
"metricId": "basic:SIZE",
"minimum": "20000",
"minimumEnabled": true
},
"value": {
"outcome": "OK",
"message": "all good"
}
}
]
}
}
Import tables ¶
List schemasGET/projects/{projectKey}/datasets/tables-import/actions/list-schemas{?connectionName}
List schemas in a SQL connection
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- connectionName
string
(required)Name of the SQL connection in which to list schemas. Use
@virtual(hive-jdbc):hivedb
for Hive.
200
Body
[
"schema1",
"schema2",
"schema3"
]
List tablesGET/projects/{projectKey}/datasets/tables-import/actions/list-tables{?connectionName}{?catalogName}{?schemaName}
List tables in a schema of a SQL connection. If schema is empty, list tables in all schemas. If catalog is empty, list tables in all
catalogs (aka databases for Snowflake and projects for BigQuery).
Returns a reference to a future, defined by its jobId
. If the future has no result yet, polling on the jobId
until the result is
ready is needed. The list elements are import candidates.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- connectionName
string
(required)Name of the SQL connection in which to list tables. Use
@virtual(hive-jdbc):hivedb
for Hive.- catalogName
string
(optional)Name of the catalog in the SQL connection in which to list tables.
- schemaName
string
(optional)Name of the schema in the SQL connection in which to list tables.
200
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw",
"result": [
{
"connectionName": "pgsql",
"table": "my_table",
"checked": false,
"datasetName": "imported_from_db",
"existingDatasetsNames": []
}
]
}
Prepare importPOST/projects/{projectKey}/datasets/tables-import/actions/prepare-from-keys
Prepare the import of selected tables (SQL or Hive). Returns a reference to a future.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project
Headers
Content-Type: application/json
Body
{
"keys": [
{
"connectionName": "postgres",
"name": "my_table"
},
{
"connectionName": "@virtual(hive-jdbc):hivedb",
"catalog": null,
"schema": "hivedb",
"name": "my_big_data"
}
]
}
200
Body
{
"hasResult": false,
"aborted": false,
"alive": false,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw"
}
Execute importPOST/projects/{projectKey}/datasets/tables-import/actions/execute-from-candidates
Perform import from a list of table candidates (SQL or Hive). Returns a reference to a future.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project
Headers
Content-Type: application/json
Body
{
"sqlImportCandidates": [
{
"connectionName": "pgsql",
"table": "my_table",
"checked": false,
"datasetName": "imported_from_db",
"existingDatasetsNames": []
}
],
"hiveImportCandidates": [
{
"table": "my_big_data",
"databaseName": "hivedb",
"connectionName": "hdfs_managed",
"datasetName": "imported_from_hive",
"existingDatasetsNames": [],
"importAsHiveDataset": false,
"isView": false
}
]
}
200
Body
{
"hasResult": false,
"aborted": false,
"alive": false,
"startTime": 1561466517443,
"runningTime": 81,
"unknown": false,
"jobId": "5FmUbrN3",
"progress":
{
"states" [
{
"name": "Import tables",
"unit": "NONE",
"target": 4,
"cur": 3,
"important": false,
"depth": 9,
"startTimeStamp": 1561466517443,
"msSinceStart": 81
},
{
"name": "Create datasets",
"unit": "NONE",
"target": 1,
"cur": 0,
"important": false,
"depth": 9,
"startTimeStamp": 1561466517443,
"msSinceStart": 1
}
]
}
}
LLM Mesh ¶
LLM Mesh ¶
List available LLMsGET/projects/{projectKey}/llms/
Lists the LLMs available in a project, including Retrieval-Augmented
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
200
Headers
Content-Type: application/json
Body
[
{
"id": "bedrock:bedrock1:anthropic.claude-v2",
"type": "BEDROCK",
"connection": "bedrock1",
"model": "anthropic.claude-v2",
"promptDriven": True
},
{
"id": "openai:openai1:gpt-4",
"type": "OPENAI",
"connection": "openai1",
"model": "gpt-4",
"promptDriven": true,
}
{
"id": "huggingfacelocal:hf1:tiiuae/falcon-40b-instruct:TEXT_GENERATION_FALCON:promptDriven=true",
"type": "HUGGINGFACE_TRANSFORMER_LOCAL",
"connection': 'hf1",
"model': 'tiiuae/falcon-40b-instruct",
"promptDriven": True,
}
]
Perform completions on a LLMPOST/projects/{projectKey}/llms/completions
Perform completions on a LLM
π Required privileges : READ_CONF + permissions on the LLM
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"llmId": "openai:openai1:gpt-4",
"queries" : [
{
"messages": [
{"role": "system", "content": "You must answer in a truthful tone"},
{"role": "user", "content": "Who wrote Beethoven's 9th symphony?"},
],
"settings": {
"temperature": 0.9,
"maxOutputTokens": 2048,
"topP": 0.7
}
}
}
200
Headers
Content-Type: application/json
Body
{
"responses": [
{
"ok": true,
"text": "Ludwig Van Beethoven",
"promptTokens": 42,
"completionTokens": 5,
"totalTokens": 47,
"estimatedCost": 0.0000012
}
]
}
Perform embeddings on a LLMPOST/projects/{projectKey}/llms/embeddings
Perform embeddings on a LLM
π Required privileges : READ_CONF + permissions on the LLM
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"llmId": "openai:openai1:ada002-text-embedding",
"queries" : [
{
"text": "Who wrote Beethoven's 9th symphony?"
}
}
200
Headers
Content-Type: application/json
Body
{
"responses": [
{
"ok": true,
"embedding": [0.1235243, 0.2196464, 0.365436456546]
"promptTokens": 42,
"estimatedCost": 0.000000012
}
]
}
Dataset Statistics ¶
Worksheets ¶
List worksheetsGET/projects/{projectKey}/datasets/{datasetName}/statistics/worksheets/
Lists the statistics worksheets of a dataset
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: PKEY1Key of a project
- datasetName
string
(required) Example: dataset1Name of a dataset
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PKEY1",
"id": "worksheet1",
"dataSpec": {
"inputDatasetSmartName": "dataset1",
"datasetSelection": {
"samplingMethod": "HEAD_SEQUENTIAL",
"maxRecords": 30000
}
},
"rootCard": {
"type": "worksheet_root",
"confidenceLevel": 0.95,
"cards": []
},
"name": "My worksheet"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create worksheetPOST/projects/{projectKey}/datasets/{datasetName}/statistics/worksheets
Creates a new worksheet in the dataset
Important: most attributes of worksheets may be modified in future releases. It is recommended that you use the GET Worksheet call to retrieve an existing worksheet and modify it to suit your needs and create a new worksheet.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: PKEY1Key of a project
- datasetName
string
(required) Example: dataset1Name of a dataset
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"id": "worksheet1",
"dataSpec": {
"inputDatasetSmartName": "dataset1",
"datasetSelection": {
"samplingMethod": "HEAD_SEQUENTIAL",
"maxRecords": 30000
}
},
"rootCard": {
"type": "worksheet_root",
"confidenceLevel": 0.95,
"cards": []
},
"name": "My worksheet"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "Worksheet ID"
},
"name": {
"type": "string",
"description": "Displayed name"
},
"dataSpec": {
"type": "object",
"properties": {},
"description": "Dataset and sampling settings"
},
"rootCard": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the card"
},
"type": {
"type": "string",
"enum": [
"worksheet_root"
],
"description": "Type of the card"
},
"cards": {
"type": "string",
"description": "Cards composing the Worksheet"
}
},
"description": "Root card of the worksheet"
}
}
}
200
Get worksheetGET/projects/{projectKey}/datasets/{datasetName}/statistics/worksheets/{worksheetId}
Retrieves a worksheet object
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: PKEY1Key of a project
- datasetName
string
(required) Example: dataset1Name of a dataset
- worksheetId
string
(required) Example: dXs4GyID of a worksheet
200
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"id": "worksheet1",
"dataSpec": {
"inputDatasetSmartName": "dataset1",
"datasetSelection": {
"samplingMethod": "HEAD_SEQUENTIAL",
"maxRecords": 30000
}
},
"rootCard": {
"type": "worksheet_root",
"confidenceLevel": 0.95,
"cards": []
},
"name": "My worksheet"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "Worksheet ID"
},
"name": {
"type": "string",
"description": "Displayed name"
},
"dataSpec": {
"type": "object",
"properties": {},
"description": "Dataset and sampling settings"
},
"rootCard": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the card"
},
"type": {
"type": "string",
"enum": [
"worksheet_root"
],
"description": "Type of the card"
},
"cards": {
"type": "string",
"description": "Cards composing the Worksheet"
}
},
"description": "Root card of the worksheet"
}
}
}
Update worksheetPUT/projects/{projectKey}/datasets/{datasetName}/statistics/worksheets/{worksheetId}
Updates a worksheet
The worksheet object given as parameter in of a PUT call MUST have been previously obtained from a GET worksheet call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: PKEY1Key of a project
- datasetName
string
(required) Example: dataset1Name of a dataset
- worksheetId
string
(required) Example: dXs4GyID of a worksheet
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"id": "worksheet1",
"dataSpec": {
"inputDatasetSmartName": "dataset1",
"datasetSelection": {
"samplingMethod": "HEAD_SEQUENTIAL",
"maxRecords": 30000
}
},
"rootCard": {
"type": "worksheet_root",
"confidenceLevel": 0.95,
"cards": []
},
"name": "My worksheet"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "Worksheet ID"
},
"name": {
"type": "string",
"description": "Displayed name"
},
"dataSpec": {
"type": "object",
"properties": {},
"description": "Dataset and sampling settings"
},
"rootCard": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the card"
},
"type": {
"type": "string",
"enum": [
"worksheet_root"
],
"description": "Type of the card"
},
"cards": {
"type": "string",
"description": "Cards composing the Worksheet"
}
},
"description": "Root card of the worksheet"
}
}
}
200
Delete worksheetDELETE/projects/{projectKey}/datasets/statistics/worksheets/{worksheetId}
Deletes a worksheet
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTKey of a project
- worksheetId
string
(required) Example: dXs4GyID of a worksheet
204
Actions on worksheets ¶
Run a cardPOST/projects/{projectKey}/datasets/{datasetName}/statistics/worksheets/{worksheetId}/actions/run-card
Compute a card in the context of a worksheet. The card does not necessarily need to be part of the worksheet.
Important: most attributes of cards may be modified in future releases. It is recommended that you use the GET Worksheet call to retrieve cards from an existing worksheet.
Returns a reference to a future, defined by its jobId
. If the future has no result yet, polling on the jobId
until the result is ready is needed.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: PKEY1Key of a project
- datasetName
string
(required) Example: dataset1Name of a dataset
- worksheetId
string
(required) Example: dXs4GyID of a worksheet
Headers
Content-Type: application/json
Body
{
"type": "categorical_histogram",
"maxValues": 1,
"groupOthers": false,
"column": {
"name": "Embarked",
"type": "CATEGORICAL"
}
}
200
Headers
Content-Type: application/json
Body
{
"type": "categorical_histogram",
"histogram": {
"filters": [
{
"type": "anum",
"column": "Embarked",
"values": [
""
],
"name": ""
}
],
"totalCount": 4,
"counts": [
1
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Run a computationPOST/projects/{projectKey}/datasets/{datasetName}/statistics/worksheets/{worksheetId}/actions/run-computation
Run a computation in the context of a worksheet.
Important: most attributes of computations may be modified in future releases.
Returns a reference to a future, defined by its jobId
. If the future has no result yet, polling on the jobId
until the result is ready is needed.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: PKEY1Key of a project
- datasetName
string
(required) Example: dataset1Name of a dataset
- worksheetId
string
(required) Example: dXs4GyID of a worksheet
Headers
Content-Type: application/json
Body
{
"type": "count"
}
200
Headers
Content-Type: application/json
Body
{
"type": "count",
"count": 890
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Jobs ¶
Jobs ¶
List latest jobsGET/projects/{projectKey}/jobs/{?limit}
Retrieves the list of the last jobs, as an array of JobSummary
objects as defined in in the GET job call.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- limit
int
(optional) Default: 0Maximum number of returned jobs, 0 for no limit.
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "Hello, world!",
"jobId": "Hello, world!",
"state": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Run jobPOST/projects/{projectKey}/jobs
Start building a list of outputs.
A successful call means that the job was successfully initilized, not that it is completed. To follow the build progress use GET job.
Returns the complete job definition, including identifier of the job
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
Headers
Content-Type: application/json
Body
{
"outputs": [
{
"projectKey": "Hello, world!",
"id": "Hello, world!",
"partition": "Hello, world!"
}
],
"type": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"outputs": {
"type": "array",
"description": "Outputs to build for the job"
},
"type": {
"type": "string",
"description": "Type of job to build. One of RECURSIVE_BUILD, NON_RECURSIVE_FORCED_BUILD, RECURSIVE_FORCED_BUILD, RECURSIVE_MISSING_ONLY_BUILD"
}
},
"required": [
"outputs"
]
}
200
Body
{
"projectKey": "Hello, world!",
"id": "Hello, world!"
}
Schema
{
"type": "object",
"properties": {
"projectKey": {
"type": "string"
},
"id": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
Job ¶
Get job statusGET/projects/{projectKey}/jobs/{jobId}
Retrieves the job status as a JobSummary
object summarising the state of a job and its activities.
A DSS job is a sequence of operations performed on datasets.
A job is divided into activities, each activity corresponds to a recipe run using a given set of partitions.
Example : running two recipes on 2 partitions will result in a job with 4 activities.
π Required privileges : MONITOR_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- jobId
string
(required) Example: build_something_2016_02_10_21_23_34the id of a job
200
Headers
Content-Type: application/json
Body
{
"baseStatus" : {
/* Possible status are NOT_STARTED, RUNNING, FAILED, ABORTED and DONE */
"status" : "DONE",
"jobStartTime":1442418929502,
"jobEndTime":1442418932140
}
}
AbortPOST/projects/{projectKey}/jobs/{jobId}/abort
Requests the specified job to abort.
NB It may take some time for the job to actually stop, so when the servers answers this request, the job cannot be considered stopped.
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- jobId
string
(required) Example: build_something_2016_02_10_21_23_34the id of a job
204
Job logs ¶
Get job logsGET/projects/{projectKey}/jobs/{jobId}/log{?activity}
Retrieves the logs content for a job or one of its activities (if specified).
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- jobId
string
(required) Example: build_something_2016_02_10_21_23_34the id of a job
- activity
string
(optional)Activity id from which to output the logs. If not provided return the global job logs.
200
Headers
Content-Type: text/plain
Scenarios ¶
Scenarios ¶
List scenarios of a projectGET/projects/{projectKey}/scenarios
Retrieves the list of scenarios, as an array of ScenarioWithStatus objects.
π Required privileges : MONITOR_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Headers
Content-Type: application/json
Body
[
{
"id": "Hello, world!",
"running": true,
"active": true
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create scenarioPOST/projects/{projectKey}/scenarios
Creates a new scenario.
Important: most parameters and format parameters of datasets are not officially documented and may be modified in future releases.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
Headers
Content-Type: application/json
Body
{
"id": "scenarioId",
"active": true,
"name": "scenarioName",
"description": "",
"type": "step_based",
"params": {
"steps": []
},
"triggers": [],
"reporters": []
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the scenario"
},
"name": {
"type": "string",
"description": "Name of the scenario"
},
"type": {
"type": "string",
"description": "Type of the scenario (step_based or custom_python)"
},
"active": {
"type": "boolean",
"description": "Is this scenario active, ie responding to its triggers?"
},
"description": {
"type": "string",
"description": "Description of the scenario"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the scenario. Depends on the type"
},
"triggers": {
"type": "array",
"description": "Trigger definitions of the scenario"
},
"reporters": {
"type": "array",
"description": "Reporter definitions of the scenario"
}
}
}
204
Scenario ¶
To build a scenario see POST scenarios
Get a scenarioGET/projects/{projectKey}/scenarios/{scenarioId}/
Retrieves a scenario, as a Scenario object.
π Required privileges : MONITOR_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
200
Headers
Content-Type: application/json
Body
{
"id": "scenarioId",
"active": true,
"name": "scenarioName",
"description": "",
"type": "step_based",
"params": {
"steps": []
},
"triggers": [],
"reporters": []
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the scenario"
},
"name": {
"type": "string",
"description": "Name of the scenario"
},
"type": {
"type": "string",
"description": "Type of the scenario (step_based or custom_python)"
},
"active": {
"type": "boolean",
"description": "Is this scenario active, ie responding to its triggers?"
},
"description": {
"type": "string",
"description": "Description of the scenario"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the scenario. Depends on the type"
},
"triggers": {
"type": "array",
"description": "Trigger definitions of the scenario"
},
"reporters": {
"type": "array",
"description": "Reporter definitions of the scenario"
}
}
}
Get the status of a scenarioGET/projects/{projectKey}/scenarios/{scenarioId}/light
Retrieves basic info and status for a scenario, as a ScenarioWithStatus object.
π Required privileges : MONITOR_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
200
Headers
Content-Type: application/json
Body
{
"id": "Hello, world!",
"running": true,
"active": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the scenario"
},
"running": {
"type": "boolean",
"description": "Is this scenario currently running"
},
"active": {
"type": "boolean",
"description": "Is this scenario active, ie responding to its triggers?"
}
}
}
Get the payload of a scenario of a projectGET/projects/{projectKey}/scenarios/{scenarioId}/payload
Retrieves the βpayloadβ of a scenario. This only makes sense for custom scenarios.
π Required privileges : MONITOR_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
200
Headers
Content-Type: application/json
Body
{
"script": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"script": {
"type": "string",
"description": "Payload of the scenario"
}
}
}
Delete scenarioDELETE/projects/{projectKey}/scenarios/{scenarioId}/
Deletes a scenario.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
200
Headers
Content-Type: application/json
Body
{
"message": "Deleted scenario scenarioId from project MYPROJECT"
}
Run a scenarioPOST/projects/{projectKey}/scenarios/{scenarioId}/run
Start running a scenario.
A successful call means that the job was successfully initilized, not that it is completed. To follow the build progress use the list scenario calls.
This calls takes the scenario run parameters as a JSON object body
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
Headers
Content-Type: application/json
Body
{
"triggerParam1": "value1",
"triggerParam2": 49
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
200
Body
Does not return any specific answer
Abort a scenarioPOST/projects/{projectKey}/scenarios/{scenarioId}/abort
Abort a running scenario.
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
Headers
Content-Type: application/json
Body
Does not take any parameters
200
Body
Does not return any specific answer
Get last runsGET/projects/{projectKey}/scenarios/{scenarioId}/get-last-runs/{?limit}
Retrieve the last runs of this scenario
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
- limit
integer
(optional) Example: 200the number of runs to retrieve
200
Headers
Content-Type: application/json
Body
[
{
"runId": "2016-04-15-16-57-37-759",
"start": 1460732257757,
"end": 1460732282032,
"scenario": {
"name": "steps scenario",
"automationLocal": false,
"active": false,
"type": "step_based",
"id": "STEPS_SCENARIO",
"projectKey": "PROJ",
"description": "sqdsq"
},
"variables": {},
"result": {
"outcome": "SUCCESS",
"type": "SCENARIO_DONE"
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Get run from trigger runGET/projects/{projectKey}/scenarios/{scenarioId}/get-run-for-trigger/{?triggerId}{?triggerRunId}
Retrieve the run initiated by the given run of the trigger
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
- triggerId
string
(required)the unique identifier of the trigger
- triggerRunId
string
(required)the identifier of the run of the trigger
200
Headers
Content-Type: application/json
Body
{
"stepRuns": [
{
"end": 1460732282031,
"start": 1460732257765,
"step": {
"type": "build_flowitem",
"id": "build_0_true_d_train_set_prepared_split_year",
"name": "build dataset train_set_prepared_split_year"
},
"result": {
"start": 1460732257767,
"end": 1460732282031,
"outcome": "SUCCESS",
"type": "STEP_DONE"
},
"additionalReportItems": [
{
"start": 1460732258480,
"end": 1460732279882,
"outcome": "SUCCESS",
"target": {
"type": "SAVED_MODEL",
"projectKey": "SCEN",
"modelId": "u4yPbO2B"
},
"warnings": {
"totalCount": 0,
"warnings": {}
},
"versionId": "1460732258821",
"type": "BUILT_MODEL"
},
{
"start": 1460732258001,
"outcome": "SUCCESS",
"end": 1460732282013,
"target": {
"type": "JOBS"
},
"jobId": "sched_build_2016-04-15T14-57-37.770",
"type": "JOB_EXECUTED"
}
],
"runId": "2016-04-15-16-57-37-766"
}
],
"scenarioRun": {
"runId": "2016-04-15-16-57-37-759"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Get details for a runGET/projects/{projectKey}/scenarios/{scenarioId}/{runId}
Retrieve the details of a specific run of the scenario. The details include the outcomes of each step launched by the scenario, as well as their output if they offer one.
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
- runId
string
(required)identifier of the run
200
Headers
Content-Type: application/json
Body
{
"stepRuns": [
{
"end": 1460732282031,
"start": 1460732257765,
"step": {
"type": "build_flowitem",
"id": "build_0_true_d_train_set_prepared_split_year",
"name": "build dataset train_set_prepared_split_year"
},
"result": {
"start": 1460732257767,
"end": 1460732282031,
"outcome": "SUCCESS",
"type": "STEP_DONE"
},
"additionalReportItems": [
{
"start": 1460732258480,
"end": 1460732279882,
"outcome": "SUCCESS",
"target": {
"type": "SAVED_MODEL",
"projectKey": "SCEN",
"modelId": "u4yPbO2B"
},
"warnings": {
"totalCount": 0,
"warnings": {}
},
"versionId": "1460732258821",
"type": "BUILT_MODEL"
},
{
"start": 1460732258001,
"outcome": "SUCCESS",
"end": 1460732282013,
"target": {
"type": "JOBS"
},
"jobId": "sched_build_2016-04-15T14-57-37.770",
"type": "JOB_EXECUTED"
}
],
"runId": "2016-04-15-16-57-37-766"
}
],
"scenarioRun": {
"runId": "2016-04-15-16-57-37-759"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Get a run of a triggerGET/projects/{projectKey}/scenarios/trigger/{scenarioId}/{triggerId}{?triggerRunId}
Retrieve the details of a specific run of a trigger in the scenario.
π Required privileges : RUN_JOBS
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
- triggerId
string
(required)identifier of the trigger
- triggerRunId
string
(required)identifier of the run of the trigger
200
Headers
Content-Type: application/json
Body
{
"scenarioId": "sId",
"timestamp": 1506610145253,
"trigger": {
"delay": 0,
"active": false,
"type": "manual",
"id": "manual",
"name": "API run"
},
"params": {},
"runId": "2017-09-28-16-49-05-255",
"cancelled": false,
"projectKey": "PKEY1"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Update scenario settingsPUT/projects/{projectKey}/scenarios/{scenarioId}
Updates the settings of a Scenario.
The [Scenario
] object given as parameter in of a PUT call MUST have been previously obtained from a
[GET scenario] call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
Headers
Content-Type: application/json
Body
{
"projectKey" : "PKEY1",
"name" : "scenarioId",
"type" : "step_based",
"params" : {
}
...
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the scenario"
},
"name": {
"type": "string",
"description": "Name of the scenario"
},
"type": {
"type": "string",
"description": "Type of the scenario (step_based or custom_python)"
},
"active": {
"type": "boolean",
"description": "Is this scenario active, ie responding to its triggers?"
},
"description": {
"type": "string",
"description": "Description of the scenario"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the scenario. Depends on the type"
},
"triggers": {
"type": "array",
"description": "Trigger definitions of the scenario"
},
"reporters": {
"type": "array",
"description": "Reporter definitions of the scenario"
}
}
}
204
Update basic scenario settingsPUT/projects/{projectKey}/scenarios/{scenarioId}/light
Updates the basic settings of a Scenario, given a BasicScenarioSettings object.
This is only useful to change the βactiveβ status of a scenario
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
Headers
Content-Type: application/json
Body
{
"id": "Hello, world!",
"running": true,
"active": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the scenario"
},
"running": {
"type": "boolean",
"description": "Is this scenario currently running"
},
"active": {
"type": "boolean",
"description": "Is this scenario active, ie responding to its triggers?"
}
}
}
204
Update scenario payloadPUT/projects/{projectKey}/scenarios/{scenarioId}/payload
Updates the payload of a Scenario.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the scenario
- scenarioId
string
(required) Example: the_scenariothe id of the scenario
Headers
Content-Type: application/json
Body
{
"script": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"script": {
"type": "string",
"description": "Payload of the scenario"
}
}
}
204
Machine Learning - Lab ¶
Machine Learning Lab - Analysis ¶
This API allows you to create and manage visual analysis and create ML tasks in it, i.e. Machine Learning models
List analysesGET/projects/{projectKey}/lab
Lists all the visual analyses of the project.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
200
Headers
Content-Type: application/json
Body
[
{
"analysisId": "Hello, world!",
"analysisName": "Hello, world!",
"inputDataset": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create a visual analysisPOST/projects/{projectKey}/lab
Create a new visual analysis
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
Headers
Content-Type: application/json
Body
{
"analysisName": "Hello, world!",
"inputDataset": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"analysisName": {
"type": "string",
"description": "Name of the visual analysis"
},
"inputDataset": {
"type": "string",
"description": "Name of the dataset used as input of the visual analysis and ML Task"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"id": "rqlx0Vd1"
}
Get details about analysisGET/projects/{projectKey}/lab/{analysisId}
Get all the details about a visual analysis of the project.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a analysis
200
Headers
Content-Type: application/json
Body
{
"projectKey": "PROJECT",
"id": "rqlx0Vd1",
"inputDatasetSmartName": "my_dataset",
"script": [...]
"charts": [...]
"name": "My new analysis",
"versionTag": {...},
"creationTag": {...},
"tags": [...],
"checklists": {...}
}
Update a visual analysisPUT/projects/{projectKey}/lab/{analysisId}
Update a visual analysis
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a analysis
Headers
Content-Type: application/json
Body
{
"projectKey": "PROJECT",
"id": "rqlx0Vd1",
"inputDatasetSmartName": "my_dataset",
"script": [...]
"charts": [...]
"name": "My new analysis v2",
"versionTag": {...},
"creationTag": {...},
"tags": [...],
"checklists": {...}
}
200
Headers
Content-Type: application/json
Body
{
"msg": "Saved analysis settings for PROJECT rqlx0Vd1"
}
Delete a visual analyisDELETE/projects/{projectKey}/lab/{analysisId}
Delete a visual analysis
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a analysis
200
Headers
Content-Type: application/json
Body
{
"msg": "Deleted analysis rqlx0Vd1 in PROJECT"
}
List ML tasksGET/projects/{projectKey}/lab/{analysisId}/models
Get all the ML task of a visual analysis.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a analysis
200
Headers
Content-Type: application/json
Body
{
"mlTasks": [
{
"analysisId": "Hello, world!",
"mlTaskId": "Hello, world!",
"analysisName": "Hello, world!",
"mlTaskName": "Hello, world!",
"taskType": "Hello, world!",
"inputDataset": "Hello, world!"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"mlTasks": {
"type": "array",
"description": "the references to the ML Tasks"
}
}
}
Create a new ML taskPOST/projects/{projectKey}/lab/{analysisId}/models
Create a new visual analysis
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a analysis
Headers
Content-Type: application/json
Body
{
"analysisName": "Hello, world!",
"inputDataset": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"analysisName": {
"type": "string",
"description": "Name of the visual analysis"
},
"inputDataset": {
"type": "string",
"description": "Name of the dataset used as input of the visual analysis and ML Task"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"analysisId": "jSEUY6wx",
"mlTaskId": "1xlwvos5"
}
Machine Learning Lab - ML tasks ¶
This API allows you to create, manage, and train ML tasks, i.e. Machine Learning model labs within a DSS visual analysis.
You can manage both Prediction and Clustering ML Tasks.
List ML TasksGET/projects/{projectKey}/models/lab
Lists all the ML Tasks of the project (together with their containing visual analysis).
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
200
Headers
Content-Type: application/json
Body
{
"mlTasks": [
{
"analysisId": "Hello, world!",
"mlTaskId": "Hello, world!",
"analysisName": "Hello, world!",
"mlTaskName": "Hello, world!",
"taskType": "Hello, world!",
"inputDataset": "Hello, world!"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"mlTasks": {
"type": "array",
"description": "the references to the ML Tasks"
}
}
}
Create a ML TaskPOST/projects/{projectKey}/models/lab
Create a new visual analysis and ML task
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
Headers
Content-Type: application/json
Body
{
"analysisName": "Hello, world!",
"inputDataset": "Hello, world!",
"taskType": "Hello, world!",
"predictionType": "Hello, world!",
"targetVariable": "Hello, world!",
"backendType": "Hello, world!",
"sparkConfig": "Hello, world!",
"guessPolicy": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"analysisName": {
"type": "string",
"description": "Name of the analysis to create"
},
"inputDataset": {
"type": "string",
"description": "Name of the input dataset"
},
"taskType": {
"type": "string",
"description": "one of PREDICTION or CLUSTERING"
},
"predictionType": {
"type": "string",
"description": "only for PREDICTION task. One of MULTICLASS, BINARY_CLASSIFICATION, REGRESSION"
},
"targetVariable": {
"type": "string",
"description": "Name of the target variable (only for PREDICTION)"
},
"backendType": {
"type": "string",
"description": "ML backend to use, one of PY_MEMORY, MLLIB or H2O"
},
"sparkConfig": {
"type": "string",
"description": "only if backend is Spark-enabled (MLLIB or H2O)"
},
"guessPolicy": {
"type": "string",
"description": "Policy to use for setting the default parameters. Valid values for prediction are: DEFAULT, SIMPLE_FORMULA, DECISION_TREE, EXPLANATORY and PERFORMANCE. Valid values for clustering are: KMEANS and ANOMALY_DETECTION"
}
}
}
200
Machine learning lab - MLTask ¶
Get the settings of a ML TaskGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/settings
Gets the settings of a single ML task.
The exact structure of the settings may vary. The Python API client can serve as reference for importing settings.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
200
Headers
Content-Type: application/json
Body
{
"taskType" : "PREDICTION",
"targetVariable" : "my_variable" /* Only for PREDICTION tasks */
"modeling" : { /* Modeling settings */ },
"preprocessing" : { /* Preprocessing settings */ }
...
}
Get the status of a ML TaskGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/status
Gets the status of a single ML task. The main usage of the status is to know if the MLTask is currently being guessed (initial discovery) or trained.
The exact structure of the status may vary. The Python API client can serve as reference for importing settings.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
200
Headers
Content-Type: application/json
Body
{
"training" : true,
"guessing": false,
"fullModelIds" : [
{"id": "model1", "fullModelId" : "My-Full-opaque-id", "training" :false}
]
...
}
Re-guess a ML TaskPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/guess{?predictionType}{?targetVariable}{?timeVariable}{?timeseriesIdentifiers}{?fullReguess}
Can be used to reguess all the settings of the ML task when no optional parameter are given, or (for prediction ML tasks only) to set a new value for a core parameter of the task (target variable or prediction type) and subsequently reguess the impacted settings.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a visual analysis
- mlTaskId
string
(required)the identifier of the ML task
- predictionType
string
(optional) Example: REGRESSIONOnly valid for prediction tasks of either
BINARY_CLASSIFICATION
,MULTICLASS
orREGRESSION
type, ignored otherwise. The prediction type to set. Cannot be set iftargetVariable
,timeVariable
ortimeseriesIdentifiers
is also specified.Choices:
REGRESSION
BINARY_CLASSIFICATION
MULTICLASS
- targetVariable
string
(optional)Only valid for prediction tasks, ignored for clustering. The target variable to set. Cannot be set if
predictionType
,timeVariable
ortimeseriesIdentifiers
is also specified.- timeVariable
string
(optional)Column to be used as time variable. Cannot be set if
targetVariable
,predictionType
ortimeseriesIdentifiers
is also specified.- timeseriesIdentifiers
list of strings
(optional)List of columns to be used as time series identifiers. Cannot be set if
targetVariable
,predictionType
ortimeVariable
is also specified.- fullReguess
boolean
(optional)Defaults to true. Scope of the reguess process: whether it should reguess all the settings after changing a core parameter, or only reguess impacted settings (e.g. target remapping when changing the target, metrics when changing the prediction typeβ¦). Ignored if no core paramater is given.
200
Headers
Content-Type: application/json
Body
{
"taskType" : "PREDICTION",
"predictionType": "REGRESSION",
"targetVariable" : "my_variable" /* Only for PREDICTION tasks */
"modeling" : { /* Modeling settings */ },
"preprocessing" : { /* Preprocessing settings */ }
...
}
Change forecasting parameters of a time series forecasting ML Task and reguess impacted algorithm settingsPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/reguess-with-forecasting-params
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the identifier of a project
- analysisId
string
(required)the identifier of a visual analysis
- mlTaskId
string
(required)the identifier of the ML task
Headers
Content-Type: application/json
Body
+ Body: forecasting parameters
+ Content
+ forecastHorizon (number, optional) - Number of time steps within the forecast horizon
+ timestepParams (optional) - Time step parameters
+ Members
+ timeunit (string) - Valid time unit values are: `MILLISECOND`, `SECOND`, `MINUTE`, `HOUR`, `DAY`, `BUSINESS_DAY`, `WEEK`, `MONTH`, `QUARTER`, `HALF_YEAR`, `YEAR`.
+ numberOfTimeunits (number) - Number of time units within a time step.
+ endOfWeekDay (number) - The end of week day setting is only useful for the `WEEK` time unit. Valid values are: `1` (Sunday), `2` (Monday), ..., `7` (Saturday).
+ updateAlgorithmSettings (boolean, optional) - Defaults to true. Whether the algorithm settings should be reguessed after changing time step parameters.
+ Example
{
"forecastHorizon": "1",
"timestepParams" : {
"timeunit": "DAY",
"numberOfTimeunits": 3,
"endOfWeekDay": 1
},
"updateAlgorithmSettings" : true
}
200
Headers
Content-Type: application/json
Body
{
"taskType" : "PREDICTION",
"predictionType": "TIMESERIES_FORECASTING",
"targetVariable" : "my_variable"
"modeling" : { /* Modeling settings */ },
"preprocessing" : { /* Preprocessing settings */ }
...
}
Start training a ML TaskPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/train
Starts training a ML Task. This call returns immediately. Poll on βGet statusβ afterwards to wait for training to complete.
Request body is not mandatory.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
Headers
Content-Type: application/json
Body
{
"sessionName": "short-name",
"sessionDescription": "longer description of this specific training session"
}
204
Get the snippets of a set of trained modelsGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models-snippets
Gets the snippets (short summary) of a set of trained models for this MLTask. The exact structure of the snippet may vary. The Python API client can serve as reference for importing settings.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
Headers
Content-Type: application/json
Body
{
"modelsIds" : [
"id-1", /* The ids must match the fullModelIds returned by the status call */
"id-2"
]
}
200
Headers
Content-Type: application/json
Body
{
"id-1" : {
/* Snippet data for model id-1 */
},
"id-2" : {
/* Snippet data for model id-2 */
}
}
Machine learning lab - Single model ¶
Get the details of a trained modelGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/details
Gets the details of this trained model.
The exact structure of the status may vary. The Python API client can serve as reference for importing settings.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
200
Headers
Content-Type: application/json
Body
{
"trainInfo" : { ... },
"userMeta" : { ... },
"perf" : { ... }
...
}
Saves user metadata for a trained modelPUT/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/user-meta
Updates the user metadata of a model. You must only PUT the βuserMetaβ field of a previously-retrieved model-details object.
The exact structure of the user meta may vary. The Python API client can serve as reference for importing settings.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
Headers
Content-Type: application/json
Body
{
"name": "Name",
"description" : "Description",
"clusterLabels" : [ ... ],
"tags" : ["tag1", "tag2"]
}
204
Deploy a trained model to FlowPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/actions/deployToFlow
Deploys a trained model from this ML Task to a saved model + train recipe in the Flow.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
Headers
Content-Type: application/json
Body
{
"trainDatasetRef": "Name of the train dataset to use",
"testDatasetRef": "Name of the test dataset to use (if using EXPLICIT_EXTRACT splitting)",
"modelName": "Name of the saved model in Flow",
"redoOptimization": true
}
200
Headers
Content-Type: application/json
Body
{
"savedModelId": "identifier_of_the_new_saved_model",
"trainRecipeName": "name_of_the_new_train_recipe"
}
Get scoring jar of a trained modelGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/scoring-jar{?fullClassName}{?includeLibs}
Get the scoring jar of a trained model, provided that you have the license to do so and that the model is compatible with optimized scoring.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
- fullClassName
string
(optional) Example: model.Modelthe fully-qualified Java class name for the model
- includeLibs
boolean
(optional) Example: falsewether to include scoring libraries in the jar
200
Headers
Content-Type: application/java-archive
Get scoring PMML of a trained modelGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/scoring-pmml
Get the scoring PMML of a trained model, provided that you have the license to do so and that the model is compatible with PMML scoring.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
200
Headers
Content-Type: application/xml
Compute subpopulation analyses of a trained modelPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/subpopulation-analyses
Launch computation of subpopulation analyses for a trained model. Returns a reference to a future.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
Headers
Content-Type: application/json
Body
{
"features": ["my_col1", "my_col2"],
"computationParams": { // optional
"sample_size": 10000, // optional, default value is 10000
"random_state": 1337, // optional, default value is 1337
"n_jobs": 1, // optional, default value is 1
"debug_mode": false, // optional, default value is false
}
}
200
Headers
Content-Type: application/json
Body
{
"hasResult": false,
"aborted": false,
"alive": true,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw"
}
Get subpopulation analyses of a trained modelGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/subpopulation-analyses
Get all subpopulation analyses computed for this trained model.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
200
Headers
Content-Type: application/json
Body
{
'global': {
'nbRecords': 10000,
'weightedNbRecords': 10000.0,
'randomState': 1337,
'onSample': true,
'perf': { ... detailed perf ... },
'performanceMetrics': { ... performanceMetrics ...}
},
'subpopulationAnalyses': [
{
'computed_as_type': 'CATEGORY',
'feature': 'my_col1',
'isDate': false,
'sameNumRowsAsSplit': true,
'nbRecords': 10000,
'weightedNbRecords': 10000.0,
'onSample': true,
'randomState': 1337,
'modalities': [
{
'value': 'modality 1',
'count': 2489,
'weightedCount': 2489.0
'excluded': false,
'missing_values': false,
'perf': { ... detailed perf ... },
'performanceMetrics': { ... performanceMetrics ...},
...
},
{
'value': 'modality 2',
'count': 2329,
'weightedCount': 2329.0
'excluded': true,
'reason': 'ONECLASS'
'missing_values': false,
...
},
{
'value': 'modality 3',
'count': 1428,
'weightedCount': 1428.0
'excluded': false,
'missing_values': false,
'perf': { ... detailed perf ... },
'performanceMetrics': { ... performanceMetrics ...},
...
},
...
],
},
]
}
Compute partial dependencies of a trained modelPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/partial-dependencies
Launch computation of partial dependencies for a trained model. Returns a reference to a future.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
Headers
Content-Type: application/json
Body
{
"features": ["my_col1", "my_col2"],
"computationParams": { // optional
"sample_size": 10000, // optional, default value is 10000
"random_state": 1337, // optional, default value is 1337
"n_jobs": 1, // optional, default value is 1
"debug_mode": false, // optional, default value is false
}
}
200
Headers
Content-Type: application/json
Body
{
"hasResult": false,
"aborted": false,
"alive": true,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw"
}
Get partial dependencies of a trained modelGET/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/partial-dependencies
Get all partial dependencies computed for this trained model.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
200
Headers
Content-Type: application/json
Body
{
"partialDependencies": [
{
'feature': 'EDU',
'nbRecords': 500,
'onSample': true,
'randomState': 1337,
'categories': ...,
'data': ...,
'distribution': ...,
...
},
...
]
}
Generate model documentation from default templatePOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/generate-documentation-from-default-template
Start the model documentation generation using the default template for this model. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"template": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Generate model documentation from a custom templatePOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/generate-documentation-from-custom-template
Start the model documentation generation using an attached template file to upload. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
Headers
Content-Type: multipart
Body
Multipart file: the template docx file
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"template": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Generate model documentation from a template file in a managed folderPOST/projects/{projectKey}/models/lab/{analysisId}/{mlTaskId}/models/{modelFullId}/generate-documentation-from-template-in-folder{?folderId}{?path}
Start the model documentation generation using a template file in a managed folder. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- analysisId
string
(required)id of the containing visual analysis
- mlTaskId
string
(required)id of the ML task
- modelFullId
string
(required)model id as returned by the get-model-snippets call
- folderId
String
(required)the id of the managed folder
- path
String
(required)the path to the file from the root of the folder
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"template": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Download model documentation of a trained modelGET/projects/{projectKey}/models/lab/documentations/{exportId}
Download the model documentation of a trained model. The documentation exportId is obtained through a GET task call on the jobId returned when generating the model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- exportId
String
(required)the id of the generated model documentation
200
Body
The file's contents, as a stream
Machine Learning - Saved models ¶
Saved models ¶
This API allows you to manage and get status of saved models. To create a saved model, deploy it from a ML Task.
You can manage both Prediction and Clustering Saved models.
List saved modelsGET/projects/{projectKey}/savedmodels
Lists all the saved models of the project
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
200
Headers
Content-Type: application/json
Body
[
{
"id" :"sq210wq2"
"type" : "PREDICTION"
},
...
]
Create saved modelPOST/projects/{projectKey}/savedmodels/create-external
Creates a new saved model for storing and managing MLflow or External Models.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
Headers
Content-Type: application/json
Body
{
"savedModelType": "MLFLOW_PYFUNC", //Only 'MLFLOW_PYFUNC' or 'PROXY_MODEL' model types can be created manually.
"predictionType": "BINARY_CLASSIFICATION", //Optional (but needed for most operations). One of 'BINARY_CLASSIFICATION', 'MULTICLASS' or 'REGRESSION'
"name": "model" //Human readable name for the new saved model in the flow
}
200
Headers
Content-Type: application/json
Body
{
"projectKey": "EXPERIMENTTRACKINGMTP",
"id": "xBVRUoqb",
"savedModelType": "MLFLOW_PYFUNC",
...
}
Get saved modelGET/projects/{projectKey}/savedmodels/{savedModelId}
Get a specific saved model of the project
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
200
Headers
Content-Type: application/json
Body
{
"id" :"sq210wq2",
"activeVersion": "initial",
"taskType" : "PREDICTION",
...
}
Update saved modelPUT/projects/{projectKey}/savedmodels/{savedModelId}
Saves the settings for a saved model.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
Headers
Content-Type: application/json
Body
{
"projectKey": "MLFLOWDEMO",
"id": "u8nmwm7P",
"savedModelType": "MLFLOW_PYFUNC", // Only 'MLFLOW_PYFUNC' model types can be created manually.
"predictionType": "BINARY_CLASSIFICATION", //Optional (but needed for most operations). One of 'BINARY_CLASSIFICATION', 'MULTICLASS' or 'REGRESSION'
"name": "model", //Human readable name for the new saved model in the flow,
"contenType": "mlflow_python/prediction/py_memory",
"activeVersion": "v02",
"publishPolicy": "UNCONDITIONAL",
"rebuildBehavior": "EXPLICIT",
"conditionalOutputs": [ ... ],
"partitioning": { ... },
"flowOptions": { ... },
"lastExportedFrom": "",
"metrics": { ... },
"metricsChecks": { ... },
"miniTask": { ... },
"lastTrainIndex": 1,
"lastTrainJobId": "",
"tags": [ ... ],
"customFields": { ... },
"checklists": { ... }
}
204
Saved model versions ¶
This API allows you to manage the versions of saved models.
List versionsGET/projects/{projectKey}/savedmodels/{savedModelId}/versions
Lists all versions of a saved model.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
200
Headers
Content-Type: application/json
Body
[
{
"id" : "1235012190392",
"active" : true,
"trainDate" : 1230944860592
},
...
]
Import MLflow version from file or pathPOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}{?codeEnvName}{?containerExecConfigName}{?folderRef}{?path}
Create a new version for this saved model from an uploaded MLflow model file or from a path containing a MLflow model in a managed folder. Requires the saved model to be created using Create saved model.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project.
- savedModelId
string
(required)Identifier of the saved model.
- versionId
string
(required)Version identifier.
- codeEnvName
string
(required)Name of the code env to use for this model version. The code env must contain at least mlflow and the package(s) corresponding to the used MLflow-compatible frameworks. If value is βINHERITβ, the code env currently defined for the project will be used.
- containerExecConfigName
string
(optional)Name of the containerized execution configuration to use while creating this model version. If value is βINHERITβ, the container execution configuration of the project will be used. If value is βNONEβ, local execution will be used (no container).
- folderRef
string
(optional)Identifier of the managed folder in the form
PROJECT_KEY.MANAGED_FOLDER_ID
.- path
string
(optional)Path of the MLflow folder in the managed folder.
Headers
Content-Type: multipart
Body
file (Multipart file) - MLflow model file or empty.
200
Get snippet of a versionGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/snippet
Gets snippet (short summary) of a single version.
The exact structure of the snippet may vary. The Python API client can serve as reference for importing settings.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Headers
Content-Type: application/json
Body
{
/* Snippet data */
}
Get details of a versionGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/details
Gets details of a single version. The exact structure of the details may vary. The Python API client can serve as reference for importing settings.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Headers
Content-Type: application/json
Body
{
"trainInfo" : { ... },
"userMeta" : { ... },
"perf" : { ... }
...
}
Set a version as activePOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/actions/setActive
Sets a version as the active scoring version.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
204
Set a version user metaPUT/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/user-meta
Updates the user metadata of a model version. You must only PUT the βuserMetaβ field of a previously-retrieved model-details object.
The exact structure of the user meta may vary. The Python API client can serve as reference for importing settings.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
Headers
Content-Type: application/json
Body
{
"name": "Name",
"description" : "Description",
"clusterLabels" : [ ... ],
"tags" : ["tag1", "tag2"]
}
204
Delete versionsGET/projects/{projectKey}/savedmodels/{savedModelId}/delete-versions{?versions}{?removeIntermediate}
Delete some versions of a saved model.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versions
array[string]
(required) Example: ["1590401899705_07cf4f8f"]Array of the versions to delete
- removeIntermediate
boolean
(optional) Example: trueRequest the deletion of intermediate model versions, instantiated for each trained partition of a partitioned model. Default is true.
204
Headers
Content-Type: application/json
Get MLflow model version metadataGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/external-ml/metadata
Gets metadata of a MLflow single version. The exact structure of the metadata may vary depending on the prediction type.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Body
{
"importedOn": 1647351618059,
"timeCreated": 1646980869247,
"targetColumnName": "variety",
"pythonCodeEnvName": "mlflow-integration-tests-base-36",
"predictionType": "MULTICLASS",
"classLabels": [ ... ],
"features": [ ... ],
"metricParams": {
"evaluationMetric": "ROC_AUC",
"customEvaluationMetricGIB": true,
"customEvaluationMetricNeedsProba": false,
"thresholdOptimizationMetric": "F1",
"costMatrixWeights": {
"tpGain": 1.0,
"tnGain": 0.0,
"fpGain": -0.3,
"fnGain": 0.0
},
"liftPoint": 0.4
},
"flavorsLabels": [ ... ],
"pyfuncLabels": [ ... ],
"origin": {
"experimentId": "QXf8VzOn",
"runId": "2LuaCboU",
"artifactURI": "dss-managed-folder://z7pSyYzE/QXf8VzOn/2LuaCboU/artifacts"
}
}
Update MLflow model version metadataPUT/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/external-ml/metadata
Sets metadata for this MLflow model version. In addition to Β΄targetColumnNameΒ΄, one of Β΄gatherFeaturesFromDatasetΒ΄ or Β΄featuresΒ΄ must be passed in order to be able to evaluate performance.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
Headers
Content-Type: application/json
Body
{
"gatherFeaturesFromDataset": "", //Optional: Dataset reference from where to get the features.
"importedOn": 1647351618059,
"timeCreated": 1646980869247,
"targetColumnName": "variety",
"pythonCodeEnvName": "mlflow-integration-tests-base-36",
"predictionType": "MULTICLASS",
"classLabels": [
{
"label": "Setosa"
}, ...
],
"features": [
{
"name": "sepal.length",
"type": "string"
}, ...
],
"metricParams": {
"evaluationMetric": "ROC_AUC",
"customEvaluationMetricGIB": true,
"customEvaluationMetricNeedsProba": false,
"thresholdOptimizationMetric": "F1",
"costMatrixWeights": {
"tpGain": 1.0,
"tnGain": 0.0,
"fpGain": -0.3,
"fnGain": 0.0
},
"liftPoint": 0.4
},
"flavorsLabels": [ ... ],
"pyfuncLabels": [ ... ],
"origin": {
"experimentId": "QXf8VzOn",
"runId": "2LuaCboU",
"artifactURI": "dss-managed-folder://z7pSyYzE/QXf8VzOn/2LuaCboU/artifacts"
}
}
204
Evaluate MLflow model versionPOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/external-ml/actions/evaluate
Evaluates the performance of this model version on a particular dataset. After calling this, the βresult screensβ of the MLflow model version will be available (confusion matrix, error distribution, performance metrics, β¦) and more information will be available when calling Get details of a version.
π Required privileges : WRITE_CONF on the project and READ_CONF on the dataset project.
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
Headers
Content-Type: application/json
Body
{
"datasetRef": "PROJECT.datasetName",
"containerExecConfigName": "NONE"
}
204
Get scoring jar of a versionGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/scoring-jar{?fullClassName}{?includeLibs}
Get the scoring jar of a single version, provided that you have the license to do so and that the model is compatible with optimized scoring.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
- fullClassName
string
(optional) Example: model.Modelthe fully-qualified Java class name for the model
- includeLibs
boolean
(optional) Example: falsewether to include scoring libraries in the jar
200
Headers
Content-Type: application/java-archive
Get scoring PMML of a versionGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/scoring-pmml
Get the scoring PMML of a single version, provided that you have the license to do so and that the model is compatible with PMML scoring.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Headers
Content-Type: application/xml
Compute subpopulation analyses of a versionPOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/subpopulation-analyses
Launch computation of subpopulation analyses for a version. Returns a reference to a future.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
Headers
Content-Type: application/json
Body
{
"features": ["my_col1", "my_col2"],
"computationParams": { // optional
"sample_size": 10000, // optional, default value is 10000
"random_state": 1337, // optional, default value is 1337
"n_jobs": 1, // optional, default value is 1
"debug_mode": false, // optional, default value is false
}
}
200
Headers
Content-Type: application/json
Body
{
"hasResult": false,
"aborted": false,
"alive": true,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw"
}
Get subpopulation analyses of a versionGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/subpopulation-analyses
Get all subpopulation analyses computed for a version.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Headers
Content-Type: application/json
Body
{
'global': {
'nbRecords': 10000,
'weightedNbRecords': 10000.0,
'randomState': 1337,
'onSample': true,
'perf': { ... detailed perf ... },
'performanceMetrics': { ... performanceMetrics ...}
},
'subpopulationAnalyses': [
{
'computed_as_type': 'CATEGORY',
'feature': 'my_col1',
'isDate': false,
'sameNumRowsAsSplit': true,
'nbRecords': 10000,
'weightedNbRecords': 10000.0,
'onSample': true,
'randomState': 1337,
'modalities': [
{
'value': 'modality 1',
'count': 2489,
'weightedCount': 2489.0
'excluded': false,
'missing_values': false,
'perf': { ... detailed perf ... },
'performanceMetrics': { ... performanceMetrics ...},
...
},
{
'value': 'modality 2',
'count': 2329,
'weightedCount': 2329.0
'excluded': true,
'reason': 'ONECLASS'
'missing_values': false,
...
},
{
'value': 'modality 3',
'count': 1428,
'weightedCount': 1428.0
'excluded': false,
'missing_values': false,
'perf': { ... detailed perf ... },
'performanceMetrics': { ... performanceMetrics ...},
...
},
...
],
},
]
}
Compute partial dependencies of a versionPOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/partial-dependencies
Launch computation of partial dependencies for a version. Returns a reference to a future.
π Required privileges : WRITE_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
Headers
Content-Type: application/json
Body
{
"features": ["my_col1", "my_col2"],
"computationParams": { // optional
"sample_size": 10000, // optional, default value is 10000
"random_state": 1337, // optional, default value is 1337
"n_jobs": 1, // optional, default value is 1
"debug_mode": false, // optional, default value is false
}
}
200
Headers
Content-Type: application/json
Body
{
"hasResult": false,
"aborted": false,
"alive": true,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw"
}
Get partial dependencies of a versionGET/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/partial-dependencies
Get all partial dependencies computed for a version.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)The key of the project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Headers
Content-Type: application/json
Body
{
"partialDependencies": [
{
'feature': 'EDU',
'nbRecords': 500,
'onSample': true,
'randomState': 1337,
'categories': ...,
'data': ...,
'distribution': ...,
...
},
...
]
}
Generate model documentation from default templatePOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/generate-documentation-from-default-template
Start the model documentation generation for this version using the default template for this model. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"exportId": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Generate model documentation from a custom templatePOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/generate-documentation-from-custom-template
Start the model documentation generation for this version using an attached template file to upload. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
Headers
Content-Type: multipart
Body
Multipart file: the template docx file
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"exportId": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Generate model documentation from a template file in a managed folderPOST/projects/{projectKey}/savedmodels/{savedModelId}/versions/{versionId}/generate-documentation-from-template-in-folder{?folderId}{?path}
Start the model documentation generation for this version using a template file in a managed folder. Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- savedModelId
string
(required)Identifier of the saved model
- versionId
string
(required)Version identifier
- folderId
String
(required)the id of the managed folder
- path
String
(required)the path to the file from the root of the folder
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"exportId": "gj6loGZiXw6K56KV",
"data": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
}
Download model documentation of a versionGET/projects/{projectKey}/savedmodels/documentations/{exportId}
Download the model documentation of this model version. The documentation exportId is obtained through a GET task call on the jobId returned when generating the model documentation.
π Required privileges : READ_CONF on the project
Example URI
- projectKey
string
(required)the key of a project
- exportId
String
(required)the id of the generated model documentation
200
Body
The file's contents, as a stream
Machine Learning - Experiment tracking ¶
Experiment tracking ¶
In order to track code-based experiments, DSS includes an integration of MLflow Tracking. DSS hosts the MLflow tracking REST API with the endpoints related to the Rest Store for the version 1.21.0. The API features additional endpoints allowing to manage experiments and models without the MLflow CLI.
When using these endpoints, the header x-dku-mlflow-project-key
must be added to the request with the corresponding project key.
If calling the Create Experiment or the Create Run endpoints, it is also required to add the header x-dku-mlflow-managed-folder-id
with the corresponding managed folder id in the form PROJECT_KEY.MANAGED_FOLDER_ID
.
List models for a runGET/api/2.0/mlflow/extension/models/{runId}
Returns the list of models for a given run.
π Required privileges : READ_CONF on the project
Example URI
- runId
string
(required)The run id for which to return a list of models.
200
Headers
Content-Type: application/json
Body
[
{
"runId": "Iw3EE0AR",
"artifactPath": "model"
},
...
]
Set inference informationPOST/api/2.0/mlflow/extension/set-run-inference-info
Sets the type of the model, and optionally other information useful to deploy or evaluate it.
π Required privileges : READ_CONF on the project
Example URI
Headers
Content-Type: application/json
Body
{
"run_id": "grhZpRz2",
"prediction_type": "MULTICLASS", // Must be one of 'BINARY_CLASSIFICATION', 'MULTICLASS', 'REGRESSION' or 'OTHER'
"classes": "[\"Iris-setosa\", \"Iris-versicolor\", \"Iris-virginica\"]", // Optional: But mandatory in case of 'BINARY_CLASSIFICATION' or 'MULTICLASS' modes. JSON serialized ordered list of classes.
"code_env_name": "mlflow-code-env", // Optional: name of an adequate DSS python code environment
"target": "class" // Optional: name of the target
}
204
Create virtual datasetPOST/api/2.0/mlflow/extension/create-project-experiments-dataset
Sets the type of the model, and optionally other information useful to deploy or evaluate it.
π Required privileges : WRITE_CONF on the project
Example URI
Headers
Content-Type: application/json
Body
{
"datasetName": "dataset_name", // name of the dataset
"experimentIds": ["FGXlefMU", "1ePQufkp"], // List of ids of experiments to filter on. No filtering if empty.
"viewType": "ACTIVE_ONLY", // Optional: One of ACTIVE_ONLY, DELETED_ONLY and ALL. Default is ACTIVE_ONLY.
"filter": "", // Optional: MLflow search expression.
"orderBy": [], // Optional: List of order by clauses. Default is ordered by start_time, then runId.
"format": "LONG" // Optional: LONG or JSON. Default is LONG.
}
200
Headers
Content-Type: application/json
Body
{
"value": {
"type": "ExperimentsDB",
"managed": true,
"featureGroup": false,
"name": "TEST_FROM_API",
"projectKey": "TestAutolog",
"checklists": { ... },
"checks": [],
"customMeta": { ... },
"flowOptions": { ... },
"readWriteOptions": { ... },
"partitioning": { ... },
"versionTag": { ... },
"creationTag": { ... },
"tags": [],
"params": {
"format": "LONG",
"scope": "PROJECT",
"projectKey": "TestAutolog",
"experimentIds": [
"FGXlefMU",
"1ePQufkp"
],
"viewType": "ACTIVE_ONLY",
"filter": "",
"orderBy": []
},
"schema": { ... },
"dkuProperties": [],
"metrics": { ... },
"metricsChecks": { ... },
"customFields": {}
},
"messages": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
Garbage collectPOST/api/2.0/mlflow/extension/garbage-collect
Permanently deletes the experiments and runs marked as βDeletedβ.
π Required privileges : READ_CONF on the project
Example URI
Body
Empty
204
Clean projectDELETE/api/2.0/mlflow/extension/clean-db/{projectKey}
Permanently deletes the experiments and runs marked as βDeletedβ.
Note: No need to set the x-dku-mlflow-project-key
header on this case.
π Required privileges : Admin
Example URI
- projectKey
string
(required)The key of the project that should be cleaned up.
Body
Empty
204
Managed Folders ¶
Managed folders ¶
List Managed foldersGET/projects/{projectKey}/managedfolders/
Lists the managed folders of a project.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the identifier of a project
200
See GET managed folder for more information
Headers
Content-Type: application/json
Body
[
{
"projectKey": "Hello, world!",
"id": "Hello, world!",
"name": "Hello, world!",
"path": "Hello, world!",
"tags": [
"Hello, world!"
]
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create managed folderPOST/projects/{projectKey}/managedfolders
Create a new managed folder.
Important: it is recommended that you use the GET ManagedFolder call to retrieve an existing managed folder and modify it to suit your needs and create a new managed folder.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the identifier of a project
Headers
Content-Type: application/json
Body
{
"projectKey": "Hello, world!",
"id": "Hello, world!",
"name": "Hello, world!",
"path": "Hello, world!",
"tags": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this managed folder"
},
"id": {
"type": "string",
"description": "Unique identifier of this managed folder in its project"
},
"name": {
"type": "string",
"description": "Name of this managed folder in its project"
},
"path": {
"type": "string",
"description": "Path to the actual filesystem folder of this managed folder"
},
"tags": {
"type": "array",
"description": "Tags of this managed folder"
}
}
}
204
Managed folder ¶
To create a managed folder see POST managedfolders
Get managed folder settingsGET/projects/{projectKey}/managedfolders/{folderId}
Retrieves a Managed Folder object
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
200
Headers
Content-Type: application/json
Body
{
"projectKey": "Hello, world!",
"id": "Hello, world!",
"name": "Hello, world!",
"path": "Hello, world!",
"tags": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this managed folder"
},
"id": {
"type": "string",
"description": "Unique identifier of this managed folder in its project"
},
"name": {
"type": "string",
"description": "Name of this managed folder in its project"
},
"path": {
"type": "string",
"description": "Path to the actual filesystem folder of this managed folder"
},
"tags": {
"type": "array",
"description": "Tags of this managed folder"
}
}
}
Update managed folder settingsPUT/projects/{projectKey}/managedfolders/{folderId}
Updates the settings of a Managed Folder.
The ManagedFolder
object given as parameter in of a PUT call MUST have been previously obtained from a
GET managedfolder call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and those attributes may be removed in future releases without notice.
Note : the path to the managed folder cannot be changed
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
Headers
Content-Type: application/json
Body
{
"projectKey": "Hello, world!",
"id": "Hello, world!",
"name": "Hello, world!",
"path": "Hello, world!",
"tags": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this managed folder"
},
"id": {
"type": "string",
"description": "Unique identifier of this managed folder in its project"
},
"name": {
"type": "string",
"description": "Name of this managed folder in its project"
},
"path": {
"type": "string",
"description": "Path to the actual filesystem folder of this managed folder"
},
"tags": {
"type": "array",
"description": "Tags of this managed folder"
}
}
}
204
Delete managed folderDELETE/projects/{projectKey}/managedfolders/{folderId}
Deletes a managed folder.
WARNING : Deleting a managed folder will trigger the deletion of all associated recipes.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
204
Managed folder contents ¶
List files in managed folderGET/projects/{projectKey}/managedfolders/{folderId}/contents/
Lists the contents of a managed folder
π Required privileges : READ_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
200
Headers
Content-Type: application/json
Body
{
"items": [
{
"path": "Hello, world!",
"size": 1,
"lastModified": 1
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "list of the files in the folder"
}
}
}
Download file from managed folderGET/projects/{projectKey}/managedfolders/{folderId}/contents/{path}
Downloads the file with the specified relative path in the folder
π Required privileges : READ_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
- path
string
(required)the path to the file from the root of the folder
200
Body
The file's contents, as a stream
Delete a file from managed folderDELETE/projects/{projectKey}/managedfolders/{folderId}/contents/{path}
Deletes the file with the specified relative path in the folder
π Required privileges : WRITE_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
- path
string
(required)the path to the file from the root of the folder
204
Upload file to managed folderPOST/projects/{projectKey}/managedfolders/{folderId}/contents/{path}
Uploads a file at the specified relative path in the folder. The file is sent as a multipart file.
π Required privileges : WRITE_DATA
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the managed folder
- folderId
string
(required) Example: b21ed09athe unique identifier of the managed folder
- path
string
(required)the path to the file from the root of the folder
204
Recipes ¶
Recipes ¶
List recipesGET/projects/{projectKey}/recipes/
Lists the recipes of a project.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
200
Returns an array of [Recipe] object. See GET Recipe for more information on the [Recipe] object
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PKEY1",
"name": "recipe1",
"type": "sync",
"params": {},
"inputs": {
"main": {
"items": [
{
"ref": "dataset1"
},
{
"ref": "dataset2"
}
]
}
},
"outputs": {
"main": {
"items": [
{
"ref": "dataset3"
}
]
}
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create recipePOST/projects/{projectKey}/recipes
Creates a new recipe.
Important: this call creates a recipe with the basic setup. To further configure it, use the GET Recipe and PUT Recipe calls.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"recipePrototype": {
"projectKey": "PKEY1",
"name": "recipe1",
"type": "join",
"params": {},
"inputs": {
"main": {
"items": [
{
"ref": "inputDataset1"
},
{
"ref": "inputDataset2"
}
]
}
},
"outputs": {
"main": {
"items": [
{
"ref": "outputDataset"
}
]
}
}
},
"creationSettings": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Desired name of the recipe in its project"
},
"type": {
"type": "string",
"description": "Type of the recipe"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the recipe. The exact parameters depend on the recipe type"
},
"inputs": {
"type": "object",
"properties": {},
"description": "Inputs of the recipe."
},
"outputs": {
"type": "object",
"properties": {},
"description": "Outputs of the recipe."
}
}
}
200
Returns the final unique name of the recipe
Headers
Content-Type: application/json
Body
{
"name" : "recipe1",
}
Recipe ¶
To build a recipe see POST recipes
Get recipe settingsGET/projects/{projectKey}/recipes/{recipeName}
Retrieves a Recipe object.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeName
string
(required) Example: myrecipethe name of a recipe
200
Headers
Content-Type: application/json
Body
{
"recipe": {
"projectKey": "PKEY1",
"name": "recipe1",
"type": "sync",
"params": {}
},
"payload": "payload of the recipe"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"recipe": {
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this recipe"
},
"name": {
"type": "string",
"description": "Unique name of this recipe in its project"
},
"type": {
"type": "string",
"description": "Type of the recipe"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the recipe. The available parameters depend on the recipe type"
},
"inputs": {
"type": "object",
"properties": {},
"description": "Inputs of the recipe."
},
"outputs": {
"type": "object",
"properties": {},
"description": "Outputs of the recipe."
}
},
"description": "Recipe definition"
},
"payload": {
"type": "string",
"description": "Payload of the recipe. The content depends on the recipe type"
}
}
}
Update recipe settingsPUT/projects/{projectKey}/recipes/{recipeName}
Updates the settings of a Recipe.
The RecipeAndPayload
object given as parameter in of a PUT call MUST have been previously obtained from a
GET recipe call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeName
string
(required) Example: myrecipethe name of a recipe
Headers
Content-Type: application/json
Body
{
"recipe": {
"projectKey": "PKEY1",
"name": "recipe1",
"type": "sync",
"params": {}
},
"payload": "payload of the recipe"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this recipe"
},
"name": {
"type": "string",
"description": "Unique name of this recipe in its project"
},
"type": {
"type": "string",
"description": "Type of the recipe"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the recipe. The available parameters depend on the recipe type"
},
"inputs": {
"type": "object",
"properties": {},
"description": "Inputs of the recipe."
},
"outputs": {
"type": "object",
"properties": {},
"description": "Outputs of the recipe."
}
}
}
204
Delete recipeDELETE/projects/{projectKey}/recipes/{recipeName}
Deletes a recipe.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeName
string
(required) Example: myrecipethe name of a recipe
204
Recipe metadata ¶
Get metadataGET/projects/{projectKey}/recipes/{recipeName}/metadata
Retrieves metadata about this recipe.
π Required privileges : READ_METADATA on Project
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeName
string
(required) Example: myrecipethe name of a recipe
200
Headers
Content-Type: application/json
Body
{
"label": "recipe_name",
"tags": [
"tag1",
"tag2"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display name for this object"
},
"description": {
"type": "string",
"description": "Long description (Markdown) for this object"
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"custom": {
"type": "object",
"properties": {},
"description": "Custom opaque metadata"
}
}
}
Sets metadataPUT/projects/{projectKey}/recipes/{recipeName}/metadata
Writes metadata about this recipe. You should only set a metadata object that has been obtained through the corresponding GET call.
π Required privileges : WRITE_METADATA on Project
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeName
string
(required) Example: myrecipethe name of a recipe
Headers
Content-Type: application/json
Body
{
"label": "recipe_name",
"tags": [
"tag1",
"tag2"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Display name for this object"
},
"description": {
"type": "string",
"description": "Long description (Markdown) for this object"
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"custom": {
"type": "object",
"properties": {},
"description": "Custom opaque metadata"
}
}
}
200
Streaming endpoints ¶
Streaming endpoints ¶
List Streaming endpointsGET/projects/{projectKey}/streamingendpoints/
Lists the streaming endpoints of a project.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the identifier of a project
200
See GET streaming endpoint for more information
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PKEY1",
"id": "endpoint1",
"description": "a streaming endpoint"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create Streaming endpointPOST/projects/{projectKey}/streamingendpoints/
Create a new streaming endpoint.
Important: it is recommended that you use the GET streamingendpoint call to retrieve an existing streaming endpoint and modify it to suit your needs to create a new streaming endpoint.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the identifier of a project
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"id": "endpoint1",
"type": "kafka"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this streaming endpoint"
},
"id": {
"type": "string",
"description": "Unique identifier of this streaming endpoint in its project"
},
"type": {
"type": "string",
"description": "Type of the streaming endpoint"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the streaming endpoint type"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this streaming endpoint"
},
"tags": {
"type": "array",
"description": "Tags of this streaming endpoint"
}
}
}
204
Create managed Streaming endpointPOST/projects/{projectKey}/streamingendpoints/managed
Create a new managed streaming endpoint.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the identifier of a project
Headers
Content-Type: application/json
Body
{
"id": "endpoint1",
"creationSettings": {
"connectionId": "name_of_connection",
"formatOptionId": "format_option"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this streaming endpoint"
},
"id": {
"type": "string",
"description": "Unique identifier of this streaming endpoint in its project"
},
"type": {
"type": "string",
"description": "Type of the streaming endpoint"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the streaming endpoint type"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this streaming endpoint"
},
"tags": {
"type": "array",
"description": "Tags of this streaming endpoint"
}
}
}
204
Streaming endpoint ¶
To create a streaming endpoint see POST streamingendpoints
Get Streaming endpoint settingsGET/projects/{projectKey}/streamingendpoints/{streamingEndpointId}
Retrieves a streaming endpoint object
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the streaming endpoint
- streamingEndpointId
string
(required) Example: b21ed09athe unique identifier of the streaming endpoint
200
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"id": "endpoint1",
"type": "kafka"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this streaming endpoint"
},
"id": {
"type": "string",
"description": "Unique identifier of this streaming endpoint in its project"
},
"type": {
"type": "string",
"description": "Type of the streaming endpoint"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the streaming endpoint type"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this streaming endpoint"
},
"tags": {
"type": "array",
"description": "Tags of this streaming endpoint"
}
}
}
Update Streaming endpoint settingsPUT/projects/{projectKey}/streamingendpoints/{streamingEndpointId}
Updates the settings of a streaming endpoint.
The StreamingEndpoint
object given as parameter in of a PUT call MUST have been previously obtained from a
GET streamingendpoint call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and those attributes may be removed in future releases without notice.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the streaming endpoint
- streamingEndpointId
string
(required) Example: b21ed09athe unique identifier of the streaming endpoint
Headers
Content-Type: application/json
Body
{
"projectKey": "PKEY1",
"id": "x97xMt4",
"name": "folder1"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this streaming endpoint"
},
"id": {
"type": "string",
"description": "Unique identifier of this streaming endpoint in its project"
},
"type": {
"type": "string",
"description": "Type of the streaming endpoint"
},
"params": {
"type": "object",
"properties": {},
"description": "Parameters of the connection to the data. The available parameters depend on the streaming endpoint type"
},
"schema": {
"type": "object",
"properties": {},
"description": "Schema of this streaming endpoint"
},
"tags": {
"type": "array",
"description": "Tags of this streaming endpoint"
}
}
}
204
Delete streaming endpointDELETE/projects/{projectKey}/streamingendpoints/{streamingEndpointId}
Deletes a streaming endpoint.
WARNING : Deleting a streaming endpoint will trigger the deletion of all associated recipes.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of the project of the streaming endpoint
- streamingEndpointId
string
(required) Example: endpoint1the unique identifier of the streaming endpoint
204
Streaming endpoint schema ¶
Get schemaGET/projects/{projectKey}/streamingendpoints/{streamingEndpointId}/schema
Retrieves the schema of the specified streaming endpoint. The streaming endpointβs schema is the list of its columns with their types.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of a project
- streamingEndpointId
string
(required)the unique identifier of the streaming endpoint
200
The Schema
object has one attribute: columns
(an array of SchemaColumn
)
- columns array[Column]
Each SchemaColumn
has a name and a type:
-
name
string
-
type
string
-
maxLength
int
: for string type only,-1
means no maximum length
Existing types are:
-
string
-
boolean
-
tinyint, smallint, int, bigint
-
float, double
-
date
-
array, map, object
-
geopoint, geometry
Headers
Content-Type: application/json
Body
{
columns: [
{"name": "Column1", type: "string", maxLength: -1},
{"name": "Column2", type: "bigint"},
]
}
Set schemaPUT/projects/{projectKey}/streamingendpoints/{streamingEndpointId}/schema
The Schema
object given as parameter in of a PUT call MUST have been previously obtained from a
GET streamingendpoint call at the same URL.
The object with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and those attributes may be removed in future releases without notice.
π Required privileges : WRITE_SCHEMA
Example URI
- projectKey
string
(required)the key of a project
- streamingEndpointId
string
(required)the unique identifier of the streaming endpoint
The Schema
object has one attribute: columns
(an array of SchemaColumn
)
- columns array[Column]
Each SchemaColumn
has a name and a type:
-
name
string
-
type
string
-
maxLength
int
: for string type only,-1
means no maximum length
Existing types are:
-
string
-
boolean
-
tinyint, smallint, int, bigint
-
float, double
-
date
-
array, map, object
-
geopoint, geometry
Headers
Content-Type: application/json
Body
{
columns: [
{"name": "Column1", type: "string", maxLength: -1},
{"name": "Column2", type: "bigint"},
]
}
204
Continuous activities ¶
Continuous activities ¶
List latest continuous activitiesGET/projects/{projectKey}/continuous-activities
Retrieves the list of the continuous activities, as an array of [ContinuousActivityState
]
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "Hello, world!",
"recipeId": "Hello, world!",
"recipeType": "Hello, world!",
"desiredState": "Hello, world!",
"startedOn": 1,
"startedBy": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Continuous activity ¶
Get continuous activity statusGET/projects/{projectKey}/continuous-activities/{recipeId}
Retrieves the job status as a ContinuousActivityFullState
object, giving the desired state of the continuous activity, and its actual current state.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeId
string
(required) Example: compute_endpointthe id of a continuous activity
200
Headers
Content-Type: application/json
Body
{
"recipeType": "cpython",
"startedOn": 1617716549927,
"loopParams": {
"abortAfterCrashes": -1,
"maxRestartDelayMS": 0,
"restartDelayIncMS": 0,
"initialRestartDelayMS": 0
},
"desiredState": "STARTED",
"recipeId": "compute_foo",
"mainLoopState": {
"currentLogTail": {
"totalLines": 54,
"lines": [
"OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=150m; support was removed in 8.0",
"[2021/04/06-15:42:30.951] [main] [INFO] [dku.logging] - Loading logging settings",
...
]
},
"futureInfo": {
"jobDisplayName": "Runner for continuous activity STREAMS compute_foo",
"aborted": false,
"alive": true,
"jobId": "dQKJKzjw",
"hasResult": false
},
"runId": "2021-04-06-15-42-30-099",
"futureId": "dQKJKzjw",
"attemptId": "2021-04-06-15-42-30-102"
},
"startedBy": "admin",
"projectKey": "STREAMS"
}
StartPOST/projects/{projectKey}/continuous-activities/{recipeId}/start
Requests a new run of the specified continuous activity.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeId
string
(required) Example: compute_endpointthe id of a continuous activity
200
Body
{
"aborted": false,
"alive": true,
"jobId": "dQKJKzjw",
"hasResult": false,
"startTime": 1617716666828
}
StopPOST/projects/{projectKey}/continuous-activities/{recipeId}/stop
Stops the current run of the specified continuous activity.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- recipeId
string
(required) Example: compute_endpointthe id of a continuous activity
204
Webapps ¶
Webapps ¶
List webappsGET/projects/{projectKey}/webapps/
Lists the webapps in a project.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
200
Returns an array of WebappListingItem
object.
Headers
Content-Type: application/json
Body
[
{
"backendRunning": false,
"type": "SHINY",
"projectKey": "VSCODEPLUGIN",
"id": "49K1IT7",
"name": "shiny_webapp",
"tags": [],
"lastModifiedBy": {
"login": "api:ltJQh2d0JRFmMZKl",
"displayName": "api:ltJQh2d0JRFmMZKl (deleted)"
},
"lastModifiedOn": 1558532240221,
"createdBy": {
"login": "api:ltJQh2d0JRFmMZKl",
"displayName": "api:ltJQh2d0JRFmMZKl (deleted)"
},
"createdOn": 1554386952201
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Webapp ¶
Get webappGET/projects/{projectKey}/webapps/{webappId}
Get a webapp
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- webappId
string
(required)the id of the webapp
200
Returns Webapp
object.
Headers
Content-Type: application/json
Body
{
"type": "SHINY",
"hasLegacyBackendURL": false,
"projectKey": "MYPROJECT",
"id": "49K1IT7",
"storageFile": "projects/MYPROJECT/web_apps/49K1IT7.json",
"params": {
"ui": "ui code",
"server": "server side code",
"autoStartBackend": false,
"envSelection": {
"envMode": "INHERIT"
}
},
"config": {},
"name": "my_shiny_webapp",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "api:ltJQh2d0JRFmMZKl"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "api:ltJQh2d0JRFmMZKl"
},
"lastModifiedOn": 1554386952201
},
"tags": [],
"checklists": {
"checklists": []
},
"customFields": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this recipe"
},
"id": {
"type": "string",
"description": "Unique id of this webapp in the project"
},
"name": {
"type": "string",
"description": "Name of this webapp"
},
"type": {
"type": "string",
"description": "Type of the webapp"
},
"backendRunning": {
"type": "boolean",
"description": "Is the backend running"
},
"outputs": {
"type": "object",
"properties": {},
"description": "Outputs of the recipe."
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"hasLegacyBackendURL": {
"type": "boolean"
},
"storageFile": {
"type": "string",
"description": "Webapp file path in the DSS instance"
},
"params": {
"type": "object",
"properties": {},
"description": "Depends of the webapp type"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
}
}
}
Update webappPUT/projects/{projectKey}/webapps/{webappId}
Update a webapp.
The Webapp
object given as parameter of a PUT call MUST have been previously obtained from a
GET webapp call at the same URL.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- webappId
string
(required)the id of the webapp
Headers
Content-Type: application/json
Body
{
"type": "SHINY",
"hasLegacyBackendURL": false,
"projectKey": "MYPROJECT",
"id": "49K1IT7",
"storageFile": "projects/MYPROJECT/web_apps/49K1IT7.json",
"params": {
"ui": "ui code",
"server": "server side code",
"autoStartBackend": false,
"envSelection": {
"envMode": "INHERIT"
}
},
"config": {},
"name": "my_shiny_webapp",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "api:ltJQh2d0JRFmMZKl"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "api:ltJQh2d0JRFmMZKl"
},
"lastModifiedOn": 1554386952201
},
"tags": [],
"checklists": {
"checklists": []
},
"customFields": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this recipe"
},
"id": {
"type": "string",
"description": "Unique id of this webapp in the project"
},
"name": {
"type": "string",
"description": "Name of this webapp"
},
"type": {
"type": "string",
"description": "Type of the webapp"
},
"backendRunning": {
"type": "boolean",
"description": "Is the backend running"
},
"outputs": {
"type": "object",
"properties": {},
"description": "Outputs of the recipe."
},
"tags": {
"type": "array",
"description": "Tags of this object"
},
"hasLegacyBackendURL": {
"type": "boolean"
},
"storageFile": {
"type": "string",
"description": "Webapp file path in the DSS instance"
},
"params": {
"type": "object",
"properties": {},
"description": "Depends of the webapp type"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
}
}
}
200
Returns the id of the updated web app
Headers
Content-Type: application/json
Body
{
"webAppId": "49K1IT7"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Trust a webappPOST/projects/{projectKey}/webapps/{webappId}/actions/trust{?trustForEverybody}
Trust a webapp
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- webappId
string
(required)the id of the webapp
- trustForEverybody
boolean
(optional)trust on behalf of everybody (requires admin privileges)
200
Returns details about trust relationship between current user and the webapp.
Headers
Content-Type: application/json
Body
{
"canAccess": true,
"trustedCodeStatus": "TRUSTED_BY_USER"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Restart webapp backendPUT/projects/{projectKey}/webapps/{webappId}/backend/actions/restart
Restart the webapp backend. If the backend was running, stop it and relaunch it. Returns a reference to a future.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- webappId
string
(required)id of the web app
200
Returns a future
Headers
Content-Type: application/json
Body
{
"hasResult": false,
"aborted": false,
"alive": true,
"startTime": 1570632529065,
"runningTime": 0,
"unknown": false,
"jobId": "mEEdUTIM"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Stop webapp backendPUT/projects/{projectKey}/webapps/{webappId}/backend/actions/stop
Stop the webapp backend.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- webappId
string
(required)id of the web app
200
Retrieve webapp backend stateGET/projects/{projectKey}/webapps/{webappId}/backend/state
Retrieve the current backend state. If backend is not running, will only returns a JSON object with the projectKey and the webAppId.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- webappId
string
(required)id of the web app
200
Headers
Content-Type: application/json
Body
{
"projectKey": "WEBAPPS",
"webAppId": "VCMN2ra",
"futureId": "DGNHG1Rk",
"futureInfo": {
"hasResult": false,
"aborted": false,
"alive": true,
"startTime": 1570700616662,
"runningTime": 2836,
"unknown": false,
"jobId": "DGNHG1Rk",
"jobDisplayName": "Backend for Web app",
"payload": {
"targets": [
{
"objectType": "WEB_APP",
"projectKey": "WEBAPPS",
"objectId": "VCMN2ra",
"name": "PYTHON_BACKEND"
}
],
"displayName": "Backend for Web app",
"extras": {
"crashCount": 0,
"pid": 44245
}
},
"progress": {
"states": []
},
"owner": "api:RINmQ0CtCiK1PjiS"
},
"currentLogTail": {
"totalLines": 4,
"lines": [
"2019-10-10 11:43:38,736 INFO Starting Webapp backend",
"2019-10-10 11:43:38,736 INFO Starting backend for web app: WEBAPPS.VCMN2ra",
"2019-10-10 11:43:38,744 INFO Started backend on port 57154",
"2019-10-10 11:43:38,935 INFO 127.0.0.1 - - [10/Oct/2019 11:43:38] \"GET /__ping HTTP/1.1\" 200 -"
],
"status": [
1,
1,
1,
1
],
"maxLevel": 1
},
"port": 57154
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Notebooks ¶
Jupyter Notebooks ¶
List jupyter notebook namesGET/projects/{projectKey}/jupyter-notebooks/{?active}
Lists the jupyter notebooks of a project.
π Required privileges : READ_CONF (on project), Create active web content
Example URI
- projectKey
string
(required)the key of the project
- active
boolean
(optional)Default: false. If true, only lists the jupyter notebooks that have an active session. On DSS instances configured with User Isolation (UIF), only the sessions that have been created by the current user are considered unless they are DSS administrators.
200
Returns an array of JupyterNotebookListItem
objects.
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PROJECT_51",
"name": "Experiment 42",
"tags": [
"experiment",
"work-in-progress"
],
"lastModifiedOn": 1611860176000,
"language": "Python",
"kernelSpec": {
"name": "python3"
}
},
{
"projectKey": "PROJECT_51",
"name": "john_smith's Python notebook on dataset1",
"tags": [],
"lastModifiedOn": 1617209410000,
"language": "Python",
"kernelSpec": {
"name": "python2"
}
}
]
Jupyter notebook ¶
Get jupyter notebookGET/projects/{projectKey}/jupyter-notebooks/{notebookName}
Get a jupyter notebook
π Required privileges : WRITE_CONF (on project), Create active web content
Example URI
- projectKey
string
(required)the key of the project
- notebookName
string
(required)the name of the notebook
200
Returns JupyterNotebook
object.
Headers
Content-Type: application/json
Body
{
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"name": "python2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"version": "2.7.16",
"name": "python",
"pygments_lexer": "ipython2",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
},
"tags": [],
"modifiedBy": "john_smith",
"createdOn": 1610719498634,
"creator": "john_smith",
"customFields": {
"contains_personal_data": "UNSURE"
}
},
"nbformat": 4,
"nbformat_minor": 1,
"cells": [
{
"execution_count": 0,
"cell_type": "code",
"metadata": {},
"source": [
"1+2+3"
],
"outputs": [
{
"output_type": "execute_result",
"metadata": {},
"data": {
"text/plain": "6"
},
"execution_count": 2
}
]
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {},
"description": "Notebook metadata"
},
"nbformat": {
"type": "string",
"description": "Jupyter Notebook nbformat version"
},
"nbformat_minor": {
"type": "string",
"description": "Jupyter Notebook nbformat minor version"
},
"cells": {
"type": "object",
"properties": {},
"description": "List of the notebook cells"
}
}
}
Update jupyter notebookPUT/projects/{projectKey}/jupyter-notebooks/{notebookName}
Update a jupyter notebook.
The JupyterNotebook
object given as parameter of a PUT call MUST have been previously obtained from a GET notebook call at the same URL.
π Required privileges : WRITE_CONF (on project), Run safe code, Create active web content
Example URI
- projectKey
string
(required)the key of the project
- notebookName
string
(required)the name of the notebook
Headers
Content-Type: application/json
Body
{
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"name": "python2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"version": "2.7.16",
"name": "python",
"pygments_lexer": "ipython2",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
},
"tags": [],
"modifiedBy": "john_smith",
"createdOn": 1610719498634,
"creator": "john_smith",
"customFields": {
"contains_personal_data": "UNSURE"
}
},
"nbformat": 4,
"nbformat_minor": 1,
"cells": [
{
"execution_count": 0,
"cell_type": "code",
"metadata": {},
"source": [
"1+2+3"
],
"outputs": []
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {},
"description": "Notebook metadata"
},
"nbformat": {
"type": "string",
"description": "Jupyter Notebook nbformat version"
},
"nbformat_minor": {
"type": "string",
"description": "Jupyter Notebook nbformat minor version"
},
"cells": {
"type": "object",
"properties": {},
"description": "List of the notebook cells"
}
}
}
200
Create a jupyter notebookPOST/projects/{projectKey}/jupyter-notebooks/{notebookName}
Creates a new jupyter notebook, provided that you have the license do to so.
Important: most parameters and format parameters of jupyter notebooks are not officially documented and may be modified in future releases. It is recommended that you use the GET notebook call to retrieve a existing jupyter notebook and modify it to suit your needs and create a new notebook.
π Required privileges : WRITE_CONF (on project), Run safe code, Create active web content
Example URI
- projectKey
string
(required)the key of the project
- notebookName
string
(required)the name of the notebook
Headers
Content-Type: application/json
Body
{
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"name": "python2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"version": "2.7.16",
"name": "python",
"pygments_lexer": "ipython2",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
},
"tags": [],
"modifiedBy": "john_smith",
"createdOn": 1610719498634,
"creator": "john_smith",
"customFields": {
"contains_personal_data": "UNSURE"
}
},
"nbformat": 4,
"nbformat_minor": 1,
"cells": [
{
"execution_count": 0,
"cell_type": "code",
"metadata": {},
"source": [
"1+2+3"
],
"outputs": []
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {},
"description": "Notebook metadata"
},
"nbformat": {
"type": "string",
"description": "Jupyter Notebook nbformat version"
},
"nbformat_minor": {
"type": "string",
"description": "Jupyter Notebook nbformat minor version"
},
"cells": {
"type": "object",
"properties": {},
"description": "List of the notebook cells"
}
}
}
200
Delete jupyter notebookDELETE/projects/{projectKey}/jupyter-notebooks/{notebookName}
Delete a jupyter notebook and stop all of its active sessions.
π Required privileges : WRITE_CONF (on project), Create active web content
Example URI
- projectKey
string
(required)the key of the project
- notebookName
string
(required)the name of the notebook
200
List jupyter notebook sessionsGET/projects/{projectKey}/jupyter-notebooks/{notebookName}/sessions
List the active sessions of a jupyter notebook.
π Required privileges : READ_CONF (on project), Create active web content
Example URI
- projectKey
string
(required)the key of the project
- notebookName
string
(required)the name of the notebook
200
Returns an array of ActiveSession
object.
Headers
Content-Type: application/json
Body
[
{
"projectKey": "Hello, world!",
"notebookName": "Hello, world!",
"sessionsCreator": "Hello, world!",
"sessionId": "Hello, world!",
"kernelId": "Hello, world!",
"kernelPid": "Hello, world!",
"kernelConnections": "Hello, world!",
"kernelLastActivityTime": "Hello, world!",
"kernelExecutionState": "Hello, world!",
"sessionStartTime": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Stop jupyter notebook sessionDELETE/projects/{projectKey}/jupyter-notebooks/{notebookName}/sessions/{sessionId}
Stop the session of a jupyter notebook.
To retrieve the list of all existing sessions for a notebook, call GET notebook sessions.
π Required privileges : WRITE_CONF (on project), Create active web content
Example URI
- projectKey
string
(required)the key of the project
- notebookName
string
(required)the name of the notebook
- sessionId
string
(required)the id of the session to stop
200
Headers
Content-Type: application/json
Body
{
"success": true,
"message": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
Macros ¶
Macros ¶
List macrosGET/projects/{projectKey}/runnables
Retrieves the list of the last jobs, as an array of objects.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Headers
Content-Type: application/json
Body
array[Macro]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Macro ¶
Get macro definitionGET/projects/{projectKey}/runnables/{runnableType}
Retrieves the definition as a Macro
object summarising the macro.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- runnableType
string
(required) Example: MACRO_IDthe identifier of a macro
200
Headers
Content-Type: application/json
Body
{
"runnableType": "MACRO_ID",
"ownerPluginId": "PLUGIN_ID",
"meta": {
"label": "my awesome macro"
},
"longDescription": "some markdown describing in detail the macro",
"resultType": "HTML",
"extension": "html",
"mimeType": "application/html",
"resultLabel": "THE RESULT",
"params": [
{
"name": "param1",
"type": "STRING"
},
{
"name": "param2",
"type": "INT"
}
],
"adminParams": []
}
RunPOST/projects/{projectKey}/runnables/{runnableType}{?wait}
Starts a run of the macro. The result contains a run identifier to pass to abort, get-result or get-status requests.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- runnableType
string
(required) Example: MACRO_IDthe identifier of a macro
- wait
boolean
(required) Example: truewhether the call should block until the run is finished
200
Headers
Content-Type: application/json
Body
{
"runId": "identifier_of_the_run"
}
AbortPOST/projects/{projectKey}/runnables/{runnableType}/abort/{run}
Requests the specified macro run to abort.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- runnableType
string
(required) Example: MACRO_IDthe identifier of a macro
- run
string
(required) Example: RUN_IDthe identifier of the macro run
204
Poll stateGET/projects/{projectKey}/runnables/{runnableType}/state/{run}
Get the status of a run of the macro. If the macro is still running, then the result of the call contains true for running, and potentially a progress field with a stack of progress info. If the run is finished but failed, either resultError or storedError will contain details on the failure; otherwise the type field will be filled.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- runnableType
string
(required) Example: MACRO_IDthe identifier of a macro
- run
string
(required) Example: RUN_IDthe identifier of the macro run
200
Headers
Content-Type: application/json
Body
{
"exists": true,
"running": false,
"empty": false,
"type": "HTML",
"progress": {},
"resultError": {},
"storedError": {}
}
Retrieve resultGET/projects/{projectKey}/runnables/{runnableType}/result/{run}
Download the result of the run of the macro.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- runnableType
string
(required) Example: MACRO_IDthe identifier of a macro
- run
string
(required) Example: RUN_IDthe identifier of the macro run
200
Long tasks ¶
Tasks running in the instance ¶
List tasks in progressGET/futures/{?allUsers}{?withScenarios}
Retrieves the list of tasks running.
Example URI
- allUsers
boolean
(required) Example: falsewhether to list tasks independently of who launched them or just the ones launched by the caller
- withScenarios
boolean
(required) Example: falsewhether to include running scenarios in the list
200
Headers
Content-Type: application/json
Body
[
{
"jobId": "8sdf8ze",
"hasResult": false,
"aborted": false,
"alive": false,
"owner": "taskLauncher",
"runningTime": 3135131,
"progress": [
{
"name": "Doing something...",
"unit": "SIZE",
"target": 21513,
"cur": 153
}
]
}
]
Get status of a running taskGET/futures/{jobId}{?peek}
Get the state of a running task.
Example URI
- jobId
string
(required) Example: 6qsaz81the identifier of the task
- peek
boolean
(required) Example: falsewhether to get the full status, with the result if itβs ready
200
Headers
Content-Type: application/json
Body
{
"jobId": "8sdf8ze",
"hasResult": true,
"result": {
"any": "thing"
},
"aborted": false,
"alive": false,
"owner": "taskLauncher",
"runningTime": 3135131,
"progress": [
{
"name": "Doing something...",
"unit": "SIZE",
"target": 21513,
"cur": 153
}
]
}
Abort a taskDELETE/futures/{jobId}
Abort a running task
Example URI
- jobId
string
(required) Example: 6qsaz81the identifier of the task
200
Meanings ¶
Meanings ¶
List meaningsGET/meanings/
Lists all user-defined meanings.
π Required privileges : Admin
Example URI
200
See GET meaning for more information
Headers
Content-Type: application/json
Body
[
{
"id": "meaning1",
"label": "Meaning 1",
"type": "VALUES_MAPPING",
"mappings": [
{"from": "value_1", "to": "value_a"},
{"from": "value_2", "to": "value_b"}
],
"normalizationMode": "NORMALIZED",
"description": "This is a sample meaning description.",
"detectable": False
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create meaningPOST/meanings
Creates a new meaning.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"id": "meaning1",
"label": "Meaning 1",
"type": "VALUES_MAPPING",
"mappings": [
{"from": "value_1", "to": "value_a"},
{"from": "value_2", "to": "value_b"}
],
"normalizationMode": "NORMALIZED",
"description": "This is a sample meaning description.",
"detectable": False
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the meaning"
},
"label": {
"type": "string",
"description": "Label of the meaning"
},
"type": {
"type": "string",
"description": "Type of the meaning. One of `DECLARATIVE`, `VALUES_LIST`, `VALUES_MAPPING`, `PATTERN`"
},
"description": {
"type": "string",
"description": "Description of the meaning"
},
"values": {
"type": "array",
"description": "For `VALUES_LIST` meanings, the valid values"
},
"mappings": {
"type": "array",
"description": "For `VALUES_MAPPING` meanings, the valid mappings"
},
"pattern": {
"type": "array",
"description": "For `PATTERN` meanings, the pattern"
},
"normalizationMode": {
"type": "string",
"description": "String normalization mode used to match values. One of `EXACT`, `LOWERCASE`, `NORMALIZED` (remove accents) for types `VALUES_LIST` and `VALUES_MAPPING`. One of `EXACT`, `LOWERCASE` for `PATTERN`"
},
"detectable": {
"type": "boolean",
"description": "Whether DSS should consider assigning the meaning to columns set to Auto-detect"
}
}
}
204
Meaning ¶
Get meaning definitionGET/meanings/{meaningId}
Retrieves a meaning object.
π Required privileges : Admin
Example URI
- meaningId
string
(required) Example: dept_codethe ID of a meaning
200
Headers
Content-Type: application/json
Body
{
"id": "meaning1",
"label": "Meaning 1",
"type": "VALUES_MAPPING",
"mappings": [
{"from": "value_1", "to": "value_a"},
{"from": "value_2", "to": "value_b"}
],
"normalizationMode": "NORMALIZED",
"description": "This is a sample meaning description.",
"detectable": False
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the meaning"
},
"label": {
"type": "string",
"description": "Label of the meaning"
},
"type": {
"type": "string",
"description": "Type of the meaning. One of `DECLARATIVE`, `VALUES_LIST`, `VALUES_MAPPING`, `PATTERN`"
},
"description": {
"type": "string",
"description": "Description of the meaning"
},
"values": {
"type": "array",
"description": "For `VALUES_LIST` meanings, the valid values"
},
"mappings": {
"type": "array",
"description": "For `VALUES_MAPPING` meanings, the valid mappings"
},
"pattern": {
"type": "array",
"description": "For `PATTERN` meanings, the pattern"
},
"normalizationMode": {
"type": "string",
"description": "String normalization mode used to match values. One of `EXACT`, `LOWERCASE`, `NORMALIZED` (remove accents) for types `VALUES_LIST` and `VALUES_MAPPING`. One of `EXACT`, `LOWERCASE` for `PATTERN`"
},
"detectable": {
"type": "boolean",
"description": "Whether DSS should consider assigning the meaning to columns set to Auto-detect"
}
}
}
Update meaning definitionPUT/meanings/{meaningId}
Updates the definition of a Meaning.
π Required privileges : Admin
Example URI
- meaningId
string
(required) Example: dept_codethe ID of a meaning
Headers
Content-Type: application/json
Body
{
"id": "meaning1",
"label": "Meaning 1",
"type": "VALUES_MAPPING",
"mappings": [
{"from": "value_1", "to": "value_a"},
{"from": "value_2", "to": "value_b"}
],
"normalizationMode": "NORMALIZED",
"description": "This is a sample meaning description.",
"detectable": False
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the meaning"
},
"label": {
"type": "string",
"description": "Label of the meaning"
},
"type": {
"type": "string",
"description": "Type of the meaning. One of `DECLARATIVE`, `VALUES_LIST`, `VALUES_MAPPING`, `PATTERN`"
},
"description": {
"type": "string",
"description": "Description of the meaning"
},
"values": {
"type": "array",
"description": "For `VALUES_LIST` meanings, the valid values"
},
"mappings": {
"type": "array",
"description": "For `VALUES_MAPPING` meanings, the valid mappings"
},
"pattern": {
"type": "array",
"description": "For `PATTERN` meanings, the pattern"
},
"normalizationMode": {
"type": "string",
"description": "String normalization mode used to match values. One of `EXACT`, `LOWERCASE`, `NORMALIZED` (remove accents) for types `VALUES_LIST` and `VALUES_MAPPING`. One of `EXACT`, `LOWERCASE` for `PATTERN`"
},
"detectable": {
"type": "boolean",
"description": "Whether DSS should consider assigning the meaning to columns set to Auto-detect"
}
}
}
204
Plugins ¶
Plugins ¶
List Installed pluginsGET/plugins/
Lists the plugins installed on the instance (including dev plugins)
π Required privileges : ADMIN
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"id": "mini-audit",
"version": "v1.0",
"isDev": false,
"meta": {
"label": "Auditing a dataset",
"description": "This plugin computes simple metrics on a dataset"
}
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Upload a new pluginPOST/plugins/actions/installFromZip
Uploads a file as the zip of a plugin and installs it. Fails if the plugin is already installed.
π Required privileges : ADMIN
Example URI
Headers
Content-Type: multipart
Body
Multipart file: the plugin zip file
204
Installs a plugin from the storePOST/plugins/actions/installFromStore
Installs a plugin from the store. Fails if the plugin is already installed.
π Required privileges : ADMIN
Example URI
Headers
Content-Type: application/json
Body
{
"pluginId": "id of the plugin in the store"
}
204
Installs a plugin from GitPOST/plugins/actions/installFromGit
Checks out a plugin from a Git repository and installs it. Fails if the plugin is already installed.
The path in the Git repository must contain at least a βplugin.jsonβ file
π Required privileges : ADMIN
Example URI
Headers
Content-Type: application/json
Body
{
"gitRepositoryUrl" : "URL of a Git remote",
"gitCheckout": "branch/tag/SHA1 to commit" /* For example, "master" */,
"gitSubpath": "optional, path within the repository to use as Git"
}
204
Plugin ¶
Download a pluginGET/plugins/{pluginId}/download
Downloads a development plugin as a zip file.
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Update a plugin from a Zip archivePOST/plugins/{pluginId}/actions/updateFromZip
Uploads a file as the zip of a plugin and re-installs it. Fails if the plugin is not already installed.
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
Headers
Content-Type: multipart
Body
Multipart file
204
Update a plugin from the storePOST/plugins/{pluginId}/actions/updateFromStore
Updates a plugin from the Dataiku Store
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
204
Update a plugin from GitPOST/plugins/actions/updateFromGit
Checks out a plugin from a Git repository and updates it. Fails if the plugin is not already installed.
The path in the Git repository must contain at least a βplugin.jsonβ file
π Required privileges : ADMIN
Example URI
Headers
Content-Type: application/json
Body
{
"gitRepositoryUrl" : "URL of a Git remote",
"gitCheckout": "branch/tag/SHA1 to commit" /* For example, "master" */,
"gitSubpath": "optional, path within the repository to use as Git"
}
204
Get plugin settingsGET/plugins/{pluginId}/settings
Gets the settings of a plugin
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Headers
Content-Type: application/json
Body
{
"config" : {
/* Dictionary of the plugins's settings parameters
}
"codeEnvName": "Name of the code env to use"
}
Set plugin settingsPOST/plugins/{pluginId}/settings
Updates the settings of a plugin. You should only set settings that you previously obtained through the GET call
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
Headers
Content-Type: application/json
Body
{
"config" : {
/* Dictionary of the plugins's settings parameters
}
"codeEnvName": "Name of the code env to use"
}
204
Create the code env of a pluginPOST/plugins/{pluginId}/code-env/actions/create
Creates the code env of a plugin. Returns a reference to a future
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
Headers
Content-Type: application/json
Body
{
"conda": false
"pythonInterpreter": "a Python interpreter" /* PYTHON27, PYTHON35, PYTHON36 */
}
200
Headers
Content-Type: application/json
Body
{
"jobId": "job id"
}
Update the code env of a pluginPOST/plugins/{pluginId}/code-env/actions/update
Updates the code env of a plugin. Returns a reference to a future
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Headers
Content-Type: application/json
Body
{
"jobId": "job id"
}
Move a plugin to dev environmentPOST/plugins/{pluginId}/actions/moveToDev
Moves a plugin to the development environment for edition in the plugin editor.
π Required privileges : ADMIN
Example URI
- pluginId
string
(required)the identifier of a plugin
204
List usages of pluginGET/plugins/{pluginId}/actions/listUsages{?projectKey}
π Required privileges : Develop plugins (if dev plugin) or ADMIN (for dev and regular plugins)
Returns information on usage of the elements of the plugin, in projects or globally.
Some custom types may not be found during usage analysis, typically when a plugin was removed but is still used. This prevents some detailed analysis and may hide some uses. This information is provided in missingTypes.
Example URI
- pluginId
string
(required) Example: my-pluginidentifier of the plugin
- projectKey
string
(optional) Example: MYPROJECTif set, restrict analysis to this project
200
Headers
Content-Type: application/json
Body
{
"usages": [
{
"elementKind": "kind of element (webapps, python-formats,...)",
"elementType": "type of element",
"objectId": "id of the object using the plugin element",
"objectType": "type of the object using the plugin element",
"projectKey": "project key of the object using the plugin element"
},
...
],
"missingTypes": [
{
"missingType": "the missing type",
"objectId": "id of the object depending on the missing type",
"objectType": "type of the object depending on the missing type",
"projectKey": "project key of the object depending on the missing type"
},
...
]
}
Delete pluginPOST/plugins/{pluginId}/actions/delete
π Required privileges : Develop plugins (if dev plugin) or ADMIN (for dev and regular plugins)
Deletes a plugin. Deletion will fail if usages are detected or errors occur during usage analysis and force
is not set to true
.
Example URI
- pluginId
string
(required) Example: my-pluginidentifier of the plugin
Headers
Content-Type: application/json
Body
{
"force": "(optional, boolean) - if true, force deletion even if usages are detected or errors occured during analysis"
}
200
Development plugins ¶
Create a new development pluginsPOST/plugins/actions/createDev
Creates a new development plugin
π Required privileges : Develop plugins
Example URI
Headers
Content-Type: application/json
Body
{
"pluginId": "identifier of the plugin",
"creationMode": "EMPTY or GIT_CLONE or GIT_EXPORT",
"gitRepository": "If Git, a Git repository URL",
"gitCheckout": "If Git, a Git checkoutable (branch, tag, hash)",
"gitSubpath": "If GIT_EXPORT, subpath within the repositor of the plugin"
}
204
Get Git remote infoGET/plugins/{pluginId}/gitRemote
Gets the information about the Git remote for this plugin.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Body
{
"repositoryUrl": "a git URL or null if no remote is declared"
}
Set Git remote infoPOST/plugins/{pluginId}/gitRemote
Sets the information about the Git remote for this plugin.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
Headers
Content-Type: application/json
Body
{
"repositoryUrl": "a git URL"
}
200
Delete Git remote infoDELETE/plugins/{pluginId}/gitRemote
Deletes the information about the Git remote for this plugin.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
List Git branchesPOST/plugins/{pluginId}/gitBranches
Gets information about the Git branches for this plugin
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Body
[
"branch1",
"branch2"
]
Push to Git remotePOST/plugins/{pluginId}/actions/push
Pushes the content of a plugin to a previously-declared Git remote. The remote must have been added first in DSS.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Pull from Git remotePOST/plugins/{pluginId}/actions/pullRebase
Pulls (and rebases) the content of a plugin from a previously-declared Git remote. The remote must have been added first in DSS.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Fetch from Git remotePOST/plugins/{pluginId}/actions/fetch
Fetches the content of a plugin from a previously-declared Git remote. The remote must have been added first in DSS.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Reset to local HEAD statePOST/plugins/{pluginId}/actions/resetToLocalHeadState
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Reset to remote HEAD statePOST/plugins/{pluginId}/actions/resetToRemoteHeadState
The remote must have been added first in DSS.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)identifier of the plugin
200
Plugin contents for dev plugins ¶
For development plugins, it is possible to list, get and set files inside the plugin.
List files in pluginGET/plugins/{pluginId}/contents/
Lists the contents of a plugin
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
200
Headers
Content-Type: application/json
Body
[
{
"name": "a.txt",
"path": "/a.txt",
"mimeType": "application/text"
},
{
"name": "test",
"path": "/test",
"children": [
{
"name": "b.txt",
"path": "/b.txt",
"mimeType": "application/text"
}
]
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Download file from pluginGET/plugins/{pluginId}/contents/{path}
Downloads the file with the specified relative path in the plugin.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
- path
string
(required)the path to the file from the root of the plugin
200
Body
The file's contents, as a stream
Get file detail from pluginGET/plugins/{pluginId}/details/{path}
Example URI
- pluginId
string
(required)the identifier of a plugin
- path
string
(required)the path to the file from the root of the plugin (can not be a folder)
200
Body
{
"name": "my-file.py",
"path": "folder/my-file.py",
"mimeType": "application/octet-stream",
"size": 10,
"hasData": false,
"readOnly": false,
"lastModified": 1558532121000
}
Upload file to pluginPOST/plugins/{pluginId}/contents/{path}
Uploads a file to the plugin. The file is sent as the body of the request
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
- path
string
(required)the path to the file from the root of the plugin
204
Delete file from pluginDELETE/plugins/{pluginId}/contents/{path}
Deletes a file from the plugin
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
- path
string
(required)the path to the file from the root of the plugin
204
Add folder to pluginPOST/plugins/{pluginId}/folders/{path}
Add a folder to the plugin.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
- path
string
(required)the path to the folder from the root of the plugin
200
Rename file/folder in pluginPOST/plugins/{pluginId}/contents-actions/rename
Rename a file or a folder in the plugin.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
Headers
Content-Type: application/json
Body
{
"oldPath": "/old/path/from/library/root"
"newName": "new file name"
}
200
Move file/folder in pluginPOST/plugins/{pluginId}/contents-actions/move
Move a file or a folder in the plugin.
The destination folder should exist prior to the call. It will not be created if it doesnβt exist.
π Required privileges : Develop plugins
Example URI
- pluginId
string
(required)the identifier of a plugin
Headers
Content-Type: application/json
Body
{
"oldPath": "/old/path/from/library/root",
"newPath": "/new/path/from/library/root"
}
200
Libraries ¶
Libraries ¶
List files in libraryGET/projects/{projectKey}/libraries/contents/
Lists the contents in the project library
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
200
Returns an array of LibraryFile
object.
Headers
Content-Type: application/json
Body
[
{
"name" : "a.txt",
"path" : "/a.txt",
"mimeType" : "application/text"
},
{
"name" : "test",
"path" : "/test",
"children" : [
{
"name" : "b.txt",
"path" : "/b.txt",
"mimeType" : "application/text"
"size": 6,
"hasData": false,
"lastModified": 1657102225000
}
]
},
{
"name": "external-libraries.json",
"path": "external-libraries.json",
"mimeType": "application/json",
"size": 127,
"hasData": false,
"lastModified": 1657011323000
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Download file from libraryGET/projects/{projectKey}/libraries/contents/{path}
Downloads the file with the specified relative path in the libraries.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- path
string
(required)the path to the file from the root of the library
200
Body
The file's contents, as a stream
Upload file to libraryPOST/projects/{projectKey}/libraries/contents/{path}
Uploads a file to the library. The file is sent as the body of the request
π Required privileges : WRITE_CONF
Warning : The file external-libraries.json is generated and modified by DSS. It is not recommended to edit it.
Example URI
- projectKey
string
(required)the key of the project
- path
string
(required)the path to the file from the root of the library
204
Delete file from libraryDELETE/projects/{projectKey}/libraries/contents/{path}
Deletes a file from the library
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- path
string
(required)the path to the file from the root of the library
204
Add folder to libraryPOST/projects/{projectKey}/libraries/folders/{path}
Add a folder to the library.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- path
string
(required)the path to the folder from the root of the library
200
Rename file/folder in librariesPOST/projects/{projectKey}/libraries/contents-actions/rename
Rename a file or a folder in the library.
π Required privileges : WRITE_CONF
Warning : The file external-libraries.json is generated and modified by DSS. It is not recommended to rename it.
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"oldPath": "/old/path/from/library/root",
"newName": "new name"
}
200
Move file/folder in libraryPOST/projects/{projectKey}/libraries/contents-actions/move
Move a file or a folder in the library.
The destination folder should exist prior to the call. It will not be created if it doesnβt exist.
π Required privileges : WRITE_CONF
Warning : The file external-libraries.json is generated and modified by DSS. It is not recommended to move it.
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"oldPath": "/old/path/from/library/root",
"newPath": "/new/path/from/library/root"
}
200
API Services ¶
API Services ¶
List API ServicesGET/projects/{projectKey}/apiservices/
Lists the API services of a project.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of a project
200
Headers
Content-Type: application/json
Body
[
{
"id": "my-service",
"publicAccess": "true",
"endpoints": [
{
"id": "predict-revenue",
"type": "STD_PREDICTION"
},
{
"id": "predict-churn",
"type": "CUSTOM_PREDICTION"
}
]
}
]
List packagesGET/projects/{projectKey}/apiservices/{serviceId}/packages/
Lists the generated packages of an API service.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of a project
- serviceId
string
(required)the id of a service in this project
200
Headers
Content-Type: application/json
Body
[
{
"id": "v1",
"createdOn": 1445265534000
},
{
"id": "v2",
"createdOn": 1445878484000
}
]
Download package archiveGET/projects/{projectKey}/apiservices/{serviceId}/packages/{packageId}/archive
Download a package archive of an API service.
π Required privileges : READ_CONF, READ_DATA
Example URI
- projectKey
string
(required)the key of a project
- serviceId
string
(required)the id of a service in this project
- packageId
string
(required)the id of a package in this service
200
Headers
Content-Type: application/zip
Content-Disposition: attachment; filename={serviceId}_{packageId}.zip
Generate packagePOST/projects/{projectKey}/apiservices/{serviceId}/packages/{packageId}
Generate a package of an API service.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of a project
- serviceId
string
(required)the id of a service in this project
- packageId
string
(required)the id of the new package
200
Headers
Content-Type: text/plain
Body
Created package {packageId}
Delete packageDELETE/projects/{projectKey}/apiservices/{serviceId}/packages/{packageId}
Delete a package of an API service.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of a project
- serviceId
string
(required)the id of a service in this project
- packageId
string
(required)the id of a package in this service
200
Headers
Content-Type: text/plain
Body
Deleted package {packageId}
Publish packagePOST/projects/{projectKey}/apiservices/{serviceId}/packages/{packageId}/publish{?publishedServiceId}
Publish an API service package to the API Deployer.
π Required privileges : WRITE on the published API service if it pre-exists, the global Create published API services
permission on the Deployer otherwise.
Example URI
- projectKey
string
(required)the key of a project
- serviceId
string
(required)the id of a service in this project
- packageId
string
(required)the id of a package in this service
- publishedServiceId
string
(optional)the id of the published service where the package will be deployed (if not provided, will default to the service id)
NB If no published service with the given id is found on the API Deployer, a new one will be created using this id.
200
Bundles, Design-side ¶
Bundles of a project ¶
List exported bundlesGET/projects/{projectKey}/bundles/exported
Retrieves the list of exported bundles for a project
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Headers
Content-Type: application/json
Body
{
"bundles": [
{
"bundleId": "v1",
"contentSummary": {},
"exportManifest": {}
}
]
}
Get details about a bundleGET/projects/{projectKey}/bundles/exported/{bundleId}
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- bundleId
string
(required) Example: v1the id of the bundle
200
Headers
Content-Type: application/json
Body
{
"bundles": [
{
"bundleId": "v1",
"contentSummary": {},
"exportManifest": {},
"changelog": {}
}
]
}
Download a bundleGET/projects/{projectKey}/bundles/exported/{bundleId}/archive
Downloads a bundle
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- bundleId
string
(required) Example: v1Identifier of the bundle to activate for this project
200
Headers
Content-Type: application/zip
Create a new bundlePUT/projects/{projectKey}/bundles/exported/
Create a new bundle
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- bundleId:
v1
(string) - the id of the new bundle
- bundleId:
204
Delete an exported bundleDELETE/projects/{projectKey}/bundles/exported/
Delete an exported bundle
π Required privileges : WRITE_CONF (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- bundleId:
v1
(string) - the id of the bundle to delete
- bundleId:
204
Publish bundlePOST/projects/{projectKey}/bundles/{bundleId}/publish{?publishedProjectKey}
Publish a project bundle to the Project Deployer.
π Required privileges : WRITE on the published project if it pre-exists, the global Create published projects
permission on the Deployer otherwise.
Example URI
- projectKey
string
(required)the key of a project
- bundleId
string
(required)the id of a bundle in this project
- publishedProjectKey
string
(optional)the key of the published project where the bundle will be deployed (if not provided, will default to the project key)
NB If no published project with the given key is found on the Project Deployer, a new one will be created using this key.
200
Headers
Content-Type: application/json
Body
{
"publishedOn": 1435840900000
"publishedBy": "admin"
"publishedProjectKey": "MYPROJECT"
}
Bundles, Automation-side ¶
Bundles of a project ¶
List imported bundlesGET/projects/{projectKey}/bundles/imported
Retrieves the list of imported bundles for a project
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Headers
Content-Type: application/json
Body
{
"bundles": [
{
"bundleId": "v1",
"contentSummary": {},
"exportManifest": {}
}
]
}
Import bundle from archive filePOST/projects/{projectKey}/bundles/imported/actions/importFromArchive{?archivePath}
Retrieves the list of imported bundles for a project
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- archivePath
string
(required) Example: /home/data/import/bundle-v1.zipthe absolute path on the Automation node host, where the bundle resides
204
Preload a bundlePOST/projects/{projectKey}/bundles/imported/{bundleId}/actions/preload
Preloads a bundle, creating the necessary code environments
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- bundleId
string
(required) Example: v1Identifier of the bundle to preload for this project
204
Activate a bundlePOST/projects/{projectKey}/bundles/imported/{bundleId}/actions/activate
Activates a bundle
π Required privileges : ADMIN (on project)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- bundleId
string
(required) Example: v1Identifier of the bundle to activate for this project
204
New project ¶
Create project from a bundlePOST/projectsFromBundle{?projectFolderId}
Creates a project from a bundle. The bundle Zip content must be sent using multipart, as a βfileβ part
π Required privileges : ADMIN (global)
Example URI
- projectFolderId
string
(optional) Example: KdLmPU6the ID of the project folder in which the new project will be created (if not provided, will defaults to root project folder)
The projectFolderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
204
Create project from a bundlePOST/projectsFromBundle/fromArchive{?archivePath,projectFolderId}
Creates a project from a bundle. The bundle Zip must already be present as a file on the Automation node host
π Required privileges : ADMIN (global)
Example URI
- archivePath
string
(required)Absolute path to the location of the bundle on the Automation node host
- projectFolderId
string
(optional) Example: KdLmPU6the ID of the project folder in which the new project will be created (if not provided, will defaults to root project folder)
The projectFolderId can be found from the get project folder API call or in the URL when accessing DSS GUI.
204
Existing project ¶
Upload a new bundlePOST/projects/{projectKey}/bundles/imported/actions/importFromStream
Uploads a bundle to an existing project. The bundle Zip content must be sent using multipart, as a βfileβ part
π Required privileges : ADMIN (global)
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Project Deployer ¶
Deployments ¶
List deploymentsGET/project-deployer/deployments
Lists the deployments. Only the deployments on the infras for which the API key has the READ privilege, using the published projects for which the API key has READ privileges, will be listed.
π Required privileges : READ on the infras, READ on the published projects
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"projectBasicInfo": {
"id": "MYPROJECT",
"name": "My project",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"bundleIds": [
"bundle-v1"
],
"imageInfo": {
"objectImgHash": 1213939292,
"isUploadedImg": false,
"defaultImgColor": "#f44336",
"imgColor": "#31439c",
"imgPattern": 8
}
},
"infraBasicInfo": {
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"defaultConnectionRemapping": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"governCheckPolicy": "WARN"
},
"deploymentBasicInfo": {
"id": "v1-on-prod",
"infraId": "infra-id",
"tags": [
"tag1"
],
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"createdByDisplayName": "A nice user",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"lastModifiedByDisplayName": "A nicer user",
"bundleId": "bundle-v1",
"publishedProjectKey": "MYPROJECT",
"deployedProjectKey": "MYAUTOMATIONPROJECT"
},
"packages": [
{
"id": "bundle-v1",
"publishedOn": 1554386952201,
"publishedBy": "niceUser",
"designNodeInfo": {
"projectKey": "MYDESIGNPROJECT",
"nodeId": "node-id",
"url": "http://design:1111"
}
}
],
"neverEverDeployed": false
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Get deploymentGET/project-deployer/deployments/{deploymentId}
Retrieves a deployment
π Required privileges : READ on the infra of the deployment, READ on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
200
Headers
Content-Type: application/json
Body
{
"projectBasicInfo": {
"id": "MYPROJECT",
"name": "My project",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"bundleIds": [
"bundle-v1"
],
"imageInfo": {
"objectImgHash": 1213939292,
"isUploadedImg": false,
"defaultImgColor": "#f44336",
"imgColor": "#31439c",
"imgPattern": 8
}
},
"infraBasicInfo": {
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"defaultConnectionRemapping": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"governCheckPolicy": "WARN"
},
"deploymentBasicInfo": {
"id": "v1-on-prod",
"infraId": "infra-id",
"tags": [
"tag1"
],
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"createdByDisplayName": "A nice user",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"lastModifiedByDisplayName": "A nicer user",
"bundleId": "bundle-v1",
"publishedProjectKey": "MYPROJECT",
"deployedProjectKey": "MYAUTOMATIONPROJECT"
},
"packages": [
{
"id": "bundle-v1",
"publishedOn": 1554386952201,
"publishedBy": "niceUser",
"designNodeInfo": {
"projectKey": "MYDESIGNPROJECT",
"nodeId": "node-id",
"url": "http://design:1111"
}
}
],
"neverEverDeployed": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectBasicInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the published project"
},
"name": {
"type": "string",
"description": "The name of the published project"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"bundleIds": {
"type": "array",
"description": "A list of the IDs of the bundles uploaded on the published project"
},
"imageInfo": {
"type": "string",
"description": "A dictionary with the extended info on the project image (contains the fields objectImgHash, isUploadedImg, defaultImgColor, imgColor, showInitials, imgPattern)"
}
},
"description": "Info on the published project used by the deployment"
},
"infraBasicInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the infra"
},
"stage": {
"type": "string",
"description": "The name of the infra stage"
},
"automationNodeUrl": {
"type": "string",
"description": "URL of the Automation node"
},
"defaultConnectionRemapping": {
"type": "array",
"description": "A list of the remapping for the connections (each remapping is a dictionary containing a source and a target field)"
},
"governCheckPolicy": {
"type": "string",
"description": "The Govern check policy to prevent (PREVENT), warn (WARN) or do nothing (NO_CHECK) when the bundle is not approved in Govern"
}
},
"description": "Info on the infra on which the deployment is"
},
"deploymentBasicInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the published project"
},
"infraId": {
"type": "string",
"description": "The name of the infra where the project is deployed"
},
"tags": {
"type": "array",
"description": "The tags of the bundle used by the deployment"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"createdByDisplayName": {
"type": "string",
"description": "The name of the user who created the deployment"
},
"lastModifiedByDisplayName": {
"type": "string",
"description": "The name of the user who did the last modification on the deployment"
},
"bundleId": {
"type": "string",
"description": "The ID of the bundle currently set for the deployment"
},
"publishedProjectKey": {
"type": "string",
"description": "The key of the published project"
},
"deployedProjectKey": {
"type": "string",
"description": "The key of the corresponding automation project"
}
},
"description": "Info on the deployment"
},
"packages": {
"type": "array",
"description": "A list of the bundles available for the deployment"
},
"neverEverDeployed": {
"type": "boolean",
"description": "Whether the deployment has been deployed"
}
}
}
Create deploymentPOST/project-deployer/deployments
Creates a deployment
π Required privileges : DEPLOY on the infra of the deployment, DEPLOY on the published project of the deployment
Example URI
- ignoreWarnings
boolean
(optional) Example: falseignore warnings concerning the governance status of the bundle to deploy. Default value is set to false.
Headers
Content-Type: application/json
Body
{
"deploymentId": "v1-on-prod",
"publishedProjectKey": "MYPROJECT",
"infraId": "infra-id",
"bundleId": "bundle-v1",
"deployedProjectKey": "MYAUTOMATIONPROJECT",
"projectFolderId": "KdLmPU6"
}
200
Headers
Content-Type: application/json
Body
{
"id": "v1-on-prod",
"infraId": "infra-id",
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"tags": [
"tag1"
],
"publishedProjectKey": "MYPROJECT",
"bundleId": "bundle-v1",
"deployedProjectKey": "MYAUTOMATIONPROJECT",
"projectFolderId": "KdLmPU6",
"disableAutomaticTriggers": false,
"bundleContainerSettings": {
"remapping": {
"connections": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"codeEnvs": [
{
"source": "codenv_source",
"target": "codenv_target"
}
]
},
"codeEnvsBehavior": {
"envImportSpecificationMode": "SPECIFIED",
"importTimeMode": "INSTALL_IF_MISS"
}
},
"localVariables": {
"k1": "v1"
},
"scenariosToActivate": {
"FIRSTSCENARIO": true
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the deployment"
},
"infraId": {
"type": "string",
"description": "The ID of the infra"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"publishedProjectKey": {
"type": "string",
"description": "The key of the published project"
},
"bundleId": {
"type": "string",
"description": "The ID of the bundle"
},
"deployedProjectKey": {
"type": "string",
"description": "The key of the project on the automation node"
},
"projectFolderId": {
"type": "string",
"description": "The ID of the project folder on the automation node"
},
"disableAutomaticTriggers": {
"type": "boolean",
"description": "Whether to check the Disable automatic triggers option in the Project settings > Automation"
},
"bundleContainerSettings": {
"type": "object",
"properties": {
"remapping": {
"type": "object",
"properties": {},
"description": "A dictionary containing a list of the remapping of the connections, and a list of remapping of the code environments (each remapping is a dictionary containing a source and a target field)"
},
"codeEnvsBehavior": {
"type": "object",
"properties": {},
"description": "A dictionary containing the package list source (field envImportSpecificationMode, can be either SPECIFIED or ACTUAL) and the environment import mode (field importTimeMode, can be either INSTALL_IF_MISS, FAIL_IF_MISS or DO_NOTHING)"
}
},
"description": "Remapping and code environments settings"
},
"localVariables": {
"type": "object",
"properties": {},
"description": "A dictionary of the local project variables"
},
"scenariosToActivate": {
"type": "object",
"properties": {},
"description": "Mapping of scenario ID (string) -> whether to activate the auto-triggers of the scenario (boolean)"
}
}
}
Delete deploymentDELETE/project-deployer/deployments/{deploymentId}
Deletes a deployment
π Required privileges : DEPLOY on the infra of the deployment, DEPLOY on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
204
Get deployment settingsGET/project-deployer/deployments/{deploymentId}/settings
Retrieves the settings of a deployment
π Required privileges : READ on the infra of the deployment, READ on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
200
Headers
Content-Type: application/json
Body
{
"id": "v1-on-prod",
"infraId": "infra-id",
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"tags": [
"tag1"
],
"publishedProjectKey": "MYPROJECT",
"bundleId": "bundle-v1",
"deployedProjectKey": "MYAUTOMATIONPROJECT",
"projectFolderId": "KdLmPU6",
"disableAutomaticTriggers": false,
"bundleContainerSettings": {
"remapping": {
"connections": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"codeEnvs": [
{
"source": "codenv_source",
"target": "codenv_target"
}
]
},
"codeEnvsBehavior": {
"envImportSpecificationMode": "SPECIFIED",
"importTimeMode": "INSTALL_IF_MISS"
}
},
"localVariables": {
"k1": "v1"
},
"scenariosToActivate": {
"FIRSTSCENARIO": true
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the deployment"
},
"infraId": {
"type": "string",
"description": "The ID of the infra"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"publishedProjectKey": {
"type": "string",
"description": "The key of the published project"
},
"bundleId": {
"type": "string",
"description": "The ID of the bundle"
},
"deployedProjectKey": {
"type": "string",
"description": "The key of the project on the automation node"
},
"projectFolderId": {
"type": "string",
"description": "The ID of the project folder on the automation node"
},
"disableAutomaticTriggers": {
"type": "boolean",
"description": "Whether to check the Disable automatic triggers option in the Project settings > Automation"
},
"bundleContainerSettings": {
"type": "object",
"properties": {
"remapping": {
"type": "object",
"properties": {},
"description": "A dictionary containing a list of the remapping of the connections, and a list of remapping of the code environments (each remapping is a dictionary containing a source and a target field)"
},
"codeEnvsBehavior": {
"type": "object",
"properties": {},
"description": "A dictionary containing the package list source (field envImportSpecificationMode, can be either SPECIFIED or ACTUAL) and the environment import mode (field importTimeMode, can be either INSTALL_IF_MISS, FAIL_IF_MISS or DO_NOTHING)"
}
},
"description": "Remapping and code environments settings"
},
"localVariables": {
"type": "object",
"properties": {},
"description": "A dictionary of the local project variables"
},
"scenariosToActivate": {
"type": "object",
"properties": {},
"description": "Mapping of scenario ID (string) -> whether to activate the auto-triggers of the scenario (boolean)"
}
}
}
Save deployment settingsPUT/project-deployer/deployments/{deploymentId}/settings
Saves the settings of a deployment. You should first retrieve the current settings with a GET call.
π Required privileges : DEPLOY on the infra of the deployment, DEPLOY on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
- ignoreWarnings
boolean
(optional) Example: falseignore warnings concerning the governance status of the bundle to deploy. Default value is set to false.
Headers
Content-Type: application/json
Body
{
"id": "v1-on-prod",
"infraId": "infra-id",
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"tags": [
"tag1"
],
"publishedProjectKey": "MYPROJECT",
"bundleId": "bundle-v1",
"deployedProjectKey": "MYAUTOMATIONPROJECT",
"projectFolderId": "KdLmPU6",
"disableAutomaticTriggers": false,
"bundleContainerSettings": {
"remapping": {
"connections": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"codeEnvs": [
{
"source": "codenv_source",
"target": "codenv_target"
}
]
},
"codeEnvsBehavior": {
"envImportSpecificationMode": "SPECIFIED",
"importTimeMode": "INSTALL_IF_MISS"
}
},
"localVariables": {
"k1": "v1"
},
"scenariosToActivate": {
"FIRSTSCENARIO": true
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the deployment"
},
"infraId": {
"type": "string",
"description": "The ID of the infra"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"publishedProjectKey": {
"type": "string",
"description": "The key of the published project"
},
"bundleId": {
"type": "string",
"description": "The ID of the bundle"
},
"deployedProjectKey": {
"type": "string",
"description": "The key of the project on the automation node"
},
"projectFolderId": {
"type": "string",
"description": "The ID of the project folder on the automation node"
},
"disableAutomaticTriggers": {
"type": "boolean",
"description": "Whether to check the Disable automatic triggers option in the Project settings > Automation"
},
"bundleContainerSettings": {
"type": "object",
"properties": {
"remapping": {
"type": "object",
"properties": {},
"description": "A dictionary containing a list of the remapping of the connections, and a list of remapping of the code environments (each remapping is a dictionary containing a source and a target field)"
},
"codeEnvsBehavior": {
"type": "object",
"properties": {},
"description": "A dictionary containing the package list source (field envImportSpecificationMode, can be either SPECIFIED or ACTUAL) and the environment import mode (field importTimeMode, can be either INSTALL_IF_MISS, FAIL_IF_MISS or DO_NOTHING)"
}
},
"description": "Remapping and code environments settings"
},
"localVariables": {
"type": "object",
"properties": {},
"description": "A dictionary of the local project variables"
},
"scenariosToActivate": {
"type": "object",
"properties": {},
"description": "Mapping of scenario ID (string) -> whether to activate the auto-triggers of the scenario (boolean)"
}
}
}
204
Get deployment statusGET/project-deployer/deployments/{deploymentId}/status
Retrieves a Project deployment status
π Required privileges : READ on the infra of the deployment, READ on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
200
Headers
Content-Type: application/json
Body
{
"healthMessages": [],
/* Can be one of UNKNOWN, ERROR, WARNING, HEALTHY, OUT_OF_SYNC */
"health": "HEALTHY",
"deploymentId": "v1-on-prod";,
"monitoring": {
"failed": [],
"warning": ["scenario-2"],
"successful": ["scenario-1"],
"aborted": [],
"running": []
}
"hasScenarios": true,
"hasActiveScenarios": false
}
Get governance deployment statusGET/project-deployer/deployments/{deploymentId}/governance-status
Retrieves the governance status of the bundle used in this deployment
π Required privileges : READ on the infra of the deployment, READ on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
200
Headers
Content-Type: application/json
Body
{
"messages": [
{
"severity": "WARNING",
"isFatal": false,
"code": "ERR_DEPLOYER_INVALID_GOVERNANCE_STATUS",
"title": "Invalid governance status",
"details": "The bundle should be approved before being deployed to this infrastructure, but bundle \"bundleId\" is not governed.",
"message": "Invalid governance status: The bundle should be approved before being deployed to this infrastructure, but bundle \"bundleId\" is not governed.",
"governLink": "https://govern-inst:4200/artifact/ar.207"
}
],
"maxSeverity": "WARNING",
"anyMessage": true,
"success": false,
"warning": true,
"error": false,
"fatal": false
}
Update deploymentPOST/project-deployer/deployments/{deploymentId}/actions/update
Updates a deployment. If the update is done asynchronously (see the request body), this call returns a reference to a future
(defined by its jobId
). If the future has no result yet, one needs to poll on the jobId
until the result is ready.
π Required privileges : DEPLOY on the infra of the deployment, DEPLOY on the published project of the deployment
Example URI
- deploymentId
string
(required) Example: v1-on-prodthe ID of the deployment
Headers
Content-Type: application/json
Body
{
"synchronous": true
}
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw",
"result": [
{
"prepareSyncReport": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
},
"preloadReport": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
},
"activateCheckReport": {
"bundleId": "bundle-v1",
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
},
"activateReport": {
"neededAMigration": false,
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
]
}
Published projects ¶
List projectsGET/project-deployer/projects
Lists the published projects. Only the published projects on which the API key has the READ privilege will be listed.
π Required privileges : READ on each published project
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"projectBasicInfo": {
"id": "MYPROJECT",
"name": "My project",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"bundleIds": ["bundle-v1"],
"imageInfo": {
"objectImgHash": 1213939292,
"isUploadedImg": false,
"defaultImgColor": "#f44336",
"imgColor": "#31439c",
"imgPattern": 8
}
},
"packages": [
{
"id": "bundle-v1",
"publishedOn": 1554386952201,
"publishedBy": "niceUser",
"designNodeInfo": {
"projectKey": "MYDESIGNPROJECT",
"nodeId": "node-id",
"url": "http://design:1111"
}
}
],
"deployments": [
{
"id": "v1-on-prod",
"infraId": "infra-id",
"tags": ["tag1"],
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"createdByDisplayName": "A nice user",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"lastModifiedByDisplayName": "A nicer user",
}
],
"infras": [
{
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"defaultConnectionRemapping": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
]
}
],
"isAdmin": false,
"canDeploy": true,
"canWrite": true
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Get projectGET/project-deployer/projects/{projectKey}
Retrieves a published projects.
π Required privileges : READ on the published project
Example URI
- projectKey
string
(required) Example: MYPROJECTthe project key
200
Headers
Content-Type: application/json
Body
{
"projectBasicInfo": {
"id": "MYPROJECT",
"name": "My project",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"bundleIds": ["bundle-v1"],
"imageInfo": {
"objectImgHash": 1213939292,
"isUploadedImg": false,
"defaultImgColor": "#f44336",
"imgColor": "#31439c",
"imgPattern": 8
}
},
"packages": [
{
"id": "bundle-v1",
"publishedOn": 1554386952201,
"publishedBy": "niceUser",
"designNodeInfo": {
"projectKey": "MYDESIGNPROJECT"
"nodeId": "node-id"
"url": "http://design:1111"
}
}
],
"deployments": [
{
"id": "v1-on-prod",
"infraId": "infra-id",
"tags": ["tag1"],
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"createdByDisplayName": "A nice user",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"lastModifiedByDisplayName": "A nicer user",
}
],
"infras": [
{
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"defaultConnectionRemapping": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
]
}
],
"isAdmin": false,
"canDeploy": true,
"canWrite": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectBasicInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the published project"
},
"name": {
"type": "string",
"description": "The name of the published project"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"bundleIds": {
"type": "array",
"description": "A list of the IDs of the bundles uploaded on the published project"
},
"imageInfo": {
"type": "string",
"description": "A dictionary with the extended info on the project image (contains the fields objectImgHash, isUploadedImg, defaultImgColor, imgColor, showInitials, imgPattern)"
}
},
"description": "Info on the published project"
},
"packages": {
"type": "array",
"description": "A list of the bundles uploaded on the published project"
},
"deployments": {
"type": "array",
"description": "A list of the deployments using the published project"
},
"infras": {
"type": "array",
"description": "A list of the Automation infrastructures where the published project is deployed"
},
"isAdmin": {
"type": "boolean",
"description": "Whether the user who made the request has admin rights on the published project"
},
"canDeploy": {
"type": "boolean",
"description": "Whether the user who made the request has deploying rights on the published project"
},
"canWrite": {
"type": "boolean",
"description": "Whether the user who made the request has writing rights on the published project"
}
}
}
Create projectPOST/project-deployer/projects
Creates a published project.
π Required privileges : User has the mayCreatePublishedProjects global permission.
Example URI
Headers
Content-Type: application/json
Body
{
"publishedProjectKey": "MYPROJECT"
}
200
Headers
Content-Type: application/json
Body
{
"id": "MYPROJECT",
"name": "MYPROJECT",
"permissions": [
{
"group": "data_scientists",
"read": true,
"write": true,
"deploy": true,
"admin": false
}
],
"owner": "niceUser",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"basicImageInfo": {
"imgColor": "#31439c",
"imgPattern": 8,
"showInitials": true
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the published project"
},
"name": {
"type": "string",
"description": "The name of the published project"
},
"permissions": {
"type": "array",
"description": "A list of permission dictionaries for user groups (permissions being read, write, deploy, admin)"
},
"owner": {
"type": "string",
"description": "ID of the published project owner"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"basicImageInfo": {
"type": "object",
"properties": {},
"description": "A dictionary with the info regarding the color pattern used as the project image, not relevant if the project uses an uploaded image (contains the fields imgColor, showInitials, imgPattern)"
}
}
}
Delete projectDELETE/project-deployer/projects/{projectKey}
Deletes the published project. Only published projects not currently used in any deployments can be deleted.
π Required privileges : ADMIN on the published project
Example URI
- projectKey
string
(required) Example: MYPROJECTthe project key
204
Get project settingsGET/project-deployer/projects/settings
Gets the settings of the published project.
π Required privileges : ADMIN on the published project
Example URI
200
Headers
Content-Type: application/json
Body
{
"id": "MYPROJECT",
"name": "MYPROJECT",
"permissions": [
{
"group": "data_scientists",
"read": true,
"write": true,
"deploy": true,
"admin": false
}
],
"owner": "niceUser",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"basicImageInfo": {
"imgColor": "#31439c",
"imgPattern": 8,
"showInitials": true
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the published project"
},
"name": {
"type": "string",
"description": "The name of the published project"
},
"permissions": {
"type": "array",
"description": "A list of permission dictionaries for user groups (permissions being read, write, deploy, admin)"
},
"owner": {
"type": "string",
"description": "ID of the published project owner"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"basicImageInfo": {
"type": "object",
"properties": {},
"description": "A dictionary with the info regarding the color pattern used as the project image, not relevant if the project uses an uploaded image (contains the fields imgColor, showInitials, imgPattern)"
}
}
}
Save project settingsPUT/project-deployer/projects/{projectKey}/settings
Saves the settings of the published project. You should first retrieve the current settings with a GET call.
π Required privileges : ADMIN on the published project
Example URI
- projectKey
string
(required) Example: MYPROJECTthe project key
Headers
Content-Type: PublishedProject
Body
{
"id": "MYPROJECT",
"name": "MYPROJECT",
"permissions": [
{
"group": "data_scientists",
"read": true,
"write": true,
"deploy": true,
"admin": false
}
],
"owner": "niceUser",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"basicImageInfo": {
"imgColor": "#31439c",
"imgPattern": 8,
"showInitials": true
}
}
204
Upload bundlePOST/project-deployer/projects/bundles{?projectKey}{?filePart}
Uploads a bundle on the Deployer. If no project key is provided, the key of the bundleβs source project is used
π Required privileges : WRITE on the published project
Example URI
- projectKey
string
(optional) Example: MYPROJECTthe key of the project where the bundle is uploaded. If no published project matches this key, it is created
- filePart
string
(required) Example: /home/data/import/bundle-v1.zipthe absolute path where the bundle resides
200
Headers
Content-Type: application/json
Body
{
"id": "bundle-v1",
"publishedOn": 1554386952201,
"publishedBy": "niceUser",
"designNodeInfo": {
"projectKey": "MYDESIGNPROJECT",
"nodeId": "node-id",
"url": "http://design:1111"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The bundle ID"
},
"publishedOn": {
"type": "number",
"description": "Timestamp for the publish date"
},
"publishedBy": {
"type": "string",
"description": "ID of the publish user"
},
"designNodeInfo": {
"type": "object",
"properties": {},
"description": "Info on the bundle's Design project of origin (contains the fields projectKey, nodeId, url)"
}
}
}
Delete bundleDELETE/project-deployer/projects/{projectKey}/bundles/{bundleId}
Deletes a bundle. Only bundles not currently used in any deployments can be deleted.
π Required privileges : WRITE on the published project
Example URI
- projectKey
string
(required) Example: MYPROJECTthe project key where the bundle is
- bundleId
string
(required) Example: bundle-v1the ID of the bundle to delete
204
Infrastructures ¶
List stagesGET/project-deployer/infras/stages
Lists the Project Deployer stages.
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"id": "Development",
"desc": "For applications development"
},
{
"id": "Test",
"desc": "Acceptance testing"
},
{
"id": "Production",
"desc": "Running live for users"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
List infrasGET/project-deployer/infras
Lists the Automation infras on the Deployer. Only the infras for which the API key has the READ privilege will be listed.
π Required privileges : READ on each infra
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"infraBasicInfo": {
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"defaultConnectionRemapping": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"governCheckPolicy": "WARN"
},
"deployments": [
{
"id": "v1-on-prod",
"infraId": "infra-id",
"tags": ["tag1"],
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"createdByDisplayName": "A nice user",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"lastModifiedByDisplayName": "A nicer user",
}
],
"isAdmin": false,
"canDeploy": true
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Get infraGET/project-deployer/infras/{infraId}
Gets an Automation infra on the Deployer.
π Required privileges : READ on the infra
Example URI
- infraId
string
(required) Example: infra-idthe ID of the infra
200
Headers
Content-Type: application/json
Body
{
"infraBasicInfo": {
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"defaultConnectionRemapping": [
{
"source": "filesystem_source",
"target": "filesystem_target"
}
],
"governCheckPolicy": "WARN"
},
"deployments": [
{
"id": "v1-on-prod",
"infraId": "infra-id",
"tags": ["tag1"],
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"createdByDisplayName": "A nice user",
"versionTag": {
"versionNumber": 15,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1559049788289
},
"lastModifiedByDisplayName": "A nicer user",
}
],
"isAdmin": false,
"canDeploy": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"infraBasicInfo": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the infra"
},
"stage": {
"type": "string",
"description": "The name of the infra stage"
},
"automationNodeUrl": {
"type": "string",
"description": "URL of the Automation node"
},
"defaultConnectionRemapping": {
"type": "array",
"description": "A list of the remapping for the connections (each remapping is a dictionary containing a source and a target field)"
},
"governCheckPolicy": {
"type": "string",
"description": "The Govern check policy to prevent (PREVENT), warn (WARN) or do nothing (NO_CHECK) when the bundle is not approved in Govern"
}
},
"description": "Info on the Automation infra"
},
"deployments": {
"type": "array",
"description": "A list of the deployments on the Automation infra"
},
"isAdmin": {
"type": "boolean",
"description": "Whether the user who made the request has admin rights on the Automation infra"
},
"canDeploy": {
"type": "boolean",
"description": "Whether the user who made the request has deploying rights on the Automation infra"
}
}
}
Create infraPOST/project-deployer/projects/infras
Creates an Automation infra on the Deployer.
π Required privileges : ADMIN of the Deployer node
Example URI
Headers
Content-Type: application/json
Body
{
"id": "infra-id",
"stage": "Production",
"automationNodeUrl": "http://automation:1111",
"apiKey": "tl1cba6Dy3uZCVy0q1RgtDFcGvCO5Nfh",
"governCheckPolicy": "WARN"
}
200
Headers
Content-Type: application/json
Body
{
"id": "infra-id",
"permissions": [
{
"group": "data_scientists",
"read": true,
"deploy": true,
"admin": false
}
],
"versionTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"autoconfigureFromNodesDirectory": false,
"nodeId": "node-id",
"automationNodeUrl": "http://automation:1111",
"adminApiKey": "tl1cba6Dy3uZCVy0q1RgtDFcGvCO5Nfh",
"trustAllSSLCertificates": true,
"governCheckPolicy": "WARN"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the infra"
},
"permissions": {
"type": "array",
"description": "A list of permission dictionaries for user groups (permissions being read, deploy, admin)"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"autoconfigureFromNodesDirectory": {
"type": "boolean"
},
"nodeId": {
"type": "string",
"description": "ID of the Automation node"
},
"automationNodeUrl": {
"type": "string",
"description": "URL of the Automation node"
},
"adminApiKey": {
"type": "string",
"description": "Admin API key for the Automation node"
},
"trustAllSSLCertificates": {
"type": "boolean",
"description": "Whether to trust all certificates"
},
"governCheckPolicy": {
"type": "string",
"description": "The Govern check policy to prevent (PREVENT), warn (WARN) or do nothing (NO_CHECK) when the bundle is not approved in Govern"
}
}
}
Get infra settingsGET/project-deployer/infras/{infraId}/settings
Retrieves the settings of an Automation infra.
π Required privileges : ADMIN on the infra
Example URI
- infraId
string
(required) Example: infra-idthe ID of the infra
200
Headers
Content-Type: application/json
Body
{
"id": "infra-id",
"permissions": [
{
"group": "data_scientists",
"read": true,
"deploy": true,
"admin": false
}
],
"versionTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"autoconfigureFromNodesDirectory": false,
"nodeId": "node-id",
"automationNodeUrl": "http://automation:1111",
"adminApiKey": "tl1cba6Dy3uZCVy0q1RgtDFcGvCO5Nfh",
"trustAllSSLCertificates": true,
"governCheckPolicy": "WARN"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the infra"
},
"permissions": {
"type": "array",
"description": "A list of permission dictionaries for user groups (permissions being read, deploy, admin)"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"autoconfigureFromNodesDirectory": {
"type": "boolean"
},
"nodeId": {
"type": "string",
"description": "ID of the Automation node"
},
"automationNodeUrl": {
"type": "string",
"description": "URL of the Automation node"
},
"adminApiKey": {
"type": "string",
"description": "Admin API key for the Automation node"
},
"trustAllSSLCertificates": {
"type": "boolean",
"description": "Whether to trust all certificates"
},
"governCheckPolicy": {
"type": "string",
"description": "The Govern check policy to prevent (PREVENT), warn (WARN) or do nothing (NO_CHECK) when the bundle is not approved in Govern"
}
}
}
Save infra settingsPUT/project-deployer/infras/{infraId}/settings
Saves the settings of an Automation infra. You should first retrieve the current settings with a GET call.
π Required privileges : ADMIN on the infra
Example URI
- infraId
string
(required) Example: infra-idthe ID of the infra
200
Headers
Content-Type: application/json
Body
{
"id": "infra-id",
"permissions": [
{
"group": "data_scientists",
"read": true,
"deploy": true,
"admin": false
}
],
"versionTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"creationTag": {
"versionNumber": 6,
"lastModifiedBy": {
"login": "niceUser"
},
"lastModifiedOn": 1554386952201
},
"autoconfigureFromNodesDirectory": false,
"nodeId": "node-id",
"automationNodeUrl": "http://automation:1111",
"adminApiKey": "tl1cba6Dy3uZCVy0q1RgtDFcGvCO5Nfh",
"trustAllSSLCertificates": true,
"governCheckPolicy": "WARN"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the infra"
},
"permissions": {
"type": "array",
"description": "A list of permission dictionaries for user groups (permissions being read, deploy, admin)"
},
"creationTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Creation version tag"
},
"versionTag": {
"type": "object",
"properties": {
"versionNumber": {
"type": "number"
},
"lastModifiedBy": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"lastModifiedOn": {
"type": "number"
}
},
"description": "Current version tag"
},
"autoconfigureFromNodesDirectory": {
"type": "boolean"
},
"nodeId": {
"type": "string",
"description": "ID of the Automation node"
},
"automationNodeUrl": {
"type": "string",
"description": "URL of the Automation node"
},
"adminApiKey": {
"type": "string",
"description": "Admin API key for the Automation node"
},
"trustAllSSLCertificates": {
"type": "boolean",
"description": "Whether to trust all certificates"
},
"governCheckPolicy": {
"type": "string",
"description": "The Govern check policy to prevent (PREVENT), warn (WARN) or do nothing (NO_CHECK) when the bundle is not approved in Govern"
}
}
}
204
Delete infraDELETE/project-deployer/infras/{infraId}
Deletes an Automation infra. Only infras not currently used by any deployments can be deleted.
π Required privileges : ADMIN on the infra
Example URI
- infraId
string
(required) Example: infra-idthe ID of the infra
204
Wiki ¶
Wiki ¶
Get wikiGET/projects/{projectKey}/wiki/
Get wiki properties (taxonomy, home article)
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
200
Returns a [Wiki] object.
Headers
Content-Type: application/json
Body
{
"projectKey": "WIKITEST",
"homeArticleId": "Homepage",
"taxonomy": [
{
"id": "Page 1",
"children": [
{
"id": "Page 2",
"children": []
}
]
},
{
"id": "Homepage",
"children": []
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of the wiki"
},
"homeArticleId": {
"type": "string",
"description": "The article ID that is used as homepage"
},
"taxonomy": {
"type": "array",
"description": "Taxonomy of the articles"
}
}
}
Update wikiPUT/projects/{projectKey}/wiki/
Update the wiki properties (taxonomy, home article).
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"projectKey": "WIKITEST",
"homeArticleId": "Page 1",
"taxonomy": [
{
"id": "Page 1",
"children": [
{
"id": "Page 2",
"children": []
}
]
},
{
"id": "Homepage",
"children": []
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of the wiki"
},
"homeArticleId": {
"type": "string",
"description": "The article ID that is used as homepage"
},
"taxonomy": {
"type": "array",
"description": "Taxonomy of the articles"
}
}
}
200
Returns the updated [Wiki] object.
Headers
Content-Type: application/json
Body
{
"projectKey": "WIKITEST",
"homeArticleId": "Page 1",
"taxonomy": [
{
"id": "Page 1",
"children": [
{
"id": "Page 2",
"children": []
}
]
},
{
"id": "Homepage",
"children": []
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of the wiki"
},
"homeArticleId": {
"type": "string",
"description": "The article ID that is used as homepage"
},
"taxonomy": {
"type": "array",
"description": "Taxonomy of the articles"
}
}
}
Create articlePOST/projects/{projectKey}/wiki/
Create an article (metadata).
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
Headers
Content-Type: application/json
Body
{
"projectKey": "WIKITEST",
"id": "New page",
"parent": "Page 1"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
200
Returns the corresponding [ArticleWithPayload] object.
Headers
Content-Type: application/json
Body
{
"article": {
"projectKey": "WIKITEST",
"id": "New page",
"layout": "WIKI_ARTICLE",
"attachments": [],
"tags": []
},
"payload": ""
}
Article ¶
Get articleGET/projects/{projectKey}/wiki/{articleId}
Get an article (metadata, payload)
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- articleId
string
(required)the article ID
200
Returns a [ArticleWithPayload] object.
Headers
Content-Type: application/json
Body
{
"article": {
"projectKey": "WIKITEST",
"id": "Page 1",
"layout": "WIKI_ARTICLE",
"attachments": [
{
"attachmentType": "DSS_OBJECT",
"taggableType": "DATASET",
"projectKey": "WIKITEST",
"id": "dataset1"
}
],
"tags": [
"tag1",
"tag2"
]
},
"payload": "# Page 1 article\n\nContent"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"article": {
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this article"
},
"id": {
"type": "string",
"description": "Article id"
},
"layout": {
"type": "string",
"description": "Article layout (WIKI_ARTICLE or FOLDER)"
},
"attachments": {
"type": "array",
"description": "Attachments of the article"
},
"tags": {
"type": "array",
"description": "Tags of the article"
}
},
"description": "Article metadata"
},
"payload": {
"type": "string",
"description": "Content of article"
}
}
}
Update articlePUT/projects/{projectKey}/wiki/{articleId}
Update article (metadata, payload)
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- articleId
string
(required)the article ID
Note: payload uses markdown syntax.
Headers
Content-Type: application/json
Body
{
"article": {
"projectKey": "WIKITEST",
"id": "Page 1",
"layout": "FOLDER",
"attachments": [
{
"attachmentType": "DSS_OBJECT",
"taggableType": "DATASET",
"projectKey": "WIKITEST",
"id": "dataset1"
}
],
"tags": [
"tag1",
"tag2 (edited)"
]
},
"payload": "# Page 1 article\n\nContent (edited)"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"article": {
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Project key of this article"
},
"id": {
"type": "string",
"description": "Article id"
},
"layout": {
"type": "string",
"description": "Article layout (WIKI_ARTICLE or FOLDER)"
},
"attachments": {
"type": "array",
"description": "Attachments of the article"
},
"tags": {
"type": "array",
"description": "Tags of the article"
}
},
"description": "Article metadata"
},
"payload": {
"type": "string",
"description": "Content of article"
}
}
}
200
Returns the corresponding [ArticleAndPayload] object.
Headers
Content-Type: application/json
Body
{
"article": {
"projectKey": "WIKITEST",
"id": "Page 1",
"layout": "FOLDER",
"attachments": [
{
"attachmentType": "DSS_OBJECT",
"taggableType": "DATASET",
"projectKey": "WIKITEST",
"id": "dataset1"
}
],
"tags": [
"tag1",
"tag2 (edited)"
]
},
"payload": "# Page 1 article\n\nContent (edited)"
}
Discussions ¶
Discussions ¶
Get discussionsGET/projects/{projectKey}/discussions/{objectType}/{objectId}/
Get discussions on an object
π Required privileges : READ_DASHBOARD
Example URI
- projectKey
string
(required)the key of the project
- objectType
string
(required)the DSS object type
- objectId
string
(required)the DSS object ID
200
Returns an array of [Discussion] objects.
Headers
Content-Type: application/json
Body
[
{
"projectKey": "DISCUTEST",
"id": "L8gkpoI6",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"objectDisplayName": "Discussion project",
"topic": "Project infos",
"lastReplyTime": 1517245249936,
"users": {
"user1": {
"login": "user1",
"lastReplyTime": 1517245249936,
"lastReadTime": 1517245249936
}
},
"closedOn": 0,
"closedBy": ""
},
{
"projectKey": "DISCUTEST",
"id": "AZgd6ds0",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"objectDisplayName": "Discussion project",
"topic": "Project deletion",
"lastReplyTime": 1517218351503,
"users": {
"user1": {
"login": "user1",
"lastReplyTime": 1517218351503,
"lastReadTime": 1517218351503
}
},
"closedOn": 1517218351503,
"closedBy": "user1"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create discussionPOST/projects/{projectKey}/discussions/{objectType}/{objectId}/
Create a discussion on an object
π Required privileges : READ_DASHBOARD
Example URI
- projectKey
string
(required)the key of the project
- objectType
string
(required)the DSS object type
- objectId
string
(required)the DSS object ID
Note: the reply uses markdown syntax.
Headers
Content-Type: application/json
Body
{
"topic": "An interesting discussion",
"reply": "Discussion content here"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
200
Returns the newly created [Discussion].
Headers
Content-Type: application/json
Body
{
"projectKey": "DISCUTEST",
"id": "Ed6Fgi89",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"objectDisplayName": "Discussion project",
"topic": "An interesting discussion",
"lastReplyTime": 1517322182967,
"users": {
"user1": {
"login": "user1",
"lastReplyTime": 1517322182967,
"lastReadTime": 1517322182967
}
},
"closedOn": 0,
"closedBy": "",
"replies": [
{
"id": "Ja8Stes4",
"text": "Discussion content here",
"author": "user1",
"time": 1517322182967,
"editedOn": 0
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "the discussion ID"
},
"objectType": {
"type": "string",
"description": "DSS object type"
},
"objectId": {
"type": "string",
"description": "DSS object ID"
},
"topic": {
"type": "string",
"description": "the discussion topic"
},
"lastReplyTime": {
"type": "number",
"description": "the timestamp of the last reply"
},
"users": {
"type": "object",
"properties": {},
"description": "the map of participants"
},
"closedOn": {
"type": "number",
"description": "the timestamp when the discussion has been closed or 0"
},
"closedBy": {
"type": "string",
"description": "the login of the user that closed the discussion or empty"
},
"replies": {
"type": "array"
}
}
}
Discussion ¶
Get discussionGET/projects/{projectKey}/discussions/{objectType}/{objectId}/{discussionId}
Get discussion
π Required privileges : READ_DASHBOARD
Example URI
- projectKey
string
(required)the key of the project
- objectType
string
(required)the DSS object type
- objectId
string
(required)the DSS object ID
- discussionId
string
(required)the discussion ID
200
Returns the discussion with its replies.
Headers
Content-Type: application/json
Body
{
"projectKey": "DISCUTEST",
"id": "L8gkpoI6",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"objectDisplayName": "Discussion project",
"topic": "Project infos",
"lastReplyTime": 1517322182967,
"users": {
"user1": {
"login": "user1",
"lastReplyTime": 1517322182967,
"lastReadTime": 1517322182967
}
},
"closedOn": 0,
"closedBy": "",
"replies": [
{
"id": "Ja8Stes4",
"text": "What is the topic?",
"author": "user1",
"time": 1517322182967,
"editedOn": 0
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "the discussion ID"
},
"objectType": {
"type": "string",
"description": "DSS object type"
},
"objectId": {
"type": "string",
"description": "DSS object ID"
},
"topic": {
"type": "string",
"description": "the discussion topic"
},
"lastReplyTime": {
"type": "number",
"description": "the timestamp of the last reply"
},
"users": {
"type": "object",
"properties": {},
"description": "the map of participants"
},
"closedOn": {
"type": "number",
"description": "the timestamp when the discussion has been closed or 0"
},
"closedBy": {
"type": "string",
"description": "the login of the user that closed the discussion or empty"
},
"replies": {
"type": "array"
}
}
}
Update discussionPUT/projects/{projectKey}/discussions/{objectType}/{objectId}/{discussionId}
Update discussion (change DSS object inside same project, edit topic)
π Required privileges : READ_DASHBOARD
Example URI
- projectKey
string
(required)the key of the project
- objectType
string
(required)the DSS object type
- objectId
string
(required)the DSS object ID
- discussionId
string
(required)the discussion ID
Headers
Content-Type: application/json
Body
{
"projectKey": "DISCUTEST",
"id": "L8gkpoI6",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"topic": "Project infos (edited)",
"lastReplyTime": 1517322182967,
"closedOn": 1517322182967,
"closedBy": "user1"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "the discussion ID"
},
"objectType": {
"type": "string",
"description": "DSS object type"
},
"objectId": {
"type": "string",
"description": "DSS object ID"
},
"topic": {
"type": "string",
"description": "the discussion topic"
},
"lastReplyTime": {
"type": "number",
"description": "the timestamp of the last reply"
},
"users": {
"type": "object",
"properties": {},
"description": "the map of participants"
},
"closedOn": {
"type": "number",
"description": "the timestamp when the discussion has been closed or 0"
},
"closedBy": {
"type": "string",
"description": "the login of the user that closed the discussion or empty"
},
"replies": {
"type": "array"
}
}
}
200
Returns the discussion with its replies.
Headers
Content-Type: application/json
Body
{
"projectKey": "DISCUTEST",
"id": "L8gkpoI6",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"objectDisplayName": "Discussion project",
"topic": "Project infos (edited)",
"lastReplyTime": 1517322182967,
"users": {
"user1": {
"login": "user1",
"lastReplyTime": 1517322182967,
"lastReadTime": 1517322182967
}
},
"closedOn": 1517322182967,
"closedBy": "user1",
"replies": [
{
"id": "Ja8Stes4",
"text": "What is the topic?",
"author": "user1",
"time": 1517322182967,
"editedOn": 0
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "the discussion ID"
},
"objectType": {
"type": "string",
"description": "DSS object type"
},
"objectId": {
"type": "string",
"description": "DSS object ID"
},
"topic": {
"type": "string",
"description": "the discussion topic"
},
"lastReplyTime": {
"type": "number",
"description": "the timestamp of the last reply"
},
"users": {
"type": "object",
"properties": {},
"description": "the map of participants"
},
"closedOn": {
"type": "number",
"description": "the timestamp when the discussion has been closed or 0"
},
"closedBy": {
"type": "string",
"description": "the login of the user that closed the discussion or empty"
},
"replies": {
"type": "array"
}
}
}
Discussion replies ¶
ReplyPOST/projects/{projectKey}/discussions/{objectType}/{objectId}/{discussionId}/replies/
Reply to a discussion
π Required privileges : READ_DASHBOARD
Example URI
- projectKey
string
(required)the key of the project
- objectType
string
(required)the DSS object type
- objectId
string
(required)the DSS object ID
- discussionId
string
(required)the discussion ID
Note: the reply uses markdown syntax.
Headers
Content-Type: application/json
Body
{
"reply": "A new reply"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
200
Returns the discussion with its replies.
Headers
Content-Type: application/json
Body
{
"projectKey": "DISCUTEST",
"id": "L8gkpoI6",
"objectType": "PROJECT",
"objectId": "DISCUTEST",
"objectDisplayName": "Discussion project",
"topic": "Project infos",
"lastReplyTime": 1517322234567,
"users": {
"user1": {
"login": "user1",
"lastReplyTime": 1517322234567,
"lastReadTime": 1517322182967
}
},
"closedOn": 0,
"closedBy": "",
"replies": [
{
"id": "Ja8Stes4",
"text": "What is the topic?",
"author": "user1",
"time": 1517322182967,
"editedOn": 0
},
{
"id": "v43SD98c",
"text": "A new reply",
"author": "user1",
"time": 1517322234567,
"editedOn": 0
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"projectKey": {
"type": "string",
"description": "Key of the project"
},
"id": {
"type": "string",
"description": "the discussion ID"
},
"objectType": {
"type": "string",
"description": "DSS object type"
},
"objectId": {
"type": "string",
"description": "DSS object ID"
},
"topic": {
"type": "string",
"description": "the discussion topic"
},
"lastReplyTime": {
"type": "number",
"description": "the timestamp of the last reply"
},
"users": {
"type": "object",
"properties": {},
"description": "the map of participants"
},
"closedOn": {
"type": "number",
"description": "the timestamp when the discussion has been closed or 0"
},
"closedBy": {
"type": "string",
"description": "the login of the user that closed the discussion or empty"
},
"replies": {
"type": "array"
}
}
}
Dashboards ¶
Dashboards ¶
List DashboardsGET/projects/{projectKey}/dashboards/
List the dashboards.
π Required privileges : READ_DASHBOARDS
Example URI
- projectKey
string
(required)the key of the project
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "Hello, world!",
"id": "Hello, world!",
"name": "Hello, world!",
"tags": [
"Hello, world!"
],
"shortDesc": "Hello, world!",
"lastModifiedBy": {
"login": "Hello, world!",
"displayName": "Hello, world!"
},
"lastModifiedOn": 1,
"createdBy": {
"login": "Hello, world!",
"displayName": "Hello, world!",
"email": "Hello, world!"
},
"createdOn": 1,
"owner": "Hello, world!",
"ownerDisplayName": "Hello, world!",
"listed": true,
"numPages": 1,
"numTiles": 1
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create DashboardPOST/projects/{projectKey}/dashboards/
Create a new dashboard.
Important : most attributes of dashboards may be modified in future releases. It is recommended that you use the GET Dashboard call to retrieve an existing dashboard and modify it to suit your needs and create a new dashboard.
π Required privileges : WRITE_DASHBOARDS
Example URI
- projectKey
string
(required)the key of the project
Create Dashboard
Headers
Content-Type: application/json
Body
{
"owner": "",
"listed": false,
"name": "",
"pages": [
{
"id": "",
"grid": {
"tiles": [
{
"tileType": "INSIGHT",
"box": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
},
"clickAction": "DO_NOTHING",
"targetInsightId": "",
"tileParams": {},
"title": "",
"showTitle": "YES",
"insightId": "",
"insightType": "",
"displayMode": "INSIGHT",
"imageId": "",
"resizeImageMode": "ORIG_SIZE"
}
]
},
"title": "",
"showTitle": false,
"backgroundColor": ""
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the creator of the dashboard"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the dashboard is private or public (i.e. promoted)"
},
"name": {
"type": "string",
"description": "Name of the dashboard"
},
"pages": {
"type": "array",
"description": "Pages to display on the dashboard"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"owner": "",
"listed": false,
"name": "",
"pages": [
{
"id": "",
"grid": {
"tiles": [
{
"tileType": "INSIGHT",
"box": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
},
"clickAction": "DO_NOTHING",
"targetInsightId": "",
"tileParams": {},
"title": "",
"showTitle": "YES",
"insightId": "",
"insightType": "",
"displayMode": "INSIGHT",
"imageId": "",
"resizeImageMode": "ORIG_SIZE"
}
]
},
"title": "",
"showTitle": false,
"backgroundColor": ""
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the creator of the dashboard"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the dashboard is private or public (i.e. promoted)"
},
"name": {
"type": "string",
"description": "Name of the dashboard"
},
"pages": {
"type": "array",
"description": "Pages to display on the dashboard"
}
}
}
Dashboard ¶
Get DashboardGET/projects/{projectKey}/dashboards/{dashboardId}
Retrieve a dashboard object describing it
WARNING : The returned object may contain other attributes but you should not rely on them since they could be modified or removed in future releases without notice.
π Required privileges : READ_DASHBOARDS
Example URI
- projectKey
string
(required)the key of the project
- dashboardId
string
(required)the id of the dashboard
200
Headers
Content-Type: application/json
Body
{
"owner": "",
"listed": false,
"name": "",
"pages": [
{
"id": "",
"grid": {
"tiles": [
{
"tileType": "INSIGHT",
"box": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
},
"clickAction": "DO_NOTHING",
"targetInsightId": "",
"tileParams": {},
"title": "",
"showTitle": "YES",
"insightId": "",
"insightType": "",
"displayMode": "INSIGHT",
"imageId": "",
"resizeImageMode": "ORIG_SIZE"
}
]
},
"title": "",
"showTitle": false,
"backgroundColor": ""
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the creator of the dashboard"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the dashboard is private or public (i.e. promoted)"
},
"name": {
"type": "string",
"description": "Name of the dashboard"
},
"pages": {
"type": "array",
"description": "Pages to display on the dashboard"
}
}
}
Update the DashboardPUT/projects/{projectKey}/dashboards/{dashboardId}
Update the dashboard.
The dashboard object given as parameter in of a PUT call MUST have been previously obtained from a GET dashboard call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_DASHBOARDS
Example URI
- projectKey
string
(required)the key of the project
- dashboardId
string
(required)the id of the dashboard
Update Dashboard
Headers
Content-Type: application/json
Body
{
"owner": "",
"listed": false,
"name": "",
"pages": [
{
"id": "",
"grid": {
"tiles": [
{
"tileType": "INSIGHT",
"box": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
},
"clickAction": "DO_NOTHING",
"targetInsightId": "",
"tileParams": {},
"title": "",
"showTitle": "YES",
"insightId": "",
"insightType": "",
"displayMode": "INSIGHT",
"imageId": "",
"resizeImageMode": "ORIG_SIZE"
}
]
},
"title": "",
"showTitle": false,
"backgroundColor": ""
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the creator of the dashboard"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the dashboard is private or public (i.e. promoted)"
},
"name": {
"type": "string",
"description": "Name of the dashboard"
},
"pages": {
"type": "array",
"description": "Pages to display on the dashboard"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"owner": "",
"listed": false,
"name": "",
"pages": [
{
"id": "",
"grid": {
"tiles": [
{
"tileType": "INSIGHT",
"box": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
},
"clickAction": "DO_NOTHING",
"targetInsightId": "",
"tileParams": {},
"title": "",
"showTitle": "YES",
"insightId": "",
"insightType": "",
"displayMode": "INSIGHT",
"imageId": "",
"resizeImageMode": "ORIG_SIZE"
}
]
},
"title": "",
"showTitle": false,
"backgroundColor": ""
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Login of the creator of the dashboard"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the dashboard is private or public (i.e. promoted)"
},
"name": {
"type": "string",
"description": "Name of the dashboard"
},
"pages": {
"type": "array",
"description": "Pages to display on the dashboard"
}
}
}
Delete the DashboardDELETE/projects/{projectKey}/dashboards/{dashboardId}
Delete a dashboard.
π Required privileges : WRITE_DASHBOARDS
Example URI
- projectKey
string
(required)the key of the project
- dashboardId
string
(required)the id of the dashboard
204
Export the dashboardPOST/projects/{projectKey}/dashboards/{dashboardId}/action/export
In order to use this API method, you need to have setup the graphics export feature on your DSS instance.
Create a dashboard export and returns it in the response. Then, the dashboard export will be deleted on the server side.
π Required privileges : READ_DASHBOARDS
Example URI
- projectKey
string
(required)the key of the project
- dashboardId
string
(required)the id of the dashboard
Headers
Content-Type: application/json
Body
{
"paperSize": "A4",
"orientation": "PORTRAIT",
"fileType": "PDF",
"slideIndex": 0,
"filtersBySlide": ["slide1Filters", "slide2Filters", ...]
}
200
Insights ¶
Insights ¶
List InsightsGET/projects/{projectKey}/insights/
List the insights.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
200
Headers
Content-Type: application/json
Body
[
{
"id": "Hello, world!",
"projectKey": 1,
"type": 1,
"name": "Hello, world!",
"listed": true,
"owner": "Hello, world!",
"ownerDisplayName": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create InsightPOST/projects/{projectKey}/insights/
Create a new insight.
Important : most attributes of insights may be modified in future releases. It is recommended that you use the GET Insight call to retrieve an existing insight and modify it to suit your needs and create a new insight.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
Create Insight
Headers
Content-Type: application/json
Body
{
"insightPrototype": {
"id": "",
"projectKey": 0,
"type": 0,
"name": "",
"listed": false,
"owner": "",
"params": {}
},
"contentType": "",
"payload": ""
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"insightPrototype": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the insight"
},
"projectKey": {
"type": "number",
"description": "Project key on which the insight belongs"
},
"type": {
"type": "number",
"description": "Type of the insight"
},
"name": {
"type": "string",
"description": "Name of the insight"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the insight is private or public (i.e. promoted)"
},
"owner": {
"type": "string",
"description": "Owner login of the insight"
},
"params": {
"type": "object",
"properties": {},
"description": "Configuration of the insight"
}
},
"description": "Insight that will be created"
},
"contentType": {
"type": "string",
"description": "Used to specify content type of the file (Only useful when the insightPrototype.type is `static_file`)"
},
"payload": {
"type": "string",
"description": "Optional payload used to create the insight"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"id": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the object"
}
}
}
Insight ¶
Get InsightGET/projects/{projectKey}/insights/{insightId}
Retrieve an insight object describing it
WARNING : The returned object may contain other attributes but you should not rely on them since they could be modified or removed in future releases without notice.
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required)the key of the project
- insightId
string
(required)the id of the insight
200
Headers
Content-Type: application/json
Body
{
"id": "",
"projectKey": 0,
"type": 0,
"name": "",
"listed": false,
"owner": "",
"params": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the insight"
},
"projectKey": {
"type": "number",
"description": "Project key on which the insight belongs"
},
"type": {
"type": "number",
"description": "Type of the insight"
},
"name": {
"type": "string",
"description": "Name of the insight"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the insight is private or public (i.e. promoted)"
},
"owner": {
"type": "string",
"description": "Owner login of the insight"
},
"params": {
"type": "object",
"properties": {},
"description": "Configuration of the insight"
}
}
}
Update the InsightPOST/projects/{projectKey}/insights/{insightId}
Update an insight.
The insight object given as parameter in of a POST call MUST have been previously obtained from a GET insight call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- insightId
string
(required)the id of the insight
Update Insight
Headers
Content-Type: application/json
Body
{
"insight": {
"id": "",
"projectKey": 0,
"type": 0,
"name": "",
"listed": false,
"owner": "",
"params": {}
},
"contentType": "",
"payload": ""
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"insight": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the insight"
},
"projectKey": {
"type": "number",
"description": "Project key on which the insight belongs"
},
"type": {
"type": "number",
"description": "Type of the insight"
},
"name": {
"type": "string",
"description": "Name of the insight"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the insight is private or public (i.e. promoted)"
},
"owner": {
"type": "string",
"description": "Owner login of the insight"
},
"params": {
"type": "object",
"properties": {},
"description": "Configuration of the insight"
}
},
"description": "Insight that will be updated"
},
"contentType": {
"type": "string",
"description": "Used to specify content type of the file (Only useful when the insightPrototype.type is `static_file`)"
},
"payload": {
"type": "string",
"description": "Optional payload used to update the insight"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"id": "",
"projectKey": 0,
"type": 0,
"name": "",
"listed": false,
"owner": "",
"params": {}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the insight"
},
"projectKey": {
"type": "number",
"description": "Project key on which the insight belongs"
},
"type": {
"type": "number",
"description": "Type of the insight"
},
"name": {
"type": "string",
"description": "Name of the insight"
},
"listed": {
"type": "boolean",
"description": "Boolean indicating if the insight is private or public (i.e. promoted)"
},
"owner": {
"type": "string",
"description": "Owner login of the insight"
},
"params": {
"type": "object",
"properties": {},
"description": "Configuration of the insight"
}
}
}
Delete the InsightDELETE/projects/{projectKey}/insights/{insightId}
Delete an insight.
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required)the key of the project
- insightId
string
(required)the id of the insight
200
SQL queries ¶
SQL queries ¶
Start a queryPOST/sql/queries
Start the execution of a query.
This call starts the execution of the query and returns the resultβs schema, along with an identifier for the query.
π Required privileges : RUN_CODE
Example URI
Headers
Content-Type: application/json
Body
{
"connection": "Hello, world!",
"datasetFullName": "Hello, world!",
"database": "Hello, world!",
"query": "Hello, world!",
"preQueries": [
"Hello, world!"
],
"postQueries": [
"Hello, world!"
],
"type": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"connection": {
"type": "string",
"default": "empty"
},
"datasetFullName": {
"type": "string",
"default": "empty"
},
"database": {
"type": "string",
"default": "empty"
},
"query": {
"type": "string"
},
"preQueries": {
"type": "array",
"default": [
"empty"
],
"description": "A list of queries to run before the actual query"
},
"postQueries": {
"type": "array",
"default": [
"empty"
],
"description": "A list of queries to run after the actual query"
},
"type": {
"type": "string",
"default": "sql"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"queryId" : "e98f95f2-678b-4277-ac01-c5ff52b8cd9a",
"hasResults" : true,
"schema" : [
{
"name" : "col_1",
"type": "string"
},
{
"name" : "col_2",
"type": "int"
},
...
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
Stream the dataGET/sql/queries/{queryId}/stream{?format}{?formatParams}
Streams the results of a query.
π Required privileges : RUN_CODE
Example URI
- queryId
string
(required)Identifier returned by the start-streaming call
- format
string
(optional) Default: json- formatParams
object
(optional)Output format parameters (depends on the format)
200
The Content-Type
and the content of the request may change according to the requested format.
The default (json) output will produce an array of arrays representing the data:
Body
[
[ "a", "1"],
[ "b", "2"],
...
]
Verify a queryGET/sql/queries/{queryId}/finish-streaming
Start the execution of a query
π Required privileges : RUN_CODE
Example URI
- queryId
string
(required)Identifier returned by the start-streaming call
200
Verifies that the query identified by queryId
finished successfully on the server side. If not, returns the exception and a 500 status code.
Headers
Content-Type: application/text
Body
exception
Connections ¶
Connections ¶
List connectionsGET/admin/connections
List all the connections available on the DSS instance.
This call retrieves a dictionary of Connection
objects as defined in GET connection.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
{
"my-connection": {
"name" : "my-connection",
"type" : "Vertica",
"allowWrite" : true,
"allowManagedDatasets" : true,
"usableBy" : "ALL",
"allowedGroups" : [],
"params" : {
"db" : "dbname",
"properties" : {},
"user" : "dbadmin",
"host" : "127.0.0.1",
"password" : "thedbpassword"
},
}
}
Create connectionPOST/admin/connections
Creates a connection on DSS.
The parameters of a connection are specific to each type of connection. It is recommended that you have a look at the parameters of a similar connection to create your own.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"name": "new-connection",
"type": "PostgreSQL",
"params": {
"db": "dbname",
"user": "myuser",
"host": "127.0.0.1",
"password": "thedbpassword"
}
}
200
Connection ¶
π Required privileges : Admin
Get connectionGET/admin/connections/{connectionName}
Gets a connection
WARNING : The returned object may contain other attributes but you should not rely on them since they could be modified or removed in future releases without notice.
Example URI
- connectionName
string
(required)the name of a connection in DSS
200
Headers
Content-Type: application/json
Body
{
"name": "Hello, world!",
"type": "Hello, world!",
"allowWrite": true,
"allowManagedDatasets": true,
"usableBy": "Hello, world!",
"allowedGroups": [
"Hello, world!"
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"allowWrite": {
"type": "boolean"
},
"allowManagedDatasets": {
"type": "boolean",
"description": "Set to true to allow the connection to provide [Managed datasets](http://doc.dataiku.com/dss/latest/concepts/#managed-and-external-datasets)"
},
"usableBy": {
"type": "string",
"description": "\"ALL\" or \"ALLOWED\", who may use this connection"
},
"allowedGroups": {
"type": "array",
"description": "Ignored if usableBy is ALL"
}
}
}
Update connectionPUT/admin/connections/{connectionName}
The Connection
object given as parameter in of a PUT call MUST have been previously obtained from a
GET connection call at the same URL.
**WARNING : ** the type and names attributes may not be modified. The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : Admin
Example URI
- connectionName
string
(required)the name of a connection in DSS
Headers
Content-Type: application/json
Body
{
"type": "MySQL",
"name": "LocalMySQL",
"allowWrite": true,
"allowManagedDatasets": true,
"usableBy": "ALL",
"allowedGroups": [],
"params": {
"db": "dbname",
"user": "myuser",
"host": "127.0.0.1",
"password": "thedbpassword"
}
}
204
Delete connectionDELETE/admin/connections/{connectionName}
Removes the connection from DSS.
WARNING : No check is performed to ensure that the connection is not in use for a dataset.
π Required privileges : Admin
Example URI
- connectionName
string
(required)the name of a connection in DSS
204
Connections names ¶
List connections namesGET/connections/get-names/{?type}
List all the connections names available on the DSS instance.
Unlike /admin/connections
, you donβt need Admin privileges to call this route.
Example URI
- type
string
(required)Returns only connections with this type. Use
all
if you donβt want to filter.
200
Headers
Content-Type: application/json
Body
[
"filesystem_managed",
"filesystem_folders",
"filesystem_root"
]
Security ¶
Users ¶
List usersGET/admin/users/{?connected}
Retrieves the list of DSS users as a list of User
objects as defined in GET user.
WARNING : the connected status of the users is detected using WebSockets. If the WebSockets are disabled (for example if your firewall blocks them), some or all of the connected users may not be listed as connected.
π Required privileges : Admin
Example URI
- connected
boolean
(optional) Default: false
200
Headers
Content-Type: application/json
Body
[
{
"login": "Hello, world!",
"sourceType": "Hello, world!",
"displayName": "Hello, world!",
"groups": [
"Hello, world!"
],
"codeAllowed": "Hello, world!"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array"
}
Create userPOST/admin/users
Adds a user account on DSS.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"login": "UserA",
"sourceType": "LOCAL",
"displayName": "User A",
"email": "",
"groups": [],
"userProfile": "DATA_ANALYST",
"password": "password"
}
201
Body
{
"msg": "Created user UserA"
}
User ¶
Get userGET/admin/users/{login}
Retrieves a User object describing a DSS user
WARNING : The returned object may contain other attributes but you should not rely on them since they could be modified or removed in future releases without notice.
π Required privileges : Admin
Example URI
- login
string
(required)the login of a DSS user
200
Headers
Content-Type: application/json
Body
{
"login": "Hello, world!",
"sourceType": "Hello, world!",
"displayName": "Hello, world!",
"groups": [
"Hello, world!"
],
"codeAllowed": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"login": {
"type": "string"
},
"sourceType": {
"type": "string"
},
"displayName": {
"type": "string"
},
"groups": {
"type": "array"
},
"codeAllowed": {
"type": "string",
"description": "True if the user is allowed to write native code"
}
}
}
Update userPUT/admin/users/{login}
The User
object given as body of the PUT call MUST have been previously obtained from a
GET user call at the same URL.
The object obtained with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : Admin
Example URI
- login
string
(required)the login of a DSS user
Headers
Content-Type: application/json
Body
{
"login": "mattsco",
"displayName": "Matthieu Modified",
"groups": [
"administrators",
"data_scientists"
],
"codeAllowed": true
}
200
Body
{
"msg": "Edited user UserA"
}
Delete userDELETE/admin/users/{login}
Deletes a DSS user
π Required privileges : Admin
Example URI
- login
string
(required)the login of a DSS user
200
Body
{
"msg": "Deleted user UserA"
}
Resync a userPOST/admin/users/{login}/actions/resync
Resync the user
Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : Admin
Example URI
- login
string
(required)the login of a DSS user
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
Resync multiple usersPOST/admin/users/actions/resync-multi
Resyncs multiple users
Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
[
"user1",
"user2",
"user3"
]
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"messages": [],
"anyMessage": false,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
Fetch external usersGET/admin/users/actions/external-users
Fetches external users
Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw",
"result": [
{
"status": "UNSYNCED",
"userAttributes": {
"login": "alice",
"displayName": "Alice",
"email": "[email protected]",
"sourceGroupNames": [
"externalGroupA"
],
"dkuGroupNames": [
"dssGroupA"
]
},
"profile": "READER"
},
{
"status": "NOT_PROVISIONED",
"userAttributes": {
"login": "bob",
"displayName": "Bob",
"email": "[email protected]",
"sourceGroupNames": [
"externalGroupA"
],
"dkuGroupNames": [
"dssGroupA"
]
},
"profile": "READER"
},
{
"status": "SYNCED",
"userAttributes": {
"login": "charlie",
"displayName": "Charlie",
"email": "[email protected]",
"sourceGroupNames": [
"externalGroupA"
],
"dkuGroupNames": [
"dssGroupA"
]
},
"profile": "READER"
}
]
}
Fetch external groupsGET/admin/users/actions/external-groups
Fetches external groups
Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 1561456214289,
"runningTime": 0,
"unknown": false,
"jobId": "26S2LeJw",
"result": [
"externalGroupA",
"externalGroupB",
"externalGroupC"
]
}
Provision usersPOST/admin/users/actions/provision
Provisions users
Returns a reference to a future, defined by its jobId. If the future has no result yet, polling on the jobId with GET task until the result is ready is needed to get the id of the generated flow documentation.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"userSourceType": "AZURE_AD",
"users": [
{
"login": "bob",
"displayName": "Bob",
"email": "[email protected]",
"sourceGroupNames": [
"externalGroupA"
],
"dkuGroupNames": [
"dssGroupA"
]
},
{
"login": "charlie",
"displayName": "Charlie",
"email": "[email protected]",
"sourceGroupNames": [
"externalGroupA"
],
"dkuGroupNames": [
"dssGroupA"
]
}
]
}
200
Headers
Content-Type: application/json
Body
{
"hasResult": true,
"aborted": false,
"alive": false,
"startTime": 0,
"runningTime": 0,
"unknown": false,
"result": {
"messages": [
{
"severity": "INFO",
"isFatal": false,
"code": "INFO_SECURITY_SUPPLIER_PROVISIONING_SUMMARY",
"title": "User provisioning success",
"details": "Imported 2/2 new users of source type 'AZURE_AD'",
"message": "User provisioning success: Imported 2/2 new users of source type 'AZURE_AD'"
}
],
"maxSeverity": "INFO",
"anyMessage": true,
"success": false,
"warning": false,
"error": false,
"fatal": false
}
}
User last activity ¶
Get all users last activityGET/admin/users-activity
Get the last activity timestamps for all existing users
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"login": "user1",
"lastSuccessfulLogin": 1647448027194,
"lastFailedLogin": 1647411934284,
"lastLoaded": 1647448367338
}
]
Get user last activityGET/admin/users/{login}/activity
Get the userβs last activity timestamps
π Required privileges : Admin
Example URI
- login
string
(required)the login of a DSS user
200
Headers
Content-Type: application/json
Body
{
"login": "user1",
"lastSuccessfulLogin": 1647448027194,
"lastFailedLogin": 1647411934284,
"lastLoaded": 1647448367338
}
Groups ¶
List groupsGET/admin/groups
Retrieves the list of DSS groups as a list of Group
objects as defined in GET group.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"name": "administrators",
"description": "DSS administrators",
"admin": true,
"sourceType": "LOCAL"
}
]
Create groupPOST/admin/groups
Creates a group
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"name": "New Group for business",
"admin": false,
"description": "This group is for business users"
}
200
Headers
Content-Type: application/json
Body
{
"msg": "Created group GroupB"
}
Group ¶
Get groupGET/admin/groups/{groupname}
Retrieves a Group
object describing a DSS user group, used for access control on connections and projects.
WARNING : The returned object may contain other attributes but you should not rely on them since they could be modified or removed in future releases without notice.
π Required privileges : Admin
Example URI
- groupname
string
(required)the name of a DSS group
200
Headers
Content-Type: application/json
Body
{
"name": "Hello, world!",
"description": "Hello, world!",
"admin": true,
"sourceType": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"admin": {
"type": "boolean",
"description": "Whether this group gives administrative rights on DSS"
},
"sourceType": {
"type": "string"
}
}
}
Update groupPUT/admin/groups/{groupname}
The Group
object given as parameter in of a PUT call MUST have been previously obtained from a
GET group call at the same URL.
The object with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : Admin
Example URI
- groupname
string
(required)the name of a DSS group
Headers
Content-Type: application/json
Body
{
"name": "ANALYSTS",
"admin": false,
"description": "This group is suited for business analysts"
}
200
Body
{
"msg": "Edited group GroupB"
}
Delete groupDELETE/admin/groups/{groupname}
Deletes a DSS users group
π Required privileges : Admin
Example URI
- groupname
string
(required)the name of a DSS group
200
Body
{
"msg": "Deleted group GroupB"
}
Code envs ¶
List code envsGET/admin/code-envs
Retrieves the list of DSS code environments as a list
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"kernelSpecName": "py-dku-venv-basic_external",
"envLang": "PYTHON",
"envName": "basic_external",
"canUpdateCodeEnv": false,
"owner": "admin",
"isUptodate": false,
"unknownKernelSpecStatus": false,
"deploymentMode": "EXTERNAL_CONDA_NAMED"
}
]
Code env ¶
Create code envPOST/admin/code-envs/{envLang}/{envName}
Add a code environment to DSS
π Required privileges : Admin
Example URI
- envLang
string
(required)the type of code environment (python or r)
- envName
string
(required)the name of the code environment
Headers
Content-Type: application/json
Body
{
"deploymentMode" : "DESIGN_MANAGED",
"pythonInterpreter" : PYTHON27,
"installCorePackages" : true,
"installJupyterSupport" : true
}
200
Headers
Content-Type: application/json
Body
{
"envName": "testapi3",
"messages": {
"anyMessage": false,
"warning": false,
"messages": [],
"success": false,
"error": false
}
}
Get code envGET/admin/code-envs/{envLang}/{envName}
Retrieves a Code env
object describing a DSS code environment.
WARNING : The returned object may contain other attributes but you should not rely on them since they could be modified or removed in future releases without notice.
π Required privileges : Admin
Example URI
- envLang
string
(required)the type of code environment (python or r)
- envName
string
(required)the name of the code environment
200
Headers
Content-Type: application/json
Body
{
"deploymentMode": "DESIGN_MANAGED",
"envName": "basic_managed",
"kernelSpecName": "py-dku-venv-basic_managed",
"owner": "admin",
"permissions": [],
"usableByAll": true,
"specPackageList": "",
"specCondaEnvironment": "",
"actualCondaEnvironment": "",
"mandatoryCondaEnvironment": "",
"actualPackageList": "arrow==0.10.0\nbackports-abc==0.5\nbackports.shutil-get-terminal-size==1.0.0\ncertifi==2017.7.27.1\ndateparser==0.6.0\ndecorator==4.0.11\nenum34==1.1.6\nipykernel==4.6.1\nipython==5.4.1\nipython-genutils==0.1.0\njupyter-client==4.4.0\njupyter-core==4.2.1\nmoment==0.8.2\nnumpy==1.13.1\npandas==0.20.3\npathlib2==2.3.0\npexpect==4.2.1\npickleshare==0.7.4\nprompt-toolkit==1.0.15\nptyprocess==0.5.1\nPygments==2.2.0\npython-dateutil==2.5.3\npytz==2016.10\npyzmq==16.0.2\nregex==2017.7.28\nrequests==2.12.5\nruamel.ordereddict==0.4.13\nruamel.yaml==0.15.33\nscandir==1.5\nsimplegeneric==0.8.1\nsingledispatch==3.4.0.3\nsix==1.10.0\ntabulate==0.7.7\nterminado==0.6\ntimes==0.7\ntornado==4.4.2\ntraitlets==4.3.1\ntzlocal==1.4\nwcwidth==0.1.7\n",
"mandatoryPackageList": "\npandas==0.20.3\nrequests==2.12.5\npython-dateutil==2.5.3\npytz==2016.10\n\ndecorator==4.0.11\npyzmq>=16.0\nipykernel==4.6.1\nipython_genutils==0.1.0\njupyter_client==4.4.0\njupyter_core==4.2.1\npexpect==4.2.1\npickleshare==0.7.4\nptyprocess==0.5.1\nsimplegeneric==0.8.1\ntraitlets==4.3.1\nterminado==0.6\ntornado==4.4.2",
"desc": {
"usableByAll": true,
"owner": "admin",
"permissions": [],
"deploymentMode": "DESIGN_MANAGED",
"installCorePackages": true,
"installJupyterSupport": true,
"conda": false,
"pythonInterpreter": "PYTHON27",
"yarnPythonBin": "some/python/on/yarn",
"basePackagesInstallMethod": "PRE_BUILT"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"deploymentMode": {
"type": "string"
},
"envLang": {
"type": "string"
},
"envName": {
"type": "string"
},
"owner": {
"type": "string"
},
"usableByAll": {
"type": "boolean"
},
"permissions": {
"type": "array"
}
}
}
Update code envPUT/admin/code-envs/{envLang}/{envName}
The Code env
object given as parameter in of a PUT call MUST have been previously obtained from a
[GET code-env] call at the same URL.
The object with the GET method may contain undocumented attributes. You should not modify them as it could create an invalid state and thoses attributes may be removed in future releases without notice.
π Required privileges : Admin
Example URI
- envLang
string
(required)the type of code environment (python or r)
- envName
string
(required)the name of the code environment
Headers
Content-Type: application/json
Body
{
"deploymentMode": "DESIGN_MANAGED",
"envName": "basic_managed",
"kernelSpecName": "py-dku-venv-basic_managed",
"owner": "admin",
"permissions": [],
"usableByAll": true,
"specPackageList": "",
"specCondaEnvironment": "",
"actualCondaEnvironment": "",
"mandatoryCondaEnvironment": "",
"actualPackageList": "arrow==0.10.0\nbackports-abc==0.5\nbackports.shutil-get-terminal-size==1.0.0\ncertifi==2017.7.27.1\ndateparser==0.6.0\ndecorator==4.0.11\nenum34==1.1.6\nipykernel==4.6.1\nipython==5.4.1\nipython-genutils==0.1.0\njupyter-client==4.4.0\njupyter-core==4.2.1\nmoment==0.8.2\nnumpy==1.13.1\npandas==0.20.3\npathlib2==2.3.0\npexpect==4.2.1\npickleshare==0.7.4\nprompt-toolkit==1.0.15\nptyprocess==0.5.1\nPygments==2.2.0\npython-dateutil==2.5.3\npytz==2016.10\npyzmq==16.0.2\nregex==2017.7.28\nrequests==2.12.5\nruamel.ordereddict==0.4.13\nruamel.yaml==0.15.33\nscandir==1.5\nsimplegeneric==0.8.1\nsingledispatch==3.4.0.3\nsix==1.10.0\ntabulate==0.7.7\nterminado==0.6\ntimes==0.7\ntornado==4.4.2\ntraitlets==4.3.1\ntzlocal==1.4\nwcwidth==0.1.7\n",
"mandatoryPackageList": "\npandas==0.20.3\nrequests==2.12.5\npython-dateutil==2.5.3\npytz==2016.10\n\ndecorator==4.0.11\npyzmq>=16.0\nipykernel==4.6.1\nipython_genutils==0.1.0\njupyter_client==4.4.0\njupyter_core==4.2.1\npexpect==4.2.1\npickleshare==0.7.4\nptyprocess==0.5.1\nsimplegeneric==0.8.1\ntraitlets==4.3.1\nterminado==0.6\ntornado==4.4.2",
"desc": {
"usableByAll": true,
"owner": "admin",
"permissions": [],
"deploymentMode": "DESIGN_MANAGED",
"installCorePackages": true,
"installJupyterSupport": true,
"conda": false,
"pythonInterpreter": "PYTHON27",
"yarnPythonBin": "some/python/on/yarn",
"basePackagesInstallMethod": "PRE_BUILT"
}
}
204
Delete code-envDELETE/admin/code-envs/{envLang}/{envName}
Deletes a DSS code environement
π Required privileges : Admin
Example URI
- envLang
string
(required)the type of code environment (python or r)
- envName
string
(required)the name of the code environment
200
Headers
Content-Type: application/json
Body
{
"messages": {
"anyMessage": false,
"error": false,
"messages": [],
"success": false,
"warning": false
}
}
Update code-env packagesPOST/admin/code-envs/packages{?forceRebuildEnv}
Update the packages in a DSS code environement
π Required privileges : Admin
Example URI
- forceRebuildEnv
boolean
(optional)If set to true, force a rebuild of the code environment
- Default false
200
Headers
Content-Type: application/json
Body
{
"messages": {
"anyMessage": false,
"error": false,
"messages": [],
"success": false,
"warning": false
}
}
Update jupyter integrationPOST/admin/code-envs/jupyter{?active}
Update the integration to jupyter of a DSS code environement.
π Required privileges : Admin
Example URI
- active
string
(required)whether to activate or deactivate the in+ Response 204
200
Headers
Content-Type: application/json
Body
{
"messages": {
"anyMessage": false,
"error": false,
"messages": [],
"success": false,
"warning": false
}
}
DSS administration ¶
Global settings ¶
Get general settingsGET/admin/general-settings
This calls retrieves the object representing DSS settings.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
DSS-API-Version: Version of the API server handling the request
DSS-Version: Version of the DSS backend answering the request
Body
{
"ldapSettings" : { ... },
"hiveSettings" : { ... },
...
}
Save general settingsPUT/admin/general-settings
This calls saves the DSS settings. You must only PUT an object that you acquired previously via the corresponding GET call
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"ldapSettings" : { ... },
"hiveSettings" : { ... },
...
}
204
Global tag categories ¶
List categoriesGET/admin/global-tag-categories
List all the global tag categories available on the DSS instance.
This call retrieves a dictionary of GlobalTagCategory
objects as defined in GET global tag category.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"name": "department",
"globalTags": [
{
"name": "engineering",
"color": "#0f6d82"
},
{
"name": "marketing",
"color": "#30b2d1"
},
{
"name": "sales",
"color": "#123883"
}
],
"appliesTo": [
"PROJECT",
"RECIPE",
"SCENARIO"
]
}
]
Create categoryPOST/admin/global-tag-categories
This call creates a new global tag category on the DSS instance.
Random colors are assigned to tags without specified colors.
If appliesTo
field is not provided, the created category is applied to all available types.
appliesTo
valid values are: PROJECT
, DATASET
, RECIPE
, MANAGED_FOLDER
, FLOW_ZONE
, SAVED_MODEL
, ANALYSIS
, SQL_NOTEBOOK
, JUPYTER_NOTEBOOK
, ARTICLE
, LAMBDA_SERVICE
, SCENARIO
, DASHBOARD
, INSIGHT
, WEB_APP
, REPORT
, STREAMING_ENDPOINT
, STATISTICS_WORKSHEET
and DATA_COLLECTION
.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"name": "department",
"globalTags": [
{
"name": "engineering"
},
{
"name": "marketing"
},
{
"name": "sales",
"color": "#123883"
}
],
"appliesTo": [
"PROJECT",
"RECIPE",
"SCENARIO"
]
}
200
Body
{
"name": "department",
"globalTags": [
{
"name": "engineering",
"color": "#0f6d82"
},
{
"name": "marketing",
"color": "#30b2d1"
},
{
"name": "sales",
"color": "#123883"
}
],
"appliesTo": [
"PROJECT",
"RECIPE",
"SCENARIO"
]
}
Global tag category ¶
Get categoryGET/admin/global-tag-categories/{categoryName}
Gets the details of a global tag category
π Required privileges : Admin
Example URI
- categoryName
string
(required)the name of a global tag category in DSS
200
Headers
Content-Type: application/json
Body
{
"name": "department",
"globalTags": [
{
"name": "engineering",
"color": "#0f6d82"
},
{
"name": "marketing",
"color": "#30b2d1"
},
{
"name": "sales",
"color": "#123883"
}
],
"appliesTo": [
"PROJECT",
"RECIPE",
"SCENARIO"
]
}
Update categoryPUT/admin/global-tag-categories/{categoryName}
Update one or more properties of a global tag category.
You can rename a category by supplying a name
field in the body with a value different from the one in the parameters.
If globalTags
field is omitted, the tags are not updated. Otherwise, the supplied tags overwrite the existing tags.
If appliesTo
field is omitted, the value of appliesTo
is not updated. Otherwise, it is overwritten with the provided values.
π Required privileges : Admin
Example URI
- categoryName
string
(required)the name of a global tag category in DSS
Headers
Content-Type: application/json
Body
{
"name": "business-unit",
"appliesTo": [
"PROJECT",
"SQL_NOTEBOOK"
]
}
200
Headers
Content-Type: application/json
Delete categoryDELETE/admin/global-tag-categories/{?deletionMode}{?reassignTo}
Delete an existing global tag category.
π Required privileges : Admin
Example URI
- deletionMode
string
(optional) Default: KEEPSpecify how tagged objects are updated:
-
KEEP
keeps the tags on tagged objects. They will just not appear as global tags anymore. -
REMOVE
removes the tags from tagged objects. -
REASSIGN
moves all tags to another category and update the tagged objects accordingly.
-
- reassignTo
string
(optional)When
deletionMode=REASSIGN
, name of the other category to merge with the deleted one.
200
Headers
Content-Type: application/json
Global tag ¶
Get tagGET/admin/global-tag-categories/{categoryName}/tags/{tagName}
Gets the details of a global tag from a category
π Required privileges : Admin
Example URI
- categoryName
string
(required)the name of a global tag category in DSS
- tagName
string
(required)the name of a tag of the category
200
Headers
Content-Type: application/json
Body
{
"name": "engineering",
"color": "#0f6d82"
}
Update tagPUT/admin/global-tag-categories/{categoryName}/tags/{tagName}
Update one or more properties of a global tag.
You can rename a tag by supplying a βnameβ field in the body with a value different from the one in the parameters.
If color
field is omitted, the color of the tag remains unchanged.
π Required privileges : Admin
Example URI
- categoryName
string
(required)the name of a global tag category in DSS
- tagName
string
(required)the name of a tag of the category
Headers
Content-Type: application/json
Body
{
"name": "engineering",
"color": "#119911"
}
200
Headers
Content-Type: application/json
Delete tagDELETE/admin/global-tag-categories/tags/{?deletionMode}{?reassignTo}
Delete a tag from a global tag category.
π Required privileges : Admin
Example URI
- deletionMode
string
(optional) Default: KEEPSpecify how tagged objects are updated:
-
KEEP
keeps the tags on tagged objects. They will just not appear as global tags anymore. -
REMOVE
removes the tags from tagged objects. -
REASSIGN
moves all tags to another category and update the tagged objects accordingly.
-
- reassignTo
string
(optional)When
deletionMode=REASSIGN
, name of the other tag to merge with the deleted one.
200
Headers
Content-Type: application/json
Platform logs ¶
List logsGET/admin/logs
DSS uses a number of log files, for example for the web server, the notebooks or the core backend plateform.
This call list all the available logs but NOT the logs generated during the jobs execution.
For these, see the Jobs section.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
DSS-API-Version: Version of the API server handling the request
DSS-Version: Version of the DSS backend answering the request
Body
{
"logs" : [
{
"name" : "access.log",
"totalSize" : 571166942,
"lastModified" : 1435840900000
},
...
]
}
Log ¶
Get log contentGET/admin/logs/{name}
Retrieves the log file with the specified name.
π Required privileges : Admin
Example URI
- name
string
(required)the name of a log file
200
Headers
Content-Type: text/plain
DSS-API-Version: Version of the API server handling the request
DSS-Version: Version of the DSS backend answering the request
Audit trail ¶
Trigger new audit trail log itemPOST/admin/audit/{customMsgType}
Appends an entry to the audit trail. The JSON object given as the request body
is put as customMsgParams
in the created audit trail log entry.
π Required privileges : Run safe code
Example URI
- customMsgType
string
(required)the
customMsgType
for the audit trail log entry
Headers
Content-Type: application/json
Body
{
"arbitraryKey1" : { ... },
...
}
200
Headers
Content-Type: text/plain
Global variables ¶
List variablesGET/admin/variables
Retrieves the DSS instance global variable as a dictionary.
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
{
"variable_1": "value",
...
}
Save variablesPUT/admin/variables
Save the global variables for the DSS instance.
WARNING : this will overwrite all previous variables, so to update or add only some variables, you should first list the current variables with a GET call.
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
{
"variable_1": "value",
...
}
204
Licensing ¶
List current license informationsGET/admin/licensing/status
Retrieve various informations about your license (expiration date, limits, feature scope, etc.)
π Required privileges : Admin
Example URI
200
Headers
Content-Type: application/json
Body
{
"base": {
"licenseContent": {
"licensee": {
"email": "[email protected]",
"company": "ACME Inc.",
"name": "John Doe"
},
"dssMode": "ON_PREMISE_DISCONNECTED",
"instanceId": "ab7cdefg",
"licenseKind": "COMMUNITY",
"licenseId": "iJKLMnoP4qrSTUvw",
"properties": {
"automationFeaturesVersion": "2018-1"
},
"communityEdition": "true"
},
"hasLicense": true,
"valid": true,
"expired": false,
"expiresOn": 0,
"ceEntrepriseTrial": false,
"ceEntrepriseTrialUntil": 0,
"community": true,
"wasCEEntrepriseTrial": false,
"ceInstanceId": "sg7jbvoz",
"ceRegistrationEmail": "[email protected]",
"userProfiles": [
"DESIGNER"
]
},
"limits": {
"licensedProfiles": {
"DESIGNER": {
"profile": "DESIGNER",
"demotesFrom": [],
"licensedLimit": 3,
"mayAdmin": true,
"mayPython": true,
"mayScala": true,
"mayR": true,
"mayVisualML": true,
"mayReadProjectContent": true,
"mayWriteProjectContent": true,
"mayWriteDashboards": true
}
},
"profileLimits": {
"DESIGNER": {
"profile": "DESIGNER",
"licensed": {
"profile": "DESIGNER",
"demotesFrom": [],
"licensedLimit": 3,
"mayAdmin": true,
"mayPython": true,
"mayScala": true,
"mayR": true,
"mayVisualML": true,
"mayReadProjectContent": true,
"mayWriteProjectContent": true,
"mayWriteDashboards": true
},
"directCount": 1,
"demotedToOther": 0,
"countWithDemotedTo": 1,
"demotedTo": [],
"demotedFromOther": 0,
"demotedFrom": [],
"limitWithDemoted": 0,
"overQuota": 0
}
},
"fallbackProfile": "DESIGNER"
},
"features": {
"limitedEditionString": "Free Edition",
"allowedDatasetTypes": [
"S3",
"SCP",
"FTP",
"Greenplum",
"PostgreSQL",
"Cassandra",
"Netezza",
"Twitter",
"ElasticSearch",
"MySQL",
"Snowflake",
"JDBC",
"StatsDB",
"Filesystem",
"Oracle",
"UploadedFiles",
"FilesInFolder",
"Azure",
"BigQuery",
"JobsDB",
"HDFS",
"SFTP",
"HTTP",
"Inline",
"Teradata",
"Redshift",
"hiveserver2",
"GCS",
"SAPHANA",
"Vertica",
"MongoDB",
"SQLServer"
],
"allowedConnectionTypes": [
"FTP",
"Greenplum",
"PostgreSQL",
"Cassandra",
"Netezza",
"Twitter",
"ElasticSearch",
"EC2",
"MySQL",
"Snowflake",
"JDBC",
"StatsDB",
"Filesystem",
"Oracle",
"UploadedFiles",
"FilesInFolder",
"Azure",
"BigQuery",
"JobsDB",
"HDFS",
"SSH",
"HTTP",
"Inline",
"Teradata",
"Redshift",
"hiveserver2",
"GCS",
"SAPHANA",
"Vertica",
"MongoDB",
"SQLServer"
],
"ldapAllowed": false,
"ssoAllowed": false,
"userSecurityAllowed": false,
"multiUserSecurityAllowed": false,
"sparkAllowed": false,
"sparkMLLibAllowed": false,
"apiNodeAllowed": false,
"lockedTracking": false,
"forbiddenTracking": false,
"bundlesAllowed": false,
"advancedScenarioStepsAllowed": true,
"temporalTriggerAllowed": false,
"allScenarioTriggersAllowed": false,
"allScenarioReportersAllowed": false,
"advancedMetricsChecksAllowed": false,
"modelsRawSQLExport": false,
"modelsPMMLExport": false,
"modelsJarExport": false
}
Set current licensePOST/admin/licensing/license
Set DSS license
π Required privileges : Admin
Example URI
Headers
Content-Type: application/json
Body
...content of the license file provided by Dataiku...
200
Headers
Content-Type: text/plain
Internal Metrics ¶
Internal Metrics ¶
List internal metricsGET/internal-metrics{?name}{?type}
Retrieves the DSS instance internal metrics as a dictionary.
π Required privileges : Admin
Example URI
- name
string
(optional) Example: my.metric.namename of the metric
- type
string
(optional) Example: gaugestype of the metric. Can be gauges, counters, histograms, meters, timers
200
Headers
Content-Type: application/json
Body
{
"counters": {
"metric.dotted.name": {
"variable_1": value,
...
}
},
"gauges": {
...
},
"histograms": {
...
},
"meters": {
...
},
"timers": {
...
},
"version": "3.0.0"
}
Model Comparisons ¶
Model Comparisons ¶
ListGET/projects/{projectKey}/modelcomparisons
Retrieves the list of the model comparisons
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PROJECTKEY",
"id":"MyId",
"displayName": "Display Name",
"predictionType": "BINARY_CLASSIFICATION",
"comparedModels": [
{
"refId": "S-PROJECTKEY-SMID-VERSIONID",
...
},
...
]
},
{
"projectKey": "PROJECTKEY",
"id":"MyOtherId",
"displayName": "Another Display Name",
"predictionType": "BINARY_CLASSIFICATION",
"comparedModels": [
{
"refId": "S-PROJECTKEY-SMID-VERSIONID",
...
},
...
]
}
]
GetGET/projects/{projectKey}/modelcomparisons/{mcId}
Retrieves a model comparison
π Required privileges : READ_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- mcId
string
(required) Example: MC_IDthe id of a model comparison
200
Headers
Content-Type: application/json
Body
{
"projectKey": "PROJECTKEY",
"id":"MyId",
"displayName": "Display Name",
"predictionType": "BINARY_CLASSIFICATION",
"comparedModels": [
{
"refId": "S-PROJECTKEY-SMID-VERSIONID",
...
},
...
]
}
Create a model comparisonPOST/projects/{projectKey}/modelcomparisons
Create a model comparison
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
Headers
Content-Type: application/json
Body
{
"predictionType": "BINARY_CLASSIFICATION",
"displayName": "Display Name",
"projectKey": "PROJECTKEY",
"comparedModels": [
{
refId: "S-PROJECTKEY-SMID-SMVID"
},
...
]
}
200
Body
{
"id": "gEnErAtEd",
"msg": "Created model comparison <generated id> (named Display Name) in PROJECTKEY"
}
UpdatePUT/projects/{projectKey}/modelcomparisons/
Modify a model comparison
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
Headers
Content-Type: application/json
Body
{
"predictionType": "BINARY_CLASSIFICATION",
"displayName": "Display Name",
"projectKey": "PROJECTKEY",
"comparedModels": [
{
refId: "S-PROJECTKEY-SMID-SMVID"
},
...
]
}
200
Body
{
"msg": "Updated model comparison PROJECTKEY.mcId"
}
DeleteDELETE/projects/{projectKey}/modelcomparisons/{mcId}
Delete a model comparison
π Required privileges : WRITE_CONF
Example URI
- projectKey
string
(required) Example: MYPROJECTthe key of a project
- mcId
string
(required) Example: MC_IDthe id of a model comparison
200
Body
{
"msg": "Deleted model comparison PROJECTKEY.mcId"
}
Feature Store ¶
Feature Store ¶
List Feature GroupsGET/publicapi/feature-store/feature-groups
Retrieves the list of the feature groups of projects on which the user has at least read permission
Example URI
200
Headers
Content-Type: application/json
Body
[
{
"projectKey": "PROJECTKEY",
"name": "dataset_name
},
...
]