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 smoothest possible transition please make sure your code does not rely on the exact object structure returned and ignores unknown properties.
As a general guideline for error handling, more emphasis should be paid to the status codes rather than the error messages.
“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
Identity Access Management (IAM) ¶
Labfolder has a feature IAM, in which we delegate our application security to the Labforward Identity & Access Management (IAM) application.
This feature will be enabled for cloud users for the time being. Once enabled, all users should log into Labfolder using a browser where they will be prompted to reset their passwords. Following the password reset, users can use the POST /auth/login endpoint as before to login and retrieve their authentication tokens.
Please be notified that -
-
Tokens will be JWT tokens with a slightly shorter expiry date, but they will serve the same purpose and have the same use as before.
-
There is no support for HTTP-Basic API calls. Only use the Authorization header method.
Version ¶
This is API v2 build #
ab641314d86009b37ebfc019ea4eb98740f035f4
Changelog ¶
2023-06-14 ¶
Added ¶
-
Added a new endpoint to list all available Incident Reports
-
Added a new endpoint to download Incident Report data
2023-05-03 ¶
Added ¶
- Added a new (and preferred) format for authentication via Authorization header -
Authorization: Bearer xxxxx
Access ¶
Location ¶
The API can only be accessed via HTTPS.
You can reach the API for the cloud instance at
https://labfolder.labforward.app/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…
- set in the
Authorization
header using other tools, or - the username field for HTTP-Basic authentication (Only available when IAM Feature is disabled)
The following examples illustrate the two different ways to provide the token when using curl
# via Authorization header
# Preferred approach -
> curl -H "Authorization: Bearer $LABFOLDER_API_TOKEN" <API_RESOURCE_PATH_GOES_HERE>
# OR deprecated approach -
> curl -H "Authorization: Bearer $LABFOLDER_API_TOKEN" <API_RESOURCE_PATH_GOES_HERE>
# via HTTP-Basic (Only available when IAM Feature is disabled)
# Note the proceeding ':'
> curl -u "$LABFOLDER_API_TOKEN:" <API_RESOURCE_PATH_GOES_HERE>
Endpoints ¶
Login - Generate TokenPOST/auth/login
Generate a token which can be used to make API requests.
Example URI
Generate Token
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"
]
}
200
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 TokensPOST/auth/logout
Invalidate all API access tokens.
Example URI
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: Bearer $LABFOLDER_API_TOKEN" <API_RESOURCE_PATH_GOES_HERE>?limit=1000
OR
curl -H "Authorization: Bearer $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 ¶
List GroupsGET/groups{?type,limit,offset}
Returns all the top level groups (subgroups are not returned) that user belongs to.
Example URI
- type
string
(optional) Example: BASICGroup type to be filtered
Choices:
BASIC
ADVANCED
- limit
number
(optional) Default: 20Maximum number of groups to return
- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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"
]
}
}
Group ¶
Get GroupGET/groups/{id}
Returns the specified group.
Example URI
- id
string
(required) Example: 1200id of the group
200
Headers
Content-Type: application/json;charset=UTF-8
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": "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"
],
"additionalProperties": false
}
Get Group TreeGET/groups/{id}/tree
Returns tree of group, it’s subgroup and members
Example URI
- id
string
(required) Example: 1200id of the group.
200
Headers
Content-Type: application/json;charset=UTF-8
Body
{
"id": "1200",
"name": "Rebellion",
"children": [
{
"id": "12585",
"admin": false,
"user": {
"id": "3857",
"first_name": "Luke",
"last_name": "Skywalker",
"email": "luke.skywalker@starwars.com",
"deactivated": false,
"profile_picture_hash": "abc",
"iam_id": "d229cc70-455d-421d-9938-b2d8b4dee79e"
},
"type": "MEMBER"
},
{
"id": "12585",
"title": "Rogue One",
"type": "SUBGROUP",
"children": [
{
"id": "12585",
"admin": false,
"user": {
"id": "3857",
"first_name": "Luke",
"last_name": "Skywalker",
"email": "luke.skywalker@starwars.com",
"deactivated": false,
"profile_picture_hash": "abc",
"iam_id": "d229cc70-455d-421d-9938-b2d8b4dee79e"
},
"type": "MEMBER"
},
{}
]
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of the group"
},
"name": {
"type": "string",
"description": "name of the group"
},
"children": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the unique identifier of the group tree membership"
},
"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"
},
"deactivated": {
"type": "boolean",
"description": "the flags shows if the user's account is deactivated"
},
"profile_picture_hash": {
"type": [
"string",
"null"
],
"description": "profile picture hash for the picture url of the user"
},
"iam_id": {
"type": [
"string",
"null"
],
"description": "user uuid identifying the user in IAM"
}
},
"required": [
"id",
"first_name",
"last_name",
"email",
"deactivated",
"profile_picture_hash",
"iam_id"
],
"description": "user identity entity of the group member"
},
"type": {
"type": "string",
"enum": [
"MEMBER"
],
"description": "the type of group tree node"
}
},
"required": [
"id",
"admin",
"user",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the unique identifier of the subgroup"
},
"title": {
"type": "string",
"description": "the title of the subgroup"
},
"type": {
"type": "string",
"enum": [
"SUBGROUP"
],
"description": "the type of group tree node"
},
"children": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the unique identifier of the group tree membership"
},
"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"
},
"deactivated": {
"type": "boolean",
"description": "the flags shows if the user's account is deactivated"
},
"profile_picture_hash": {
"type": [
"string",
"null"
],
"description": "profile picture hash for the picture url of the user"
},
"iam_id": {
"type": [
"string",
"null"
],
"description": "user uuid identifying the user in IAM"
}
},
"required": [
"id",
"first_name",
"last_name",
"email",
"deactivated",
"profile_picture_hash",
"iam_id"
],
"description": "user identity entity of the group member"
},
"type": {
"type": "string",
"enum": [
"MEMBER"
],
"description": "the type of group tree node"
}
},
"required": [
"id",
"admin",
"user",
"type"
]
},
{
"type": "object",
"properties": {}
}
],
"description": "child members and subgroups will be represented recursively"
}
},
"required": [
"id",
"title",
"type"
]
}
],
"description": "child members and subgroups will be represented recursively"
}
},
"required": [
"id",
"name",
"children"
],
"additionalProperties": false
}
Subgroups Resource ¶
List SubgroupsGET/groups/{id}/subgroups{?parent_id,only_root_level,limit,offset}
Returns subgroups of the group
Example URI
- id
string
(required) Example: 1200id of the group
- parent_id
string
(optional)Only return subgroups that reside within the specified subgroup
- only_root_level
boolean
(optional) Default: falseOnly return root (top) level subgroups - I.e. subgroups that do not reside within a subgroup
- limit
number
(optional) Default: 20Maximum number of subgroups to return
- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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 ¶
List Group MembershipsGET/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
- id
string
(required) Example: 1200id of the group
- subgroup_id
string
(optional) Example: 234Only return group members that reside within the specified subgroup
- user_id
string
(optional) Example: 11040Only return membership information for the specified user
- project_ids
string
(optional) Example: 36275Comma separated list of project ids that have to be accessible for the group members
- project_folder_ids
string
(optional) Example: 36274Comma separated list of project folder ids that have to be accessible for the group members
- only_root_level
boolean
(optional) Default: false Example: trueOnly return root (top) level group members - I.e. members that do not reside within a subgroup
- limit
number
(optional) Default: 20Maximum number of group members to return - Maximum allowed value is 100
- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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",
"deactivated": false,
"profile_picture_hash": "bhOwHTKEjrPTDeiMtTnc",
"iam_id": "d229cc70-455d-421d-9938-b2d8b4dee79e"
}
}
]
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"
},
"deactivated": {
"type": "boolean",
"description": "the flags shows if the user's account is deactivated"
},
"profile_picture_hash": {
"type": [
"string",
"null"
],
"description": "a hash to be used for the profile picture location url"
},
"iam_id": {
"type": [
"string",
"null"
],
"description": "user uuid identifying the user in IAM"
}
},
"required": [
"id",
"first_name",
"last_name",
"email",
"deactivated",
"profile_picture_hash",
"iam_id"
],
"description": "user identity entity of the group member"
}
},
"required": [
"id",
"group_id",
"subgroup_id",
"admin",
"user"
]
}
}
Get Group MembershipGET/group-memberships/{id}
Returns the specified group membership
Example URI
- id
string
(required) Example: 3132id of the group membership
200
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",
"deactivated": false,
"profile_picture_hash": "bhOwHTKEjrPTDeiMtTnc",
"iam_id": "d229cc70-455d-421d-9938-b2d8b4dee79e"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"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"
},
"deactivated": {
"type": "boolean",
"description": "the flags shows if the user's account is deactivated"
},
"profile_picture_hash": {
"type": [
"string",
"null"
],
"description": "a hash to be used for the profile picture location url"
},
"iam_id": {
"type": [
"string",
"null"
],
"description": "user uuid identifying the user in IAM"
}
},
"required": [
"id",
"first_name",
"last_name",
"email",
"deactivated",
"profile_picture_hash",
"iam_id"
],
"description": "user identity entity of the group member"
}
},
"required": [
"id",
"group_id",
"subgroup_id",
"admin",
"user"
],
"additionalProperties": false
}
Create Group MembershipPOST/group-memberships
Create a new group membership. This is how new group members may be invited to a group or subgroup.
Example URI
Create new group membership in group
Headers
Content-Type: application/json
Body
{
"email": "princess.leia@starwars.com",
"group_id": "1203"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email of the person to invite to your group"
},
"group_id": {
"type": "string",
"description": "The group id"
}
},
"required": [
"email",
"group_id"
]
}
201
Headers
Content-Type: application/json;charset=UTF-8
Location: /group-memberships/12585
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",
"deactivated": false,
"profile_picture_hash": "bhOwHTKEjrPTDeiMtTnc",
"iam_id": "d229cc70-455d-421d-9938-b2d8b4dee79e"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"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"
},
"deactivated": {
"type": "boolean",
"description": "the flags shows if the user's account is deactivated"
},
"profile_picture_hash": {
"type": [
"string",
"null"
],
"description": "a hash to be used for the profile picture location url"
},
"iam_id": {
"type": [
"string",
"null"
],
"description": "user uuid identifying the user in IAM"
}
},
"required": [
"id",
"first_name",
"last_name",
"email",
"deactivated",
"profile_picture_hash",
"iam_id"
],
"description": "user identity entity of the group member"
}
},
"required": [
"id",
"group_id",
"subgroup_id",
"admin",
"user"
],
"additionalProperties": false
}
Create new group membership in subgroup
Headers
Content-Type: application/json
Body
{
"email": "han.solo@starwars.com",
"group_id": "1203",
"subgroup_id": "235"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email of the person to invite to your group"
},
"group_id": {
"type": "string",
"description": "The group id"
},
"subgroup_id": {
"type": "string",
"description": "id of the subgroup to which the member is added"
}
},
"required": [
"email",
"group_id",
"subgroup_id"
]
}
201
Headers
Content-Type: application/json;charset=UTF-8
Location: /group-memberships/12585
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",
"deactivated": false,
"profile_picture_hash": "bhOwHTKEjrPTDeiMtTnc",
"iam_id": "d229cc70-455d-421d-9938-b2d8b4dee79e"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"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"
},
"deactivated": {
"type": "boolean",
"description": "the flags shows if the user's account is deactivated"
},
"profile_picture_hash": {
"type": [
"string",
"null"
],
"description": "a hash to be used for the profile picture location url"
},
"iam_id": {
"type": [
"string",
"null"
],
"description": "user uuid identifying the user in IAM"
}
},
"required": [
"id",
"first_name",
"last_name",
"email",
"deactivated",
"profile_picture_hash",
"iam_id"
],
"description": "user identity entity of the group member"
}
},
"required": [
"id",
"group_id",
"subgroup_id",
"admin",
"user"
],
"additionalProperties": false
}
Delete Group MembershipDELETE/group-memberships/{id}
Delete a group membership. This endpoint can be used to:
-
leave a group, either on their own accord, or by a group admin.
-
decline a membership invitation
In order to be removed from a group, a user must have no project, template, or folder ownership within the group context.
Example URI
- id
string
(required) Example: 3135id of the group membership
204
Projects ¶
Projects Resource ¶
List ProjectsGET/projects{?group_id,owner_id,owner_ids,only_root_level,folder_id,project_ids,title,private_projects_only,creation_date_from,creation_date_to,modification_date_from,modification_date_to,expand,limit,offset}
Returns a list of projects the user has access to.
Example URI
- group_id
string
(optional) Example: 1200Only return projects that belong to the specified group. Please note that this param is deprecated and will removed in the future. Its usage shall be replaced with group_ids, which is a comma separated list that contains one or more group IDs.
- group_ids
string
(optional) Example: 1200,1201Only return projects that belong to the specified groups (comma separated list)
- owner_id
string
(optional) Example: 11038Only return projects that are owned by the given user. Please note that this param is deprecated and will removed in the future. Its usage shall be replaced with owner_ids, which is a comma separated list that contains one or more user IDs.
- owner_ids
string
(optional) Example: 11038,11039Only return projects that are owned by the given users (comma separated list)
- only_root_level
boolean
(optional) Default: false Example: trueOnly return root (top) level projects - I.e. projects that do not reside within a folder
- folder_id
string
(optional) Example: 36274Only return projects that reside within the specified folder
- project_ids
string
(optional) Example: 36279A comma separated list of project ids specifying the projects to be returned
- title
string
(optional) Example: My projectOnly return projects with a title containing this string
- private_projects_only
boolean
(optional) Example: trueOnly return the user’s private projects
- creation_date_from
date
(optional) Example: 2023-02-08Only return projects that were created past or at the specified date
- creation_date_to
date
(optional) Example: 2023-02-09Only return projects that were created before or at the specified date
- modification_date_from
date
(optional) Example: 2023-02-08Only return projects that were edited past or at the specified date
- modification_date_to
date
(optional) Example: 2023-02-09Only return projects that were edited before or at the specified date
- expand
string
(optional) Example: ownerA comma separated list of related domain objects that should be expanded for all items returned
Choices:
owner
- limit
number
(optional) Default: 20Maximum number of projects to return - Maximum allowed limit is 100
- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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",
"collaborative": false
}
]
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, null is used for the private projects"
},
"folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the project is located. null is used projects which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
]
}
}
Create ProjectPOST/projects
Create a project
Example URI
Create Private Project
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"
]
}
201
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",
"collaborative": false
}
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, null is used for the private projects"
},
"folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the project is located. null is used projects which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
]
}
Create Private Project in a Folder
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"
]
}
201
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",
"collaborative": false
}
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, null is used for the private projects"
},
"folder_id": {
"type": "string",
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
]
}
Create Group Project
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"
]
}
201
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",
"collaborative": false
}
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",
"description": "the id of the group to which the project is associated"
},
"folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the project is located. null is used projects which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
]
}
Create Group Project in a Folder
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"
]
}
201
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",
"collaborative": false
}
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",
"description": "the id of the group to which the project is associated"
},
"folder_id": {
"type": "string",
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
]
}
Update ProjectPATCH/projects/{id}
This endpoint complies with RFC 6902
, the specification for JSON Patch.
-
Update a project’s owner.
-
Update a project parent folder given it’s id and return the modified objects.
-
Update a project’s visibility, meaning hiding and unhiding projects.
The supported operations will grow in time.
Example URI
- id
string
(required) Example: 36275the unique id of the project
Change Project Owner
Please note that, for change owner operation, the ‘value’ of the patch operation should be the new owner membership id, not the new owner id.
Headers
Content-Type: application/json-patch+json
Body
[
{
"op": "replace",
"path": "/owner_id",
"value": "3130"
}
]
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": [
"/owner_id"
],
"description": "JSON Pointer notation to the owner of the project"
},
"value": {
"type": "string",
"description": "the unique identifier of the group membership of the new owner"
}
},
"required": [
"op",
"path",
"value"
]
}
}
200
Headers
Content-Type: application/json;charset=UTF-8
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",
"collaborative": false
}
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, null is used for the private projects"
},
"folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the project is located. null is used projects which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
],
"additionalProperties": false
}
Move Project to another folder
Headers
Content-Type: application/json-patch+json
Body
[
{
"op": "replace",
"path": "/folder_id",
"value": "36284"
}
]
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": [
"/folder_id"
],
"description": "JSON Pointer notation to the folder the mentioned project will be moved into"
},
"value": {
"type": "string",
"description": "id of the new parent folder"
}
},
"required": [
"op",
"path",
"value"
]
}
}
200
Headers
Content-Type: application/json;charset=UTF-8
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",
"collaborative": false
}
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, null is used for the private projects"
},
"folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the project is located. null is used projects which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
],
"additionalProperties": false
}
Change Project Visibility
Headers
Content-Type: application/json-patch+json
Body
[
{
"op": "replace",
"path": "/hidden",
"value": false
}
]
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",
"description": "JSON Pointer notation to the whether the project is hidden"
},
"value": {
"type": "boolean",
"description": "a boolean indicating whether the project should be hidden"
}
},
"required": [
"op",
"path",
"value"
]
}
}
200
Headers
Content-Type: application/json;charset=UTF-8
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",
"collaborative": false
}
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, null is used for the private projects"
},
"folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the project is located. null is used projects which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project is collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. a project only shows as collaborative when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"title",
"id",
"owner_id",
"group_id",
"folder_id",
"hidden",
"creation_date",
"version_date",
"collaborative"
],
"additionalProperties": false
}
Update Project AccessPUT/projects/{id}/access
Update the access settings of a project.
A project can be either shared with specific members, subgroups or with the whole group.
Sharing it with subgroups or the group will automatically enable access for any new member joining these group structures.
The project owner is always added to the access settings membership IDs automatically, to guarantee that she has access
at any time.
If the project is located in a folder, all access settings of that folder will cascade to the respective project, even if you do not provide those within your request. This means the response might slightly differ from the request for this and other reasons mentioned above.
Example URI
- id
string
(required) Example: 36275id of the project
Update Project Access
Headers
Content-Type: application/json
Body
{
"project_id": "36275",
"group_membership_ids": [
"3127",
"3129"
],
"subgroup_ids": [
"234"
],
"full_group_access": false,
"collaborative": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "id of the project"
},
"group_membership_ids": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "ids of memberships that have access to the project granted"
},
"subgroup_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "ids of subgroups which members have access to the project granted"
},
"full_group_access": {
"type": "boolean",
"description": "boolean flag indicating if all group members have access to the project granted. if this has value 'true', it makes setting the id fields obsolete."
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project should be collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. its default value is false. making a project collaborative is only possible when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"project_id",
"group_membership_ids",
"subgroup_ids",
"full_group_access"
]
}
200
Headers
Content-Type: application/json;charset=UTF-8
Body
{
"project_id": "36275",
"group_membership_ids": [
"3127",
"3129"
],
"subgroup_ids": [
"234"
],
"full_group_access": false,
"collaborative": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "id of the project"
},
"group_membership_ids": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "ids of memberships that have access to the project granted"
},
"subgroup_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "ids of subgroups which members have access to the project granted"
},
"full_group_access": {
"type": "boolean",
"description": "boolean flag indicating if all group members have access to the project granted. if this has value 'true', it makes setting the id fields obsolete."
},
"collaborative": {
"type": "boolean",
"description": "boolean flag indicating whether the project should be collaborative. when this is true, every entry within this project can be edited by all project members instead of by its author only. its default value is false. making a project collaborative is only possible when the multi-author feature is enabled. its value is always false when the feature is disabled."
}
},
"required": [
"project_id",
"group_membership_ids",
"subgroup_ids",
"full_group_access"
],
"additionalProperties": false
}
Folders ¶
Folders Resource ¶
List FoldersGET/folders{?group_id,owner_id,owner_ids,only_root_level,content_type,parent_folder_id,folder_ids,title,private_folders_only,creation_date_from,creation_date_to,modification_date_from,modification_date_to,expand,limit,offset}
Returns a list of folders the user has access to.
Example URI
- group_id
string
(optional) Example: 1200Only return folders that belong to the specified group. Please note that this param is deprecated and will removed in the future. Its usage shall be replaced with group_ids, which is a comma separated list that contains one or more group IDs.
- group_ids
string
(optional) Example: 1200,1201Only return folders that belong to the specified groups (comma separated list)
- owner_id
string
(optional) Example: 11038Only return folders that are owned by the given user. Please note that this param is deprecated and will removed in the future. Its usage shall be replaced with owner_ids, which is a comma separated list that contains one or more user IDs.
- owner_ids
string
(optional) Example: 11038,11039Only return folders that are owned by the given users (comma separated list)
- only_root_level
boolean
(optional) Default: false Example: trueOnly return root (top) level folders - I.e. folders that do not reside within another folder
- content_type
string
(optional) Default: PROJECTSThe desired type of folders to retrieve
Choices:
PROJECTS
TEMPLATES
- parent_folder_id
string
(optional) Example: 36274Only return folders that reside within the specified folder
- folder_ids
string
(optional) Example: 36278A comma separated list of project ids specifying the projects to be returned
- title
string
(optional) Example: My folderOnly return folders with a title containing this string
- private_folders_only
boolean
(optional) Example: trueOnly return the user’s private folders
- creation_date_from
date
(optional) Example: 2023-02-08Only return folders that were created past or at the specified date
- creation_date_to
date
(optional) Example: 2023-02-09Only return folders that were created before or at the specified date
- modification_date_from
date
(optional) Example: 2023-02-08Only return folders that were edited past or at the specified date
- modification_date_to
date
(optional) Example: 2023-02-09Only return folders that were edited before or at the specified date
- expand
string
(optional) Example: ownerA comma separated list of related domain objects that should be expanded for all items returned
Choices:
owner
- limit
number
(optional) Default: 20Maximum number of folders to return - Maximum allowed limit is 100
- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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 closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"hidden": {
"type": "boolean",
"description": "indicating if the folder is hidden"
},
"content_type": {
"type": "string",
"enum": [
"PROJECTS",
"TEMPLATES",
"PROJECTS"
],
"default": "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 FolderPOST/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
Create top-level Private Folder to hold Projects
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",
"PROJECTS"
],
"default": "PROJECTS",
"description": "indicate if the folder should hold Projects or Templates"
}
},
"required": [
"title"
]
}
201
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": "null is used for the private folders"
},
"parent_folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"hidden": {
"type": "boolean",
"description": "indicating if the folder is hidden"
},
"content_type": {
"type": "string",
"enum": [
"PROJECTS",
"TEMPLATES",
"PROJECTS"
],
"default": "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 top-level Private Folder to hold Templates
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"
]
}
201
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": "null is used for the private folders"
},
"parent_folder_id": {
"type": [
"string",
"null"
],
"description": "the id of the closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
]
}
Create Private Folder as a Child of an Existing Private Folder
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",
"PROJECTS"
],
"default": "PROJECTS",
"description": "indicate if the folder should hold Projects or Templates"
},
"parent_folder_id": {
"type": "string"
}
},
"required": [
"title",
"parent_folder_id"
]
}
201
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": "null is used for the private folders"
},
"parent_folder_id": {
"type": "string",
"description": "the id of the closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"hidden": {
"type": "boolean",
"description": "indicating if the folder is hidden"
},
"content_type": {
"type": "string",
"enum": [
"PROJECTS",
"TEMPLATES",
"PROJECTS"
],
"default": "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 a top-level Group Folder to hold Projects
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",
"PROJECTS"
],
"default": "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"
]
}
201
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 closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"hidden": {
"type": "boolean",
"description": "indicating if the folder is hidden"
},
"content_type": {
"type": "string",
"enum": [
"PROJECTS",
"TEMPLATES",
"PROJECTS"
],
"default": "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 a top-level Group Folder to hold Templates
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"
]
}
201
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 closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"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"
]
}
Create Group Folder as a Child of an Existing Group Folder
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",
"PROJECTS"
],
"default": "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",
"parent_folder_id"
]
}
201
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",
"description": "the id of the closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"hidden": {
"type": "boolean",
"description": "indicating if the folder is hidden"
},
"content_type": {
"type": "string",
"enum": [
"PROJECTS",
"TEMPLATES",
"PROJECTS"
],
"default": "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"
]
}
Update FolderPATCH/folders/{id}
This endpoint complies with RFC 6902
, the specification for JSON Patch.
Please note that the ‘value’ of the patch operation should be the new owner membership id, not the new owner id.
Update a folder’s owner. The supported operations will grow in time.
Example URI
- id
string
(required) Example: 36292the unique id of the folder
Change Folder Owner
Headers
Content-Type: application/json-patch+json
Body
[
{
"op": "replace",
"path": "/owner_id",
"value": "3128"
}
]
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": [
"/owner_id"
],
"description": "JSON Pointer notation to the owner of the folder"
},
"value": {
"type": "string",
"description": "the unique identifier of the group membership of the new owner"
}
},
"required": [
"op",
"path",
"value"
]
}
}
200
Headers
Content-Type: application/json;charset=UTF-8
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": "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 closest accessible parent folder in which the folder is located for the user. null is used folders which are not in a parent folder or don't have closest accessible parent folder"
},
"hidden": {
"type": "boolean",
"description": "indicating if the folder is hidden"
},
"content_type": {
"type": "string",
"enum": [
"PROJECTS",
"TEMPLATES",
"PROJECTS"
],
"default": "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"
],
"additionalProperties": false
}
Update Folder AccessPUT/folders/{id}/access
Update the access settings of a folder.
A folder can be either shared with specific members, subgroups or with the whole group.
Sharing it with subgroups or the group will automatically enable access for any new member joining these group structures.
The folder owner is always added to the access settings membership IDs automatically, to guarantee that she has access
at any time.
If the folder is located inside another folder, all access settings of the parent folder will cascade to the respective folder, even if you do not provide those within your request. This means the response might slightly differ from the request for this and other reasons mentioned above.
Example URI
- id
string
(required) Example: 36274id of the folder
Update Folder Access
Headers
Content-Type: application/json
Body
{
"folder_id": "36274",
"group_membership_ids": [
"3127",
"3129"
],
"subgroup_ids": [
"234"
],
"full_group_access": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"folder_id": {
"type": "string",
"description": "id of the folder"
},
"group_membership_ids": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "ids of memberships that have access to the folder granted"
},
"subgroup_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "ids of subgroups which members have access to the folder granted"
},
"full_group_access": {
"type": "boolean",
"description": "boolean flag indicating if all group members have access to the folder granted. if this has value 'true', it makes setting the id fields obsolete."
}
},
"required": [
"folder_id",
"group_membership_ids",
"subgroup_ids",
"full_group_access"
]
}
200
Headers
Content-Type: application/json;charset=UTF-8
Body
{
"folder_id": "36274",
"group_membership_ids": [
"3127",
"3129"
],
"subgroup_ids": [
"234"
],
"full_group_access": false
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"folder_id": {
"type": "string",
"description": "id of the folder"
},
"group_membership_ids": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "ids of memberships that have access to the folder granted"
},
"subgroup_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "ids of subgroups which members have access to the folder granted"
},
"full_group_access": {
"type": "boolean",
"description": "boolean flag indicating if all group members have access to the folder granted. if this has value 'true', it makes setting the id fields obsolete."
}
},
"required": [
"folder_id",
"group_membership_ids",
"subgroup_ids",
"full_group_access"
],
"additionalProperties": false
}
Templates ¶
Templates Resource ¶
Create TemplatePOST/templates
Create a Template
Example URI
Create Private Template
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"
]
}
201
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"
]
}
Create Private Template in a Folder
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"
]
}
201
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
}
Create Group Template
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"
]
}
201
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
}
Create Group Template in a Folder
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"
]
}
201
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
}
Create Template from an Existing Entry
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"
]
}
201
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 TemplateGET/templates/{id}{?expand}
Returns the latest version of a template
Example URI
- id
string
(required) Example: 36280id 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
200
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
}
?expand=entry
200
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"
],
"items": {
"type": "object",
"properties": {
"cells": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"element_version_id": {
"type": "string",
"description": "The version id of this element"
},
"width": {
"type": "number",
"description": "The width of the cell in percentage, where 0 means that available width is filled"
}
},
"required": [
"element_version_id",
"width"
]
}
}
},
"required": [
"cells"
]
},
"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",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The stable id of the element"
},
"version_id": {
"type": "string",
"description": "The version id of this element"
},
"type": {
"type": "string",
"enum": [
"DATA",
"FILE",
"IMAGE",
"TABLE",
"TEXT",
"WELL_PLATE"
],
"description": "The type of the element"
}
},
"required": [
"id",
"version_id",
"type"
]
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom date. Names are case insensitive."
},
"value": {
"type": "string",
"description": "The value of this custom date"
}
},
"required": [
"name",
"value"
]
},
"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 EntriesGET/entries{?sort,omit_empty_title,title,expand,limit,offset,project_ids}
Returns the list of entries
Example URI
- 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: falseomit entries without a title in the result set
- title
string
(optional)partial string to match the entry title
- limit
number
(optional) Default: 20Maximum number of projects to return. The maximum for
limit
is 50 items.- offset
number
(optional) Default: 0Offset 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
last_editor
- project_ids
string
(optional)A comma separated list of project ids that results in returning only entries within the specified project(s)
200
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": "DATA"
}
],
"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,
"last_editor_id": "11038"
}
]
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"
],
"items": {
"type": "object",
"properties": {
"cells": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"element_version_id": {
"type": "string",
"description": "The version id of this element"
},
"width": {
"type": "number",
"description": "The width of the cell in percentage, where 0 means that available width is filled"
}
},
"required": [
"element_version_id",
"width"
]
}
}
},
"required": [
"cells"
]
},
"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",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The stable id of the element"
},
"version_id": {
"type": "string",
"description": "The version id of this element"
},
"type": {
"type": "string",
"enum": [
"DATA",
"FILE",
"IMAGE",
"TABLE",
"TEXT",
"WELL_PLATE"
],
"description": "The type of the element"
}
},
"required": [
"id",
"version_id",
"type"
]
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom date. Names are case insensitive."
},
"value": {
"type": "string",
"description": "The value of this custom date"
}
},
"required": [
"name",
"value"
]
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
]
}
}
Create EntryPOST/entries
Create a entry
Example URI
Create Entry with Title
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"
]
}
201
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,
"last_editor_id": "11038"
}
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",
"items": {
"type": "object",
"properties": {}
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {}
},
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {}
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
],
"additionalProperties": false
}
Create Entry with Tags
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"
]
}
201
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,
"last_editor_id": "11038"
}
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",
"items": {
"type": "object",
"properties": {}
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {}
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
],
"additionalProperties": false
}
Create Entry with Custom Dates
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",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom date. Names are case insensitive."
},
"value": {
"type": "string",
"description": "The value of this custom date"
}
},
"required": [
"name",
"value"
]
},
"description": "array of custom dates"
}
},
"required": [
"project_id",
"title",
"custom_dates"
]
}
201
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,
"last_editor_id": "11038"
}
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",
"items": {
"type": "object",
"properties": {}
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {}
},
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom date. Names are case insensitive."
},
"value": {
"type": "string",
"description": "The value of this custom date"
}
},
"required": [
"name",
"value"
]
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
],
"additionalProperties": false
}
Create Entry from an Existing Entry or Template
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"
]
}
201
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,
"last_editor_id": "11038"
}
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",
"items": {
"type": "object",
"properties": {}
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {}
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
],
"additionalProperties": false
}
Update EntryPATCH/entries/{id}
Update an entry’s attributes. The supported operations will grow in time.
This endpoint complies with RFC 6902
, the specification for JSON Patch.
Example URI
- id
string
(required) Example: 938306the unique id of the entry
Change the Project of an Entry
Note: the Project must exist in the same workspace as the entry for the operation to be successful.
Headers
Content-Type: application/json-patch+json
Body
[
{
"op": "replace",
"path": "/project_id",
"value": "36272"
}
]
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": [
"/project_id"
],
"description": "JSON Pointer notation to the member named project id"
},
"value": {
"type": "string",
"description": "the id of the project, in which the entry should move"
}
},
"required": [
"op",
"path",
"value"
]
}
}
200
Headers
Content-Type: application/json;charset=UTF-8
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": "DATA"
}
],
"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,
"last_editor_id": "11038"
}
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"
],
"items": {
"type": "object",
"properties": {
"cells": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"element_version_id": {
"type": "string",
"description": "The version id of this element"
},
"width": {
"type": "number",
"description": "The width of the cell in percentage, where 0 means that available width is filled"
}
},
"required": [
"element_version_id",
"width"
]
}
}
},
"required": [
"cells"
]
},
"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",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The stable id of the element"
},
"version_id": {
"type": "string",
"description": "The version id of this element"
},
"type": {
"type": "string",
"enum": [
"DATA",
"FILE",
"IMAGE",
"TABLE",
"TEXT",
"WELL_PLATE"
],
"description": "The type of the element"
}
},
"required": [
"id",
"version_id",
"type"
]
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom date. Names are case insensitive."
},
"value": {
"type": "string",
"description": "The value of this custom date"
}
},
"required": [
"name",
"value"
]
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
],
"additionalProperties": false
}
Change the visibility of an Entry
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"
]
}
}
200
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,
"last_editor_id": "11038"
}
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"
],
"items": {
"type": "object",
"properties": {
"cells": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"element_version_id": {
"type": "string",
"description": "The version id of this element"
},
"width": {
"type": "number",
"description": "The width of the cell in percentage, where 0 means that available width is filled"
}
},
"required": [
"element_version_id",
"width"
]
}
}
},
"required": [
"cells"
]
},
"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",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The stable id of the element"
},
"version_id": {
"type": "string",
"description": "The version id of this element"
},
"type": {
"type": "string",
"enum": [
"DATA",
"FILE",
"IMAGE",
"TABLE",
"TEXT",
"WELL_PLATE"
],
"description": "The type of the element"
}
},
"required": [
"id",
"version_id",
"type"
]
},
"description": "The elements in this entry"
},
"tags": {
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
],
"description": "The tags for this entry. Tags are case insensitive."
},
"custom_dates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the custom date. Names are case insensitive."
},
"value": {
"type": "string",
"description": "The value of this custom date"
}
},
"required": [
"name",
"value"
]
},
"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."
},
"last_editor_id": {
"type": "string",
"description": "the unique id of the last user who made a modification to the entry"
}
},
"required": [
"id",
"version_id",
"author_id",
"creation_date",
"version_date",
"element_layout",
"elements",
"tags",
"custom_dates",
"project_id",
"title",
"entry_number",
"hidden",
"editable",
"last_editor_id"
],
"additionalProperties": false
}
Favorite Entries ¶
Create FavoritePOST/favorite-entries
Mark an entry as favorite
Example URI
Create Favorite
Headers
Content-Type: application/json
Body
{
"entry_id": "938311",
"project_id": "36272"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"entry_id": {
"type": "string",
"description": "id of the entry"
},
"project_id": {
"type": "string",
"description": "id of the project"
}
},
"required": [
"entry_id",
"project_id"
]
}
201
Headers
Content-Type: application/json;charset=UTF-8
Body
{
"entry_id": "938311",
"project_id": "36272",
"id": 1,
"user_id": "11038",
"create_timestamp": "2022-11-07T16:32:12.729+0200",
"last_edit_timestamp": "2022-11-07T16:32:12.729+0200"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"entry_id": {
"type": "string",
"description": "id of the entry"
},
"project_id": {
"type": "string",
"description": "id of the project"
},
"id": {
"type": "number",
"description": "id of the favorite record"
},
"user_id": {
"type": "string",
"description": "id of the favorite owner"
},
"create_timestamp": {
"type": "string",
"description": "timestamp of the creation"
},
"last_edit_timestamp": {
"type": "string",
"description": "timestamp of last edition"
}
},
"required": [
"entry_id",
"project_id",
"id",
"user_id",
"create_timestamp",
"last_edit_timestamp"
],
"additionalProperties": false
}
Delete FavoriteDELETE/favorite-entries/{entry_id}
Removes an entry as favorite
Example URI
- entry_id
string
(required) Example: 938311id of the entry
204
Export ¶
Exports Resource ¶
List All ExportsGET/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
- status
string
(optional) Example: FINISHEDA comma separated list of statuses to be filtered.
Choices:
NEW
RUNNING
FINISHED
REMOVED
ERROR
QUEUED
- limit
number
(optional) Default: 20Maximum number of exports to return. The maximum for
limit
is 50 items.- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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://labfolder.labforward.app/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://labfolder.labforward.app/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
"settings": {}
}
]
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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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": {
"preserve_entry_layout": {
"type": "boolean",
"description": "defines if PDF maintains the entry layout or lists all entry elements bellow each other",
"default": true
}
}
}
},
"required": [
"id",
"user_id",
"type",
"content",
"status",
"completion_date",
"download_file_length",
"creation_date",
"version_date",
"download_filename",
"settings"
]
}
]
}
PDF Exports ¶
List PDF ExportsGET/exports/pdf{?status,limit,offset}
Get all created PDF Exports the requesting user has created
Example URI
- status
string
(optional) Example: FINISHEDA comma separated list of statuses to be filtered.
Choices:
NEW
RUNNING
FINISHED
REMOVED
ERROR
QUEUED
- limit
number
(optional) Default: 20Maximum number of exports to return. The maximum for
limit
is 50 items.- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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://labfolder.labforward.app/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
"settings": {}
}
]
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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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": {
"preserve_entry_layout": {
"type": "boolean",
"description": "defines if PDF maintains the entry layout or lists all entry elements bellow each other",
"default": true
}
}
}
},
"required": [
"id",
"user_id",
"type",
"content",
"status",
"completion_date",
"download_file_length",
"creation_date",
"version_date",
"download_filename",
"settings"
]
}
}
Get PDF ExportGET/exports/pdf/{id}
Returns the current version of the PDF export.
Example URI
- id
string
(required) Example: ced8ca60-660b-4916-96a7-76b3258db135id of the PDF export
200
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://labfolder.labforward.app/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
"settings": {}
}
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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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": {
"preserve_entry_layout": {
"type": "boolean",
"description": "defines if PDF maintains the entry layout or lists all entry elements bellow each other",
"default": true
}
}
}
},
"required": [
"id",
"user_id",
"type",
"content",
"status",
"completion_date",
"download_file_length",
"creation_date",
"version_date",
"download_filename",
"settings"
],
"additionalProperties": false
}
Download PDF Export FileGET/exports/pdf/{id}/download
Download the result file of a finished PDF export.
Example URI
- id
string
(required) Example: ced8ca60-660b-4916-96a7-76b3258db135id of the PDF export
200
Headers
Content-Type: application/pdf
Content-Disposition: `attachment;filename="labfolder_export.pdf"`
Content-Length: 12345
Body
... file content as binary ...
Create PDF ExportPOST/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
Create PDF Export
Headers
Content-Type: application/json
Body
{
"download_filename": "example project",
"settings": {
"preserve_entry_layout": true
},
"content": {
"project_ids": [
"36272"
],
"entry_ids": [
"938302"
],
"template_ids": [
"36280"
],
"group_ids": [
"1200"
]
}
}
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": {
"preserve_entry_layout": {
"type": "boolean",
"description": "defines if PDF maintains the entry layout or lists all entry elements bellow each other",
"default": true
}
},
"description": "json object defining custom settings for export content"
},
"content": {
"type": "object",
"properties": {
"project_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of projects to be exported"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries to be exported"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates to be exported"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of groups to be exported"
}
},
"additionalProperties": false,
"description": "object defining the export content scope"
}
}
}
202
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://labfolder.labforward.app/api/v2/exports/pdf/20e699a3-4764-461f-a4bc-d10d7cbba3f0?X-Labfolder-Signature=2ff8f6e9044138adb49e4a3c0674b5b4992c8c51aa907f605ecf5da85833d020&X-Labfolder-Expires=1554974215285",
"settings": {}
}
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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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": {
"preserve_entry_layout": {
"type": "boolean",
"description": "defines if PDF maintains the entry layout or lists all entry elements bellow each other",
"default": true
}
}
}
},
"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 ExportsGET/exports/xhtml{?status,limit,offset}
Get all created XHTML Exports the requesting user has created
Example URI
- status
string
(optional) Example: FINISHEDA comma separated list of statuses to be filtered.
Choices:
NEW
RUNNING
FINISHED
REMOVED
ERROR
QUEUED
- limit
number
(optional) Default: 20Maximum number of exports to return. The maximum for
limit
is 50 items.- offset
number
(optional) Default: 0Offset into result-set (useful for pagination)
200
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://labfolder.labforward.app/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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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 ExportGET/exports/xhtml/{id}
Returns the current version of the XHTML export.
Example URI
- id
string
(required) Example: a6e15cda-a48c-463c-bcc4-cf92c8323d8bid of the XHTML export
200
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://labfolder.labforward.app/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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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 FileGET/exports/xhtml/{id}/download
Download the result file of a finished XHTML export.
Example URI
- id
string
(required) Example: a6e15cda-a48c-463c-bcc4-cf92c8323d8bid of the XHTML export
200
Headers
Content-Type: application/zip
Content-Disposition: `attachment;filename="my_labfolder_data.zip"`
Content-Length: 12345
Body
... file content as binary ...
Create XHTML ExportPOST/exports/xhtml
Create a XHTML export of all content (Projects with their Entries & Templates) the requesting user owns.
Example URI
Create XHTML Export
Headers
Content-Type: application/json
Body
{}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
202
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://labfolder.labforward.app/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",
"items": {
"type": "string"
},
"description": "the ids of projects that are contained in the export"
},
"entry_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of entries that are contained in the export"
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "the ids of templates that are contained in the export"
},
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"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
}
Labregister ¶
Categories ¶
List CategoriesGET/mdb/categories{?group_id,expand}
Returns the list of all accessible categories of the requesting user
Example URI
- group_id
string
(optional) Example: 1200Only return the categories that belong to the specified group
- expand
string
(optional)A comma separated list of related domain objects that should be expanded for all categories returned
Choices:
creator
200
Headers
Content-Type: application/json;charset=UTF-8
Body
[
{
"title": "Luke's Private Vehicles",
"attributes": [
{
"type": "Text",
"title": "Model",
"mandatory": false,
"options": [
"null"
],
"settings": null
}
],
"id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
"group_id": "1200",
"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": 1,
"status": "ACTIVE"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "the display title of the category"
},
"attributes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Text",
"LongText",
"Date",
"Number",
"Url",
"Dropdown",
"Barcode"
]
},
"title": {
"type": "string",
"description": "the display title of the attribute"
},
"mandatory": {
"type": "boolean",
"description": "when set to `true` the items created in this category should have an associated value for this attribute"
},
"options": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "when the attribute type is Dropdown, then this array should be sent together"
},
"settings": {
"type": [
"object",
"null"
],
"properties": {},
"description": "the field which contains additional settings data of attribute"
}
},
"required": [
"type",
"title",
"mandatory"
]
},
"description": "The attribute definitions of the category"
},
"id": {
"type": "string",
"description": "the stable id of the category"
},
"group_id": {
"type": [
"string",
"null"
],
"description": "the id of the group to which the category is associated"
},
"creator_id": {
"type": "string",
"description": "the user id of the original author"
},
"creation_date": {
"type": "string",
"description": "the creation date of the category"
},
"version_id": {
"type": "string",
"description": "the unique, version id of the category"
},
"version_date": {
"type": "string",
"description": "the last modification date of the category"
},
"version": {
"type": "number",
"description": "the version number of the category (it is automatically incremented for each modification on the category)"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DELETED",
"HIDDEN"
],
"description": "indicates whether category is active, hidden or deleted"
}
},
"required": [
"title",
"id",
"group_id",
"creator_id",
"creation_date",
"version_id",
"version_date",
"version",
"status"
]
}
}
List Categories with Group & KeywordGET/mdb/categories{?group_id,keyword,status,expand}
Returns the list of accessible categories of the requesting user filtered with group id and keyword
Example URI
- group_id
string
(required) Example: 1200Only return the categories that belongs to the group
- keyword
string
(optional) Example: NameOnly return the categories that belongs to the group and has the specific keyword in the name
- status
string
(optional) Example: ACTIVEOnly return the categories of the specific status that belongs to the group
- expand
string
(optional)A comma separated list of related domain objects that should be expanded for all categories returned
Choices:
creator
200
Headers
Content-Type: application/json;charset=UTF-8
Body
[
{
"title": "Luke's Private Vehicles",
"attributes": [
{
"type": "Text",
"title": "Model",
"mandatory": false,
"options": [
"null"
],
"settings": null
}
],
"id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
"group_id": "1200",
"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": 1,
"status": "ACTIVE"
}
]
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "the display title of the category"
},
"attributes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Text",
"LongText",
"Date",
"Number",
"Url",
"Dropdown",
"Barcode"
]
},
"title": {
"type": "string",
"description": "the display title of the attribute"
},
"mandatory": {
"type": "boolean",
"description": "when set to `true` the items created in this category should have an associated value for this attribute"
},
"options": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "when the attribute type is Dropdown, then this array should be sent together"
},
"settings": {
"type": [
"object",
"null"
],
"properties": {},
"description": "the field which contains additional settings data of attribute"
}
},
"required": [
"type",
"title",
"mandatory"
]
},
"description": "The attribute definitions of the category"
},
"id": {
"type": "string",
"description": "the stable id of the category"
},
"group_id": {
"type": [
"string",
"null"
],
"description": "the id of the group to which the category is associated"
},
"creator_id": {
"type": "string",
"description": "the user id of the original author"
},
"creation_date": {
"type": "string",
"description": "the creation date of the category"
},
"version_id": {
"type": "string",
"description": "the unique, version id of the category"
},
"version_date": {
"type": "string",
"description": "the last modification date of the category"
},
"version": {
"type": "number",
"description": "the version number of the category (it is automatically incremented for each modification on the category)"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DELETED",
"HIDDEN"
],
"description": "indicates whether category is active, hidden or deleted"
}
},
"required": [
"title",
"id",
"group_id",
"creator_id",
"creation_date",
"version_id",
"version_date",
"version",
"status"
]
}
}
Get CategoryGET/mdb/categories/{id}{?expand}
Returns the non-deleted, active or hidden, category
Example URI
- id
string
(required) Example: e87e6534-2ae0-4139-bc48-cc668f330069id of the category
- expand
string
(optional)A comma separated list of related domain objects that should be expanded for all categories returned
Choices:
creator
Get Category
200
Headers
Content-Type: application/json;charset=UTF-8
Body
{
"title": "Luke's Private Vehicles",
"attributes": [
{
"type": "Text",
"title": "Model",
"mandatory": false,
"options": [
"null"
],
"settings": null
}
],
"id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
"group_id": "1200",
"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": 1,
"status": "ACTIVE"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "the display title of the category"
},
"attributes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Text",
"LongText",
"Date",
"Number",
"Url",
"Dropdown",
"Barcode"
]
},
"title": {
"type": "string",
"description": "the display title of the attribute"
},
"mandatory": {
"type": "boolean",
"description": "when set to `true` the items created in this category should have an associated value for this attribute"
},
"options": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "when the attribute type is Dropdown, then this array should be sent together"
},
"settings": {
"type": [
"object",
"null"
],
"properties": {},
"description": "the field which contains additional settings data of attribute"
}
},
"required": [
"type",
"title",
"mandatory"
]
},
"description": "The attribute definitions of the category"
},
"id": {
"type": "string",
"description": "the stable id of the category"
},
"group_id": {
"type": [
"string",
"null"
],
"description": "the id of the group to which the category is associated"
},
"creator_id": {
"type": "string",
"description": "the user id of the original author"
},
"creation_date": {
"type": "string",
"description": "the creation date of the category"
},
"version_id": {
"type": "string",
"description": "the unique, version id of the category"
},
"version_date": {
"type": "string",
"description": "the last modification date of the category"
},
"version": {
"type": "number",
"description": "the version number of the category (it is automatically incremented for each modification on the category)"
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"DELETED",
"HIDDEN"
],
"description": "indicates whether category is active, hidden or deleted"
}
},
"required": [
"title",
"attributes",
"id",
"group_id",
"creator_id",
"creation_date",
"version_id",
"version_date",
"version",
"status"
],
"additionalProperties": false
}
Get Category with Barcode Attribute
200
Headers
Content-Type: application/json;charset=UTF-8
Body
{
"title": "Luke's Private Vehicles",
"attributes": [
{
"type": "Barcode",
"title": "Barcode",
"mandatory": false,
"options": [
"null"
],
"settings": {
"barcode_generation_method": "MANUAL",
"barcode_type": "CODE_128"
}
}
],
"id": "b10b785d-d87d-48cf-9c0b-d7be08f377b2",
"group_id": "1200",
"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": 1,
"status": "ACTIVE"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "the display title of the category"
},
"attributes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Barcode",
"Text",
"LongText",
"Date",
"Number",
"Url",
"Dropdown"
]
},
"title": {
"type": "string",
"description": "the display title of the attribute"
},
"mandatory": {
"type": "boolean",
"description": "when set to `true` the items created in this category should have an associated value for this attribute"
},
"options": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "when the attribute type is Dropdown, then this array should be sent together"
},
"settings": {
"type": "object",
"properties": {
"barcode_generation_method": {
"type": "string",
"enum": [
"MANUAL",
"AUTO"
],
"description": "this enum should contain Barcode Attribute's generation method"
},
"barcode_type": {
"type": "string",
"enum": [
"CODE_128",
"DATA_MATRIX"
],
"description": "this enum should contain Barcode Attribute's type"
}
},
"required": [
"barcode_generation_method",
"barcode_type"
],
"description": "the field which contains additional settings data of attribute"
}
},
"required": [
"type",
"title",
"mandatory",
"settings"
]
},
"description": "The attribute definitions of the category"
},
"id": {
"type": "string",
"description": "the stable id of the category"
},
"group_id": {
"type": [
"string",
"null"
]