Integration via REST web service

​​

About REST

REST is a modern web service protocol/interface. REST services are essentially a way of exposing functionality through the basic HTTP calls (GET, POST, PUT, DELETE).

REST implementation

Most of the queries are implemented as simple GET requests, and can therefore be performed directly in the browser during testing/development. To make this possible, we have made sure not to require specific header values in the requests. This also includes downloading documents. For update/upload calls, POST and PUT requests are used.

Format

For all calls where structured data are interchanged, the REST interface supports both JSON and XML for data representation. This is to make it easy to use the REST interface both from backend systems, and directly from web front ends.

Security

The REST services are protected by 2-way TLS. The server provides a certificate that is used to encrypt the connection and authenticate the server to the client. The client needs to provide a certificate that is used to au-thenticate the certificate at the server side.

Note that the certificate gives access to all operations on E-Archive for one or more organization id's, If further access restriction is needed, the calls need to be routed through a proxy server that filters or modifies the calls depending on the access rights of the user.

Available functionality

The REST interface supports the functionality listed below. Not all of this is documented on these pages. Remaining documentation can be requested through Contact us.

 

Get list of archives

This returns a list of the archives available to the client/organization.
 

Get archive definition

This returns a full definition of one archive. This definition consists of a list of metadata fields, together with descriptive names and validation rules.
 

Get document type information

This returns a structure containing the defined document groups and types. These are defined per client/organization, and shared by the archives.
 

Search

This performs a search in an archive, based on a set of metadata values (or ranges of metadata values). It will return a list of document metadata, each contains a list of metadata values and a document id. The document id can be used to retrieve the actual document
 

Update metadata

This is used to add, delete or modify metadata values for a given document.
 

Download document

This is used to download the actual archived document. It also supports format conversion. For SDO’s, it supports displaying the signed document (inside the SDO) with or without an extra page with signature information.
 

Upload document

This is used to upload a new document to the archive, together with associated metadata

 

Delete document

This is used to delete specific document in the archive. This is logical delete, which makes the document invisible. The document itself will actually be physically deleted after a period.
 

Update document groups and types

This is used to create, modify and delete document groups and types for archive.
 

Get layout definition

This returns a full definition of archive layout. The definition contains display name for the metadata field as well as visibility parameter for search, upload, result and detail page.
 

Get validations

This is to retrieve the list of custom validation types. Currently, it returns list of ‘enum’ type validation set.


Get validation values

This gives the list of predefined values for given ‘enum’ type validation.