Getting Started
Introduction
The REST (REpresentational STructure) Web API (Application Programming Interface) is provided for interfacing with aCloud Document and can be used with any system, as it is agnostic of the client platform. All that is required of the system using it, is the ability to read and write text via HTTP/S. The purpose of this interface is to perform the same functions as a user would do in aCloud Document, such as:
- adding a Document to the Inbox
- filing the Document as a specific Document Type
- version control (check-in, check-out, retrieving version history)
- searching for Documents and returning results
- adding Document Tags
- adding Document Types
- setting up Integration Links, to define how Documents are linked with your product
- creating the Folder structure that will contain the Documents
... but using your own interface.
If you are a .Net developer, then a useful tool we recommend is RestSharp, by John Sheehan. This library provides a suite of tools to make it easier to send GET, POST, HEAD etc. requests to the server, serialise objects and encapsulates the response in a single object. It can be downloaded from http://restsharp.org/
Another tool, for exploring the Web API, is Postman, which enables you to quickly and easily try out Web API calls without having to write any code. This can be downloaded from Google Chrome site.
Versioning of aCloud Document REST API
Version 1.0 of the REST API may have future updates and additions, but these changes will not break the existing API calls that are used by older versions of aCloud Document. If future versions of aCloud Document require any updates to existing API calls that cannot be made backwards compatible with older versions of aCloud Document, then a separate release of REST API will be made as a different version (for example version 2.0) and different URL, so the older versions of aCloud Document can carry on working. An example of a new version needing deployment could be the renaming of a field in a list of search results.
Tickets
All requests to the aCloud Document API (apart from some security API calls) require a valid ticket. A ticket represents a valid login for a specific user and will only provide the same access that the related user has, such as whether they have System Control / Administrator access and which folders they have access to in the Document Structure.
To obtain a ticket, the details of the user who wishes to gain access need to be posted to a specific URL (shown below). On successful authorisation, the ticket is returned. This ticket can then be used to gain access to all the functionality of aCloud Document that the user has access to and needs to be supplied as part of the URL for all requests.
Tickets have a fixed expiry time, however, all calls to the aCloud Document API will return a new ticket in the header of each response, allowing you to slide the expiration time by supplying the new ticket in successive API requests.
After a successful ticket request is made, the response is made up of an array of Instances, containing only one element, to allow flexibility for future expansion. The Instance comprises of:
- ID: Uniquely identifies this database - if there is only one database in the environment then this will simply return the name of the database. If there are several databases, this will return a unique ID representing the database
- URL: The Base URL to perform all API requests, which comprises of the root API URL followed by the instance ID
- Name: The name of the database that this ticket will provide access to
- Ticket: The ticket to use in your next request
Sample Request
POST: https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/Security/AuthenticateCredentials
BODY:
{
"Username": "ADMTEST",
"Password": "P"
}
Sample Response
{
"Instances": [
{
"Id": "2491c9858f66401b8a88fb25d4d2c3c2",
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)",
"Name": "(Your Instance)",
"Ticket": "d76a18f3c449b... rest of ticket removed"
}
]
}
Doing a search for documents in general
To retrieve a list of documents from the system:
- Retrieve authentication ticket
- Get Document Type results
- Choose a Document Type
- Retrieve page of documents based on the ID of one of the above types
Retrieving Document Type results (simple search)
The request below is a Simple Search example that doesn't use a meta data tree or attribute tree, and returns results 0 to 100.
The list of Document Type Results returned represents all the unique Document Types of all the Documents returned from the search. The Count provided with each Document Type Result denotes how many Documents of this Document Type there are, therefore, all the Document Type counts added together will give you the total number of Documents that this search yields. Also provided within a Document Type Result is the URL to return that individual Document Type; note that you will still need to provide a valid Ticket at the end of the Query String to gain access by appending "?Ticket=(Your Ticket)"
Sample Request
https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/DocumentTypeResults?FolderId=4&SimpleSearch=true&ContentSearchPhrase=a&Ticket=853c82b2... rest of ticket removed
Sample Response
[
{
"DocTypeId": 57,
"DocTypeName": "Absence Record",
"DocTypeUrl": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/DocumentTypes/57",
"Count": 11
},
{
"DocTypeId": 8,
"DocTypeName": "General Document",
"DocTypeUrl": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/DocumentTypes/8",
"Count": 1
},
{
"DocTypeId": 83,
"DocTypeName": "SM Call Record",
"DocTypeUrl": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/DocumentTypes/83",
"Count": 1
}
]
Retrieving Document results
Once a Document Type from the previous example has been selected for gathering results (in this case Absence Record, ID 57), the same Simple Search request (which includes information such as folder ID, a flag to search sub-folders or not, setting SimpleSearch=true and ContentSearchPhrase="a") is made but additional information for pagination and result ordering is included. Note that the results are ordered across all pages and not just the page of data returned.
Sample Request
https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents?Ticket=1c4b4450362d28c1d61cfaa60aee80bdbf8f1e3a219f667091baecde90c9ac2ff404956333122e336920b7a9c5ab9e93acfe708774243c8e34ab3989144f3d66b54f09e1efb9e22e8bf99861977ea2b9d2d50b29dfd54b0ebf7a614af89e1936dc9f52715196467e9ee7197ac80ce3df0a686bc369e9ee17b6b79702fa63d2e61cdc69650a0e0e1742d0774b7b6dcdfa71627d559330375a9e26ed103d1adc09f7c3e21de8d62cac101321c61f3c278823641fb764cd43cbebdca646f56c99c2be3ece305607e73d86f609fa43eb96e192930e0b5408dc6eda97806aa5b0ed4fa33c2dc318b38b6ab41b1f12c0d830d18d1a71259452ef1e0952b51ba1e4d090b51fb2a4d246b22973b15c03aaccbf18f037826efb46333abbd6fae263058d8eb0dd5884ffccca7872604d7d3b2c384d&FolderId=4&DocTypeId=57&IncludeSubFolders=true&SortAttribute.SortField=DocTitle&SortAttribute.Direction=Ascending&Skip=0&Take=100&SimpleSearch=true&ContentSearchPhrase=a
Sample Response Header
Access-Control-Allow-Headers →Content-Type
Access-Control-Allow-Methods →GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin →*
Cache-Control →no-cache
Content-Length →16132
Content-Type →application/json; charset=utf-8
Date →Thu, 04 Dec 2014 17:06:38 GMT
Expires →-1
Pragma →no-cache
Server →Microsoft-IIS/8.5
TicketRefresh →1c4b4450362d28c1d61cfaa60aee80bdbf8f1e3a219f667091baecde90c9ac2ff404956333122e336920b7a9c5ab9e93acfe708774243c8e34ab3989144f3d66b54f09e1efb9e22e8bf99861977ea2b9d2d50b29dfd54b0ebf7a614af89e1936dc9f52715196467e9ee7197ac80ce3df0a686bc369e9ee17b6b79702fa63d2e61cdc69650a0e0e1742d0774b7b6dcdfa71627d559330375a9e26ed103d1adc09f7c3e21de8d62cac101321c61f3c278823641fb764cd43cbebdca646f56c99c2be3ece305607e73d86f609fa43eb96e192930e0b5408dc6eda97806aa5b0ed4fa33c2dc318b38b6ab41b1f12c0d830d18d1a71259452ef1e0952b51ba1e4d090b51fb2a4d246b22973b15c03aaccbf18f037826efb46333abbd6fae263058d8eb0dd5884ffccca7872604d7d3b2c384d
X-AspNet-Version →4.0.30319
X-Powered-By →ASP.NET
Sample Response
[
{
"Id": 1952,
"DocumentProperties": {
"FolderPath": "\\ADM\\Software Development Icons",
"ParentFolderId": 10,
"Title": "ADM SQL Updates",
"AddedByUserId": 1,
"AddedByCloudGUID": "",
"AddedOn": "2014-10-15T17:17:00",
"FileExt": ".sql",
"CheckedOut": false
},
"IndexingInfo": {
"DocTypeId": 57,
"TagValues": [
{
"TagId": 17,
"TagValue": ""
},
{
"TagId": 1,
"TagValue": ""
},
{
"TagId": 138,
"TagValue": ""
}
]
},
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
}
],
"Versions": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/1952/Versions",
"Notes": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/1952/Notes",
"AuditEvents": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/1952/AuditEvents",
},
{
"Id": 238,
"DocumentProperties": {
"FolderPath": "\\ADM",
"ParentFolderId": 4,
"Title": "arrow_down_blue",
"AddedByUserId": 1,
"AddedByCloudGUID": "",
"AddedOn": "2014-09-18T17:19:00",
"FileExt": ".png",
"CheckedOut": false
},
"IndexingInfo": {
"DocTypeId": 57,
"TagValues": [
{
"TagId": 17,
"TagValue": "Pineapple"
},
{
"TagId": 1,
"TagValue": "aaa"
},
{
"TagId": 138,
"TagValue": "bbb"
}
]
},
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
}
],
"Versions": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/238/Versions",
"Notes": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/238/Notes",
"AuditEvents": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/238/AuditEvents",
}
]
Notice the fresh ticket that's returned in the header on this request (and others) - called TicketRefresh. This ticket can be used on the next request and has a fresh expiry period which begins at the time of the response.
Creating a new document in the Inbox
Any operations involving documents being sent to the Inbox or filed require a document to be uploaded separately. The key generated from the newly uploaded document is used with CreateDocument requests (POST to /Document).
1 - Get the ID of the user Inbox
All documents are initially uploaded to the users' Inbox. To do this, you must specify the ID of the Inbox. This, and all the other folders in the Document structure can be retrieved as follows:
Sample Request
https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders?Ticket=48ca8f93368e7f6d8916af0def9cefb37cd51a33a620ad716846a37e3349db51ec0d9fd615f6a42e3e4228952b0a6d3495a441416fa64e31f2be3bcfb7f2218bd13fc19b35e3c070c319834b95dd942bf5f201650343080392a3751f14203b259bdf3b2916a7130988515da6b002142042d52a3e9e459eece52689090a3d3752af554d531caa89c7eac5e5463c1943599f1ed3e3ff54f32c3cfe7acb2d80254ea259cef764630f659d48d85c267cf645d9b2e5854677d05404595ac900c40f27b3a1c4808e5120f754ea4b7be9eaa4bd4cf92017bbcdaee43a27a63945aa028836632a3958a0324ed75ffc1832989eae8726c64273dc2086db385ff654ef09ab1427bcbc82903cc3d11ed240a2e0d5576dd09f689365e307890de43f82f358bdd9a8626c548dafdb51e709f5881b919c
Sample Response
[
{
"Id": 2,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/2",
"Name": "Inbox",
"Level": 0,
"ParentId": 2,
"NodeType": "UserInbox",
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
},
{
"Type": "Add",
"Value": "Allow"
}
]
},
{
"Id": 4,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/4",
"Name": "ADM",
"Level": 0,
"ParentId": 4,
"NodeType": "FilingRoot",
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
},
{
"Type": "Add",
"Value": "Allow"
}
],
"PermissionEntries": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/4/PermissionEntries"
},
{
"Id": 5,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/5",
"Name": "Group Inboxes",
"Level": 0,
"ParentId": 5,
"NodeType": "GroupInboxCollationFolder",
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
},
{
"Type": "Add",
"Value": "Allow"
}
]
},
{
"Id": 3,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/3",
"Name": "Search Folders",
"Level": 0,
"ParentId": 3,
"NodeType": "SearchFolderCollationFolder"
},
{
"Id": 8,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/8",
"Name": "FLAGS",
"Level": 1,
"ParentId": 4,
"NodeType": "FilingSubFolder",
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
},
{
"Type": "Add",
"Value": "Allow"
}
],
"PermissionEntries": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/8/PermissionEntries"
},
{
"Id": 9,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)Folders/9",
"Name": "Galahad Sales Ledger Transaction Docs",
"Level": 1,
"ParentId": 4,
"NodeType": "FilingSubFolder",
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
},
{
"Type": "Add",
"Value": "Allow"
}
],
"PermissionEntries": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/9/PermissionEntries"
},
{
"Id": 10,
"Url": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/10",
"Name": "Software Development Icons",
"Level": 1,
"ParentId": 4,
"NodeType": "FilingSubFolder",
"ContextPermissions": [
{
"Type": "ChangePermissions",
"Value": "Allow"
},
{
"Type": "Delete",
"Value": "Allow"
},
{
"Type": "Email",
"Value": "Allow"
},
{
"Type": "VersionControl",
"Value": "Allow"
},
{
"Type": "View",
"Value": "Allow"
},
{
"Type": "Add",
"Value": "Allow"
}
],
"PermissionEntries": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Folders/10/PermissionEntries"
}
]
Each folder returned from this list has an "Id" and a "Node Type". Only one of the folders returned in the collection will have a Node Type of "UserInbox", which will be the Inbox that belongs to the user making the request (or the user identified by the Ticket). The Id of the Inbox is different for each user as it is a separate area.
2 - Upload a document
The FileUpload functionality can be used by any of the Web API parts which require an uploaded file; currently creating documents via the Documents Controller (as below) and checking in a new version of a document using the Version controller (POST 1.0/{InstanceId}/Documents/{DocumentId}/Versions).
Request header / body
When uploading files, set the "Content-Type" in the header to "multipart/form-data". Below shows a sample header, that was recorded by an API request made by Postman (described at the top):
POST https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/FileUpload?Ticket=d0652e1d87138f05bfb9440a0e63c9fb1a0405c3cccaebf42bd90953490d40e5d2d56ff00e2ffe67c64151c42f8473490934d4891391e20452531d18c3a68f8dc5a1f2be2b4494da09a3be2a56723a8793b3de94201b854b587e2a62f2de90a97e05e0955f59b2b1d50aad794b3087002d123268667629dbb7831b16c3da5e77e05b8b76d36b412275fd02787d555bf95d114dee11e84dfb9620db71f0b2377df8750ed62176fb3c705294e5d24c33f6f8af0e67be61b5d87c915a03881b4d75cb0fae2462a098718e0cd9eb62c552df84c946396a24db7049d0f09b9331c8e31c14499c2aba5207556d9813e1d6a0579bff013fb98a0fd46deadbd274f4267a6ebfac929b55b599cefc7703afe0d86ba2a0ca832f7443f597e3355c316e58ce864700058731124ce5eb5c24c54d8fae HTTP/1.1
Host: access-1wd1kz1
Connection: keep-alive
Content-Length: 6493
Cache-Control: no-cache
Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary9EtHUPbI1AzJQa1k
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
Postman-Token: 0a361b29-ac62-86b4-2644-8153101e916d
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
------WebKitFormBoundary9EtHUPbI1AzJQa1k
(BINARY FILECONTENTS)
------WebKitFormBoundary9EtHUPbI1AzJQa1k--
Sample Request
POST the file to a URL structured as below. No parameters are required, the system will pick up the client key of the file that you've specified in the upload:
https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/FileUpload?Ticket=1c4b4450362d28c1d61cfaa60aee80bdbf8f1e3a219f667091baecde90c9ac2ff404956333122e336920b7a9c5ab9e93acfe708774243c8e34ab3989144f3d66b54f09e1efb9e22e8bf99861977ea2b9d2d50b29dfd54b0ebf7a614af89e1936dc9f52715196467e9ee7197ac80ce3df0a686bc369e9ee17b6b79702fa63d2e61cdc69650a0e0e1742d0774b7b6dcdfa71627d559330375a9e26ed103d1adc09f7c3e21de8d62cac101321c61f3c278823641fb764cd43cbebdca646f56c99c2be3ece305607e73d86f609fa43eb96e192930e0b5408dc6eda97806aa5b0ed4fa33c2dc318b38b6ab41b1f12c0d830d18d1a71259452ef1e0952b51ba1e4d090b51fb2a4d246b22973b15c03aaccbf18f037826efb46333abbd6fae263058d8eb0dd5884ffccca7872604d7d3b2c384d
Sample Response
{
"Identifiers": [
{
"ClientFileKey": "25038.pdf",
"ServerFileKey": "f4dbf47619424e6a83710994f6e57665"
}
]
}
3 - Create the document
We can now create the Document in the users' Inbox, using the Id we determined in Part 1.
Sample Request
Note that in the previous stage, a "ServerFileKey" was returned. This key is now used to create a document in the users' inbox. In this case, only 2 Document Attributes have been supplied and no indexing information (Meta Data Properties) which is only required for filing a document into the system under a specific Document Type.
POST: https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents?Ticket=1c4b4450362d28c1d61cfaa60aee80bdbf8f1e3a219f667091baecde90c9ac2ff404956333122e336920b7a9c5ab9e93acfe708774243c8e34ab3989144f3d66b54f09e1efb9e22e8bf99861977ea2b9d2d50b29dfd54b0ebf7a614af89e1936dc9f52715196467e9ee7197ac80ce3df0a686bc369e9ee17b6b79702fa63d2e61cdc69650a0e0e1742d0774b7b6dcdfa71627d559330375a9e26ed103d1adc09f7c3e21de8d62cac101321c61f3c278823641fb764cd43cbebdca646f56c99c2be3ece305607e73d86f609fa43eb96e192930e0b5408dc6eda97806aa5b0ed4fa33c2dc318b38b6ab41b1f12c0d830d18d1a71259452ef1e0952b51ba1e4d090b51fb2a4d246b22973b15c03aaccbf18f037826efb46333abbd6fae263058d8eb0dd5884ffccca7872604d7d3b2c384d
BODY: {
"ServerFileKey": "f4dbf47619424e6a83710994f6e57665",
"Attributes": {
"Title": "My new document title",
"DestinationFolderId": 2
}
}
Sample Response
A standard “HTTP 201 Created" response is generated, returning the new document ID. This ID can be used for further processing of the document.
{
"Id": 2186,
"Uri": "https://documentws.accessacloud.com/v3.10.00/ADMWebService/api/1.0/(Your Instance)/Documents/2186"
}
Security
Used for authenticating credentials or authenticating a ticket which represents credentials
API | Description |
---|---|
POST 1.0/Security/AuthenticateCredentials |
Authenticates the passed in credentials, returning a list of related Instance objects if successful |
GET 1.0/Security/AuthenticateAccessToken |
Authenticates the given access token, returning a list of related instance objects if successful |
GET 1.0/Security/AuthenticateClientCredentialsToken?aCloudOrganisationId={aCloudOrganisationId} |
Authenticates the given client credentials token for an organisation, returning a list of related Instance objects if successful |
GET 1.0/Security/AuthenticateTicket?Ticket={Ticket} |
Authenticates the ticket passed in and returns a new one (with a new issue date) if authentication succeeds |
FileUpload
Used as an intermediary stage for posting a new file for processing
API | Description |
---|---|
POST 1.0/{InstanceId}/FileUpload |
Used as an intermediary stage for posting a new file for processing |
Folders
Used for performing operations on a folder level within the ADM document structure, such as Creating and Editing folders or listing documents and document types.
API | Description |
---|---|
GET 1.0/{InstanceId}/Folders?IncludeDocumentCounts={IncludeDocumentCounts} |
Gets a list of folders within the Filing Structure, starting at the Filing Root |
GET 1.0/{InstanceId}/Folders/{FolderId}?IncludeDocumentCounts={IncludeDocumentCounts} |
Returns a list of Folder objects for the FolderId passed in |
GET 1.0/{InstanceId}/Folders/{FolderId}/PermissionEntries |
Gets permission entries for a specific folder |
PUT 1.0/{InstanceId}/Folders/{FolderId}/PermissionEntries |
Updates permission entries for a specific folder |
PUT 1.0/{InstanceId}/Folders/{FolderId} |
Updates a specific Folder and its corresponding permission entries |
POST 1.0/{InstanceId}/Folders |
Creates a new Folder and its corresponding permission entries |
DELETE 1.0/{InstanceId}/Folders/{FolderId} |
Deletes a folder for a given folder id |
GET 1.0/{InstanceId}/Folders/{FolderId}/DocumentTypeResults?IncludeSubFolders={IncludeSubFolders} |
Returns a list of Document Type Results for a specific folder Retrieves a list of Document Types and corresponding document count for each type, specific to a folder |
GET 1.0/{InstanceId}/Folders/{FolderId}/Documents?Skip={Skip}&Take={Take}&IncludeSubFolders={IncludeSubFolders} |
Returns a list of Document objects for a specific folder |
Documents
Used for performing searches, returning document types and related document type counts, file contents related to a document, creating a new document and modifying document attributes and meta data
API | Description |
---|---|
GET 1.0/{InstanceId}/Documents/DocumentTypeResults?SimpleSearch={SimpleSearch} |
Retrieves a list of Document Types and corresponding document count for each type representing the search results |
GET 1.0/{InstanceId}/Documents?query.FolderId={query.FolderId}&query.IncludeSubFolders={query.IncludeSubFolders}&query.ContentSearchPhrase={query.ContentSearchPhrase}&pagingOptions.Skip={pagingOptions.Skip}&pagingOptions.Take={pagingOptions.Take}&SimpleSearch={SimpleSearch} |
Retrieves a list of Document objects representing the search results. |
GET 1.0/{InstanceId}/Documents/{DocumentId} |
Returns a single document |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Followers |
List followers of a document |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Followers/{FollowerId} |
Gets an individual follower of a document |
POST 1.0/{InstanceId}/Documents |
Creates a document within the desired folder in the Folder Structure |
POST 1.0/{InstanceId}/Documents/{DocumentId}/Followers |
Adds the current user as a follower of a document |
PUT 1.0/{InstanceId}/Documents/{DocumentId} |
Updates properties of the specified document |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Preview |
No documentation available. |
HEAD 1.0/{InstanceId}/Documents/{DocumentId}/Download |
Downloads only the file details of a document. Only the header portion containing the file details is returned. |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Download |
Downloads the file content of a document. Can be used for partial downloads by setting values in the header. |
DELETE 1.0/{InstanceId}/Documents/{DocumentId} |
Deletes a document from ADM (into the recycle bin) |
DELETE 1.0/{InstanceId}/Documents/{DocumentId}/Followers/{FollowerId} |
Removes the link between the current user and a document being followed AKA "UnFollow". And remove operations will be cross checked against the current user, the document and the follower ID. |
DocumentTypes
Used for retrieving, creating and updating Document Types
API | Description |
---|---|
GET 1.0/{InstanceId}/DocumentTypes |
Retrieves an unordered list of all document types |
GET 1.0/{InstanceId}/DocumentTypes/{DocTypeId} |
Retrieves an individual document type |
POST 1.0/{InstanceId}/DocumentTypes |
Creates a new Document Type |
PUT 1.0/{InstanceId}/DocumentTypes/{DocumentTypeId} |
Updates a specific Document Type |
Tags
Used to retrieve document tags
API | Description |
---|---|
GET 1.0/{InstanceId}/Tags |
Retrieves a list of all Tags on the system |
GET 1.0/{InstanceId}/Tags/{TagId} |
Retrieves an individual Tag |
POST 1.0/{InstanceId}/Tags |
Creates a new tag |
PUT 1.0/{InstanceId}/Tags/{TagId} |
Updates a specific Tag |
TagAssociation
Used to retrieve lists of items associated to a particular document type and tag combination.
API | Description |
---|---|
GET 1.0/{InstanceId}/DocumentTypes/{DocTypeId}/TagAssociations |
Retrieves a list of Tags associated with the Document Type passed in |
GET 1.0/{InstanceId}/DocumentTypes/{DocTypeId}/TagAssociations/{AssociationId}/ListItems |
Retrieves a list of Tag values associated with the Document Type passed in |
PUT 1.0/{InstanceId}/DocumentTypes/{DocTypeId}/TagAssociations |
Updates a list of Tags associated with the Document Type passed in |
Users
Used for retrieving Users
API | Description |
---|---|
GET 1.0/{InstanceId}/Users |
Retrieves an unordered list of all users |
GET 1.0/{InstanceId}/Users/{UserId} |
Retrieves an individual user record |
Groups
Used for performing operations on a groups within the ADM document structure, such as listing group details.
API | Description |
---|---|
GET 1.0/{InstanceId}/Groups |
Gets a list of groups within ADM |
GET 1.0/{InstanceId}/Groups/{GroupId} |
Returns a particular group for the given group id passed in |
GET 1.0/{InstanceId}/Groups/{GroupId}/Members |
Returns a list of members for a given group |
POST 1.0/{InstanceId}/Groups |
Creates a new group |
PUT 1.0/{InstanceId}/Groups/{GroupId} |
Updates a specific group |
PUT 1.0/{InstanceId}/Groups/{GroupId}/Members |
Updates the members assigned to a specific group |
DELETE 1.0/{InstanceId}/Groups/{GroupId} |
Deletes a group for the particular group id paassed in |
AuditEvents
Used to retrieve audit events related to documents
API | Description |
---|---|
GET 1.0/{InstanceId}/Documents/{DocumentId}/AuditEvents?Skip={Skip}&Take={Take} |
Retrieves a list of Audit Events for the specified document ID |
GET 1.0/{InstanceId}/Documents/{DocumentId}/AuditEvents/{EventId} |
Retrieves an individual Audit Event for the specified Document ID and Audit Event ID |
Versions
Used for retrieving historical versions of documents, downloading file contents of those document versions and performing version related functions based around a specific document such as Check In, Check Out and Undo Check Out
API | Description |
---|---|
GET 1.0/{InstanceId}/Documents/{DocumentId}/Versions |
Retrieves all versions of a specific document |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Versions/{VersionId} |
Retrieves a specific version of a specific document |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Versions/{VersionId}/Download |
Gets the file contents of a particular document version |
PUT 1.0/{InstanceId}/Documents/{DocumentId}/Versions/CheckOut |
Checks out a document for editing, for creating a new version |
PUT 1.0/{InstanceId}/Documents/{DocumentId}/Versions/UndoCheckOut |
Cancels a previous document check out operation |
POST 1.0/{InstanceId}/Documents/{DocumentId}/Versions |
Checks in an edited document, creating a new document version |
SharedSecrets
Used to get or re generate shared secret for instance
API | Description |
---|---|
GET 1.0/{InstanceId}/SharedSecrets |
Retrieves the shared secret for a given instanceId |
PUT 1.0/{InstanceId}/SharedSecrets/Regenerate |
Re generates the shared secret |
Notes
Used to add / edit and update document notes relating to a specific document
API | Description |
---|---|
GET 1.0/{InstanceId}/Documents/{DocumentId}/Notes |
Retrieves all notes for a specific Document |
GET 1.0/{InstanceId}/Documents/{DocumentId}/Notes/{NoteId} |
Retrieves an individual document note |
POST 1.0/{InstanceId}/Documents/{DocumentId}/Notes |
Creates a new document note |
PUT 1.0/{InstanceId}/Documents/{DocumentId}/Notes/{NoteId} |
Updates a specific Document Note. The information for creating the new note is sent via the body of the request |
DELETE 1.0/{InstanceId}/Documents/{DocumentId}/Notes/{NoteId} |
Deletes a specific note |
IntegrationLinks
Used to perform an integration link search or for retrieving integration links
IntegrationProducts
Used to retrieve integration link products
API | Description |
---|---|
GET 1.0/{InstanceId}/IntegrationLinkProducts |
Retrieves a list of all Integration Link Products |
GET 1.0/{InstanceId}/IntegrationLinkProducts/{IntegrationLinkProductId} |
Retrieves a specific Integration Link Products |
DataLinks
Used to retrieve data links related to clients' database
API | Description |
---|---|
GET 1.0/{InstanceId}/DataLinks |
Retrieves a list of all Data Links |
GET 1.0/{InstanceId}/DataLinks/{DataLinkId} |
Retrieves an individual Data Link |
DocumentCount
API | Description |
---|---|
POST 1.0/{InstanceId}/DocumentCount?dbName={dbName}&linkType={linkType}&linkProduct={linkProduct}&primaryKey={primaryKey} |
No documentation available. |
DocumentMetadata
API | Description |
---|---|
GET 1.0/{InstanceId}/DocumentMetadata?dbName={dbName}&linkType={linkType}&linkProduct={linkProduct} |
No documentation available. |