Back to top

Labfolder ELN API v2 Beta

Latest

Pre-Release Notice

This API is still under active development. This means endpoint semantics and formats might change as we finalize the implementation. There may still be some bugs as well, but we believe getting it into the hands of our users sooner will help the process move faster.

Optional fields might be added to requests and additional fields might be added to responses without notice. To ensure the smoothes possible transition please make sure your code does not rely on the exact object structure returned and ignores unknown properties.

“null” values

We’re aware of an issue with the library that we use to generate the API documentation in which nullable string properties are represented with the value "null" in the documentation. The API will never return “null” (as a string), only either a valid id (in string form “12345”) or null.

As an example, see the properties group_id and folder_id under the List Projects resource

Version

This is API v2 build #

11427b9565c1d421d50f0c7c5140ea5bb661830c

Access

Location

The API can only be accessed via HTTPS.

You can reach the API for the cloud instance at

https://eln.labfolder.com/api/v2/

Local installations can access the API using the respective domain with the path /api/v2/ appended.

So if your server is reachable at https://labfolder.mycompany.lan the API endpoint is located at

# Note: `/api/v2/` is appended to the standalone server url

https://labfolder.mycompany.lan/api/v2/

Authentication

Requests to the API have to be authenticated using an API token which is received after successfully providing your application credentials to the API.

Once acquired the token can either be provided as the username field for HTTP-Basic authentication (useful for commandline access) or set in the Authorization header using other tools.

The following examples illustrate the two different ways to provide the token when using curl

# via HTTP-Basic
# Note the proceeding ':'

> curl -u "$LABFOLDER_API_TOKEN:" <API_RESOURCE_PATH_GOES_HERE>
# via Authorization header
# Note the format is "Authorization: Token xxxxxx"

> curl -H "Authorization: Token $LABFOLDER_API_TOKEN" <API_RESOURCE_PATH_GOES_HERE>

Endpoints

Login - Generate Token
POST/auth/login

Generate a token which can be used to make API requests.

Example URI

POST /auth/login
Request  Generate Token
HideShow
Headers
Content-Type: application/json
Body
{
  "user": "luke.skywalker@starwars.com",
  "password": "password"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user": {
      "type": "string",
      "description": "email of the user"
    },
    "password": {
      "type": "string",
      "description": "password of the user"
    }
  },
  "required": [
    "user",
    "password"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "token": "MTZmNTigNWMtNWJ34y00NDgwL12wM2ItZTM4NzFGYzU1NTJm",
  "expires": "2017-09-04T13:27:55.641+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "description": "generated token"
    },
    "expires": {
      "type": "string",
      "description": "expiration date of the token"
    }
  },
  "required": [
    "token",
    "expires"
  ]
}

Logout - Invalidate Tokens
POST/auth/logout

Invalidate all API access tokens.

Example URI

POST /auth/logout
Response  204

Concepts

User Agent Required

All requests MUST include a User-Agent header. Please include the name of your application and your e-mail address so we can contact you if needed.

User-Agent: My Application; email@domain.tld

if you do not provide a User-Agent we will return a 400 Bad Request.

Parameters & Body Format

Some GET requests can take optional parameters which are included in the query string and must be UTF-8 encoded.

# Example query string usage

?offset=0&limit=20&sort=-title

The body format of POST, PATCH, PUT, and DELETE request is JSON and the corresponding Content-Type header must be set to application/json.

# Set Content-Type header and provide JSON body

> curl -u "${LABFOLDER_API_TOKEN}:" -H "Content-Type: application/json" -X POST -d {...JSON...} <API_RESOURCE_PATH_GOES_HERE>

File upload formats

For an upload of a file you can send pure arbitrary byte data in the request.
However, you may also choose to upload a file using Base64 encoding. To do so, it is required to add the header Content-Transfer-Encoding : base64, and the body should contain contents of the file as Base64 string.

Compression

All requests including Accept-Encoding: gzip header wil get compressed content as response.

Accept-Encoding: gzip

if you do not provide Accept-Encoding we will return uncompressed content.

Skipping Response Body

When creating or updating a resource the API can be configured to not return the resulting object in the message body. This can be accomplished by providing a custom header with the request:

`X-LF-SKIP-BODY: true`

No message body will be provided in the response and the HTTP response code will be 204. This may be useful in situations where minimizing bandwidth is a concern and when the resulting resource size is large (for example: table elements or text elements).

Note: if the header is not provided or when a value other than true is given it will be ignored and the API will default to returning the full message body.

Pagination

Some requests return paginated results of items (usually 20 at a time). Paginated items will be returned as a JSON array:

[
    {...some JSON...},
    {...some JSON...},
    {...some JSON...},
    {...some JSON...}
]

The total amount of found items will be available in a header X-Total-Count. This header will always be present for pageable requests.

You can control the offset and number of results returned by adjusting the offset and limit query parameters. All endpoints will limit the number of results returned by the limit parameter and fallback on the allowed maximum if you request too many items. The usual maximum for offset is 50 items but may differ by endpoint.

curl -H "Authorization: Token $LABFOLDER_API_TOKEN" <API_RESOURCE_PATH_GOES_HERE>?limit=1000

[
    {...some JSON...},
    {...some JSON...},
    {...some JSON...},
    {...some JSON...}
]

Client Errors

Client errors are denoted as a 4XX response code. All errors will return JSON with a message attribute explaining what went wrong.

{
    "status": 400,
    "message": "Unable to parse JSON"
}

There are several types of errors:

Authentication and authorization related errors

These will return either a 401 Unauthorized on missing authentication or a 403 Forbidden on missing authorization.

Invalid requests because of invalid HTTP verbs or media types

These will return a 405 Method Not Allowed or 415 Unsupported Media Type respectively.

Missing parameters or invalid body format

A 400 Bad Request is usually returned in case of missing parameters or an invalid body format. The latter could be because of invalid JSON or the wrong object shape (e.g. wrong nesting of objects).

Validation errors

A 422 Unprocessable Entity is returned if the body format is correct but the entity did not pass validation. This denotes a wrong user input and can potentially be signalled to the user.

Timezones & Date Format

Date Format

In general the API returns and expects dates & times in the ISO 8601 format including the timezone specification. For example: 2017-02-27T17:05:06.000+0100 for a time or 2017-02-27 for a date.

Timezone

The date time will be returned in the timezone of the server.

Data Access

According to the provided authentication token the requesting user is identified.

Full List Requests

On full list requests, the returned entities always contain all user accessible data and not only the user self-created content, as far as not mentioned differently in the endpoint description.

Groups

Groups

Get Groups
GET/groups{?type,limit,offset}

Returns all the top level groups (subgroups are not returned) that user belongs to.

Example URI

GET /groups?type=BASIC&limit=&offset=
URI Parameters
HideShow
type
string (optional) Example: BASIC

Group type to be filtered

Choices: BASIC ADVANCED

limit
number (optional) Default: 20 

Maximum number of groups to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "title": "Luke's Private Group",
    "description": "This group is intended to be used for private projects",
    "id": "46123",
    "owner_id": "11038",
    "type": "BASIC",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_date": "2017-02-15T12:34:56.789+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "description": "the display title of the group"
      },
      "description": {
        "type": "string",
        "description": "details about the group usage, functionality, etc."
      },
      "id": {
        "type": "string",
        "description": "the unique id of the group"
      },
      "owner_id": {
        "type": "string",
        "description": "the id of the group owner"
      },
      "type": {
        "type": "string",
        "enum": [
          "BASIC",
          "ADVANCED"
        ],
        "description": "the type of the group"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the group was created"
      },
      "version_date": {
        "type": "string",
        "description": "date when the group was last modified"
      }
    },
    "required": [
      "title",
      "id",
      "owner_id",
      "type",
      "creation_date",
      "version_date"
    ]
  }
}

Subgroups Resource

Get Subgroups
GET/groups/{id}/subgroups{?parent_id,only_root_level,limit,offset}

Returns subgroups of the group

Example URI

GET /groups/1200/subgroups?parent_id=&only_root_level=&limit=&offset=
URI Parameters
HideShow
id
string (required) Example: 1200

id of the group

parent_id
string (optional) 

Only return subgroups that reside within the specified subgroup

only_root_level
boolean (optional) Default: false 

Only return root (top) level subgroups - I.e. subgroups that do not reside within a subgroup

limit
number (optional) Default: 20 

Maximum number of subgroups to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "id": "12585",
    "title": "Rogue One",
    "group_id": "1200",
    "parent_id": "12587"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the unique identifier of the subgroup"
      },
      "title": {
        "type": "string",
        "description": "the title of the subgroup"
      },
      "group_id": {
        "type": "string",
        "description": "the id of the group this subgroup is part of"
      },
      "parent_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the subgroup id to which this subgroup is subordinate"
      }
    },
    "required": [
      "id",
      "title",
      "group_id",
      "parent_id"
    ]
  }
}

Group Memberships

Get Group Memberships
GET/groups/{id}/memberships{?subgroup_id,user_id,project_ids,project_folder_ids,only_root_level,limit,offset}

Returns memberships of users in a group

Example URI

GET /groups/1200/memberships?subgroup_id=234&user_id=11040&project_ids=36275&project_folder_ids=36274&only_root_level=true&limit=&offset=
URI Parameters
HideShow
id
string (required) Example: 1200

id of the group

subgroup_id
string (optional) Example: 234

Only return group members that reside within the specified subgroup

user_id
string (optional) Example: 11040

Only return membership information for the specified user

project_ids
array[string] (optional) Example: 36275

Comma separated list of project ids that have to be accessible for the group members

project_folder_ids
array[string] (optional) Example: 36274

Comma separated list of project folder ids that have to be accessible for the group members

only_root_level
boolean (optional) Default: false Example: true

Only return root (top) level group members - I.e. members that do not reside within a subgroup

limit
number (optional) Default: 20 

Maximum number of subgroups to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "id": "12585",
    "group_id": "1200",
    "subgroup_id": "12587",
    "admin": false,
    "user": {
      "id": "3857",
      "first_name": "Luke",
      "last_name": "Skywalker",
      "email": "luke.skywalker@starwars.com"
    }
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the unique identifier of the group membership"
      },
      "group_id": {
        "type": "string",
        "description": "the id of the group this member belongs to"
      },
      "subgroup_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the id of the subgroup this member belongs to"
      },
      "admin": {
        "type": "boolean",
        "description": "indicator if the group member is admin in this group"
      },
      "user": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "description": "unique user id of the group member"
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "first name of the member. Not defined if this member has a pending group invitation"
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "last name of the member. Not defined if this member has a pending group invitation"
          },
          "email": {
            "type": "string",
            "description": "email address of the member"
          }
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "email"
        ],
        "description": "user identity entity of the group member"
      }
    },
    "required": [
      "id",
      "group_id",
      "subgroup_id",
      "admin",
      "user"
    ]
  }
}

Projects

Projects Resource

List Projects
GET/projects{?group_id,owner_id,only_root_level,folder_id,project_ids,limit,offset}

Returns a list of projects the user has access to.

Example URI

GET /projects?group_id=1200&owner_id=11038&only_root_level=true&folder_id=36274&project_ids=36279&limit=&offset=
URI Parameters
HideShow
group_id
string (optional) Example: 1200

Only return the projects that belong to the specified group

owner_id
string (optional) Example: 11038

Only return the projects that are owned by the given user

only_root_level
boolean (optional) Default: false Example: true

Only return root (top) level projects - I.e. projects that do not reside within a folder

folder_id
string (optional) Example: 36274

Only return projects that reside within the specified folder

project_ids
array[string] (optional) Example: 36279

A comma separated list of project ids specifying the projects to be returned

expand
string (optional) Example: owner

A comma separated list of related domain objects that should be expanded for all items returned

Choices: owner

limit
number (optional) Default: 20 

Maximum number of projects to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "title": "Luke's Private Project",
    "id": "46123",
    "owner_id": "11038",
    "group_id": "null",
    "folder_id": "null",
    "hidden": false,
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_date": "2017-02-15T12:34:56.789+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "description": "the display name of the project"
      },
      "id": {
        "type": "string",
        "description": "the unique id of the project"
      },
      "owner_id": {
        "type": "string",
        "description": "the id of the project owner"
      },
      "group_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the id of the group to which the project is associated"
      },
      "folder_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the id of the folder in which the project is stored"
      },
      "hidden": {
        "type": "boolean",
        "description": "indicating if the project is hidden"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the project was created"
      },
      "version_date": {
        "type": "string",
        "description": "date when the project was last modified"
      }
    },
    "required": [
      "title",
      "id",
      "owner_id",
      "group_id",
      "folder_id",
      "hidden",
      "creation_date",
      "version_date"
    ]
  }
}

Create Project
POST/projects

Create a project

Example URI

POST /projects
Request  Create Private Project
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Project"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    }
  },
  "required": [
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /projects/1234
Body
{
  "title": "Luke's Private Project",
  "id": "46123",
  "owner_id": "11038",
  "group_id": "null",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the project"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the project owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the project is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the project is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the project is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the project was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the project was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ]
}
Request  Create Private Project in a Folder
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Project",
  "folder_id": "36273"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "folder_id": {
      "type": "string",
      "description": "the id of the folder in which the project is stored"
    }
  },
  "required": [
    "title",
    "folder_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /projects/1234
Body
{
  "title": "Luke's Private Project",
  "id": "46123",
  "owner_id": "11038",
  "group_id": "null",
  "folder_id": "36273",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the project"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the project owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the project is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the project is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the project is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the project was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the project was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ]
}
Request  Create Group Project
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Project",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the project is associated"
    }
  },
  "required": [
    "title",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /projects/1234
Body
{
  "title": "Luke's Private Project",
  "id": "46123",
  "owner_id": "11038",
  "group_id": "1200",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the project"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the project owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the project is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the project is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the project is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the project was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the project was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ]
}
Request  Create Group Project in a Folder
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Project",
  "folder_id": "36274",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "folder_id": {
      "type": "string",
      "description": "the id of the folder in which the project is stored"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the project is associated"
    }
  },
  "required": [
    "title",
    "folder_id",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /projects/1234
Body
{
  "title": "Luke's Private Project",
  "id": "46123",
  "owner_id": "11038",
  "group_id": "1200",
  "folder_id": "36273",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the project"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the project"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the project owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the project is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the project is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the project is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the project was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the project was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ]
}

Folders

Folders Resource

List Folders
GET/folders{?group_id,owner_id,only_root_level,content_type,parent_folder_id,folder_ids,limit,offset}

Returns a list of folders the user has access to.

Example URI

GET /folders?group_id=1200&owner_id=11038&only_root_level=true&content_type=&parent_folder_id=36274&folder_ids=36278&limit=&offset=
URI Parameters
HideShow
group_id
string (optional) Example: 1200

Only return the folders that belong to the specified group

owner_id
string (optional) Example: 11038

Only return the folders that are owned by the given user

only_root_level
boolean (optional) Default: false Example: true

Only return root (top) level folders - I.e. folders that do not reside within another folder

content_type
string (optional) Default: PROJECTS 

The desired type of folders to retrieve

Choices: PROJECTS TEMPLATES

parent_folder_id
string (optional) Example: 36274

Only return folders that reside within the specified folder

folder_ids
array[string] (optional) Example: 36278

A comma separated list of project ids specifying the projects to be returned

limit
number (optional) Default: 20 

Maximum number of folders to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "id": "46123",
    "title": "Luke's Folder",
    "owner_id": "11038",
    "group_id": "1200",
    "parent_folder_id": "null",
    "hidden": false,
    "content_type": "Hello, world!",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_date": "2017-02-15T12:34:56.789+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the unique id of the folder"
      },
      "title": {
        "type": "string",
        "description": "the display name of the folder"
      },
      "owner_id": {
        "type": "string",
        "description": "the id of the folder owner"
      },
      "group_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the id of the group to which the folder is associated"
      },
      "parent_folder_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the id of the folder in which the folder is stored"
      },
      "hidden": {
        "type": "boolean",
        "description": "indicating if the folder is hidden"
      },
      "content_type": {
        "type": "string",
        "enum": [
          "'PROJECTS'",
          "'TEMPLATES'",
          "Default: 'PROJECTS'",
          "PROJECTS"
        ],
        "description": "indicates if this folder holds Projects or Templates"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the folder was created"
      },
      "version_date": {
        "type": "string",
        "description": "date when the folder was last modified"
      }
    },
    "required": [
      "id",
      "title",
      "owner_id",
      "group_id",
      "parent_folder_id",
      "hidden",
      "content_type",
      "creation_date",
      "version_date"
    ]
  }
}

Create Folder
POST/folders

Create a folder. A folder may either contain projects or templates, as well as children folders of the same type. A private folder is intended for your use only, while a group folder may be shared with the members of that group.

Example URI

POST /folders
Request  Create top-level Private Folder to hold Projects
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Folder",
  "content_type": "PROJECTS"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicate if the folder should hold Projects or Templates"
    }
  },
  "required": [
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /folders/46123
Body
{
  "id": "46123",
  "title": "Luke's Private Folder",
  "owner_id": "11038",
  "group_id": "null",
  "parent_folder_id": "null",
  "hidden": false,
  "content_type": "PROJECTS",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the folder"
    },
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the folder owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the folder is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the folder is hidden"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicates if this folder holds Projects or Templates"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the folder was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the folder was last modified"
    }
  },
  "required": [
    "id",
    "title",
    "owner_id",
    "group_id",
    "parent_folder_id",
    "hidden",
    "content_type",
    "creation_date",
    "version_date"
  ]
}
Request  Create top-level Private Folder to hold Templates
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Folder",
  "content_type": "TEMPLATES"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "content_type": {
      "type": "string",
      "description": "indicate if the folder should hold Projects or Templates"
    }
  },
  "required": [
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /folders/46123
Body
{
  "id": "46123",
  "title": "Luke's Private Folder",
  "owner_id": "11038",
  "group_id": "null",
  "parent_folder_id": "null",
  "hidden": false,
  "content_type": "TEMPLATES",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the folder"
    },
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the folder owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the folder is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the folder is hidden"
    },
    "content_type": {
      "type": "string",
      "description": "indicates if this folder holds Projects or Templates"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the folder was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the folder was last modified"
    }
  },
  "required": [
    "id",
    "title",
    "owner_id",
    "group_id",
    "parent_folder_id",
    "hidden",
    "content_type",
    "creation_date",
    "version_date"
  ]
}
Request  Create Private Folder as a Child of an Existing Private Folder
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Folder",
  "content_type": "PROJECTS",
  "parent_folder_id": "36273"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicate if the folder should hold Projects or Templates"
    },
    "parent_folder_id": {
      "type": "string"
    }
  },
  "required": [
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /folders/46123
Body
{
  "id": "46123",
  "title": "Luke's Private Folder",
  "owner_id": "11038",
  "group_id": "null",
  "parent_folder_id": "36273",
  "hidden": false,
  "content_type": "PROJECTS",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the folder"
    },
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the folder owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the folder is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the folder is hidden"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicates if this folder holds Projects or Templates"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the folder was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the folder was last modified"
    }
  },
  "required": [
    "id",
    "title",
    "owner_id",
    "group_id",
    "parent_folder_id",
    "hidden",
    "content_type",
    "creation_date",
    "version_date"
  ]
}
Request  Create a top-level Group Folder to hold Projects
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Group Folder",
  "content_type": "PROJECTS",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicate if the folder should hold Projects or Templates"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the folder is associated"
    }
  },
  "required": [
    "title",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /folders/46123
Body
{
  "id": "46123",
  "title": "Group Folder",
  "owner_id": "11038",
  "group_id": "1200",
  "parent_folder_id": "null",
  "hidden": false,
  "content_type": "PROJECTS",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the folder"
    },
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the folder owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the folder is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the folder is hidden"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicates if this folder holds Projects or Templates"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the folder was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the folder was last modified"
    }
  },
  "required": [
    "id",
    "title",
    "owner_id",
    "group_id",
    "parent_folder_id",
    "hidden",
    "content_type",
    "creation_date",
    "version_date"
  ]
}
Request  Create a top-level Group Folder to hold Templates
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Group Folder",
  "content_type": "TEMPLATES",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "content_type": {
      "type": "string",
      "description": "indicate if the folder should hold Projects or Templates"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the folder is associated"
    }
  },
  "required": [
    "title",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /folders/46123
Body
{
  "id": "46123",
  "title": "Group Folder",
  "owner_id": "11038",
  "group_id": "1200",
  "parent_folder_id": "null",
  "hidden": false,
  "content_type": "TEMPLATES",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the folder"
    },
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the folder owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the folder is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the folder is hidden"
    },
    "content_type": {
      "type": "string",
      "description": "indicates if this folder holds Projects or Templates"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the folder was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the folder was last modified"
    }
  },
  "required": [
    "id",
    "title",
    "owner_id",
    "group_id",
    "parent_folder_id",
    "hidden",
    "content_type",
    "creation_date",
    "version_date"
  ]
}
Request  Create Group Folder as a Child of an Existing Group Folder
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Group Folder",
  "content_type": "PROJECTS",
  "group_id": "1200",
  "parent_folder_id": "36274"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicate if the folder should hold Projects or Templates"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": "string"
    }
  },
  "required": [
    "title",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /projects/46123
Body
{
  "id": "46123",
  "title": "Group Folder",
  "owner_id": "11038",
  "group_id": "1200",
  "parent_folder_id": "36274",
  "hidden": false,
  "content_type": "PROJECTS",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the folder"
    },
    "title": {
      "type": "string",
      "description": "the display name of the folder"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the folder owner"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the folder is associated"
    },
    "parent_folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the folder is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the folder is hidden"
    },
    "content_type": {
      "type": "string",
      "enum": [
        "'PROJECTS'",
        "'TEMPLATES'",
        "Default: 'PROJECTS'",
        "PROJECTS"
      ],
      "description": "indicates if this folder holds Projects or Templates"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the folder was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the folder was last modified"
    }
  },
  "required": [
    "id",
    "title",
    "owner_id",
    "group_id",
    "parent_folder_id",
    "hidden",
    "content_type",
    "creation_date",
    "version_date"
  ]
}

Templates

Templates Resource

Create Template
POST/templates

Create a Template

Example URI

POST /templates
Request  Create Private Template
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Template"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    }
  },
  "required": [
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /templates/53124
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "null",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ]
}
Request  Create Private Template in a Folder
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Template",
  "folder_id": "36282"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "folder_id": {
      "type": "string",
      "description": "the id of the folder in which the template is stored"
    }
  },
  "required": [
    "title",
    "folder_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /templates/53124
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "null",
  "folder_id": "36281",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}
Request  Create Group Template
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Template",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the template is associated"
    }
  },
  "required": [
    "title",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /templates/53124
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "1200",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}
Request  Create Group Template in a Folder
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Template",
  "folder_id": "36281",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "folder_id": {
      "type": "string",
      "description": "the id of the folder in which the template is stored"
    },
    "group_id": {
      "type": "string",
      "description": "the id of the group to which the template is associated"
    }
  },
  "required": [
    "title",
    "folder_id",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /templates/53124
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "1200",
  "folder_id": "36281",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}
Request  Create Template from an Existing Entry
HideShow

Creates a new template using the source entry identified in the Source-Id header. Note that the templates target group must be the same group as that of the source entry. Further, you must have read access to the source entry.

Headers
Content-Type: application/json
Source-Id: 938304
Body
{
  "title": "Luke's Private Template",
  "group_id": "1200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "group_id": {
      "type": "string",
      "description": "The id of the group to which the template is associated. This has to be the same group ID as the one of the source entry"
    }
  },
  "required": [
    "title",
    "group_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /templates/53124
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "1200",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}

Get Template
GET/templates/{id}{?expand}

Returns the latest version of a template

Example URI

GET /templates/36280?expand=
URI Parameters
HideShow
id
string (required) Example: 36280

id of the template

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for the template returned

Choices: entry owner

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "null",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}
Request  ?expand=entry
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's Private Template",
  "id": "36280",
  "owner_id": "11038",
  "entry_id": "548613",
  "group_id": "null",
  "folder_id": "null",
  "hidden": false,
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "entry": {
    "id": "548613",
    "version_id": "5309878",
    "author_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_date": "2017-02-15T12:34:56.789+0200",
    "element_layout": {
      "rows": [
        {
          "cells": [
            {
              "element_version_id": "2309983",
              "width": 60
            }
          ]
        }
      ]
    },
    "elements": [
      {
        "id": "e79cfbb5d2cb5a39b7a821a3ae0476e6605adcc2",
        "version_id": "2309983",
        "type": "TEXT"
      }
    ],
    "tags": [
      "luke",
      "star wars"
    ],
    "custom_dates": [
      {
        "name": "validation date",
        "value": "2017-12-25"
      }
    ],
    "template_id": "36280"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the template"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the template"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the template owner"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which is stored inside the template"
    },
    "group_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the group to which the template is associated"
    },
    "folder_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the id of the folder in which the template is stored"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicating if the template is hidden"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the template was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the template was last modified"
    },
    "entry": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "the unique id of the entry"
        },
        "version_id": {
          "type": "string",
          "description": "the unique id of the entry"
        },
        "author_id": {
          "type": "string",
          "description": "the unique id of the user created the entry"
        },
        "creation_date": {
          "type": "string",
          "description": "date when the entry was created"
        },
        "version_date": {
          "type": "string",
          "description": "date when this entry was last modified"
        },
        "element_layout": {
          "type": "object",
          "properties": {
            "rows": {
              "type": [
                "array",
                "null"
              ],
              "description": "the notebook row/column layout of elements in the entry"
            }
          },
          "required": [
            "rows"
          ],
          "description": "The layout of the elements in this entry"
        },
        "elements": {
          "type": "array",
          "description": "The elements in this entry"
        },
        "tags": {
          "type": "array",
          "description": "The tags for this entry. Tags are case insensitive."
        },
        "custom_dates": {
          "type": "array",
          "description": "Custom dates for this entry"
        },
        "template_id": {
          "type": "string",
          "description": "template location of the entry"
        }
      },
      "required": [
        "id",
        "version_id",
        "author_id",
        "creation_date",
        "version_date",
        "element_layout",
        "elements",
        "tags",
        "custom_dates",
        "template_id"
      ],
      "description": "the entry referenced by the `entry_id` property"
    }
  },
  "required": [
    "title",
    "id",
    "owner_id",
    "entry_id",
    "group_id",
    "folder_id",
    "hidden",
    "creation_date",
    "version_date",
    "entry"
  ],
  "additionalProperties": false
}

Notebook

Entries

List Entries
GET/entries{?sort,omit_empty_title,title,expand,limit,offset}

Returns the list of entries

Example URI

GET /entries?sort=&omit_empty_title=&title=&expand=&limit=&offset=
URI Parameters
HideShow
sort
string (optional) 

Field to sort the results by. When omitted results are sorted by user application settings

Choices: title -title

omit_empty_title
boolean (optional) Default: false 

omit entries without a title in the result set

title
string (optional) 

partial string to match the entry title

limit
number (optional) Default: 20 

Maximum number of projects to return. The maximum for limit is 50 items.

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all items returned.

Choices: author project

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "id": "2309878",
    "version_id": "5309878",
    "author_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_date": "2017-02-15T12:34:56.789+0200",
    "element_layout": {
      "rows": [
        {
          "cells": [
            {
              "element_version_id": "2309983",
              "width": 60
            }
          ]
        }
      ]
    },
    "elements": [
      {
        "id": "e79cfbb5d2cb5a39b7a821a3ae0476e6605adcc2",
        "version_id": "2309983",
        "type": "TEXT"
      }
    ],
    "tags": [
      "luke",
      "star wars"
    ],
    "custom_dates": [
      {
        "name": "validation date",
        "value": "2017-12-25"
      }
    ],
    "project_id": "36272",
    "title": "Luke's Private Entry",
    "entry_number": 1,
    "hidden": false,
    "editable": true
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the stable pointer to the most current version `blockId`"
      },
      "version_id": {
        "type": "string",
        "description": "the unique id of the entry"
      },
      "author_id": {
        "type": "string",
        "description": "the unique id of the user created the entry"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the entry was created"
      },
      "version_date": {
        "type": "string",
        "description": "date when this entry was last modified"
      },
      "element_layout": {
        "type": "object",
        "properties": {
          "rows": {
            "type": [
              "array",
              "null"
            ],
            "description": "the notebook row/column layout of elements in the entry"
          }
        },
        "required": [
          "rows"
        ],
        "description": "The layout of the elements in this entry"
      },
      "elements": {
        "type": "array",
        "description": "The elements in this entry"
      },
      "tags": {
        "type": "array",
        "description": "The tags for this entry. Tags are case insensitive."
      },
      "custom_dates": {
        "type": "array",
        "description": "Custom dates for this entry"
      },
      "project_id": {
        "type": "string",
        "description": "project location of the entry"
      },
      "title": {
        "type": "string",
        "description": "the display name of the entry"
      },
      "entry_number": {
        "type": "number",
        "description": "position of the entry inside the project"
      },
      "hidden": {
        "type": "boolean",
        "description": "indicates if the entry is hidden or visible"
      },
      "editable": {
        "type": "boolean",
        "description": "Indicates if the requesting user has write access to the entry. An entry is editable if the user is the entry author while the entry is neither signed nor hidden."
      }
    },
    "required": [
      "id",
      "version_id",
      "author_id",
      "creation_date",
      "version_date",
      "element_layout",
      "elements",
      "tags",
      "custom_dates",
      "project_id",
      "title",
      "entry_number",
      "hidden",
      "editable"
    ]
  }
}

Create Notebook Entry
POST/entries

Create a notebook entry

Example URI

POST /entries
Request  Create Entry with Title
HideShow
Headers
Content-Type: application/json
Body
{
  "project_id": "36272",
  "title": "Luke's Private Entry"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    }
  },
  "required": [
    "project_id",
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /entries/10945
Body
{
  "id": "2309878",
  "version_id": "5309878",
  "author_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_layout": {
    "rows": []
  },
  "elements": [],
  "tags": [],
  "custom_dates": [],
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "entry_number": 1,
  "hidden": false,
  "editable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `blockId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the entry"
    },
    "author_id": {
      "type": "string",
      "description": "the unique id of the user created the entry"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the entry was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when this entry was last modified"
    },
    "element_layout": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "array",
          "description": "the notebook row/column layout of elements in the entry"
        }
      },
      "description": "The layout of the elements in this entry"
    },
    "elements": {
      "type": "array",
      "description": "The elements in this entry"
    },
    "tags": {
      "type": "array",
      "description": "The tags for this entry. Tags are case insensitive."
    },
    "custom_dates": {
      "type": "array",
      "description": "Custom dates for this entry"
    },
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "entry_number": {
      "type": "number",
      "description": "position of the entry inside the project"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicates if the entry is hidden or visible"
    },
    "editable": {
      "type": "boolean",
      "description": "Indicates if the requesting user has write access to the entry. An entry is editable if the user is the entry author while the entry is neither signed nor hidden."
    }
  },
  "required": [
    "id",
    "version_id",
    "author_id",
    "creation_date",
    "version_date",
    "element_layout",
    "elements",
    "tags",
    "custom_dates",
    "project_id",
    "title",
    "entry_number",
    "hidden",
    "editable"
  ],
  "additionalProperties": false
}
Request  Create Entry with Tags
HideShow
Headers
Content-Type: application/json
Body
{
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "tags": [
    "luke",
    "star wars"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "tags": {
      "type": "array",
      "description": "array of strings representing tags"
    }
  },
  "required": [
    "project_id",
    "title",
    "tags"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /entries/10945
Body
{
  "id": "2309878",
  "version_id": "5309878",
  "author_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_layout": {
    "rows": []
  },
  "elements": [],
  "tags": [
    "luke",
    "star wars"
  ],
  "custom_dates": [],
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "entry_number": 1,
  "hidden": false,
  "editable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `blockId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the entry"
    },
    "author_id": {
      "type": "string",
      "description": "the unique id of the user created the entry"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the entry was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when this entry was last modified"
    },
    "element_layout": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "array",
          "description": "the notebook row/column layout of elements in the entry"
        }
      },
      "description": "The layout of the elements in this entry"
    },
    "elements": {
      "type": "array",
      "description": "The elements in this entry"
    },
    "tags": {
      "type": "array",
      "description": "The tags for this entry. Tags are case insensitive."
    },
    "custom_dates": {
      "type": "array",
      "description": "Custom dates for this entry"
    },
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "entry_number": {
      "type": "number",
      "description": "position of the entry inside the project"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicates if the entry is hidden or visible"
    },
    "editable": {
      "type": "boolean",
      "description": "Indicates if the requesting user has write access to the entry. An entry is editable if the user is the entry author while the entry is neither signed nor hidden."
    }
  },
  "required": [
    "id",
    "version_id",
    "author_id",
    "creation_date",
    "version_date",
    "element_layout",
    "elements",
    "tags",
    "custom_dates",
    "project_id",
    "title",
    "entry_number",
    "hidden",
    "editable"
  ],
  "additionalProperties": false
}
Request  Create Entry with Custom Dates
HideShow
Headers
Content-Type: application/json
Body
{
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "custom_dates": [
    {
      "name": "validation date",
      "value": "2017-12-25"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "custom_dates": {
      "type": "array",
      "description": "array of custom dates"
    }
  },
  "required": [
    "project_id",
    "title",
    "custom_dates"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /entries/10945
Body
{
  "id": "2309878",
  "version_id": "5309878",
  "author_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_layout": {
    "rows": []
  },
  "elements": [],
  "tags": [],
  "custom_dates": [
    {
      "name": "validation date",
      "value": "2017-12-25"
    }
  ],
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "entry_number": 1,
  "hidden": false,
  "editable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `blockId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the entry"
    },
    "author_id": {
      "type": "string",
      "description": "the unique id of the user created the entry"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the entry was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when this entry was last modified"
    },
    "element_layout": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "array",
          "description": "the notebook row/column layout of elements in the entry"
        }
      },
      "description": "The layout of the elements in this entry"
    },
    "elements": {
      "type": "array",
      "description": "The elements in this entry"
    },
    "tags": {
      "type": "array",
      "description": "The tags for this entry. Tags are case insensitive."
    },
    "custom_dates": {
      "type": "array",
      "description": "Custom dates for this entry"
    },
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "entry_number": {
      "type": "number",
      "description": "position of the entry inside the project"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicates if the entry is hidden or visible"
    },
    "editable": {
      "type": "boolean",
      "description": "Indicates if the requesting user has write access to the entry. An entry is editable if the user is the entry author while the entry is neither signed nor hidden."
    }
  },
  "required": [
    "id",
    "version_id",
    "author_id",
    "creation_date",
    "version_date",
    "element_layout",
    "elements",
    "tags",
    "custom_dates",
    "project_id",
    "title",
    "entry_number",
    "hidden",
    "editable"
  ],
  "additionalProperties": false
}
Request  Create Entry from an Existing Entry or Template
HideShow

Creates a new entry in the target project using the notebook entry or template entry identified by the Source-Id header. Providing the Source-Id header causes all additional fields, other than project_id, to be omitted for the creation. Note that the target project must exist within the same group as that of the source notebook entry or template entry.

Headers
Content-Type: application/json
Source-Id: 938302
Body
{
  "project_id": "36272"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    }
  },
  "required": [
    "project_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /entries/10945
Body
{
  "id": "2309878",
  "version_id": "5309878",
  "author_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_layout": {
    "rows": []
  },
  "elements": [],
  "tags": [],
  "custom_dates": [],
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "entry_number": 1,
  "hidden": false,
  "editable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `blockId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the entry"
    },
    "author_id": {
      "type": "string",
      "description": "the unique id of the user created the entry"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the entry was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when this entry was last modified"
    },
    "element_layout": {
      "type": "object",
      "properties": {
        "rows": {
          "type": "array",
          "description": "the notebook row/column layout of elements in the entry"
        }
      },
      "description": "The layout of the elements in this entry"
    },
    "elements": {
      "type": "array",
      "description": "The elements in this entry"
    },
    "tags": {
      "type": "array",
      "description": "The tags for this entry. Tags are case insensitive."
    },
    "custom_dates": {
      "type": "array",
      "description": "Custom dates for this entry"
    },
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "entry_number": {
      "type": "number",
      "description": "position of the entry inside the project"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicates if the entry is hidden or visible"
    },
    "editable": {
      "type": "boolean",
      "description": "Indicates if the requesting user has write access to the entry. An entry is editable if the user is the entry author while the entry is neither signed nor hidden."
    }
  },
  "required": [
    "id",
    "version_id",
    "author_id",
    "creation_date",
    "version_date",
    "element_layout",
    "elements",
    "tags",
    "custom_dates",
    "project_id",
    "title",
    "entry_number",
    "hidden",
    "editable"
  ],
  "additionalProperties": false
}

Update Entry
PATCH/entries/{id}

Update an entry’s attributes. The functionality is currently restricted to hide or unhide an entry, however the supported operations will grow in time. This endpoint complies with RFC 6902, the specification for JSON Patch.

Example URI

PATCH /entries/938306
URI Parameters
HideShow
id
string (required) Example: 938306

the unique id of the entry

Request  Change the visibility of an Entry
HideShow
Headers
Content-Type: application/json-patch+json
Body
[
  {
    "op": "replace",
    "path": "/hidden",
    "value": true
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "op": {
        "type": "string",
        "enum": [
          "replace"
        ],
        "description": "The replace operation defined by RFC 6902"
      },
      "path": {
        "type": "string",
        "enum": [
          "/hidden"
        ],
        "description": "JSON Pointer notation to the member named hidden"
      },
      "value": {
        "type": "boolean",
        "description": "true to hide the entry, false to make the entry visible"
      }
    },
    "required": [
      "op",
      "path",
      "value"
    ]
  }
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "938306",
  "version_id": "5309878",
  "author_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_layout": {
    "rows": [
      {
        "cells": [
          {
            "element_version_id": "2309983",
            "width": 60
          }
        ]
      }
    ]
  },
  "elements": [
    {
      "id": "e79cfbb5d2cb5a39b7a821a3ae0476e6605adcc2",
      "version_id": "2309983",
      "type": "TEXT"
    }
  ],
  "tags": [
    "luke",
    "star wars"
  ],
  "custom_dates": [
    {
      "name": "validation date",
      "value": "2017-12-25"
    }
  ],
  "project_id": "36272",
  "title": "Luke's Private Entry",
  "entry_number": 1,
  "hidden": true,
  "editable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `blockId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the entry"
    },
    "author_id": {
      "type": "string",
      "description": "the unique id of the user created the entry"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the entry was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when this entry was last modified"
    },
    "element_layout": {
      "type": "object",
      "properties": {
        "rows": {
          "type": [
            "array",
            "null"
          ],
          "description": "the notebook row/column layout of elements in the entry"
        }
      },
      "required": [
        "rows"
      ],
      "description": "The layout of the elements in this entry"
    },
    "elements": {
      "type": "array",
      "description": "The elements in this entry"
    },
    "tags": {
      "type": "array",
      "description": "The tags for this entry. Tags are case insensitive."
    },
    "custom_dates": {
      "type": "array",
      "description": "Custom dates for this entry"
    },
    "project_id": {
      "type": "string",
      "description": "project location of the entry"
    },
    "title": {
      "type": "string",
      "description": "the display name of the entry"
    },
    "entry_number": {
      "type": "number",
      "description": "position of the entry inside the project"
    },
    "hidden": {
      "type": "boolean",
      "description": "indicates if the entry is hidden or visible"
    },
    "editable": {
      "type": "boolean",
      "description": "Indicates if the requesting user has write access to the entry. An entry is editable if the user is the entry author while the entry is neither signed nor hidden."
    }
  },
  "required": [
    "id",
    "version_id",
    "author_id",
    "creation_date",
    "version_date",
    "element_layout",
    "elements",
    "tags",
    "custom_dates",
    "project_id",
    "title",
    "entry_number",
    "hidden",
    "editable"
  ],
  "additionalProperties": false
}

Export

Exports Resource

List All Exports
GET/exports{?status,limit,offset}

Get a list of Exports of all kinds that the requesting user has created. The list is ordered by creation date descending.

Example URI

GET /exports?status=FINISHED&limit=&offset=
URI Parameters
HideShow
status
string (optional) Example: FINISHED

A comma separated list of statuses to be filtered.

Choices: NEW RUNNING FINISHED REMOVED ERROR QUEUED

limit
number (optional) Default: 20 

Maximum number of exports to return. The maximum for limit is 50 items.

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
    "user_id": "11038",
    "type": "XHTML",
    "content": {
      "project_ids": [
        "36272"
      ],
      "entry_ids": [],
      "template_ids": [],
      "group_ids": []
    },
    "status": "FINISHED",
    "completion_date": "2019-02-01T13:35:30.789+0200",
    "download_file_length": 12345,
    "creation_date": "2019-02-01T13:34:56.789+0200",
    "version_date": "2019-02-01T13:35:30.789+0200",
    "download_filename": "my_labfolder_content.zip",
    "download_href": "https://eln.labfolder.com/api/v2/exports/xhtml/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285"
  },
  {
    "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
    "user_id": "11038",
    "type": "PDF",
    "content": {
      "project_ids": [
        "36272"
      ],
      "entry_ids": [],
      "template_ids": [],
      "group_ids": []
    },
    "status": "FINISHED",
    "completion_date": "2019-02-01T13:35:30.789+0200",
    "download_file_length": 12345,
    "creation_date": "2019-02-01T13:34:56.789+0200",
    "version_date": "2019-02-01T13:35:30.789+0200",
    "download_filename": "example_project.pdf",
    "download_href": "https://eln.labfolder.com/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
    "settings": {
      "include_page_header": true,
      "include_page_footer": true,
      "include_page_number": true,
      "include_entry_header": true,
      "include_entry_footer": true,
      "include_entry_dates": true,
      "include_tags": true
    }
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": [
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "the unique id of the export"
        },
        "user_id": {
          "type": "string",
          "description": "the unique id of the user, who created the export"
        },
        "type": {
          "type": "string",
          "enum": [
            "XHTML"
          ],
          "description": "the type of export"
        },
        "content": {
          "type": "object",
          "properties": {
            "project_ids": {
              "type": "array",
              "description": "the ids of projects that are contained in the export"
            },
            "entry_ids": {
              "type": "array",
              "description": "the ids of entries that are contained in the export"
            },
            "template_ids": {
              "type": "array",
              "description": "the ids of templates that are contained in the export"
            },
            "group_ids": {
              "type": "array",
              "description": "the ids of complete groups that are contained in the export"
            }
          },
          "required": [
            "project_ids",
            "entry_ids",
            "template_ids",
            "group_ids"
          ],
          "additionalProperties": false,
          "description": "object defining the export content scope"
        },
        "status": {
          "type": "string",
          "enum": [
            "NEW",
            "RUNNING",
            "FINISHED",
            "REMOVED",
            "ERROR",
            "QUEUED",
            "ABORT_PARALLEL"
          ],
          "description": "the status of the export in the export life cycle"
        },
        "completion_date": {
          "type": [
            "string",
            "null"
          ],
          "description": "date when the export file creation was completed"
        },
        "download_file_length": {
          "type": "number",
          "description": "the export download file content size in bytes"
        },
        "creation_date": {
          "type": "string",
          "description": "date when the export was created"
        },
        "version_date": {
          "type": "string",
          "description": "date when the export was last modified"
        },
        "download_filename": {
          "type": "string",
          "description": "the filename used for the finished export downloadable file"
        },
        "download_href": {
          "type": [
            "string",
            "null"
          ],
          "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
        }
      },
      "required": [
        "id",
        "user_id",
        "type",
        "content",
        "status",
        "completion_date",
        "download_file_length",
        "creation_date",
        "version_date",
        "download_filename"
      ]
    },
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "the unique id of the export"
        },
        "user_id": {
          "type": "string",
          "description": "the unique id of the user, who created the export"
        },
        "type": {
          "type": "string",
          "enum": [
            "PDF"
          ],
          "description": "the type of export"
        },
        "content": {
          "type": "object",
          "properties": {
            "project_ids": {
              "type": "array",
              "description": "the ids of projects that are contained in the export"
            },
            "entry_ids": {
              "type": "array",
              "description": "the ids of entries that are contained in the export"
            },
            "template_ids": {
              "type": "array",
              "description": "the ids of templates that are contained in the export"
            },
            "group_ids": {
              "type": "array",
              "description": "the ids of complete groups that are contained in the export"
            }
          },
          "required": [
            "project_ids",
            "entry_ids",
            "template_ids",
            "group_ids"
          ],
          "additionalProperties": false,
          "description": "object defining the export content scope"
        },
        "status": {
          "type": "string",
          "enum": [
            "NEW",
            "RUNNING",
            "FINISHED",
            "REMOVED",
            "ERROR",
            "QUEUED",
            "ABORT_PARALLEL"
          ],
          "description": "the status of the export in the export life cycle"
        },
        "completion_date": {
          "type": [
            "string",
            "null"
          ],
          "description": "date when the export file creation was completed"
        },
        "download_file_length": {
          "type": "number",
          "description": "the export download file content size in bytes"
        },
        "creation_date": {
          "type": "string",
          "description": "date when the export was created"
        },
        "version_date": {
          "type": "string",
          "description": "date when the export was last modified"
        },
        "download_filename": {
          "type": "string",
          "description": "the filename used for the finished export downloadable file"
        },
        "download_href": {
          "type": [
            "string",
            "null"
          ],
          "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
        },
        "settings": {
          "type": "object",
          "properties": {
            "include_page_header": {
              "type": "boolean",
              "description": "defines if PDF contains page headers",
              "default": true
            },
            "include_page_footer": {
              "type": "boolean",
              "description": "defines if PDF contains page footer",
              "default": true
            },
            "include_page_number": {
              "type": "boolean",
              "description": "defines if PDF contains page numbers",
              "default": true
            },
            "include_entry_header": {
              "type": "boolean",
              "description": "defines if entries in the PDF contain an entry headers",
              "default": true
            },
            "include_entry_footer": {
              "type": "boolean",
              "description": "defines if entries in the PDF contain an entry footers",
              "default": true
            },
            "include_entry_dates": {
              "type": "boolean",
              "description": "defines if entries in the PDF contain entry dates",
              "default": true
            },
            "include_tags": {
              "type": "boolean",
              "description": "defines if entries in the PDF contain entry tags",
              "default": true
            }
          },
          "required": [
            "include_page_header",
            "include_page_footer",
            "include_page_number",
            "include_entry_header",
            "include_entry_footer",
            "include_entry_dates",
            "include_tags"
          ]
        }
      },
      "required": [
        "id",
        "user_id",
        "type",
        "content",
        "status",
        "completion_date",
        "download_file_length",
        "creation_date",
        "version_date",
        "download_filename",
        "settings"
      ]
    }
  ]
}

PDF Exports

List PDF Exports
GET/exports/pdf{?status,limit,offset}

Get all created PDF Exports the requesting user has created

Example URI

GET /exports/pdf?status=FINISHED&limit=&offset=
URI Parameters
HideShow
status
string (optional) Example: FINISHED

A comma separated list of statuses to be filtered.

Choices: NEW RUNNING FINISHED REMOVED ERROR QUEUED

limit
number (optional) Default: 20 

Maximum number of exports to return. The maximum for limit is 50 items.

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
    "user_id": "11038",
    "type": "PDF",
    "content": {
      "project_ids": [
        "36272"
      ],
      "entry_ids": [],
      "template_ids": [],
      "group_ids": []
    },
    "status": "FINISHED",
    "completion_date": "2019-02-01T13:35:30.789+0200",
    "download_file_length": 12345,
    "creation_date": "2019-02-01T13:34:56.789+0200",
    "version_date": "2019-02-01T13:35:30.789+0200",
    "download_filename": "example_project.pdf",
    "download_href": "https://eln.labfolder.com/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
    "settings": {
      "include_page_header": true,
      "include_page_footer": true,
      "include_page_number": true,
      "include_entry_header": true,
      "include_entry_footer": true,
      "include_entry_dates": true,
      "include_tags": true
    }
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the unique id of the export"
      },
      "user_id": {
        "type": "string",
        "description": "the unique id of the user, who created the export"
      },
      "type": {
        "type": "string",
        "enum": [
          "PDF"
        ],
        "description": "the type of export"
      },
      "content": {
        "type": "object",
        "properties": {
          "project_ids": {
            "type": "array",
            "description": "the ids of projects that are contained in the export"
          },
          "entry_ids": {
            "type": "array",
            "description": "the ids of entries that are contained in the export"
          },
          "template_ids": {
            "type": "array",
            "description": "the ids of templates that are contained in the export"
          },
          "group_ids": {
            "type": "array",
            "description": "the ids of complete groups that are contained in the export"
          }
        },
        "required": [
          "project_ids",
          "entry_ids",
          "template_ids",
          "group_ids"
        ],
        "additionalProperties": false,
        "description": "object defining the export content scope"
      },
      "status": {
        "type": "string",
        "enum": [
          "NEW",
          "RUNNING",
          "FINISHED",
          "REMOVED",
          "ERROR",
          "QUEUED",
          "ABORT_PARALLEL"
        ],
        "description": "the status of the export in the export life cycle"
      },
      "completion_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "date when the export file creation was completed"
      },
      "download_file_length": {
        "type": "number",
        "description": "the export download file content size in bytes"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the export was created"
      },
      "version_date": {
        "type": "string",
        "description": "date when the export was last modified"
      },
      "download_filename": {
        "type": "string",
        "description": "the filename used for the finished export downloadable file"
      },
      "download_href": {
        "type": [
          "string",
          "null"
        ],
        "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
      },
      "settings": {
        "type": "object",
        "properties": {
          "include_page_header": {
            "type": "boolean",
            "description": "defines if PDF contains page headers",
            "default": true
          },
          "include_page_footer": {
            "type": "boolean",
            "description": "defines if PDF contains page footer",
            "default": true
          },
          "include_page_number": {
            "type": "boolean",
            "description": "defines if PDF contains page numbers",
            "default": true
          },
          "include_entry_header": {
            "type": "boolean",
            "description": "defines if entries in the PDF contain an entry headers",
            "default": true
          },
          "include_entry_footer": {
            "type": "boolean",
            "description": "defines if entries in the PDF contain an entry footers",
            "default": true
          },
          "include_entry_dates": {
            "type": "boolean",
            "description": "defines if entries in the PDF contain entry dates",
            "default": true
          },
          "include_tags": {
            "type": "boolean",
            "description": "defines if entries in the PDF contain entry tags",
            "default": true
          }
        },
        "required": [
          "include_page_header",
          "include_page_footer",
          "include_page_number",
          "include_entry_header",
          "include_entry_footer",
          "include_entry_dates",
          "include_tags"
        ]
      }
    },
    "required": [
      "id",
      "user_id",
      "type",
      "content",
      "status",
      "completion_date",
      "download_file_length",
      "creation_date",
      "version_date",
      "download_filename",
      "settings"
    ]
  }
}

Get PDF Export
GET/exports/pdf/{id}

Returns the current version of the PDF export.

Example URI

GET /exports/pdf/ced8ca60-660b-4916-96a7-76b3258db135
URI Parameters
HideShow
id
string (required) Example: ced8ca60-660b-4916-96a7-76b3258db135

id of the PDF export

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
  "user_id": "11038",
  "type": "PDF",
  "content": {
    "project_ids": [
      "36272"
    ],
    "entry_ids": [],
    "template_ids": [],
    "group_ids": []
  },
  "status": "FINISHED",
  "completion_date": "2019-02-01T13:35:30.789+0200",
  "download_file_length": 12345,
  "creation_date": "2019-02-01T13:34:56.789+0200",
  "version_date": "2019-02-01T13:35:30.789+0200",
  "download_filename": "example_project.pdf",
  "download_href": "https://eln.labfolder.com/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
  "settings": {
    "include_page_header": true,
    "include_page_footer": true,
    "include_page_number": true,
    "include_entry_header": true,
    "include_entry_footer": true,
    "include_entry_dates": true,
    "include_tags": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the export"
    },
    "user_id": {
      "type": "string",
      "description": "the unique id of the user, who created the export"
    },
    "type": {
      "type": "string",
      "enum": [
        "PDF"
      ],
      "description": "the type of export"
    },
    "content": {
      "type": "object",
      "properties": {
        "project_ids": {
          "type": "array",
          "description": "the ids of projects that are contained in the export"
        },
        "entry_ids": {
          "type": "array",
          "description": "the ids of entries that are contained in the export"
        },
        "template_ids": {
          "type": "array",
          "description": "the ids of templates that are contained in the export"
        },
        "group_ids": {
          "type": "array",
          "description": "the ids of complete groups that are contained in the export"
        }
      },
      "required": [
        "project_ids",
        "entry_ids",
        "template_ids",
        "group_ids"
      ],
      "additionalProperties": false,
      "description": "object defining the export content scope"
    },
    "status": {
      "type": "string",
      "enum": [
        "NEW",
        "RUNNING",
        "FINISHED",
        "REMOVED",
        "ERROR",
        "QUEUED",
        "ABORT_PARALLEL"
      ],
      "description": "the status of the export in the export life cycle"
    },
    "completion_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "date when the export file creation was completed"
    },
    "download_file_length": {
      "type": "number",
      "description": "the export download file content size in bytes"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the export was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the export was last modified"
    },
    "download_filename": {
      "type": "string",
      "description": "the filename used for the finished export downloadable file"
    },
    "download_href": {
      "type": [
        "string",
        "null"
      ],
      "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
    },
    "settings": {
      "type": "object",
      "properties": {
        "include_page_header": {
          "type": "boolean",
          "description": "defines if PDF contains page headers",
          "default": true
        },
        "include_page_footer": {
          "type": "boolean",
          "description": "defines if PDF contains page footer",
          "default": true
        },
        "include_page_number": {
          "type": "boolean",
          "description": "defines if PDF contains page numbers",
          "default": true
        },
        "include_entry_header": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain an entry headers",
          "default": true
        },
        "include_entry_footer": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain an entry footers",
          "default": true
        },
        "include_entry_dates": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain entry dates",
          "default": true
        },
        "include_tags": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain entry tags",
          "default": true
        }
      },
      "required": [
        "include_page_header",
        "include_page_footer",
        "include_page_number",
        "include_entry_header",
        "include_entry_footer",
        "include_entry_dates",
        "include_tags"
      ]
    }
  },
  "required": [
    "id",
    "user_id",
    "type",
    "content",
    "status",
    "completion_date",
    "download_file_length",
    "creation_date",
    "version_date",
    "download_filename",
    "settings"
  ],
  "additionalProperties": false
}

Download PDF Export File
GET/exports/pdf/{id}/download

Download the result file of a finished PDF export.

Example URI

GET /exports/pdf/ced8ca60-660b-4916-96a7-76b3258db135/download
URI Parameters
HideShow
id
string (required) Example: ced8ca60-660b-4916-96a7-76b3258db135

id of the PDF export

Response  200
HideShow
Headers
Content-Type: application/pdf
Content-Disposition: `attachment;filename="labfolder_export.pdf"`
Content-Length: 12345
Body
... file content as binary ...

Create PDF Export
POST/exports/pdf

Create a PDF export of a project, a template, a single entry or all content the requesting user is the owner of.

Only one project ID, template ID, entry ID or group ID is valid to be submitted at a time to create a PDF export. However you can create a full export of all the content you own by simply not specifying any project_ids, template_ids, entry_ids or group_ids in the request.

Example URI

POST /exports/pdf
Request  Create PDF Export
HideShow
Headers
Content-Type: application/json
Body
{
  "download_filename": "example project",
  "settings": {},
  "content": {
    "project_ids": [
      "36272"
    ],
    "entry_ids": [],
    "template_ids": [],
    "group_ids": []
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "download_filename": {
      "type": "string",
      "description": "the filename that should be used for the finished export downloadable file"
    },
    "settings": {
      "type": "object",
      "properties": {
        "include_page_header": {
          "type": "boolean",
          "description": "defines if PDF contains page headers",
          "default": true
        },
        "include_page_footer": {
          "type": "boolean",
          "description": "defines if PDF contains page footer",
          "default": true
        },
        "include_page_number": {
          "type": "boolean",
          "description": "defines if PDF contains page numbers",
          "default": true
        },
        "include_entry_header": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain an entry headers",
          "default": true
        },
        "include_entry_footer": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain an entry footers",
          "default": true
        },
        "include_entry_dates": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain entry dates",
          "default": true
        },
        "include_tags": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain entry tags",
          "default": true
        }
      },
      "description": "json object defining custom settings for export content"
    },
    "content": {
      "type": "object",
      "properties": {
        "project_ids": {
          "type": "array",
          "description": "the ids of projects to be exported"
        },
        "entry_ids": {
          "type": "array",
          "description": "the ids of entries to be exported"
        },
        "template_ids": {
          "type": "array",
          "description": "the ids of templates to be exported"
        },
        "group_ids": {
          "type": "array",
          "description": "the ids of groups to be exported"
        }
      },
      "additionalProperties": false,
      "description": "object defining the export content scope"
    }
  }
}
Response  202
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0
Body
{
  "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
  "user_id": "11038",
  "type": "PDF",
  "content": {
    "project_ids": [
      "36272"
    ],
    "entry_ids": [],
    "template_ids": [],
    "group_ids": []
  },
  "status": "FINISHED",
  "completion_date": "2019-02-01T13:35:30.789+0200",
  "download_file_length": 12345,
  "creation_date": "2019-02-01T13:34:56.789+0200",
  "version_date": "2019-02-01T13:35:30.789+0200",
  "download_filename": "example_project.pdf",
  "download_href": "https://eln.labfolder.com/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
  "settings": {
    "include_page_header": true,
    "include_page_footer": true,
    "include_page_number": true,
    "include_entry_header": true,
    "include_entry_footer": true,
    "include_entry_dates": true,
    "include_tags": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the export"
    },
    "user_id": {
      "type": "string",
      "description": "the unique id of the user, who created the export"
    },
    "type": {
      "type": "string",
      "enum": [
        "PDF"
      ],
      "description": "the type of export"
    },
    "content": {
      "type": "object",
      "properties": {
        "project_ids": {
          "type": "array",
          "description": "the ids of projects that are contained in the export"
        },
        "entry_ids": {
          "type": "array",
          "description": "the ids of entries that are contained in the export"
        },
        "template_ids": {
          "type": "array",
          "description": "the ids of templates that are contained in the export"
        },
        "group_ids": {
          "type": "array",
          "description": "the ids of complete groups that are contained in the export"
        }
      },
      "required": [
        "project_ids",
        "entry_ids",
        "template_ids",
        "group_ids"
      ],
      "additionalProperties": false,
      "description": "object defining the export content scope"
    },
    "status": {
      "type": "string",
      "enum": [
        "NEW",
        "RUNNING",
        "FINISHED",
        "REMOVED",
        "ERROR",
        "QUEUED",
        "ABORT_PARALLEL"
      ],
      "description": "the status of the export in the export life cycle"
    },
    "completion_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "date when the export file creation was completed"
    },
    "download_file_length": {
      "type": "number",
      "description": "the export download file content size in bytes"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the export was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the export was last modified"
    },
    "download_filename": {
      "type": "string",
      "description": "the filename used for the finished export downloadable file"
    },
    "download_href": {
      "type": [
        "string",
        "null"
      ],
      "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
    },
    "settings": {
      "type": "object",
      "properties": {
        "include_page_header": {
          "type": "boolean",
          "description": "defines if PDF contains page headers",
          "default": true
        },
        "include_page_footer": {
          "type": "boolean",
          "description": "defines if PDF contains page footer",
          "default": true
        },
        "include_page_number": {
          "type": "boolean",
          "description": "defines if PDF contains page numbers",
          "default": true
        },
        "include_entry_header": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain an entry headers",
          "default": true
        },
        "include_entry_footer": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain an entry footers",
          "default": true
        },
        "include_entry_dates": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain entry dates",
          "default": true
        },
        "include_tags": {
          "type": "boolean",
          "description": "defines if entries in the PDF contain entry tags",
          "default": true
        }
      },
      "required": [
        "include_page_header",
        "include_page_footer",
        "include_page_number",
        "include_entry_header",
        "include_entry_footer",
        "include_entry_dates",
        "include_tags"
      ]
    }
  },
  "required": [
    "id",
    "user_id",
    "type",
    "content",
    "status",
    "completion_date",
    "download_file_length",
    "creation_date",
    "version_date",
    "download_filename",
    "settings"
  ],
  "additionalProperties": false
}

XHTML Exports

List XHTML Exports
GET/exports/xhtml{?status,limit,offset}

Get all created XHTML Exports the requesting user has created

Example URI

GET /exports/xhtml?status=FINISHED&limit=&offset=
URI Parameters
HideShow
status
string (optional) Example: FINISHED

A comma separated list of statuses to be filtered.

Choices: NEW RUNNING FINISHED REMOVED ERROR QUEUED

limit
number (optional) Default: 20 

Maximum number of exports to return. The maximum for limit is 50 items.

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
    "user_id": "11038",
    "type": "XHTML",
    "content": {
      "project_ids": [
        "36272"
      ],
      "entry_ids": [],
      "template_ids": [],
      "group_ids": []
    },
    "status": "FINISHED",
    "completion_date": "2019-02-01T13:35:30.789+0200",
    "download_file_length": 12345,
    "creation_date": "2019-02-01T13:34:56.789+0200",
    "version_date": "2019-02-01T13:35:30.789+0200",
    "download_filename": "my_labfolder_content.zip",
    "download_href": "https://eln.labfolder.com/api/v2/exports/xhtml/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the unique id of the export"
      },
      "user_id": {
        "type": "string",
        "description": "the unique id of the user, who created the export"
      },
      "type": {
        "type": "string",
        "enum": [
          "XHTML"
        ],
        "description": "the type of export"
      },
      "content": {
        "type": "object",
        "properties": {
          "project_ids": {
            "type": "array",
            "description": "the ids of projects that are contained in the export"
          },
          "entry_ids": {
            "type": "array",
            "description": "the ids of entries that are contained in the export"
          },
          "template_ids": {
            "type": "array",
            "description": "the ids of templates that are contained in the export"
          },
          "group_ids": {
            "type": "array",
            "description": "the ids of complete groups that are contained in the export"
          }
        },
        "required": [
          "project_ids",
          "entry_ids",
          "template_ids",
          "group_ids"
        ],
        "additionalProperties": false,
        "description": "object defining the export content scope"
      },
      "status": {
        "type": "string",
        "enum": [
          "NEW",
          "RUNNING",
          "FINISHED",
          "REMOVED",
          "ERROR",
          "QUEUED",
          "ABORT_PARALLEL"
        ],
        "description": "the status of the export in the export life cycle"
      },
      "completion_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "date when the export file creation was completed"
      },
      "download_file_length": {
        "type": "number",
        "description": "the export download file content size in bytes"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the export was created"
      },
      "version_date": {
        "type": "string",
        "description": "date when the export was last modified"
      },
      "download_filename": {
        "type": "string",
        "description": "the filename used for the finished export downloadable file"
      },
      "download_href": {
        "type": [
          "string",
          "null"
        ],
        "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
      }
    },
    "required": [
      "id",
      "user_id",
      "type",
      "content",
      "status",
      "completion_date",
      "download_file_length",
      "creation_date",
      "version_date",
      "download_filename"
    ]
  }
}

Get XHTML Export
GET/exports/xhtml/{id}

Returns the current version of the XHTML export.

Example URI

GET /exports/xhtml/a6e15cda-a48c-463c-bcc4-cf92c8323d8b
URI Parameters
HideShow
id
string (required) Example: a6e15cda-a48c-463c-bcc4-cf92c8323d8b

id of the XHTML export

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
  "user_id": "11038",
  "type": "XHTML",
  "content": {
    "project_ids": [
      "36272"
    ],
    "entry_ids": [],
    "template_ids": [],
    "group_ids": []
  },
  "status": "FINISHED",
  "completion_date": "2019-02-01T13:35:30.789+0200",
  "download_file_length": 12345,
  "creation_date": "2019-02-01T13:34:56.789+0200",
  "version_date": "2019-02-01T13:35:30.789+0200",
  "download_filename": "my_labfolder_content.zip",
  "download_href": "https://eln.labfolder.com/api/v2/exports/xhtml/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the export"
    },
    "user_id": {
      "type": "string",
      "description": "the unique id of the user, who created the export"
    },
    "type": {
      "type": "string",
      "enum": [
        "XHTML"
      ],
      "description": "the type of export"
    },
    "content": {
      "type": "object",
      "properties": {
        "project_ids": {
          "type": "array",
          "description": "the ids of projects that are contained in the export"
        },
        "entry_ids": {
          "type": "array",
          "description": "the ids of entries that are contained in the export"
        },
        "template_ids": {
          "type": "array",
          "description": "the ids of templates that are contained in the export"
        },
        "group_ids": {
          "type": "array",
          "description": "the ids of complete groups that are contained in the export"
        }
      },
      "required": [
        "project_ids",
        "entry_ids",
        "template_ids",
        "group_ids"
      ],
      "additionalProperties": false,
      "description": "object defining the export content scope"
    },
    "status": {
      "type": "string",
      "enum": [
        "NEW",
        "RUNNING",
        "FINISHED",
        "REMOVED",
        "ERROR",
        "QUEUED",
        "ABORT_PARALLEL"
      ],
      "description": "the status of the export in the export life cycle"
    },
    "completion_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "date when the export file creation was completed"
    },
    "download_file_length": {
      "type": "number",
      "description": "the export download file content size in bytes"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the export was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the export was last modified"
    },
    "download_filename": {
      "type": "string",
      "description": "the filename used for the finished export downloadable file"
    },
    "download_href": {
      "type": [
        "string",
        "null"
      ],
      "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
    }
  },
  "required": [
    "id",
    "user_id",
    "type",
    "content",
    "status",
    "completion_date",
    "download_file_length",
    "creation_date",
    "version_date",
    "download_filename"
  ],
  "additionalProperties": false
}

Download XHTML Export File
GET/exports/xhtml/{id}/download

Download the result file of a finished XHTML export.

Example URI

GET /exports/xhtml/a6e15cda-a48c-463c-bcc4-cf92c8323d8b/download
URI Parameters
HideShow
id
string (required) Example: a6e15cda-a48c-463c-bcc4-cf92c8323d8b

id of the XHTML export

Response  200
HideShow
Headers
Content-Type: application/zip
Content-Disposition: `attachment;filename="my_labfolder_data.zip"`
Content-Length: 12345
Body
... file content as binary ...

Create XHTML Export
POST/exports/xhtml

Create a XHTML export of all content (Projects with their Entries & Templates) the requesting user owns.

Example URI

POST /exports/xhtml
Request  Create XHTML Export
HideShow
Headers
Content-Type: application/json
Body
{}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {}
}
Response  202
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /exports/xhtml/20e699a3-4764-461f-a4bc-d10d7cbba3f0
Body
{
  "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
  "user_id": "11038",
  "type": "XHTML",
  "content": {
    "project_ids": [
      "36272"
    ],
    "entry_ids": [],
    "template_ids": [],
    "group_ids": []
  },
  "status": "FINISHED",
  "completion_date": "2019-02-01T13:35:30.789+0200",
  "download_file_length": 12345,
  "creation_date": "2019-02-01T13:34:56.789+0200",
  "version_date": "2019-02-01T13:35:30.789+0200",
  "download_filename": "my_labfolder_content.zip",
  "download_href": "https://eln.labfolder.com/api/v2/exports/xhtml/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the export"
    },
    "user_id": {
      "type": "string",
      "description": "the unique id of the user, who created the export"
    },
    "type": {
      "type": "string",
      "enum": [
        "XHTML"
      ],
      "description": "the type of export"
    },
    "content": {
      "type": "object",
      "properties": {
        "project_ids": {
          "type": "array",
          "description": "the ids of projects that are contained in the export"
        },
        "entry_ids": {
          "type": "array",
          "description": "the ids of entries that are contained in the export"
        },
        "template_ids": {
          "type": "array",
          "description": "the ids of templates that are contained in the export"
        },
        "group_ids": {
          "type": "array",
          "description": "the ids of complete groups that are contained in the export"
        }
      },
      "required": [
        "project_ids",
        "entry_ids",
        "template_ids",
        "group_ids"
      ],
      "additionalProperties": false,
      "description": "object defining the export content scope"
    },
    "status": {
      "type": "string",
      "enum": [
        "NEW",
        "RUNNING",
        "FINISHED",
        "REMOVED",
        "ERROR",
        "QUEUED",
        "ABORT_PARALLEL"
      ],
      "description": "the status of the export in the export life cycle"
    },
    "completion_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "date when the export file creation was completed"
    },
    "download_file_length": {
      "type": "number",
      "description": "the export download file content size in bytes"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the export was created"
    },
    "version_date": {
      "type": "string",
      "description": "date when the export was last modified"
    },
    "download_filename": {
      "type": "string",
      "description": "the filename used for the finished export downloadable file"
    },
    "download_href": {
      "type": [
        "string",
        "null"
      ],
      "description": "entity specific pre-signed download URL, that is valid until the date (in milliseconds) from the X-Labfolder-Expires parameter"
    }
  },
  "required": [
    "id",
    "user_id",
    "type",
    "content",
    "status",
    "completion_date",
    "download_file_length",
    "creation_date",
    "version_date",
    "download_filename"
  ],
  "additionalProperties": false
}

Material Database

MDB Categories

List Categories
GET/mdb/categories{?expand}

Returns the list of all accessible categories of the requesting user

Example URI

GET /mdb/categories?expand=
URI Parameters
HideShow
expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all categories returned

Choices: creator

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "title": "Luke's Private Vehicles",
    "attributes": [
      {
        "type": "Text",
        "title": "Model",
        "mandatory": false
      }
    ],
    "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
    "creator_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
    "version_date": "2017-02-15T12:34:56.789+0200",
    "version": 8
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "description": "the display name of the category"
      },
      "attributes": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "Text",
                "Date",
                "Number",
                "Url"
              ]
            },
            "title": {
              "type": "string",
              "description": "the display title of the attribute"
            },
            "mandatory": {
              "type": "boolean",
              "description": "is a value mandatory for this attribute"
            }
          },
          "required": [
            "type",
            "title",
            "mandatory"
          ]
        },
        "description": "The attributes for this item category"
      },
      "id": {
        "type": "string",
        "description": "the stable id of the category"
      },
      "creator_id": {
        "type": "string",
        "description": "the id of the original author"
      },
      "creation_date": {
        "type": "string",
        "description": "the creation date of the item category"
      },
      "version_id": {
        "type": "string",
        "description": "the unique id of the mdb item"
      },
      "version_date": {
        "type": "string",
        "description": "the last modification date of the item category"
      },
      "version": {
        "type": "number",
        "description": "the version number (it is automatically incremented for each modification on the category)"
      }
    },
    "required": [
      "title",
      "id",
      "creator_id",
      "creation_date",
      "version_id",
      "version_date",
      "version"
    ]
  }
}

Get Category
GET/mdb/categories/{id}{?expand}

Returns the category

Example URI

GET /mdb/categories/e87e6534-2ae0-4139-bc48-cc668f330069?expand=
URI Parameters
HideShow
id
string (required) Example: e87e6534-2ae0-4139-bc48-cc668f330069

id of the category

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all categories returned

Choices: creator

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's Private Vehicles",
  "attributes": [
    {
      "type": "Text",
      "title": "Model",
      "mandatory": false
    }
  ],
  "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version": 8
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the category"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Text",
              "Date",
              "Number",
              "Url"
            ]
          },
          "title": {
            "type": "string",
            "description": "the display title of the attribute"
          },
          "mandatory": {
            "type": "boolean",
            "description": "is a value mandatory for this attribute"
          }
        },
        "required": [
          "type",
          "title",
          "mandatory"
        ]
      },
      "description": "The attributes for this item category"
    },
    "id": {
      "type": "string",
      "description": "the stable id of the category"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the item category"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the item category"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the category)"
    }
  },
  "required": [
    "title",
    "attributes",
    "id",
    "creator_id",
    "creation_date",
    "version_id",
    "version_date",
    "version"
  ],
  "additionalProperties": false
}

Create Category
POST/mdb/categories

Create a material database category

Example URI

POST /mdb/categories
Request  Create Category
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Vehicles",
  "attributes": [
    {
      "type": "Text",
      "title": "Model",
      "mandatory": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the category"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Text",
              "Date",
              "Number",
              "Url"
            ]
          },
          "title": {
            "type": "string",
            "description": "the display title of the attribute"
          },
          "mandatory": {
            "type": "boolean",
            "description": "is a value mandatory for this attribute"
          }
        },
        "required": [
          "type",
          "title",
          "mandatory"
        ]
      },
      "description": "The attributes for this item category"
    }
  },
  "required": [
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /mdb/categories/76625e69-52eb-40b5-a610-99ab8b801cf9
Body
{
  "title": "Luke's Private Vehicles",
  "attributes": [
    {
      "type": "Text",
      "title": "Model",
      "mandatory": false
    }
  ],
  "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version": 8
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the category"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Text",
              "Date",
              "Number",
              "Url"
            ]
          },
          "title": {
            "type": "string",
            "description": "the display title of the attribute"
          },
          "mandatory": {
            "type": "boolean",
            "description": "is a value mandatory for this attribute"
          }
        },
        "required": [
          "type",
          "title",
          "mandatory"
        ]
      },
      "description": "The attributes for this item category"
    },
    "id": {
      "type": "string",
      "description": "the stable id of the category"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the item category"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the item category"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the category)"
    }
  },
  "required": [
    "title",
    "attributes",
    "id",
    "creator_id",
    "creation_date",
    "version_id",
    "version_date",
    "version"
  ],
  "additionalProperties": false
}

Update Category
PUT/mdb/categories/{id}

Update a material database category. Note that you need to pass the attribute id if you want to update an existing attribute. Otherwise it will be created as new rather than being updated.

Example URI

PUT /mdb/categories/b10b785d-d87d-48cf-9c0b-d7be08f377b2
URI Parameters
HideShow
id
string (required) Example: b10b785d-d87d-48cf-9c0b-d7be08f377b2

the stable id of the category

Request  Update Category
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Private Vehicles",
  "attributes": [
    {
      "type": "Text",
      "title": "Model",
      "mandatory": false
    }
  ],
  "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the category"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Text",
              "Date",
              "Number",
              "Url"
            ]
          },
          "title": {
            "type": "string",
            "description": "the display title of the attribute"
          },
          "mandatory": {
            "type": "boolean",
            "description": "is a value mandatory for this attribute"
          }
        },
        "required": [
          "type",
          "title",
          "mandatory"
        ]
      },
      "description": "The attributes for this item category"
    },
    "id": {
      "type": "string",
      "description": "the stable id of the category"
    }
  },
  "required": [
    "title",
    "id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's Private Vehicles",
  "attributes": [
    {
      "type": "Text",
      "title": "Model",
      "mandatory": false
    }
  ],
  "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version": 8
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the category"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Text",
              "Date",
              "Number",
              "Url"
            ]
          },
          "title": {
            "type": "string",
            "description": "the display title of the attribute"
          },
          "mandatory": {
            "type": "boolean",
            "description": "is a value mandatory for this attribute"
          }
        },
        "required": [
          "type",
          "title",
          "mandatory"
        ]
      },
      "description": "The attributes for this item category"
    },
    "id": {
      "type": "string",
      "description": "the stable id of the category"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the item category"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the item category"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the category)"
    }
  },
  "required": [
    "title",
    "attributes",
    "id",
    "creator_id",
    "creation_date",
    "version_id",
    "version_date",
    "version"
  ],
  "additionalProperties": false
}

Delete Category
DELETE/mdb/categories/{id}

Deletes the Category. Note: the entity is not deleted, but is flagged as ‘hidden’.

Example URI

DELETE /mdb/categories/b10b785d-d87d-48cf-9c0b-d7be08f377b2
URI Parameters
HideShow
id
string (required) Example: b10b785d-d87d-48cf-9c0b-d7be08f377b2

id of the category to delete

Response  204

MDB Category Attributes

List Default Category Attributes
GET/mdb/categories/attributes/default

Returns the default list of category attributes

Example URI

GET /mdb/categories/attributes/default
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "title": "General",
    "attributes": [
      {
        "type": "Text",
        "title": "Model",
        "mandatory": false
      }
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "description": "the display title"
      },
      "attributes": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "Text",
                "Date",
                "Number",
                "Url"
              ]
            },
            "title": {
              "type": "string",
              "description": "the display title of the attribute"
            },
            "mandatory": {
              "type": "boolean",
              "description": "is a value mandatory for this attribute"
            }
          },
          "required": [
            "type",
            "title",
            "mandatory"
          ]
        },
        "description": "the fields of the group"
      }
    },
    "required": [
      "title"
    ]
  }
}

List User Attributes
GET/mdb/categories/attributes/custom

Returns all custom category attributes created in categories the user has access to

Example URI

GET /mdb/categories/attributes/custom
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "type": "Text",
    "title": "Model",
    "mandatory": false
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "type": {
        "type": "string",
        "enum": [
          "Text",
          "Date",
          "Number",
          "Url"
        ]
      },
      "title": {
        "type": "string",
        "description": "the display title of the attribute"
      },
      "mandatory": {
        "type": "boolean",
        "description": "is a value mandatory for this attribute"
      }
    },
    "required": [
      "type",
      "title",
      "mandatory"
    ]
  }
}

MDB Items

List Items
GET/mdb/items{?category_id,keyword,expand}

Returns the list of all items sorted by display title

Example URI

GET /mdb/items?category_id=&keyword=&expand=
URI Parameters
HideShow
category_id
string (optional) 

The category id to show items for. If none provided will show all items.

keyword
string (optional) 

The search term to filter items by title. If not provided it will not filter.

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all items returned

Choices: category

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
    "title": "X-Wing Fighter",
    "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
    "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
    "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
    "creator_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version": 8,
    "version_count": 10,
    "version_date": "2017-02-15T12:34:56.789+0200",
    "version_author_id": "11040",
    "custom_attributes": {
      "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
    },
    "status": "IN_STOCK"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "category_id": {
        "type": "string",
        "description": "the id of the category used for creating this item `templateId`"
      },
      "title": {
        "type": "string",
        "description": "the display name of the item"
      },
      "id": {
        "type": "string",
        "description": "the stable pointer to the most current version `itemId`"
      },
      "version_id": {
        "type": "string",
        "description": "the unique id of the mdb item"
      },
      "category_version_id": {
        "type": "string",
        "description": "the id of the referenced category version"
      },
      "creator_id": {
        "type": "string",
        "description": "the id of the original author of this item"
      },
      "creation_date": {
        "type": "string",
        "description": "the creation date of the mdb item"
      },
      "version": {
        "type": "number",
        "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
      },
      "version_count": {
        "type": "number",
        "description": "the total number of versions available"
      },
      "version_date": {
        "type": "string",
        "description": "the last modification date of the mdb item"
      },
      "version_author_id": {
        "type": "string",
        "description": "the id of the person that edited this version of the item"
      },
      "custom_attributes": {
        "type": "object",
        "properties": {
          "0553c003-9014-47ef-9522-115ad7d4b3a1": {
            "type": [
              "string",
              "null"
            ],
            "description": "The attribute id plus it's associated value"
          }
        },
        "description": "The attribute values of this mdb item according to the category field"
      },
      "status": {
        "type": "string",
        "enum": [
          "IN_STOCK",
          "OUT_STOCK",
          "DELETED",
          "ORDERED"
        ],
        "description": "the stock status of the item"
      }
    },
    "required": [
      "category_id",
      "title",
      "id",
      "version_id",
      "category_version_id",
      "creator_id",
      "creation_date",
      "version",
      "version_count",
      "version_date",
      "version_author_id",
      "custom_attributes",
      "status"
    ]
  }
}
Request  ?expand=category
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
    "title": "X-Wing Fighter",
    "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
    "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
    "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
    "creator_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version": 8,
    "version_count": 10,
    "version_date": "2017-02-15T12:34:56.789+0200",
    "version_author_id": "11040",
    "custom_attributes": {
      "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
    },
    "status": "IN_STOCK",
    "category": {
      "title": "Luke's Private Vehicles",
      "attributes": [
        {
          "type": "Text",
          "title": "Model",
          "mandatory": false
        }
      ],
      "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
      "creator_id": "11038",
      "creation_date": "2017-02-10T12:34:56.789+0200",
      "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
      "version_date": "2017-02-15T12:34:56.789+0200",
      "version": 8
    }
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "category_id": {
        "type": "string",
        "description": "the id of the category used for creating this item `templateId`"
      },
      "title": {
        "type": "string",
        "description": "the display name of the item"
      },
      "id": {
        "type": "string",
        "description": "the stable pointer to the most current version `itemId`"
      },
      "version_id": {
        "type": "string",
        "description": "the unique id of the mdb item"
      },
      "category_version_id": {
        "type": "string",
        "description": "the id of the referenced category version"
      },
      "creator_id": {
        "type": "string",
        "description": "the id of the original author of this item"
      },
      "creation_date": {
        "type": "string",
        "description": "the creation date of the mdb item"
      },
      "version": {
        "type": "number",
        "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
      },
      "version_count": {
        "type": "number",
        "description": "the total number of versions available"
      },
      "version_date": {
        "type": "string",
        "description": "the last modification date of the mdb item"
      },
      "version_author_id": {
        "type": "string",
        "description": "the id of the person that edited this version of the item"
      },
      "custom_attributes": {
        "type": "object",
        "properties": {
          "0553c003-9014-47ef-9522-115ad7d4b3a1": {
            "type": [
              "string",
              "null"
            ],
            "description": "The attribute id plus it's associated value"
          }
        },
        "description": "The attribute values of this mdb item according to the category field"
      },
      "status": {
        "type": "string",
        "enum": [
          "IN_STOCK",
          "OUT_STOCK",
          "DELETED",
          "ORDERED"
        ],
        "description": "the stock status of the item"
      },
      "category": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "the display name of the category"
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "Text",
                    "Date",
                    "Number",
                    "Url"
                  ]
                },
                "title": {
                  "type": "string",
                  "description": "the display title of the attribute"
                },
                "mandatory": {
                  "type": "boolean",
                  "description": "is a value mandatory for this attribute"
                }
              },
              "required": [
                "type",
                "title",
                "mandatory"
              ]
            },
            "description": "The attributes for this item category"
          },
          "id": {
            "type": "string",
            "description": "the stable id of the category"
          },
          "creator_id": {
            "type": "string",
            "description": "the id of the original author"
          },
          "creation_date": {
            "type": "string",
            "description": "the creation date of the item category"
          },
          "version_id": {
            "type": "string",
            "description": "the unique id of the mdb item"
          },
          "version_date": {
            "type": "string",
            "description": "the last modification date of the item category"
          },
          "version": {
            "type": "number",
            "description": "the version number (it is automatically incremented for each modification on the category)"
          }
        },
        "required": [
          "title",
          "id",
          "creator_id",
          "creation_date",
          "version_id",
          "version_date",
          "version"
        ],
        "description": "the category referenced by the `category_id` property"
      }
    },
    "required": [
      "category_id",
      "title",
      "id",
      "version_id",
      "category_version_id",
      "creator_id",
      "creation_date",
      "version",
      "version_count",
      "version_date",
      "version_author_id",
      "custom_attributes",
      "status",
      "category"
    ]
  }
}

Get Item
GET/mdb/items/{id}{?expand}

Returns the current version of a material database item

Example URI

GET /mdb/items/d395ff8e-3430-4cb5-8d34-b0a3399bf6b3?expand=
URI Parameters
HideShow
id
string (required) Example: d395ff8e-3430-4cb5-8d34-b0a3399bf6b3

stable id of item

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all items returned.

Choices: category

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status"
  ],
  "additionalProperties": false
}
Request  ?expand=category
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK",
  "category": {
    "title": "Luke's Private Vehicles",
    "attributes": [
      {
        "type": "Text",
        "title": "Model",
        "mandatory": false
      }
    ],
    "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
    "creator_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
    "version_date": "2017-02-15T12:34:56.789+0200",
    "version": 8
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    },
    "category": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "the display name of the category"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "Text",
                  "Date",
                  "Number",
                  "Url"
                ]
              },
              "title": {
                "type": "string",
                "description": "the display title of the attribute"
              },
              "mandatory": {
                "type": "boolean",
                "description": "is a value mandatory for this attribute"
              }
            },
            "required": [
              "type",
              "title",
              "mandatory"
            ]
          },
          "description": "The attributes for this item category"
        },
        "id": {
          "type": "string",
          "description": "the stable id of the category"
        },
        "creator_id": {
          "type": "string",
          "description": "the id of the original author"
        },
        "creation_date": {
          "type": "string",
          "description": "the creation date of the item category"
        },
        "version_id": {
          "type": "string",
          "description": "the unique id of the mdb item"
        },
        "version_date": {
          "type": "string",
          "description": "the last modification date of the item category"
        },
        "version": {
          "type": "number",
          "description": "the version number (it is automatically incremented for each modification on the category)"
        }
      },
      "required": [
        "title",
        "id",
        "creator_id",
        "creation_date",
        "version_id",
        "version_date",
        "version"
      ],
      "description": "the category referenced by the `category_id` property"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status",
    "category"
  ],
  "additionalProperties": false
}

Get Item Version
GET/mdb/items/{id}/versions/{version_id}{?expand}

Returns the specified version of a material database item

Example URI

GET /mdb/items/d395ff8e-3430-4cb5-8d34-b0a3399bf6b3/versions/2493713e-9316-47b5-b9c8-c83332bdee30?expand=
URI Parameters
HideShow
id
string (required) Example: d395ff8e-3430-4cb5-8d34-b0a3399bf6b3

stable id of item

version_id
string (required) Example: 2493713e-9316-47b5-b9c8-c83332bdee30

version of the item

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all items returned

Choices: category

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status"
  ],
  "additionalProperties": false
}
Request  ?expand=category
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK",
  "category": {
    "title": "Luke's Private Vehicles",
    "attributes": [
      {
        "type": "Text",
        "title": "Model",
        "mandatory": false
      }
    ],
    "id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
    "creator_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
    "version_date": "2017-02-15T12:34:56.789+0200",
    "version": 8
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    },
    "category": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "the display name of the category"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "Text",
                  "Date",
                  "Number",
                  "Url"
                ]
              },
              "title": {
                "type": "string",
                "description": "the display title of the attribute"
              },
              "mandatory": {
                "type": "boolean",
                "description": "is a value mandatory for this attribute"
              }
            },
            "required": [
              "type",
              "title",
              "mandatory"
            ]
          },
          "description": "The attributes for this item category"
        },
        "id": {
          "type": "string",
          "description": "the stable id of the category"
        },
        "creator_id": {
          "type": "string",
          "description": "the id of the original author"
        },
        "creation_date": {
          "type": "string",
          "description": "the creation date of the item category"
        },
        "version_id": {
          "type": "string",
          "description": "the unique id of the mdb item"
        },
        "version_date": {
          "type": "string",
          "description": "the last modification date of the item category"
        },
        "version": {
          "type": "number",
          "description": "the version number (it is automatically incremented for each modification on the category)"
        }
      },
      "required": [
        "title",
        "id",
        "creator_id",
        "creation_date",
        "version_id",
        "version_date",
        "version"
      ],
      "description": "the category referenced by the `category_id` property"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status",
    "category"
  ],
  "additionalProperties": false
}

Create Item
POST/mdb/items

Create a material database item

Example URI

POST /mdb/items
Request  Create Item
HideShow
Headers
Content-Type: application/json
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    }
  },
  "required": [
    "category_id",
    "title"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /mdb/items/1d573349-347b-4e46-a956-863d4e2db356
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status"
  ],
  "additionalProperties": false
}
Request  Create Item with Custom Attribute
HideShow
Headers
Content-Type: application/json
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    }
  },
  "required": [
    "category_id",
    "title",
    "custom_attributes"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /mdb/items/1d573349-347b-4e46-a956-863d4e2db356
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status"
  ],
  "additionalProperties": false
}
Request  Create Item With Custom Stock Status
HideShow
Headers
Content-Type: application/json
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "status"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /mdb/items/1d573349-347b-4e46-a956-863d4e2db356
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status"
  ],
  "additionalProperties": false
}

Update Item
PUT/mdb/items/{id}

Update a material database item.

Example URI

PUT /mdb/items/d395ff8e-3430-4cb5-8d34-b0a3399bf6b3
URI Parameters
HideShow
id
string (required) Example: d395ff8e-3430-4cb5-8d34-b0a3399bf6b3

id of the item to update

Request  Update Item
HideShow
Headers
Content-Type: application/json
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    }
  },
  "required": [
    "category_id",
    "title",
    "id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "title": "X-Wing Fighter",
  "id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
  "version_id": "620c535d-45bd-497a-ad92-d0222f959d6b",
  "category_version_id": "1095e78f-9fba-4e8f-a224-b5f83f617809",
  "creator_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version": 8,
  "version_count": 10,
  "version_date": "2017-02-15T12:34:56.789+0200",
  "version_author_id": "11040",
  "custom_attributes": {
    "0553c003-9014-47ef-9522-115ad7d4b3a1": "1001"
  },
  "status": "IN_STOCK"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the id of the category used for creating this item `templateId`"
    },
    "title": {
      "type": "string",
      "description": "the display name of the item"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the most current version `itemId`"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the mdb item"
    },
    "category_version_id": {
      "type": "string",
      "description": "the id of the referenced category version"
    },
    "creator_id": {
      "type": "string",
      "description": "the id of the original author of this item"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb item"
    },
    "version": {
      "type": "number",
      "description": "the version number (it is automatically incremented for each modification on the item) `itemVersion`"
    },
    "version_count": {
      "type": "number",
      "description": "the total number of versions available"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the mdb item"
    },
    "version_author_id": {
      "type": "string",
      "description": "the id of the person that edited this version of the item"
    },
    "custom_attributes": {
      "type": "object",
      "properties": {
        "0553c003-9014-47ef-9522-115ad7d4b3a1": {
          "type": [
            "string",
            "null"
          ],
          "description": "The attribute id plus it's associated value"
        }
      },
      "description": "The attribute values of this mdb item according to the category field"
    },
    "status": {
      "type": "string",
      "enum": [
        "IN_STOCK",
        "OUT_STOCK",
        "DELETED",
        "ORDERED"
      ],
      "description": "the stock status of the item"
    }
  },
  "required": [
    "category_id",
    "title",
    "id",
    "version_id",
    "category_version_id",
    "creator_id",
    "creation_date",
    "version",
    "version_count",
    "version_date",
    "version_author_id",
    "custom_attributes",
    "status"
  ],
  "additionalProperties": false
}

Delete Item
DELETE/mdb/items/{id}

Deletes the Item. Note: the entity is not deleted, but is flagged as ‘hidden’.

Example URI

DELETE /mdb/items/e8292212-2cce-433c-afb9-a39236b5f0ca
URI Parameters
HideShow
id
string (required) Example: e8292212-2cce-433c-afb9-a39236b5f0ca

id of the item

Response  204

MDB Permissions

There are 4 different roles structured in a hierarchical way which can be assigned to users in the scope of a category:

  • CATEGORY_ADMIN (Owner) - Can update category attributes and permissions of the category in addition to “Editor” role capabilities

  • CATEGORY_EDITOR (Manager) - Can update category attributes in addition to “Manager” role capabilities

  • ITEM_EDITOR (Editor) - Can create/edit/delete items in the category in addition to “Viewer” role capabilities

  • CATEGORY_READER (Viewer) - Has only read access to the category and its items

Create Permission
POST/mdb/permissions

Set role for a user in the scope of a category. Note: A user can only have one role in the scope of a single category.

Example URI

POST /mdb/permissions
Request  Create Permission
HideShow
Headers
Content-Type: application/json
Body
{
  "user_id": "11040",
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "role": "CATEGORY_ADMIN"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "the user id for the role assignment"
    },
    "category_id": {
      "type": "string",
      "description": "the stable id of the category"
    },
    "role": {
      "type": "string",
      "enum": [
        "CATEGORY_ADMIN",
        "CATEGORY_EDITOR",
        "ITEM_EDITOR",
        "CATEGORY_READER"
      ]
    }
  },
  "required": [
    "user_id",
    "category_id",
    "role"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /mdb/permissions/5d69be48-6a11-4195-a25a-edce9973e291
Body
{
  "user_id": "11040",
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "role": "CATEGORY_ADMIN",
  "id": "5d69be48-6a11-4195-a25a-edce9973e291",
  "creation_date": "2020-01-01T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "the user id for the role assignment"
    },
    "category_id": {
      "type": "string",
      "description": "the stable id of the category"
    },
    "role": {
      "type": "string",
      "enum": [
        "CATEGORY_ADMIN",
        "CATEGORY_EDITOR",
        "ITEM_EDITOR",
        "CATEGORY_READER"
      ]
    },
    "id": {
      "type": "string",
      "description": "unique id of the permission"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the mdb permission object"
    }
  },
  "required": [
    "user_id",
    "category_id",
    "role",
    "id",
    "creation_date"
  ],
  "additionalProperties": false
}

Delete Permission
DELETE/mdb/permissions/{id}

Deletes the Permission. Note: Each category must have at least one manager role assigned to them.

Example URI

DELETE /mdb/permissions/49056fab-03ce-4835-8ad4-dbe3074c9323
URI Parameters
HideShow
id
string (required) Example: 49056fab-03ce-4835-8ad4-dbe3074c9323

id of the permission to delete

Response  204

Get Permissions By Category Id
GET/mdb/permissions{?category_id,expand}

Returns the list of all role assignments of a category.

Example URI

GET /mdb/permissions?category_id=b10b785d-d87d-48cf-9c0b-d7be08f377b2&expand=user
URI Parameters
HideShow
category_id
string (required) Example: b10b785d-d87d-48cf-9c0b-d7be08f377b2

The category id to show permissions for.

expand
string (optional) Example: user

A comma separated list of related domain objects that should be expanded for all items returned

Choices: user

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "user_id": "11040",
    "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
    "role": "CATEGORY_ADMIN",
    "id": "5d69be48-6a11-4195-a25a-edce9973e291",
    "creation_date": "2020-01-01T12:34:56.789+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "user_id": {
        "type": "string",
        "description": "the user id for the role assignment"
      },
      "category_id": {
        "type": "string",
        "description": "the stable id of the category"
      },
      "role": {
        "type": "string",
        "enum": [
          "CATEGORY_ADMIN",
          "CATEGORY_EDITOR",
          "ITEM_EDITOR",
          "CATEGORY_READER"
        ]
      },
      "id": {
        "type": "string",
        "description": "unique id of the permission"
      },
      "creation_date": {
        "type": "string",
        "description": "the creation date of the mdb permission object"
      }
    },
    "required": [
      "user_id",
      "category_id",
      "role",
      "id",
      "creation_date"
    ]
  }
}

MDB Import

Import Items into Category
POST/mdb/imports

Creates an import request by uploading excel file.

Example URI

POST /mdb/imports
Request  Import Items into Category
HideShow
Headers
Content-Type: multipart/form-data; boundary=--BOUNDARY
Body
----BOUNDARY
Content-Disposition: form-data; name="category_id"

e87e6534-2ae0-4139-bc48-cc668f330069
----BOUNDARY
Content-Disposition: form-data; name="file"; filename="file.xlsx"
Content-Transfer-Encoding: base64

[excel file content comes here]
----BOUNDARY
Content-Disposition: form-data; name="worksheet_index"

0
----BOUNDARY
Content-Disposition: form-data; name="attribute_to_column_map"

Name:0,attr-1-id:2,attr-2-id:1,attr-3-id:3
----BOUNDARY--
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /mdb/imports/20e699a3-4764-461f-a4bc-d10d7cbba3f0
Body
{
  "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
  "user_id": "11038",
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
  "status": "NEW",
  "creation_date": "2019-02-01T13:34:56.789+0200",
  "completion_date": "2019-02-01T13:35:30.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the unique id of the import request"
    },
    "user_id": {
      "type": "string",
      "description": "the unique id of the user, who created the import request"
    },
    "category_id": {
      "type": "string",
      "description": "the stable id of the category"
    },
    "status": {
      "type": "string",
      "enum": [
        "NEW",
        "RUNNING",
        "FINISHED",
        "REMOVED",
        "ERROR",
        "QUEUED",
        "ABORT_PARALLEL"
      ],
      "description": "the status of the import request"
    },
    "creation_date": {
      "type": "string",
      "description": "date when the import request was created"
    },
    "completion_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "date when the imported file was processed"
    }
  },
  "required": [
    "id",
    "user_id",
    "category_id",
    "status",
    "creation_date",
    "completion_date"
  ],
  "additionalProperties": false
}

List MDB Imports
GET/mdb/imports{?category_id,status}

Gets the list of MDB import summary

Example URI

GET /mdb/imports?category_id=e87e6534-2ae0-4139-bc48-cc668f330069&status=NEW
URI Parameters
HideShow
category_id
string (required) Example: e87e6534-2ae0-4139-bc48-cc668f330069

The category id to get MDB imports for.

status
string (optional) Example: NEW

The imported data status.

Choices: NEW RUNNING FINISHED REMOVED ERROR QUEUED ABORT_PARALLEL

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "id": "20e699a3-4764-461f-a4bc-d10d7cbba3f0",
    "user_id": "11038",
    "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069",
    "status": "NEW",
    "creation_date": "2019-02-01T13:34:56.789+0200",
    "completion_date": "2019-02-01T13:35:30.789+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "the unique id of the import request"
      },
      "user_id": {
        "type": "string",
        "description": "the unique id of the user, who created the import request"
      },
      "category_id": {
        "type": "string",
        "description": "the stable id of the category"
      },
      "status": {
        "type": "string",
        "enum": [
          "NEW",
          "RUNNING",
          "FINISHED",
          "REMOVED",
          "ERROR",
          "QUEUED",
          "ABORT_PARALLEL"
        ],
        "description": "the status of the import request"
      },
      "creation_date": {
        "type": "string",
        "description": "date when the import request was created"
      },
      "completion_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "date when the imported file was processed"
      }
    },
    "required": [
      "id",
      "user_id",
      "category_id",
      "status",
      "creation_date",
      "completion_date"
    ]
  }
}

MDB Export

Export Category Items
POST/mdb/exports

Creates an export request for the specified category and returns the items as excel (xlsx) file.

Example URI

POST /mdb/exports
Request  Export Category Items
HideShow
Headers
Content-Type: application/json
Body
{
  "category_id": "e87e6534-2ae0-4139-bc48-cc668f330069"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "category_id": {
      "type": "string",
      "description": "the stable id of the category"
    }
  },
  "required": [
    "category_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: `attachment;filename="export.xlsx"`

Entry Elements

An Entry Element is a single element inside a notebook entry. An entry can consist of multiple elements laid out in a grid. These elements can be of different types. For example text elements, file elements (for upload files), image elements (for images) and tables.

Element for each type can be managed through different endpoints which are described in detail in the following sections. You need to create an entry first before you can add elements to it.

All operations on elements are automatically versioned through the containing entry. A new entry version will be created for each added, edited or removed element.

The following operations are available for elements:

File elements

Files can be added to notebook entries through the use of File Elements.

Currently it is possible to upload all kinds of file types. Known types will trigger front end functionality (e.g. Extract…).

Here are the supported types for frontend functionality:

Images

  • PNG/X-PNG (image/png, image/x-png)

  • JPG/JPEG/PJPG/PJPEG (image/jpg, image/jpeg, image/pjpg, image/pjpeg)

  • GIF (image/gif)

  • BMP (image/bmp)

  • TIFF (image/tiff)

Spreadsheets

  • MS Office Excel (application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)

Texts

  • MS Office Word (application/msword)

  • CSV (text/csv)

Create File Element
POST/elements/file{?entry_id,file_name}

Create a file element for the provided notebook entry.

Send the raw binary content of the file as the request body using the appropriate (matching) Content-Type header.

Example URI

POST /elements/file?entry_id=938302&file_name=results.docx
URI Parameters
HideShow
entry_id
string (required) Example: 938302

id of the entry to add the file element to.

file_name
string (required) Example: results.docx

The name of the file

Request  /elements/file?entry_id=938302&file_name=results.docx
HideShow
Headers
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Body
... file content as binary ...
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/file/67f7eb4dc5755c25a1555d2d5ecfd389406b3791
Body
{
  "id": "767930",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "FILE",
  "file_name": "results.docx",
  "file_size": 14020,
  "content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "FILE"
      ],
      "description": "Denotes that this is a file element. The value is always `FILE`"
    },
    "file_name": {
      "type": "string",
      "description": "The name of the file"
    },
    "file_size": {
      "type": "number",
      "description": "The size of the file in bytes"
    },
    "content_type": {
      "type": "string",
      "description": "The type of the binary content which is sent on header parameter `Content-Type`"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "file_name",
    "file_size",
    "content_type"
  ],
  "additionalProperties": false
}

Get File Element
GET/elements/file/{id}

Returns the latest version of the file element

Example URI

GET /elements/file/67f7eb4dc5755c25a1555d2d5ecfd389406b3791
URI Parameters
HideShow
id
string (required) Example: 67f7eb4dc5755c25a1555d2d5ecfd389406b3791

stable id of file element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "767930",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "FILE",
  "file_name": "results.docx",
  "file_size": 14020,
  "content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "FILE"
      ],
      "description": "Denotes that this is a file element. The value is always `FILE`"
    },
    "file_name": {
      "type": "string",
      "description": "The name of the file"
    },
    "file_size": {
      "type": "number",
      "description": "The size of the file in bytes"
    },
    "content_type": {
      "type": "string",
      "description": "The type of the binary content which is sent on header parameter `Content-Type`"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "file_name",
    "file_size",
    "content_type"
  ],
  "additionalProperties": false
}

Download File
GET/elements/file/{id}/download

Access the file stored in the current version of the file element. If a file exists, the Content-Type header will match that of the file being accessed. If the file element is empty, no content will be returned.

Example URI

GET /elements/file/67f7eb4dc5755c25a1555d2d5ecfd389406b3791/download
URI Parameters
HideShow
id
string (required) Example: 67f7eb4dc5755c25a1555d2d5ecfd389406b3791

stable id of file element

Response  200
HideShow
Headers
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Content-Disposition: attachment;filename="results.docx"
Content-Length: 76586
Body
... file content as binary ...

Preview File
GET/elements/file/{id}/preview

Download a converted file for preview purposes. Currently supported file preview conversions:

DOCX → PDF

Example URI

GET /elements/file/67f7eb4dc5755c25a1555d2d5ecfd389406b3791/preview
URI Parameters
HideShow
id
string (required) Example: 67f7eb4dc5755c25a1555d2d5ecfd389406b3791

stable id of file element

Response  200
HideShow
Headers
Content-Type: application/pdf
Content-Disposition: attachment;filename="my_file.pdf"
Content-Length: 12045
Body
... file content as binary ...

Data elements

Structured data can be added to notebook entries through the use of Data Elements.

There are three types of data elements: Individual Elements, Groups, and Material Elements.

Individual Elements

Individual elements are single measurements or observations which can contain <title> <value> <unit>.

NaCL    300     mg
<title> <value> <unit>

as JSON:

{
  'title': 'NaCL',
  'value': '300',
  'unit': 'mg',
  'type': 'SINGLE_DATA_ELEMENT'
}

When creating a data element it is not always necessary to provide a value for all possible fields. You can omit the value when creating a placeholder to fill out later (when creating within a template entry).

NaCl     mg
<title>  <value>

as JSON:

{
  'title': 'NaCL',
  'unit': 'mg',
  'type': 'SINGLE_DATA_ELEMENT'
}

You can also omit the unit when providing dimensionless data.

Success  true
<title>  <value>

as JSON:

{
  'title': 'Success',
  'value': 'true',
  'type': 'SINGLE_DATA_ELEMENT'
}

Supported Units

  • Gy (Absolute Dose)

  • m/s^2 (Acceleration)

  • pmol (Amount of substance)

  • nmol (Amount of substance)

  • µmol (Amount of substance)

  • mmol (Amount of substance)

  • mol (Amount of substance)

  • kmol (Amount of substance)

  • Mmol (Amount of substance)

  • mmol/g (Amount of substance / Mass)

  • rad/s^2 (Angular Acceleration)

  • kg/m^2 s^-1 (Angular Momentum)

  • rad/s (Angular Speed)

  • kDa (Atomic Mass)

  • Da (Atomic Mass)

  • u (Atomic Mass)

  • µF (Capacitance)

  • F (Capacitance)

  • rpm (Centrifugation)

  • G-force (Centrifugation)

  • J/mol (Chemical Potential)

  • particles (Counts)

  • copies (Counts)

  • cells (Counts)

  • kg/m^3 (Density)

  • lb/gal (Density)

  • nm (Diameter)

  • µm (Diameter)

  • mm (Diameter)

  • cm (Diameter)

  • m (Diameter)

  • 1:x (Dilution)

  • x:1 (Dilution)

  • Gy/s (Dose Rate)

  • CP (Dynamic Viscosity)

  • C (Electric Charge)

  • C/m^3 (Electric Charge Density)

  • S (Electric Conductance)

  • C/m^2 (Electric Displacement)

  • V/m (Electric Field Strength)

  • C (Electric Flux)

  • S/m (Electrical Conductivity)

  • S/cm (Electrical Conductivity)

  • nA (Electrical Current)

  • µA (Electrical Current)

  • mA (Electrical Current)

  • A (Electrical Current)

  • mV (Electrical Potential)

  • V (Electrical Potential)

  • kV (Electrical Potential)

  • ohm (Electrical Resistance)

  • ohm m (Electrical Resistivity)

  • cm^2 V^-1 s^-1 (Electron mobility)

  • cal (Energy)

  • kcal (Energy)

  • J (Energy)

  • kJ (Energy)

  • MJ (Energy)

  • J/m^3 (Energy Density)

  • J/mol (Enthalpy)

  • cal/mol (Enthalpy)

  • kJ/mol (Enthalpy)

  • J K^-1 kg^-1 (Entropy)

  • J K^-1 mol^-1 (Entropy)

  • U/µg (Enzyme Activity)

  • U/mg (Enzyme Activity)

  • U/µL (Enzyme Activity)

  • U/mL (Enzyme Activity)

  • C/kg (Exposure (X and gamma rays))

  • % of total (Flow Cytometry)

  • % of parent (Flow Cytometry)

  • events (Flow Cytometry)

  • mL/min (Flow Rate)

  • m^3/s (Flow Rate)

  • sccm (Flow Rate)

  • N (Force)

  • µN (Force)

  • Hz (Frequency)

  • kHz (Frequency)

  • MHz (Frequency)

  • Pa (Fugacity)

  • J (Heat)

  • J/K (Heat Capacity)

  • lx (Illuminance)

  • cd sr m^-2 (Illuminance)

  • phot (Illuminance)

  • cSt (Kinematic Viscosity)

  • mSt (Kinematic Viscosity)

  • µSt (Kinematic Viscosity)

  • nSt (Kinematic Viscosity)

  • m (Length)

  • mm (Length)

  • nm (Length)

  • µm (Length)

  • cm (Length)

  • lm (Luminous Flux)

  • cd (Luminous Intensity)

  • Wb m (Magnetic Dipole Moment)

  • A/m (Magnetic Field Strength)

  • V s (Magnetic Flux)

  • Wb (Magnetic Flux)

  • T (Magnetic Flux Density)

  • Wb/m^2 (Magnetic Flux Density)

  • A m^2 (Magnetic Moment)

  • Wb/m^2 (Magnetic Moment)

  • T (Magnetic Polarization)

  • Wb/m^2 (Magnetic Polarization)

  • A (Magnetic Potential Difference)

  • A m^2/kg (Magnetization (Mass))

  • Wb m/kg (Magnetization (Mass))

  • A/m (Magnetization (Volume))

  • pg (Mass)

  • g (Mass)

  • mg (Mass)

  • µg (Mass)

  • ng (Mass)

  • kg (Mass)

  • % (Mass concentration)

  • pg/µL (Mass concentration)

  • µg/µL (Mass concentration)

  • pg/mL (Mass concentration)

  • ng/mL (Mass concentration)

  • mg/mL (Mass concentration)

  • g/L (Mass concentration)

  • mg/L (Mass concentration)

  • g/mL (Mass concentration)

  • ng/µl (Mass concentration)

  • µg/L (Mass concentration)

  • µg/mL (Mass concentration)

  • kg (Mass of Entity)

  • pack (Material/Packaging)

  • case (Material/Packaging)

  • each (Material/Packaging)

  • count (Material/Packaging)

  • units (Material/Packaging)

  • % (Molar concentration)

  • yM (Molar concentration)

  • zM (Molar concentration)

  • aM (Molar concentration)

  • fM (Molar concentration)

  • pM (Molar concentration)

  • nM (Molar concentration)

  • µM (Molar concentration)

  • mM (Molar concentration)

  • M (Molar concentration)

  • g/mol (Molar mass)

  • m^3/mol (Molar Volume)

  • % (Percent)

  • percentile (Percent)

  • H/m (Permeability)

  • Wb/A m (Permeability)

  • F/m (Permittivity)

  • px (Pixel)

  • W (Power)

  • Pa (Pressure)

  • bar (Pressure)

  • Torr (Pressure)

  • atm (Pressure)

  • Bq (Radioactivity)

  • Ci (Radioactivity)

  • mol/m^3 (Solubility)

  • m/s (Speed)

  • m/s (Speed of Light (Medium))

  • m/s (Speed of Light (Vacuum))

  • m^3/kg (Susceptibility (Mass))

  • H m^2/kg (Susceptibility (Mass))

  • H/m (Susceptibility (volume))

  • Wb/A m (Susceptibility (volume))

  • kgf/cm (Tear Strength)

  • kN/m (Tear Strength)

  • ppi (Tear Strength)

  • °C (Temperature)

  • °F (Temperature)

  • K (Temperature)

  • °C/s (Temperature Ramp Rate)

  • °C/min (Temperature Ramp Rate)

  • °C/h (Temperature Ramp Rate)

  • K/min (Temperature Ramp Rate)

  • K/h (Temperature Ramp Rate)

  • PSI (Tensile Strength)

  • J/K (Thermal capacity)

  • kg m^2/K s^2 (Thermal capacity)

  • cm (Thickness)

  • mm (Thickness)

  • µm (Thickness)

  • nm (Thickness)

  • sec (Time)

  • msec (Time)

  • minute(s) (Time)

  • hour(s) (Time)

  • day(s) (Time)

  • month(s) (Time)

  • year(s) (Time)

  • PFU/mL (Titer)

  • PFU/µL (Titer)

  • TCID50/mL (Titer)

  • TCID50/µL (Titer)

  • copies/mL (Titer)

  • copies/µL (Titer)

  • IU/mL (Titer)

  • IU/µL (Titer)

  • LPs/mL (Titer)

  • LPs/µL (Titer)

  • cells/mL (Titer)

  • cells/µL (Titer)

  • cells/m^2 (Titer)

  • cells/cm^2 (Titer)

  • N m (Torque)

  • L (Volume)

  • mL (Volume)

  • µL (Volume)

  • nL (Volume)

  • cl (Volume)

  • dl (Volume)

  • % v/v (Volume concentration)

  • % w/v (Volume concentration)

  • % w/w (Volume concentration)

  • cm-1 (Wave Number)

  • mm (Wavelength)

  • µm (Wavelength)

  • nm (Wavelength)

  • N (Weight)

  • J (Work)

Data Element Groups

Data Element Groups are used to create structure around other data elements. Groups only have a <title>. Additional elements can be associated with the group using the children property

<title>
Solution XYZ

as JSON (a Data Element Group without children):

{
  'title': 'Solution ABC',
  'type': 'DATA_ELEMENT_GROUP'
}

or (a Data Element Group with children)

{
  'title': 'Solution DEF',
  'type': 'DATA_ELEMENT_GROUP',
  'children': [
    {
      'title': 'NaCL',
      'value': '300',
      'unit': 'mg',
      'type': 'SINGLE_DATA_ELEMENT'
    },
    {
      'title': 'Water',
      'value': '1000',
      'unit': 'mL',
      'type': 'SINGLE_DATA_ELEMENT'
    }
  ]
}

Get Data Element
GET/elements/data/{id}

Returns the latest version of the data element container

Example URI

GET /elements/data/b2e30352695154a0b37894241086abdb42060fab
URI Parameters
HideShow
id
string (required) Example: b2e30352695154a0b37894241086abdb42060fab

stable id of data element container

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "b2e30352695154a0b37894241086abdb42060fab",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "SINGLE_DATA_ELEMENT",
      "title": "Water",
      "value": "300",
      "unit": "mL"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}

Get Data Element Version
GET/elements/data/{id}/version/{versionId}

Returns the data element in the specified version

Example URI

GET /elements/data/b2e30352695154a0b37894241086abdb42060fab/version/2309989
URI Parameters
HideShow
id
string (required) Example: b2e30352695154a0b37894241086abdb42060fab

stable id of data element container

versionId
string (required) Example: 2309989

element version id of the data element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "b2e30352695154a0b37894241086abdb42060fab",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "SINGLE_DATA_ELEMENT",
      "title": "Water",
      "value": "300",
      "unit": "mL"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}

Create Data Element
POST/elements/data

Create a data element container for the provided notebook entry.

Example URI

POST /elements/data
Request  Create Data Element Group
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "data_elements": [
    {
      "type": "DATA_ELEMENT_GROUP",
      "title": "Solution XYZ",
      "children": [
        {
          "type": "SINGLE_DATA_ELEMENT",
          "title": "NaCl",
          "value": "200",
          "unit": "mL"
        },
        {
          "type": "SINGLE_DATA_ELEMENT",
          "title": "Love",
          "value": "900",
          "unit": "mL"
        },
        {
          "type": "SINGLE_DATA_ELEMENT",
          "title": "Water",
          "value": "300",
          "unit": "mL"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which the element will be created in."
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "entry_id",
    "data_elements"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/data/767930
Body
{
  "id": "767930",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "DATA_ELEMENT_GROUP",
      "title": "Solution XYZ",
      "children": [
        {
          "type": "SINGLE_DATA_ELEMENT",
          "title": "NaCl",
          "value": "200",
          "unit": "mL"
        },
        {
          "type": "SINGLE_DATA_ELEMENT",
          "title": "Love",
          "value": "900",
          "unit": "mL"
        },
        {
          "type": "SINGLE_DATA_ELEMENT",
          "title": "Water",
          "value": "300",
          "unit": "mL"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}
Request  Create Single Data Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "data_elements": [
    {
      "type": "SINGLE_DATA_ELEMENT",
      "title": "Water",
      "value": "300",
      "unit": "mL"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which the element will be created in."
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "entry_id",
    "data_elements"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/data/767930
Body
{
  "id": "767930",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "SINGLE_DATA_ELEMENT",
      "title": "Water",
      "value": "300",
      "unit": "mL"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}
Request  Create Material Data Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "data_elements": [
    {
      "type": "MATERIAL_DATA_ELEMENT",
      "item_id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which the element will be created in."
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "entry_id",
    "data_elements"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/data/767930
Body
{
  "id": "767930",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "MATERIAL_DATA_ELEMENT",
      "item_id": "d395ff8e-3430-4cb5-8d34-b0a3399bf6b3",
      "item_version_id": "2493713e-9316-47b5-b9c8-c83332bdee30",
      "item_title": "Lasersword"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}
Request  Create Descriptive Data Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "data_elements": [
    {
      "type": "DESCRIPTIVE_DATA_ELEMENT",
      "title": "Descriptive XYZ",
      "description": "Some very scientific and hard to understand description which will ruin the nature first and then rescue it"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which the element will be created in."
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "entry_id",
    "data_elements"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/data/767930
Body
{
  "id": "767930",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "DESCRIPTIVE_DATA_ELEMENT",
      "title": "Descriptive XYZ",
      "description": "Some very scientific and hard to understand description which will ruin the nature first and then rescue it"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}

Update Data Element
PUT/elements/data/{id}

Update a data element container for the provided notebook entry.

Example URI

PUT /elements/data/b2e30352695154a0b37894241086abdb42060fab
URI Parameters
HideShow
id
string (required) Example: b2e30352695154a0b37894241086abdb42060fab

stable id of data element container

Request  Update Data Element
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "b2e30352695154a0b37894241086abdb42060fab",
  "entry_id": "938307",
  "data_elements": [
    {
      "type": "SINGLE_DATA_ELEMENT",
      "title": "Water",
      "value": "300",
      "unit": "mL"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable id of data element container"
    },
    "entry_id": {
      "type": "string",
      "description": "the stable id of the entry which the element will be created in."
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "data_elements"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "b2e30352695154a0b37894241086abdb42060fab",
  "entry_id": "938307",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "DATA",
  "data_elements": [
    {
      "type": "SINGLE_DATA_ELEMENT",
      "title": "Water",
      "value": "300",
      "unit": "mL"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "DATA"
      ],
      "description": "Denotes that this is a data elements entry element. The value is always `DATA`"
    },
    "data_elements": {
      "type": "array",
      "description": "The data elements. See description of data elements for details on format."
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "data_elements"
  ],
  "additionalProperties": false
}

Table elements

Table Data can be added to notebook entries. Table element may have a title and content in the Grapecity Spread.JS format. The object sent in the field content must be valid according to the Grapecity Documentation for JSON schema.

Get Table Element
GET/elements/table/{id}

Returns the latest version of the table element

Example URI

GET /elements/table/3d39ed9a99e4a8b1b0de4944d3eef9903174554e
URI Parameters
HideShow
id
string (required) Example: 3d39ed9a99e4a8b1b0de4944d3eef9903174554e

stable id of table element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "0801c8932f4567dc59eeb806d3c2f2be592a99ac",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "TABLE",
  "title": "Rebellion Table",
  "content": null
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TABLE"
      ],
      "description": "Denotes that this is a table element. The value is always `TABLE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the table"
    },
    "content": {
      "type": [
        "object",
        "null"
      ],
      "properties": {},
      "description": "The JSON content of the table element"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content"
  ],
  "additionalProperties": false
}

Get Table Element Version
GET/elements/table/{id}/version/{versionId}

Returns the table element in the specified version

Example URI

GET /elements/table/3d39ed9a99e4a8b1b0de4944d3eef9903174554e/version/2309984
URI Parameters
HideShow
id
string (required) Example: 3d39ed9a99e4a8b1b0de4944d3eef9903174554e

stable id of table element

versionId
string (required) Example: 2309984

element version id of the table element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "0801c8932f4567dc59eeb806d3c2f2be592a99ac",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "TABLE",
  "title": "Rebellion Table",
  "content": null
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TABLE"
      ],
      "description": "Denotes that this is a table element. The value is always `TABLE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the table"
    },
    "content": {
      "type": [
        "object",
        "null"
      ],
      "properties": {},
      "description": "The JSON content of the table element"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content"
  ],
  "additionalProperties": false
}

Create Table Element
POST/elements/table

Create a table element container for the provided notebook entry.

Example URI

POST /elements/table
Request  Create Table Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "title": "New Table Title",
  "content": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "The id of the notebook entry"
    },
    "title": {
      "type": "string",
      "description": "The title of the table"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the table element"
    }
  },
  "required": [
    "entry_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/table/3d39ed9a99e4a8b1b0de4944d3eef9903174554e
Body
{
  "id": "0801c8932f4567dc59eeb806d3c2f2be592a99ac",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "TABLE",
  "title": "Rebellion Table",
  "content": null
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TABLE"
      ],
      "description": "Denotes that this is a table element. The value is always `TABLE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the table"
    },
    "content": {
      "type": [
        "object",
        "null"
      ],
      "properties": {},
      "description": "The JSON content of the table element"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content"
  ],
  "additionalProperties": false
}

Update Table Element
PUT/elements/table/{id}

Update a table element container for the provided notebook entry.

Example URI

PUT /elements/table/3d39ed9a99e4a8b1b0de4944d3eef9903174554e
URI Parameters
HideShow
id
string (required) Example: 3d39ed9a99e4a8b1b0de4944d3eef9903174554e

stable id of table element

Request  Update Table Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "title": "Updated Table Title",
  "content": {},
  "id": "3d39ed9a99e4a8b1b0de4944d3eef9903174554e"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "The id of the notebook entry"
    },
    "title": {
      "type": "string",
      "description": "The title of the table"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the table element"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the table element"
    }
  },
  "required": [
    "entry_id",
    "id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "0801c8932f4567dc59eeb806d3c2f2be592a99ac",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "TABLE",
  "title": "Rebellion Table",
  "content": null
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TABLE"
      ],
      "description": "Denotes that this is a table element. The value is always `TABLE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the table"
    },
    "content": {
      "type": [
        "object",
        "null"
      ],
      "properties": {},
      "description": "The JSON content of the table element"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content"
  ],
  "additionalProperties": false
}

Well Plate Template elements

Get Well Plate Template Element
GET/elements/well-plate/{id}

Returns the latest version of the well plate template element

Example URI

GET /elements/well-plate/b9a96ee06634083866155d41cd8ff932f9d6fa9c
URI Parameters
HideShow
id
string (required) Example: b9a96ee06634083866155d41cd8ff932f9d6fa9c

stable id of well plate template element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "b9a96ee06634083866155d41cd8ff932f9d6fa9c",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "WELL_PLATE",
  "title": "Great Wells Plate Template",
  "content": {},
  "meta_data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "WELL_PLATE"
      ],
      "description": "Denotes that this is a well plate template element. The value is always `WELL_PLATE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the well plate template"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the well plate template element"
    },
    "meta_data": {
      "type": "object",
      "properties": {},
      "description": "JSON meta data for visualization processing, used to store information about layer colors and well identifiers"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content",
    "meta_data"
  ],
  "additionalProperties": false
}

Get Well Plate Template Element Version
GET/elements/well-plate/{id}/version/{versionId}

Returns the well plate template element in the specified version

Example URI

GET /elements/well-plate/b9a96ee06634083866155d41cd8ff932f9d6fa9c/version/2309987
URI Parameters
HideShow
id
string (required) Example: b9a96ee06634083866155d41cd8ff932f9d6fa9c

stable id of well plate template element

versionId
string (required) Example: 2309987

element version id of the well plate template element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "b9a96ee06634083866155d41cd8ff932f9d6fa9c",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "WELL_PLATE",
  "title": "Great Wells Plate Template",
  "content": {},
  "meta_data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "WELL_PLATE"
      ],
      "description": "Denotes that this is a well plate template element. The value is always `WELL_PLATE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the well plate template"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the well plate template element"
    },
    "meta_data": {
      "type": "object",
      "properties": {},
      "description": "JSON meta data for visualization processing, used to store information about layer colors and well identifiers"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content",
    "meta_data"
  ],
  "additionalProperties": false
}

Create Well Plate Template Element
POST/elements/well-plate

Create a well plate template element container for the provided notebook entry.

Example URI

POST /elements/well-plate
Request  Create Well Plate Template Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938305",
  "title": "New Well Plate Template Title",
  "content": {},
  "meta_data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "The id of the notebook entry"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the well plate template"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the well plate template element"
    },
    "meta_data": {
      "type": "object",
      "properties": {},
      "description": "JSON meta data for visualization processing, used to store information about layer colors and well identifiers"
    }
  },
  "required": [
    "entry_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/well-plate/b9a96ee06634083866155d41cd8ff932f9d6fa9c
Body
{
  "id": "b9a96ee06634083866155d41cd8ff932f9d6fa9c",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "WELL_PLATE",
  "title": "Great Wells Plate Template",
  "content": {},
  "meta_data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "WELL_PLATE"
      ],
      "description": "Denotes that this is a well plate template element. The value is always `WELL_PLATE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the well plate template"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the well plate template element"
    },
    "meta_data": {
      "type": "object",
      "properties": {},
      "description": "JSON meta data for visualization processing, used to store information about layer colors and well identifiers"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content",
    "meta_data"
  ],
  "additionalProperties": false
}

Update Well Plate Template Element
PUT/elements/well-plate/{id}

Update a well plate template element container for the provided notebook entry.

Example URI

PUT /elements/well-plate/b9a96ee06634083866155d41cd8ff932f9d6fa9c
URI Parameters
HideShow
id
string (required) Example: b9a96ee06634083866155d41cd8ff932f9d6fa9c

stable id of well plate template element

Request  Update Well Plate Template Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938305",
  "title": "Updated Well Plate Template Title",
  "content": {},
  "meta_data": {},
  "id": "b9a96ee06634083866155d41cd8ff932f9d6fa9c"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "The id of the notebook entry"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the well plate template"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the well plate template element"
    },
    "meta_data": {
      "type": "object",
      "properties": {},
      "description": "JSON meta data for visualization processing, used to store information about layer colors and well identifiers"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the well plate template element"
    }
  },
  "required": [
    "entry_id",
    "id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "b9a96ee06634083866155d41cd8ff932f9d6fa9c",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "element_type": "WELL_PLATE",
  "title": "Great Wells Plate Template",
  "content": {},
  "meta_data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "WELL_PLATE"
      ],
      "description": "Denotes that this is a well plate template element. The value is always `WELL_PLATE`"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "The title of the well plate template"
    },
    "content": {
      "type": "object",
      "properties": {},
      "description": "The JSON content of the well plate template element"
    },
    "meta_data": {
      "type": "object",
      "properties": {},
      "description": "JSON meta data for visualization processing, used to store information about layer colors and well identifiers"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "element_type",
    "title",
    "content",
    "meta_data"
  ],
  "additionalProperties": false
}

Text elements

Get Text Element
GET/elements/text/{id}

Returns the latest version of the text element

Example URI

GET /elements/text/dd0e1a868ae56843706dcaf11f88a55ca87ad578
URI Parameters
HideShow
id
string (required) Example: dd0e1a868ae56843706dcaf11f88a55ca87ad578

stable id of text element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "dd0e1a868ae56843706dcaf11f88a55ca87ad578",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "content": "J is the only letter that does not appear in the periodic table of elements.",
  "element_type": "TEXT"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "content": {
      "type": "string",
      "description": "The text based content of this element"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TEXT"
      ],
      "description": "Denotes that this is a text element. The value is always `TEXT`"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "content",
    "element_type"
  ],
  "additionalProperties": false
}

Get Text Element Version
GET/elements/text/{id}/version/{versionId}

Returns the text element in the specified version

Example URI

GET /elements/text/dd0e1a868ae56843706dcaf11f88a55ca87ad578/version/2309983
URI Parameters
HideShow
id
string (required) Example: dd0e1a868ae56843706dcaf11f88a55ca87ad578

stable id of text element

versionId
string (required) Example: 2309983

element version id of the text element

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "dd0e1a868ae56843706dcaf11f88a55ca87ad578",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "content": "J is the only letter that does not appear in the periodic table of elements.",
  "element_type": "TEXT"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "content": {
      "type": "string",
      "description": "The text based content of this element"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TEXT"
      ],
      "description": "Denotes that this is a text element. The value is always `TEXT`"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "content",
    "element_type"
  ],
  "additionalProperties": false
}

Create Text Element
POST/elements/text

Create a new text element for the provided notebook entry.

The text element content may be plain text or basic HTML.

Note: Images should be included in the entry as file elements. Avoid using the <img> tag whenever possible. Instead, upload the image directly as a file element. HTML image tags (<img>) are not supported in the text element. If image tags are present they will be transformed to hyperlinks. To perform a successful automatic conversion from <img> to <a>, the src attribute of the image tag must be an absolute URL with protocol http or https. Even in the event of a successful conversion to <a> tag, there is no guarantee that the link will be functional.

In general, as a result of html processing, the request content may differ from the response content.

Example URI

POST /elements/text
Request  Create Text Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "content": "J is the only letter that does not appear in the periodic table of elements."
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "The id of the notebook entry"
    },
    "content": {
      "type": [
        "string",
        "null"
      ],
      "description": "Text based content to be added to the end of the entry"
    }
  },
  "required": [
    "entry_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /elements/text/dd0e1a868ae56843706dcaf11f88a55ca87ad578
Body
{
  "id": "dd0e1a868ae56843706dcaf11f88a55ca87ad578",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "content": "J is the only letter that does not appear in the periodic table of elements.",
  "element_type": "TEXT"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "content": {
      "type": "string",
      "description": "The text based content of this element"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TEXT"
      ],
      "description": "Denotes that this is a text element. The value is always `TEXT`"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "content",
    "element_type"
  ],
  "additionalProperties": false
}

Update Text Element
PUT/elements/text/{id}

Update a text element container for the provided notebook entry

The text element content may be plain text or basic HTML.

Note: Images should be included in the entry as file elements. Avoid using the <img> tag whenever possible. Instead, upload the image directly as a file element. HTML image tags (<img>) are not supported in the text element. If image tags are present they will be transformed to hyperlinks. To perform a successful automatic conversion from <img> to <a>, the src attribute of the image tag must be an absolute URL with protocol http or https. Even in the event of a successful conversion to <a> tag, there is no guarantee that the link will be functional.

In general, as a result of html processing, the request content may differ from the response content.

Example URI

PUT /elements/text/dd0e1a868ae56843706dcaf11f88a55ca87ad578
URI Parameters
HideShow
id
string (required) Example: dd0e1a868ae56843706dcaf11f88a55ca87ad578

stable id of text element

Request  Update Text Element
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938302",
  "content": "There are 118 elements in the periodic table.",
  "id": "dd0e1a868ae56843706dcaf11f88a55ca87ad578"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "The id of the notebook entry"
    },
    "content": {
      "type": [
        "string",
        "null"
      ],
      "description": "Text based content"
    },
    "id": {
      "type": "string",
      "description": "the stable pointer to the text element"
    }
  },
  "required": [
    "entry_id",
    "id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "id": "dd0e1a868ae56843706dcaf11f88a55ca87ad578",
  "entry_id": "938302",
  "version_id": "767930",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200",
  "content": "There are 118 elements in the periodic table.",
  "element_type": "TEXT"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "the stable pointer to the element"
    },
    "entry_id": {
      "type": "string",
      "description": "the id of the stable pointer to the entry"
    },
    "version_id": {
      "type": "string",
      "description": "the unique id of the element"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the entry element (first version)"
    },
    "version_date": {
      "type": "string",
      "description": "the creation date of the entry element version (same with the creation date on the first version)"
    },
    "content": {
      "type": "string",
      "description": "The text based content of this element"
    },
    "element_type": {
      "type": "string",
      "enum": [
        "TEXT"
      ],
      "description": "Denotes that this is a text element. The value is always `TEXT`"
    }
  },
  "required": [
    "id",
    "entry_id",
    "version_id",
    "owner_id",
    "creation_date",
    "version_date",
    "content",
    "element_type"
  ],
  "additionalProperties": false
}

Signature Workflows

A Signature Workflow is a procedure in which the intentions, actions, and people responsible for undertaking a reviewing process are set out through one or more sequential signatures.

The following operations are available for signature workflows:

Signature Workflows Resource

List Signature Workflows
GET/signature-workflows{?group_id,project_id,folder_id,status,limit,offset,expand}

Returns the list of all signature workflows. Exactly one of the parameters group_id, project_id, or folder_id must be provided.

Example URI

GET /signature-workflows?group_id=1200&project_id=&folder_id=&status=DRAFT&limit=&offset=&expand=
URI Parameters
HideShow
group_id
string (optional) Example: 1200

Only return the workflows that belong to the specified group

project_id
string (optional) 

Only return the workflows that are applicable to the specified project

folder_id
string (optional) 

Only return the workflows that are applicable to the specified folder

status
string (optional) Example: DRAFT

A comma separated list of statuses to be filtered.

Choices: DRAFT PUBLISHED ACTIVE HIDDEN

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all workflows returned.

Choices: owner

limit
number (optional) Default: 20 

Maximum number of signature workflow to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "title": "Luke's Signature Workflow",
    "group_id": "1200",
    "project_ids": [
      "36276"
    ],
    "folder_ids": [
      "36277"
    ],
    "target_project_id": "Hello, world!",
    "signature_definitions": [
      {
        "title": "Luke's First Signature",
        "approval_intention": {
          "label": "Signed By",
          "body": "I hereby certify that I carried out the documented steps"
        },
        "rejection_intention": {
          "label": "Rejected By",
          "body": "I observe that the documented results do not match with my findings"
        },
        "signable_by_author": true,
        "rejectable_by_reviewer": false,
        "notify_reviewer_by_email": false,
        "actions": [
          {
            "triggered_by": "APPROVAL",
            "type": "ADD_COMMENT",
            "body": "{}"
          }
        ],
        "signee_ids": [
          "11038"
        ]
      },
      {
        "title": "Luke's First Signature",
        "approval_intention": {
          "label": "Signed By",
          "body": "I hereby certify that I carried out the documented steps"
        },
        "rejection_intention": {
          "label": "Rejected By",
          "body": "I observe that the documented results do not match with my findings"
        },
        "signable_by_author": true,
        "rejectable_by_reviewer": false,
        "notify_reviewer_by_email": false,
        "actions": [
          {
            "triggered_by": "APPROVAL",
            "type": "ADD_COMMENT",
            "body": "{}"
          }
        ],
        "signee_ids": [
          "11038"
        ]
      }
    ],
    "status": "DRAFT",
    "id": "6b08850a-3901-4499-b6f6-c0e15c72a19c",
    "owner_id": "11038",
    "creation_date": "2017-02-10T12:34:56.789+0200",
    "version_date": "2017-02-15T12:34:56.789+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "description": "the display name of the signature workflow"
      },
      "group_id": {
        "type": "string",
        "description": "the group id which the workflow belongs to"
      },
      "project_ids": {
        "type": "array",
        "description": "the project ids which the workflow is applicable to"
      },
      "folder_ids": {
        "type": "array",
        "description": "the folder ids which the workflow is applicable to"
      },
      "target_project_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "the target project id which the entry will be moved to when the workflow is completed"
      },
      "signature_definitions": {
        "type": "array",
        "description": "the signature steps of the workflow as an ordered list"
      },
      "status": {
        "type": "string",
        "enum": [
          "DRAFT",
          "PUBLISHED",
          "ACTIVE",
          "HIDDEN"
        ],
        "description": "the status of the workflow"
      },
      "id": {
        "type": "string",
        "description": "the unique id of the workflow"
      },
      "owner_id": {
        "type": "string",
        "description": "the id of the original author of this signature workflow"
      },
      "creation_date": {
        "type": "string",
        "description": "the creation date of the workflow"
      },
      "version_date": {
        "type": "string",
        "description": "the last modification date of the workflow"
      }
    },
    "required": [
      "title",
      "group_id",
      "project_ids",
      "folder_ids",
      "target_project_id",
      "signature_definitions",
      "status",
      "id",
      "owner_id",
      "creation_date",
      "version_date"
    ]
  }
}

Get Signature Workflow
GET/signature-workflows/{id}

Returns the signature workflow

Example URI

GET /signature-workflows/c8ea2e7e-3755-497f-bd03-6b568dda025b
URI Parameters
HideShow
id
string (required) Example: c8ea2e7e-3755-497f-bd03-6b568dda025b

the unique id of the workflow

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's Signature Workflow",
  "group_id": "1200",
  "project_ids": [
    "36276"
  ],
  "folder_ids": [
    "36277"
  ],
  "target_project_id": "Hello, world!",
  "signature_definitions": [
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    },
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    }
  ],
  "status": "DRAFT",
  "id": "6b08850a-3901-4499-b6f6-c0e15c72a19c",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the signature workflow"
    },
    "group_id": {
      "type": "string",
      "description": "the group id which the workflow belongs to"
    },
    "project_ids": {
      "type": "array",
      "description": "the project ids which the workflow is applicable to"
    },
    "folder_ids": {
      "type": "array",
      "description": "the folder ids which the workflow is applicable to"
    },
    "target_project_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the target project id which the entry will be moved to when the workflow is completed"
    },
    "signature_definitions": {
      "type": "array",
      "description": "the signature steps of the workflow as an ordered list"
    },
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PUBLISHED",
        "ACTIVE",
        "HIDDEN"
      ],
      "description": "the status of the workflow"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the workflow"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author of this signature workflow"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the workflow"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the workflow"
    }
  },
  "required": [
    "title",
    "group_id",
    "project_ids",
    "folder_ids",
    "target_project_id",
    "signature_definitions",
    "status",
    "id",
    "owner_id",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}

Create Signature Workflow
POST/signature-workflows

Create a signature workflow

Example URI

POST /signature-workflows
Request  Create Signature Workflow
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Signature Workflow",
  "group_id": "1200",
  "project_ids": [
    "36276"
  ],
  "folder_ids": [
    "36277"
  ],
  "target_project_id": "Hello, world!",
  "signature_definitions": [
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    },
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    }
  ],
  "status": "DRAFT"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the signature workflow"
    },
    "group_id": {
      "type": "string",
      "description": "the group id which the workflow belongs to"
    },
    "project_ids": {
      "type": "array",
      "description": "the project ids which the workflow is applicable to"
    },
    "folder_ids": {
      "type": "array",
      "description": "the folder ids which the workflow is applicable to"
    },
    "target_project_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the target project id which the entry will be moved to when the workflow is completed"
    },
    "signature_definitions": {
      "type": "array",
      "description": "the signature steps of the workflow as an ordered list"
    },
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PUBLISHED",
        "ACTIVE",
        "HIDDEN"
      ],
      "description": "the status of the workflow"
    }
  },
  "required": [
    "title",
    "group_id",
    "project_ids",
    "folder_ids",
    "target_project_id",
    "signature_definitions",
    "status"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /signature-workflows/1d573349-347b-4e46-a956-863d4e2db356
Body
{
  "title": "Luke's Signature Workflow",
  "group_id": "1200",
  "project_ids": [
    "36276"
  ],
  "folder_ids": [
    "36277"
  ],
  "target_project_id": "Hello, world!",
  "signature_definitions": [
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    },
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    }
  ],
  "status": "DRAFT",
  "id": "6b08850a-3901-4499-b6f6-c0e15c72a19c",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the signature workflow"
    },
    "group_id": {
      "type": "string",
      "description": "the group id which the workflow belongs to"
    },
    "project_ids": {
      "type": "array",
      "description": "the project ids which the workflow is applicable to"
    },
    "folder_ids": {
      "type": "array",
      "description": "the folder ids which the workflow is applicable to"
    },
    "target_project_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the target project id which the entry will be moved to when the workflow is completed"
    },
    "signature_definitions": {
      "type": "array",
      "description": "the signature steps of the workflow as an ordered list"
    },
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PUBLISHED",
        "ACTIVE",
        "HIDDEN"
      ],
      "description": "the status of the workflow"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the workflow"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author of this signature workflow"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the workflow"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the workflow"
    }
  },
  "required": [
    "title",
    "group_id",
    "project_ids",
    "folder_ids",
    "target_project_id",
    "signature_definitions",
    "status",
    "id",
    "owner_id",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}

Update Signature Workflow
PUT/signature-workflows/{id}

Update an existing signature workflow

Example URI

PUT /signature-workflows/6b08850a-3901-4499-b6f6-c0e15c72a19c
URI Parameters
HideShow
id
string (required) Example: 6b08850a-3901-4499-b6f6-c0e15c72a19c

id of the signature workflow to update

Request  Update Signature Workflow
HideShow
Headers
Content-Type: application/json
Body
{
  "title": "Luke's Signature Workflow",
  "group_id": "1200",
  "project_ids": [
    "36276"
  ],
  "folder_ids": [
    "36277"
  ],
  "target_project_id": "Hello, world!",
  "signature_definitions": [
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    },
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    }
  ],
  "status": "DRAFT",
  "id": "6b08850a-3901-4499-b6f6-c0e15c72a19c"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the signature workflow"
    },
    "group_id": {
      "type": "string",
      "description": "the group id which the workflow belongs to"
    },
    "project_ids": {
      "type": "array",
      "description": "the project ids which the workflow is applicable to"
    },
    "folder_ids": {
      "type": "array",
      "description": "the folder ids which the workflow is applicable to"
    },
    "target_project_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the target project id which the entry will be moved to when the workflow is completed"
    },
    "signature_definitions": {
      "type": "array",
      "description": "the signature steps of the workflow as an ordered list"
    },
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PUBLISHED",
        "ACTIVE",
        "HIDDEN"
      ],
      "description": "the status of the workflow"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the workflow"
    }
  },
  "required": [
    "title",
    "group_id",
    "project_ids",
    "folder_ids",
    "target_project_id",
    "signature_definitions",
    "status",
    "id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's Signature Workflow",
  "group_id": "1200",
  "project_ids": [
    "36276"
  ],
  "folder_ids": [
    "36277"
  ],
  "target_project_id": "Hello, world!",
  "signature_definitions": [
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    },
    {
      "title": "Luke's First Signature",
      "approval_intention": {
        "label": "Signed By",
        "body": "I hereby certify that I carried out the documented steps"
      },
      "rejection_intention": {
        "label": "Rejected By",
        "body": "I observe that the documented results do not match with my findings"
      },
      "signable_by_author": true,
      "rejectable_by_reviewer": false,
      "notify_reviewer_by_email": false,
      "actions": [
        {
          "triggered_by": "APPROVAL",
          "type": "ADD_COMMENT",
          "body": "{}"
        }
      ],
      "signee_ids": [
        "11038"
      ]
    }
  ],
  "status": "DRAFT",
  "id": "6b08850a-3901-4499-b6f6-c0e15c72a19c",
  "owner_id": "11038",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the signature workflow"
    },
    "group_id": {
      "type": "string",
      "description": "the group id which the workflow belongs to"
    },
    "project_ids": {
      "type": "array",
      "description": "the project ids which the workflow is applicable to"
    },
    "folder_ids": {
      "type": "array",
      "description": "the folder ids which the workflow is applicable to"
    },
    "target_project_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "the target project id which the entry will be moved to when the workflow is completed"
    },
    "signature_definitions": {
      "type": "array",
      "description": "the signature steps of the workflow as an ordered list"
    },
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PUBLISHED",
        "ACTIVE",
        "HIDDEN"
      ],
      "description": "the status of the workflow"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the workflow"
    },
    "owner_id": {
      "type": "string",
      "description": "the id of the original author of this signature workflow"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the workflow"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the workflow"
    }
  },
  "required": [
    "title",
    "group_id",
    "project_ids",
    "folder_ids",
    "target_project_id",
    "signature_definitions",
    "status",
    "id",
    "owner_id",
    "creation_date",
    "version_date"
  ],
  "additionalProperties": false
}

Get Signature Definition
GET/signature-workflows/{workflow_id}/signature-definitions/{definition_id}{?expand}

Returns the specific signature definition of the workflow

Example URI

GET /signature-workflows/c8ea2e7e-3755-497f-bd03-6b568dda025b/signature-definitions/441646aa-449e-4d46-a493-c0cf6406db21?expand=
URI Parameters
HideShow
workflow_id
string (required) Example: c8ea2e7e-3755-497f-bd03-6b568dda025b

the unique id of the signature workflow

definition_id
string (required) Example: 441646aa-449e-4d46-a493-c0cf6406db21

the unique id of the signature definition

expand
string (optional) 

Choices: signees

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
{
  "title": "Luke's First Signature",
  "approval_intention": {
    "label": "Signed By",
    "body": "I hereby certify that I carried out the documented steps"
  },
  "rejection_intention": {
    "label": "Rejected By",
    "body": "I observe that the documented results do not match with my findings"
  },
  "signable_by_author": true,
  "rejectable_by_reviewer": false,
  "notify_reviewer_by_email": false,
  "actions": [
    {
      "triggered_by": "APPROVAL",
      "type": "ADD_COMMENT",
      "body": "{}"
    }
  ],
  "signee_ids": [
    "11038"
  ],
  "id": "c8ea2e7e-3755-497f-bd03-6b568dda025b",
  "creation_date": "2017-02-10T12:34:56.789+0200",
  "version_date": "2017-02-15T12:34:56.789+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "the display name of the signature definition"
    },
    "approval_intention": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "description": "the label of the signature intention"
        },
        "body": {
          "type": "string",
          "description": "the content body of the signature intention"
        }
      },
      "required": [
        "label",
        "body"
      ],
      "description": "the approval intention of the signature definition"
    },
    "rejection_intention": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "label": {
          "type": "string",
          "description": "the label of the signature intention"
        },
        "body": {
          "type": "string",
          "description": "the content body of the signature intention"
        }
      },
      "required": [
        "label",
        "body"
      ],
      "description": "the rejection intention of the signature definition"
    },
    "signable_by_author": {
      "type": "boolean",
      "description": "indicates that the author of the entry can apply the signature"
    },
    "rejectable_by_reviewer": {
      "type": "boolean",
      "description": "indicates that the reviewer of the entry can reject"
    },
    "notify_reviewer_by_email": {
      "type": "boolean",
      "description": "indicates that reviewers are notified by email when they receive a review request"
    },
    "actions": {
      "type": "array",
      "description": "the actions taking place following the signature step"
    },
    "signee_ids": {
      "type": "array",
      "description": "possible reviewers/signees user ids of the signature"
    },
    "id": {
      "type": "string",
      "description": "the unique id of the signature definition"
    },
    "creation_date": {
      "type": "string",
      "description": "the creation date of the signature definition"
    },
    "version_date": {
      "type": "string",
      "description": "the last modification date of the signature definition"
    }
  },
  "required": [
    "title",
    "approval_intention",
    "id",
    "creation_date",
    "version_date"
  ]
}

Signatures Resource

A Signature is applied to an entry and documents the authorizing of a cheque for the entries content.

List Signatures
GET/signatures{?entry_id,entry_version_id,expand}

Returns the list of signatures

Note that exactly one of the parameters entry_id or entry_version_id is mandatory to provide with the request.

Example URI

GET /signatures?entry_id=938302&entry_version_id=&expand=
URI Parameters
HideShow
entry_id
string (optional) Example: 938302

filter signatures being applied to latest version of specific entry

entry_version_id
string (optional) 

filter signatures being applied to specific entry version

expand
string (optional) 

Choices: owner

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Body
[
  {
    "entry_id": "938303",
    "signature_definition_id": "441646aa-449e-4d46-a493-c0cf6406db21",
    "intention": {
      "label": "Signed By",
      "body": "I hereby certify that I carried out the documented steps"
    },
    "type": "APPROVAL",
    "id": "21e16a61-fd64-4b55-b679-7a0c74cf855b",
    "owner_id": "11038",
    "biometric_doc_id": "465862",
    "hash": "90b30ef9902ae4c4c691d2d78c2f8fa0aa785afbc5545286b310f68e91dd2299c84a2484f0419fc5eaa7de598940799e1091c4948926ae1c9488dddae180bb80",
    "hash_version": 4,
    "hash_description": "SHA-1",
    "creation_date": "2018-11-07T16:32:12.729+0200"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "entry_id": {
        "type": "string",
        "description": "the id of the entry that is signed with the signature"
      },
      "signature_definition_id": {
        "type": "string",
        "description": "id of the signature definition as defined in the signature workflow"
      },
      "intention": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "the label of the signature intention"
          },
          "body": {
            "type": "string",
            "description": "the content body of the signature intention"
          }
        },
        "required": [
          "label",
          "body"
        ],
        "description": "the intention describing the signature"
      },
      "type": {
        "type": "string",
        "enum": [
          "APPROVAL",
          "REJECTION"
        ],
        "description": "signature submit type"
      },
      "id": {
        "type": "string",
        "description": "uuid of the entry signature"
      },
      "owner_id": {
        "type": "string",
        "description": "the unique id of the user who created the signature"
      },
      "biometric_doc_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "file id containing the biometric signature"
      },
      "hash": {
        "type": "string",
        "description": "SHA hash value of the entry content"
      },
      "hash_version": {
        "type": "number",
        "description": "indicating which version of the internal hash implementation was used to produce the hash value"
      },
      "hash_description": {
        "type": "string",
        "description": "Digest algorithm description used to create the hash value"
      },
      "creation_date": {
        "type": "string",
        "description": "timestamp of the signature creation"
      }
    },
    "required": [
      "entry_id",
      "signature_definition_id",
      "intention",
      "type",
      "id",
      "owner_id",
      "biometric_doc_id",
      "hash",
      "hash_version",
      "hash_description",
      "creation_date"
    ]
  }
}

Create Signature
POST/signatures

Create a signature for an entry

Example URI

POST /signatures
Request  Create Signature
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938303",
  "signature_definition_id": "441646aa-449e-4d46-a493-c0cf6406db21",
  "intention": {
    "label": "Signed By",
    "body": "I hereby certify that I carried out the documented steps"
  },
  "type": "APPROVAL",
  "biometric_sign_data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlMAQObYZgAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII="
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "the id of the entry that is signed with the signature"
    },
    "signature_definition_id": {
      "type": "string",
      "description": "id of the signature definition as defined in the signature workflow"
    },
    "intention": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "description": "the label of the signature intention"
        },
        "body": {
          "type": "string",
          "description": "the content body of the signature intention"
        }
      },
      "required": [
        "label",
        "body"
      ],
      "description": "the intention describing the signature"
    },
    "type": {
      "type": "string",
      "enum": [
        "APPROVAL",
        "REJECTION"
      ],
      "description": "signature submit type"
    },
    "biometric_sign_data": {
      "type": "string",
      "description": "base64 encoded image data, containing biometrical signature"
    }
  },
  "required": [
    "entry_id",
    "signature_definition_id",
    "intention",
    "type"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /signatures/1d573349-347b-4e46-a956-863d4e2db356
Body
{
  "entry_id": "938303",
  "signature_definition_id": "441646aa-449e-4d46-a493-c0cf6406db21",
  "intention": {
    "label": "Signed By",
    "body": "I hereby certify that I carried out the documented steps"
  },
  "type": "APPROVAL",
  "id": "21e16a61-fd64-4b55-b679-7a0c74cf855b",
  "owner_id": "11038",
  "biometric_doc_id": "465862",
  "hash": "90b30ef9902ae4c4c691d2d78c2f8fa0aa785afbc5545286b310f68e91dd2299c84a2484f0419fc5eaa7de598940799e1091c4948926ae1c9488dddae180bb80",
  "hash_version": 4,
  "hash_description": "SHA-1",
  "creation_date": "2018-11-07T16:32:12.729+0200"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "the id of the entry that is signed with the signature"
    },
    "signature_definition_id": {
      "type": "string",
      "description": "id of the signature definition as defined in the signature workflow"
    },
    "intention": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "description": "the label of the signature intention"
        },
        "body": {
          "type": "string",
          "description": "the content body of the signature intention"
        }
      },
      "required": [
        "label",
        "body"
      ],
      "description": "the intention describing the signature"
    },
    "type": {
      "type": "string",
      "enum": [
        "APPROVAL",
        "REJECTION"
      ],
      "description": "signature submit type"
    },
    "id": {
      "type": "string",
      "description": "uuid of the entry signature"
    },
    "owner_id": {
      "type": "string",
      "description": "the unique id of the user who created the signature"
    },
    "biometric_doc_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "file id containing the biometric signature"
    },
    "hash": {
      "type": "string",
      "description": "SHA hash value of the entry content"
    },
    "hash_version": {
      "type": "number",
      "description": "indicating which version of the internal hash implementation was used to produce the hash value"
    },
    "hash_description": {
      "type": "string",
      "description": "Digest algorithm description used to create the hash value"
    },
    "creation_date": {
      "type": "string",
      "description": "timestamp of the signature creation"
    }
  },
  "required": [
    "entry_id",
    "signature_definition_id",
    "intention",
    "type",
    "id",
    "owner_id",
    "biometric_doc_id",
    "hash",
    "hash_version",
    "hash_description",
    "creation_date"
  ],
  "additionalProperties": false
}

Signature Requests Resource

List Signature Requests
GET/signature-requests{?reviewer_id,expand,limit,offset}

Returns the list of all signature requests, which are applied to entries the user can access.

Example URI

GET /signature-requests?reviewer_id=11039&expand=&limit=&offset=
URI Parameters
HideShow
reviewer_id
string (optional) Example: 11039

Filter signature requests by requested reviewer

expand
string (optional) 

A comma separated list of related domain objects that should be expanded for all items returned

Choices: owner reviewer

limit
number (optional) Default: 20 

Maximum number of signature requests to return

offset
number (optional) Default: 0 

Offset into result-set (useful for pagination)

Response  200
HideShow
Headers
Content-Type: application/json;charset=UTF-8
X-Total-Count: 1
X-Limit: 20
X-Offset: 0
Body
[
  {
    "entry_id": "938303",
    "signature_definition_id": "791c1a54-3e97-453d-b219-4c338dea5ff7",
    "reviewer_id": "11039",
    "id": "21e16a61-fd64-4b55-b679-7a0c74cf855b",
    "owner_id": "11038",
    "signature_id": "null",
    "creation_date": "2018-11-07T16:32:12.729+0200",
    "fulfilled_date": "null"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "entry_id": {
        "type": "string",
        "description": "id of the entry that is to be reviewed"
      },
      "signature_definition_id": {
        "type": "string",
        "description": "id of the signature definition as defined in the signature workflow"
      },
      "reviewer_id": {
        "type": "string",
        "description": "id of the user who is requested to review the entry"
      },
      "id": {
        "type": "string",
        "description": "id of the review request"
      },
      "owner_id": {
        "type": "string",
        "description": "id of the user who requested the review"
      },
      "signature_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "id of the signature which fulfills this request"
      },
      "creation_date": {
        "type": "string",
        "description": "timestamp of the review request"
      },
      "fulfilled_date": {
        "type": [
          "string",
          "null"
        ],
        "description": "timestamp of the review fulfilled"
      }
    },
    "required": [
      "entry_id",
      "signature_definition_id",
      "reviewer_id",
      "id",
      "owner_id",
      "creation_date"
    ]
  }
}

Create Signature Request
POST/signature-requests

Create a signature request for an entry to be reviewed by a reviewer

Example URI

POST /signature-requests
Request  Create Signature Request
HideShow
Headers
Content-Type: application/json
Body
{
  "entry_id": "938303",
  "signature_definition_id": "791c1a54-3e97-453d-b219-4c338dea5ff7",
  "reviewer_id": "11039"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "id of the entry that is to be reviewed"
    },
    "signature_definition_id": {
      "type": "string",
      "description": "id of the signature definition as defined in the signature workflow"
    },
    "reviewer_id": {
      "type": "string",
      "description": "id of the user who is requested to review the entry"
    }
  },
  "required": [
    "entry_id",
    "signature_definition_id",
    "reviewer_id"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json;charset=UTF-8
Location: /signature-requests/21e16a61-fd64-4b55-b679-7a0c74cf855b
Body
{
  "entry_id": "938303",
  "signature_definition_id": "791c1a54-3e97-453d-b219-4c338dea5ff7",
  "reviewer_id": "11039",
  "id": "21e16a61-fd64-4b55-b679-7a0c74cf855b",
  "owner_id": "11038",
  "signature_id": "null",
  "creation_date": "2018-11-07T16:32:12.729+0200",
  "fulfilled_date": "null"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "entry_id": {
      "type": "string",
      "description": "id of the entry that is to be reviewed"
    },
    "signature_definition_id": {
      "type": "string",
      "description": "id of the signature definition as defined in the signature workflow"
    },
    "reviewer_id": {
      "type": "string",
      "description": "id of the user who is requested to review the entry"
    },
    "id": {
      "type": "string",
      "description": "id of the review request"
    },
    "owner_id": {
      "type": "string",
      "description": "id of the user who requested the review"
    },
    "signature_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "id of the signature which fulfills this request"
    },
    "creation_date": {
      "type": "string",
      "description": "timestamp of the review request"
    },
    "fulfilled_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "timestamp of the review fulfilled"
    }
  },
  "required": [
    "entry_id",
    "signature_definition_id",
    "reviewer_id",
    "id",
    "owner_id",
    "creation_date"
  ],
  "additionalProperties": false
}

Signature Workflow Executions Resource

List SignatureWorkflowExecution
GET/signature-workflow-executions{?entry_id,first_signee_id,signature_workflow_id,status,expand,limit,offset}

Returns the list of signature workflows the user has access to

Example URI

GET /signature-workflow-executions?entry_id=938302&first_signee_id=11038&signature_workflow_id=c8ea2e7e-3755-497f-bd03-6b568dda025b&status=ACTIVE&expand=&limit=&offset=
URI Parameters
HideShow
entry_id
string (optional) Example: 938302

filter signatures being applied to latest version of specific entry

first_signee_id
string (optional) Example: 11038

filter execution with only the given first signee id

signature_workflow_id
string (optional) Example: c8ea2e7e-3755-497f-bd03-6b568dda025b

filter execution for only the given signature workflow id

status
enum (optional) Example: ACTIVE

filter by current satus of the execution

Choices: ACTIVE APPROVED REJECT