SEAL Operator REST API (0.5)

Download OpenAPI specification:

This is the REST API of the SEAL Operator system. It is used by the graphical front-end and may also be used for integration purposes. The API can be used to access the SERVICES installed with SEAL Operator in order to manage DOCUMENTS in REPOSITORIES, organize documents in LISTS and work with the TASKS provided by the services. The API requires OAuth2/OIDC authentication. See the SEAL Operator Integrators Guide for details.

Services

Get list of available services

A GET call to this route will return a list of active services currently available through the API.

Authorizations:
oauth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve service metadata

A GET call to this route will return metadata of the service.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "metadata": { },
  • "links": { },
  • "embedded": { }
}

Repositories

Test for documents not actively used in a task

Filters list of document IDs and returns only documents currently not used in a task in status processing.

Authorizations:
oauth
Request Body schema: application/json
required

list of document IDs

Array
string

Responses

Request samples

Content type
application/json
[
  • "ce4a9e70-62b5-4f2c-976e-4632a99b0fbd"
]

Response samples

Content type
application/json
[
  • "ce4a9e70-62b5-4f2c-976e-4632a99b0fbd"
]

Access the document repository within a service

Some services (not all) expose access to documents. All documents available through a service are accessible via the 'repo' route. This route provides access to the repository root collection, containing documents and/or child collections. Use metadata property names and regular expressions in URL query string to search for entries (documents or collections) and the offset and limit parameters to control the number of results returned.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the repository.

query Parameters
offset
integer
Default: 0

Index of first result to return.

limit
integer
Default: 50

Number of results to return. Maximum is 500.

sort
string

Sort query results. Comma-separated list of property names, prefixed with '-' for descending sort order. Example: 'sort=date,-name'

scope
string
Default: "all"

Set the scope when searching for documents. Possible values are root and all, default is all.

embed
string

Include sub-resource or sub-collection data in response. "permissions": include access rights records for each entry. "thumb": include base64-encoded thumbnail image for each entry, e. g.

"embedded": {
  "content-type": "image/png"
  "thumb": "A9cX0..."
}

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new entry in the root collection of the repository.

Creates a new record in the current repository, inside the root collection, and assigns the posted metadata.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

header Parameters
x-owner
string

User that should own the new entry. The user creating the entry becomes its creator, adding an owner is optional. Owner and creator rights can be managed through roles & rights. User identifiers can be anything, e. g. SAMaccountname or UPN. Must be matched with a claim from the JWT token in order to work in the user interface.

Request Body schema: application/json
required

Metadata of the entry to be created

name
string

(File) name of the entry

type
string
Enum: "document" "collection"

Type of RepoEntry.

metadata
object

Metadata assigned to the entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "document",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "name": "string",
  • "type": "document",
  • "links": {
    },
  • "embedded": { },
  • "metadata": { }
}

Launch a repository command

Launches a command in the given repository. Returns a JSON object containing a command ID for tracking status of asynchronous commands.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

Request Body schema: application/json
required

The command entry and its parameter to be created. Currently supported commands are copy and move. The parameters for both commands:

{
  "action": "copy|move",
  "parameter": {
    "source": "source href",
    "parent": "uuid of target parent"
  }
}

The source may be a remote repository in later implementations, so an href is needed here.

action
string
Enum: "copy" "move"
parameter
object

Command-specific parameter, e. g. hrefs of documents

Responses

Request samples

Content type
application/json
{
  • "action": "copy",
  • "parameter": { }
}

Response samples

Content type
application/json
{
  • "cid": "string",
  • "status": "open",
  • "command": {
    }
}

Retrieve a command's status

Returns a JSON object containing the status of the command. Command resources are automatically deleted after a final state (success or failure) was delivered once to the client or it is expired.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

cid
required
string

ID of the command.

Responses

Response samples

Content type
application/json
{
  • "cid": "string",
  • "status": "open",
  • "command": {
    }
}

Retrieve metadata of a repository entry (document or collection).

Given a 'uuid' parameter, this route retrieves an entry's metadata. The entry may be either a document or a collection.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

ID of the repository entry

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "name": "string",
  • "type": "document",
  • "links": {
    },
  • "embedded": { },
  • "metadata": { }
}

Replace repository entry metadata

Completely replace the metadata record of the given entry. Only record metadata can be replaced; internal auto-generated metadata (links, embedded), if given, are ignored.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the repository.

uuid
required
string

UUID of the entry

Request Body schema: application/json
required

New entry metadata. Note that changing the entry type is not possible by updating metadata.

name
string

(File) name of the entry

type
string
Enum: "document" "collection"

Type of RepoEntry.

metadata
object

Metadata assigned to the entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "document",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "name": "string",
  • "type": "document",
  • "links": {
    },
  • "embedded": { },
  • "metadata": { }
}

Create a new entry in a collection

If the entry under the given UUID is a collection, then a POST request to this route will create a new entry in the collection. Whether the created entry will be a document or another collection depends on the metadata enclosed in the request body. See RepoEntry data model.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the collection in which to create a new entry

header Parameters
x-owner
string

User that should own the new entry. The user creating the entry becomes its creator, adding an owner is optional. Owner and creator rights can be managed through roles & rights. User identifiers can be anything, e. g. SAMaccountname or UPN. Must be matched with a claim from the JWT token in order to work in the user interface.

Request Body schema: application/json
required

Metadata of the entry to create

name
string

(File) name of the entry

type
string
Enum: "document" "collection"

Type of RepoEntry.

metadata
object

Metadata assigned to the entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "document",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "name": "string",
  • "type": "document",
  • "links": {
    },
  • "embedded": { },
  • "metadata": { }
}

Delete the entry

Removes the current entry from the repository. This will not only remove the reference within SEAL Operator, but the actual record and content in the target system.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the entry to delete

query Parameters
force
boolean

Delete document even if it is still in use by one or more tasks.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Update repository entry metadata (partial)

Update the given entry's metadata. Only data given with the patch will be changed/added, no existing entries removed. Internal auto-generated metadata (links, embedded), if given, are ignored.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the entry

Request Body schema: application/json
required

New entry metadata.

name
string

(File) name of the entry

type
string
Enum: "document" "collection"

Type of RepoEntry.

metadata
object

Metadata assigned to the entry

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "document",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "name": "string",
  • "type": "document",
  • "links": {
    },
  • "embedded": { },
  • "metadata": { }
}

Access children of a collection

Some services (not all) expose access to documents. All documents available through a service are accessible via the 'repo' route. This route provides access to the children of a collection, containing documents and/or collections. Use metadata property names and regular expressions in URL query string to search for entries (documents or collections), offset and limit parameters to control the number of results returned.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the repository.

uuid
required
string

UUID of the parent collection

query Parameters
offset
integer
Default: 0

Index of first result to return.

limit
integer
Default: 50

Number of results to return. Maximum is 500.

sort
string

Sort query results. Comma-separated list of property names, prefixed with '-' for descending sort order. Example: 'sort=date,-name'

embed
string

Include sub-resource or sub-collection data in response. "permissions": include access rights records for each entry. "icon": include icon-font and value for each entry, e. g.

"embedded": {
  "icon": "material:play"
}

"thumb": include base64 encoded thumbnail image for each entry, e. g.

"embedded": {
  "content-type": "image/png"
  "thumb": "A9cX0..."
}

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve document binary content

If the entry under 'uuid' is a document, then this route provides access to the binary content (i. e. the actual file).

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the document

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Create or update document binary content

Upload binary content of a document. Create if none exists, or replace existent file. Uploading binary content to collection type entries is not supported.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the document

Request Body schema: application/octet-stream
required
string <binary>

binary data for upload

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Delete document binary content

Deletes the binary content of a document, leaving metadata only. Note that some repositories will not allow this operation. To delete binary content from such repositories, you will need to delete the entire document. Deleting binary content is not supported by collection type entries.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the document

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Retrieve preview of a document's binary content

If the entry under 'uuid' is a document, then this route provides access to the preview content. Collection type entries do not support the preview option.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

uuid
required
string

UUID of the document

Responses

Tasks

Retrieve meta-collection of all tasks managed by all services.

This route provides access to the root collection of known tasks for all services supporting tasks. Use property names and regular expressions in URL query string to search for tasks, e. g. 'metadata.creationDay' to search for the property 'creationDay' stored in the task metadata. Use the 'embed' parameter to include information about instances and sub-ressources. Use the 'inputDocument' parameter to search for a task containing a given document, and use 'inlineCount' to get the number of found tasks.

Authorizations:
oauth
query Parameters
inputDocument
string

A document UUID to look for in the input lists of all tasks.

embed
string

Information about sub-collections and/or sub-resources to include in the response.

  • "metadata": include task metadata.
  • "input": include input lists metadata
  • "inputlist": include whole input lists
  • "output": include output lists metadata
  • "cstats": connector specific job IDs and statuses
inlineCount
boolean

Return a JSON object containing the number of tasks found, according to the query parameters, instead of an array with tasks.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Access collection of tasks managed by the service.

This route provides access to the root collection of known tasks for the current service. Use property names and regular expressions in URL query string to search for tasks, e. g. 'metadata.creationDay' to search for the property 'creationDay' stored in the task metadata. Use the offset and limit parameters to control the number of results returned. Use the 'embed' parameter to include information about instances and sub-resources.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the tasks

query Parameters
offset
integer
Default: 0

Index of first result to return.

limit
integer
Default: 50

Number of results to return. Maximum is 500.

sort
string

Sort query results. Comma-separated list of property names, prefixed with '-' for descending sort order. Example: 'sort=date,-name'

inputDocument
string

A document UUID to search for in the input lists of all tasks.

embed
string

Information about sub-collections and/or sub-resources to include in the response.

  • "metadata": include task metadata.
  • "input": include input list metadata
  • "inputlist": include whole input list
  • "output": include output list metadata
  • "cstats": connector specific job IDs and statuses
inlineCount
boolean

Return a JSON object containing the number of tasks found, according to the query parameters, instead of an array with tasks.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new task

Adds a new task to the collection. If JSON data is given in the body, the task is created with the given metadata and input list. Otherwise, the task is created with default metadata, and its input list is populated with the RList or CSV content given in the request body.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the new task

header Parameters
x-owner
string

User that should own the new task. The user creating the task becomes its creator, adding an owner is optional. Owner and creator rights can be managed through roles & rights. User identifiers can be anything, e. g. SAMaccountname or UPN. Must be matched with a claim from the JWT token in order to work in the user interface.

Request Body schema:
required

Task metadata

name
string
sid
string
tid
string
metadata
object

Task metadata. Note that these do not contain item metadata.

created
integer <date-time>

Timestamp of task creation

started
integer <date-time>

Timestamp of task started

finished
integer <date-time>

Timestamp of task finished

inputListLength
integer

Number of items in input list

outputListLength
integer

Number of items in output list

status
string (StatusType)
Enum: "open" "processing" "completed" "paused" "aborted" "failed"

Definition of allowed status names

links
object

If requested, the links section contains

  • "self": an object containing an href to the task itself
  • "input": input documents
  • "output": output documents
embedded
object

Embedded sub-resources or sub-collections, as requested through the "embed" query parameter

object

The inputs and outputs associated with the task

Responses

Request samples

Content type
{
  • "name": "string",
  • "sid": "string",
  • "tid": "string",
  • "metadata": { },
  • "created": 0,
  • "started": 0,
  • "finished": 0,
  • "inputListLength": 0,
  • "outputListLength": 0,
  • "status": "open",
  • "links": { },
  • "embedded": { },
  • "lists": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "sid": "string",
  • "tid": "string",
  • "metadata": { },
  • "created": 0,
  • "started": 0,
  • "finished": 0,
  • "inputListLength": 0,
  • "outputListLength": 0,
  • "status": "open",
  • "links": { },
  • "embedded": { },
  • "lists": {
    }
}

Retrieve metadata of a task.

This route provides access to a Task's root record. The record contains taks metadata (such as parameters controlling it), details are available via sub-resources and sub-collections.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

query Parameters
embed
string

Embed sub-resources in the response.

  • "input": include list of input documents
  • "output": include list of output documents
force
boolean

Force status update from backend system.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "sid": "string",
  • "tid": "string",
  • "metadata": { },
  • "created": 0,
  • "started": 0,
  • "finished": 0,
  • "inputListLength": 0,
  • "outputListLength": 0,
  • "status": "open",
  • "links": { },
  • "embedded": { },
  • "lists": {
    }
}

Replace task metadata

A put call to the task root record completely replaces task metadata, but does not affect sub-resources or sub-collections.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task to update.

Request Body schema: application/json
required

New metadata for the task

name
string

Name of the task

metadata
object

Metadata assigned to the task

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "sid": "string",
  • "tid": "string",
  • "metadata": { },
  • "created": 0,
  • "started": 0,
  • "finished": 0,
  • "inputListLength": 0,
  • "outputListLength": 0,
  • "status": "open",
  • "links": { },
  • "embedded": { },
  • "lists": {
    }
}

Delete a task

Deletes a task from the collection. This is only possible if the task is not currently active and if the user has sufficient access rights.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task to delete.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Update task metadata (partial)

Does a partial update to the Task metadata. Given metadata replaces existing one, or is added to the record if not yet present. No metadata is deleted.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task to update.

Request Body schema: application/json
required

New metadata for the task

name
string

Name of the task

metadata
object

Metadata assigned to the task

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "sid": "string",
  • "tid": "string",
  • "metadata": { },
  • "created": 0,
  • "started": 0,
  • "finished": 0,
  • "inputListLength": 0,
  • "outputListLength": 0,
  • "status": "open",
  • "links": { },
  • "embedded": { },
  • "lists": {
    }
}

Trigger an action on a task

Trigger a new action on the task. Currently supported actions are start, abort, pause and resume.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

tid
required
string

ID of the task.

Request Body schema: application/json
required

The body contains a JSON object with the name of the action.

action
string
Enum: "start" "abort" "pause" "resume"

Responses

Request samples

Content type
application/json
{
  • "action": "start"
}

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Retrieve list of task input items

This route provides access to a Task's list of input documents. Input lists of tasks are structure-wise identical with lists in general, they differ in that they are task-internal and hence not available via the /lists route. Input lists can have list-level metadata, and each list item can have metadata as well. A call to this route will provide the list-level metadata and an inventory of the collection. Access input list items via the 'items' sub-collection. Use the 'embed' parameter to include item metadata in the result.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

query Parameters
embed
string

Use 'embed' to include sub-collection metadata in the result.

  • "items": Include list-item metadata.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Replace input list metadata

A PUT call to the input list root record completely replaces the list metadata but does not affect any list items.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task to update.

Request Body schema: application/json
required

New metadata for the task input list

name
string

Name of the task

metadata
object

Metadata assigned to the task

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Append a new item to the input list of the task

Creates a new entry in the given task's input list. Given metadata is assigned to the new list item.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

query Parameters
href
string

URL of the document to add. This is a convenient way of adding a document without constructing a list item first.

Request Body schema:
optional

Complete list item metadata for the new task input list item. Use EITHER doc OR item parameter; if both exist, item is used.

index
integer

This is the index of an item in a list. The index is maintained by the SEAL Operator backend. Setting the index to a value beyond the end of the list will move the item to the end of the list. Setting the index to 0 will move th item to the top of the list. Setting the index to a value in use by another item will replace this item, moving it (and all with higher indices) one space down in the list, by increasing their index values.

href
string

URL location of linked ressource

metadata
object

Additional data to be stored with the link

Responses

Request samples

Content type
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
[
  • {
    }
]

Update input list metadata (partial)

Does a partial update to the input list metadata. Given metadata replaces existing one, or is added to the record if not yet present. No metadata is deleted.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task to update.

query Parameters
embed
string

Use 'embed' to include sub-collection metadata for updating.

  • "items": Include list-item data including indices for reordering.
Request Body schema: application/json
required

New metadata for the input list.

uuid
string

Unique ID of the list, generated by SEAL Operator.

name
string

User-specific name for the list. Does not have to be unique.

created
integer <date-time>

Timestamp of list creation

lastModified
integer <date-time>

Timestamp of list creation

listLength
integer

Number of items in list

object
object

Embedded sub-resources or sub-collections, as requested through the "embed" query parameter

metadata
object

List metadata. Note that these do not contain item metadata.

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Retrieve task item details

A GET call to this route returns input list item metadata.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

id
required
string

ID of the input list item

Responses

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Replace a task input list item

Replaces the task input list item's metadata, including the document reference.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

id
required
string

ID of the input list item

Request Body schema: application/json
optional

Complete item metadata for the task item.

index
integer

This is the index of an item in a list. The index is maintained by the SEAL Operator backend. Setting the index to a value beyond the end of the list will move the item to the end of the list. Setting the index to 0 will move th item to the top of the list. Setting the index to a value in use by another item will replace this item, moving it (and all with higher indices) one space down in the list, by increasing their index values.

href
string

URL location of linked ressource

metadata
object

Additional data to be stored with the link

Responses

Request samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Delete a task input list item

Deletes an item from a task's input list. The deleted ID is permanently orphaned, other list items keep their IDs.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

id
required
string

ID of the input list item to delete

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Update a task input list item (partial)

Updates task input list item metadata, replacing present entries and adding missing ones. No metadata is deleted by the patch.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

id
required
string

ID of the task input list item to update

Request Body schema: application/json
optional

(Partial) metadata of an input list item.

index
integer

This is the index of an item in a list. The index is maintained by the SEAL Operator backend. Setting the index to a value beyond the end of the list will move the item to the end of the list. Setting the index to 0 will move th item to the top of the list. Setting the index to a value in use by another item will replace this item, moving it (and all with higher indices) one space down in the list, by increasing their index values.

href
string

URL location of linked ressource

metadata
object

Additional data to be stored with the link

Responses

Request samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Retrieve input document content

Resolve input document href and return content as octet-stream.

Authorizations:
oauth
path Parameters
tid
required
string

ID of the task.

id
required
string

ID of the task input list item to retrieve

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Access list of task output items

This route provides access to a task's list of output documents. Output lists of tasks have the same structure as lists in general, they differ in that they are task-internal and hence not available via the /lists route. Output lists can have list-level metadata, and each list item can have metadata as well. A call to this route will provide the list-level metadata and an inventory of the collection. Access output list items via the 'items' sub-collection. Use the 'embed' parameter to include item metadata in the result.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

query Parameters
embed
string

Use 'embed' to include sub-collection metadata in the result.

  • "items": Include list-item metadata.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Retrieve task output list item details

This route provides access to individual task output items.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service managing the task

tid
required
string

ID of the task.

id
required
string

ID of the output list item

Responses

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Lists

Access collection of available Lists

This is the collection of Lists of the authenticated user. Use metadata property names and regular expressions in URL query string to search for entries and the offset and limit parameters to control the number of results returned.

Authorizations:
oauth
query Parameters
offset
integer
Default: 0

Index of first result to return.

limit
integer
Default: 50

Number of results to return. Maximum is 500.

sort
string

Sort query results. Comma-separated list of property names, prefixed with '-' for descending sort order. Example: 'sort=date,-name'

embed
string

Include information about collection members.

  • "items": Include item data
  • "permissions": User access rights on each list
  • "metadata": Return list of lists metadata. Example:
    {
      exportTypes: [{
        name: 'csv',
        description: 'Export a CSV file',
        mimeType: 'text/csv'
      }],
      importTypes: [{
        name: 'csv',
        description: 'Import a CSV file',
        mimeType: 'text/csv'
      }]
    }
    

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new list

Creates a new entry in the list of lists. The Content-Type HTTP header defines the format of the import data. Default is JSON. If a URL is given in query as parameter href, the list to import is retrieved from that URL.

Authorizations:
oauth
query Parameters
href
string

URL of the list to add. Example: http://somehost:3456/path/to/mylist.csv

Request Body schema:
required

metadata of the document list to create.

uuid
string

Unique ID of the list, generated by SEAL Operator.

name
string

User-specific name for the list. Does not have to be unique.

created
integer <date-time>

Timestamp of list creation

lastModified
integer <date-time>

Timestamp of list creation

listLength
integer

Number of items in list

object
object

Embedded sub-resources or sub-collections, as requested through the "embed" query parameter

metadata
object

List metadata. Note that these do not contain item metadata.

Responses

Request samples

Content type
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Retrieve list metadata

This is the root record for a given list. It contains list-level metadata. Use the 'embed' parameter to include information about sub-resource like items or access rights. The client controls the exported data format with the Accept HTTP header field. Default is JSON.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

query Parameters
embed
string

Include information about collection members or sub-resources.

  • "items": Include item data
  • "permissions": Include user access rights for the current user.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Replace list metadata

This will completely replace the existing list metadata (if any) by the given metadata. Note that only list metadata itself can be updated. Internal auto-generated metadata (links; embedded), if present, are ignored.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

Request Body schema: application/json
optional

New metadata for the list

uuid
string

Unique ID of the list, generated by SEAL Operator.

name
string

User-specific name for the list. Does not have to be unique.

created
integer <date-time>

Timestamp of list creation

lastModified
integer <date-time>

Timestamp of list creation

listLength
integer

Number of items in list

object
object

Embedded sub-resources or sub-collections, as requested through the "embed" query parameter

metadata
object

List metadata. Note that these do not contain item metadata.

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Delete list

Deletes the list, including all its items (but keep the documents referred to by the items).

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list to delete

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Update list metadata (partial)

Updates or adds part of the list metadata. Only given metadata will be replaced or added, no metadata will be removed. Note that only List metadata can be updated; internal auto-generated metadata (links, embedded), if present, are ignored.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list

Request Body schema: application/json
optional

New metadata for the list

uuid
string

Unique ID of the list, generated by SEAL Operator.

name
string

User-specific name for the list. Does not have to be unique.

created
integer <date-time>

Timestamp of list creation

lastModified
integer <date-time>

Timestamp of list creation

listLength
integer

Number of items in list

object
object

Embedded sub-resources or sub-collections, as requested through the "embed" query parameter

metadata
object

List metadata. Note that these do not contain item metadata.

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "created": 0,
  • "lastModified": 0,
  • "listLength": 0,
  • "links": {
    },
  • "embedded": {
    },
  • "metadata": { }
}

Get list items

This is the collection of items currently in the list. For performance reasons, only references are returned by default. Use metadata property names and regular expressions in URL query string to search for entries and the offset and limit parameters to control the number of results returned.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

query Parameters
offset
integer
Default: 0

Index of first result to return.

limit
integer
Default: 50

Number of results to return. Maximum is 500.

sort
string

Sort query results. Comma-separated list of property names, prefixed with '-' for descending sort order. Example: 'sort=href,-index'

embed
string

Sub-resources to include in the response.

  • "items": Include metadata for each list item
  • "permissions": Include user access rights

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Appended an item to the list

Lists are ordered sets, items have consecutive indices (0..n). POSTing to this route will append a new item to the list (at the end)

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

query Parameters
href
string

Relative URL of the document instance to add to the list

Request Body schema: application/json
optional

Use EITHER href OR item. If both exist, item is used.

index
integer

This is the index of an item in a list. The index is maintained by the SEAL Operator backend. Setting the index to a value beyond the end of the list will move the item to the end of the list. Setting the index to 0 will move th item to the top of the list. Setting the index to a value in use by another item will replace this item, moving it (and all with higher indices) one space down in the list, by increasing their index values.

href
string

URL location of linked ressource

metadata
object

Additional data to be stored with the link

Responses

Request samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Retrieve list item metadata

Get metadata record of a list item. Note that the 'id' is NOT the index, which is part of item metadata, but the UUID.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

id
required
string

ID of the list item

Responses

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Replace a list item

Update and replace the entire metadata record of the current list item. Note that the ID is NOT the index of the item in the list. The index is part of item metadata.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

id
required
string

ID of the element.

Request Body schema: application/json
required

New item data to replace existing entry

index
integer

This is the index of an item in a list. The index is maintained by the SEAL Operator backend. Setting the index to a value beyond the end of the list will move the item to the end of the list. Setting the index to 0 will move th item to the top of the list. Setting the index to a value in use by another item will replace this item, moving it (and all with higher indices) one space down in the list, by increasing their index values.

href
string

URL location of linked ressource

metadata
object

Additional data to be stored with the link

Responses

Request samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Delete a list item

Deletes an entry from a list. Only the list entry is removed, not the document. Note that id is NOT the index of an item in the list. The index is part of item metadata.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list

id
required
string

ID of the item to delete

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Update list item (partial)

Update the metadata record of the current list item, adding missing entries but removing nothing. Note that the ID is NOT the index of the item in the list. The index is part of item metadata.

Authorizations:
oauth
path Parameters
lid
required
string

ID of the list.

id
required
string

ID of the element.

query Parameters
href
string

Relative URL of document to link. This is a convenient way of just updating the href property of the existent list item.

Request Body schema: application/json
optional

New link data to replace existing entry. Use EITHER item OR href; if both exist, item is used.

index
integer

This is the index of an item in a list. The index is maintained by the SEAL Operator backend. Setting the index to a value beyond the end of the list will move the item to the end of the list. Setting the index to 0 will move th item to the top of the list. Setting the index to a value in use by another item will replace this item, moving it (and all with higher indices) one space down in the list, by increasing their index values.

href
string

URL location of linked ressource

metadata
object

Additional data to be stored with the link

Responses

Request samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "index": 0,
  • "href": "string",
  • "metadata": { }
}

Panels

Retrieve list of default UI panels available to the user.

The SEAL Operator user interface provides the user with a set of default panels to use. A GET call to this route returns a list of panels available to the current user. Default panels cannot be edited or deleted.

Authorizations:
oauth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve the default configuration of a UI panel

A GET call to this route returns a JSON object containing the default configuration of the panel.

Authorizations:
oauth
path Parameters
pid
required
string

Responses

Response samples

Content type
application/json
{ }

Retrieve list of UI panels available to the current user

The SEAL Operator user interface provides the user with a set of panels to use. A GET call to this route returns a list of user defined panels available to the current user. Use property names and regular expressions in URL query string to search for entries. User-specific configurations can be stored using a POST request; these can also be edited and deleted later.

Authorizations:
oauth

Responses

Response samples

Content type
application/json
[
  • { }
]

Create a new panel and save its configuration.

Users can create new panels and save their configuration under a given name for further use. If the ConfigItem does not contain a "name" key, a name for the configuration will be auto-generated. If the ConfigItem contains a "createpanel" key with value "1", an event is sent to the UI indicating the creation of a new panel with the objective of showing it. If the ConfigItem contains a "taskId" key with the UUID of an existing task as value, a new UI panel will be created and the given task assigned.

Authorizations:
oauth
header Parameters
x-owner
string

User that should own the new panel. The user creating the panel becomes its creator, adding an owner is optional. Owner and creator rights can be managed through roles & rights. User identifiers can be anything, e. g. SAMaccountname or UPN. Must be matched with a claim from the JWT token in order to work in the user interface.

Request Body schema: application/json
required

ConfigItem containing the configuration to store.

object (ConfigItem)

A JSON object containing key-value pairs representing the configuration.

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Retrieve a specific panel configuration

Returns the configuration for a panel stored by the current user.

Authorizations:
oauth
path Parameters
pid
required
string

ID of the panel

Responses

Response samples

Content type
application/json
{ }

Updates a saved panel configuration

A PUT request to a panel configuration will replace the entire stored configuration with the one contained in the request body. It is possible to use a different value for the "name" key in order to rename the saved configuration; however, the new name must not be in use. Note that only user-specific panel configurations can be updated.

Authorizations:
oauth
path Parameters
pid
required
string

ID of the panel

Request Body schema: application/json
required

ConfigItem containing the configuration to store.

object (ConfigItem)

A JSON object containing key-value pairs representing the configuration.

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a stored panel configuration

User-specific panel configurations can be delete by a DELETE request to this route.

Authorizations:
oauth
path Parameters
pid
required
string

ID of the panel configuration to remove.

Responses

Response samples

Content type
application/json
{ }

Configuration

Access a configuration item or path

Use this route to browse the configuration. Configuration is structured unix file-system like, in a path/to/item way. Use path/to/item as 'path' parameter to access a specific item or together with 'keys' parameter for retrieving only keys.

query Parameters
path
string

Path/to/config/item

keys
boolean

Return an array of strings containing all recursively fetched keys below the given 'path'. Without or an empty 'path' all available keys are returned.

Example response:

[
"key1",
"path/to/key2",
"some/other/path/to/key3"
]

Responses

Response samples

Content type
application/json
{ }

Store a configuration item

Stores the ConfigItem in the request body at the given path.

query Parameters
path
string

Path/to/config/item

Request Body schema: application/json
required
object (ConfigItem)

A JSON object containing key-value pairs representing the configuration.

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a configuration item

Deletes a single ConfigItem at the given path or all ConfigItems in the whole tree below if 'path' does not point to a leaf item.

query Parameters
path
required
string

Path/to/config/item

Responses

Response samples

Content type
application/json
{ }

Messages

Access the users messages

Every user has his own list of messages containing info, warning and error messages of various panels and actions. The messages are stored on server until they expire. This route provides access to the messages. Use property names and regular expressions in URL query string to search for entries and the offset and limit parameters to control the number of results returned.

Authorizations:
oauth
query Parameters
offset
integer
Default: 0

Index of first result to return.

limit
integer
Default: 25

Number of results to return. Maximum is 500.

sort
string

Sort query results. Comma-separated list of property names, prefixed with '-' for descending sort order. Example: 'sort=date,-type'

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new message entry.

Creates a new record in the message list and assigns the posted data. The server adds a UUID and a creation date to each entry if not already present.

Authorizations:
oauth
Request Body schema: application/json
required

metadata of the entry to be created

type
string
Enum: "info" "warning" "error"

The message type

text
string

The message text

source
string

Name of the panel which created the message

Responses

Request samples

Content type
application/json
{
  • "type": "info",
  • "text": "string",
  • "source": "string"
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "type": "info",
  • "text": "string",
  • "date": 0,
  • "source": "string",
  • "read": true
}

Update a message

Update a message entry. Only data given with the patch will be changed/added; no entries removed. Updating uuid and creation date is prohibited.

Authorizations:
oauth
path Parameters
uuid
required
string

ID of the message entry

Request Body schema: application/json
required

new metadata of the entry to be updated

uuid
string

A server-side-specific UUID for each new entry

type
string
Enum: "info" "warning" "error"

The message type

text
string

The message text

date
integer <int64>

The creation time of the message as timestamp

source
string

Name of the panel which created the message

read
boolean

Flag if the message has already been read by user

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "type": "info",
  • "text": "string",
  • "date": 0,
  • "source": "string",
  • "read": true
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "type": "info",
  • "text": "string",
  • "date": 0,
  • "source": "string",
  • "read": true
}

Functions

List connector-specific functions

Services may expose individual functions, e. g. to provide dynamic data for selection lists in UI panels. The function routes are synchronous calls in contrast to the asynchronous commands. This route returns all supported functions of a service.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the service.

Responses

Response samples

Content type
application/json
{ }

Access a service-specific function

This route triggers a service-specific function and returns the result. The function routes are synchronous calls in contrast to the asynchronous commands.

Authorizations:
oauth
path Parameters
sid
required
string

ID of the repository.

fid
required
string

Name of the function to calls

query Parameters
params
string

String with a list of function specific parameter as key value pairs. Syntax:

params="key::value[;key::value]*"

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "metadata": { }
}

Sessions

Get session information

Retrieve number of open sessions of the current user

Authorizations:
oauth

Responses

Response samples

Content type
application/json
{
  • "no": 0
}

Auth

Get information about identity provider confguration

Get information about identity provider confguration

Responses

Response samples

Content type
application/json
{
  • "url": "string"
}