REST API Overview
ADx functionality, apart from being exposed via the UI, is also available via REST API. This document describes available administration and repository endpoints using Open API and Swagger pages from the product itself as a base.
On this page
Accessing Open API/Swagger
You can access Open API and Swagger by clicking the API link ADx landing page. You can open a repository API or administrator API:
Depending on the link you select on the landing page, Swagger UI will display different endpoints. You can select the following endpoints:
- ADx Administration API -
/api/v1/access.adx.admin
- Repository API -
/api/v1/access.adx.content.repositoryName
Using Open API/Swagger
When you decide on what to display, the Swagger UI displays a list of items of your interest based on the URL you used.
Including Session ID in Open API Requests
To include the SessionId
parameter in Open API requests, you must enable the Session ID option.
To do that, on the go to your repository's API page, click the arrow under Simple View, and then check the Session-ID box.
The image below shows how to enable session IDs in Open API requests.
List of Items
The list contains REST API endpoints sorted in alphabetical order. You can see the HTTP method and a quick description of the call directly in the list:
Check the sections below for a list of all endpoints available in Administrator and Repository APIs, along with their equivalent UI functionality (if available).
HTTP Codes
ADx REST API returns the following HTTP codes:
Code | Context |
---|---|
200 | Request evaluated successfully. Note that for asynchronous requests, such as conversions, this information only means that the operation has been successfully started and NOT that it has been successfully completed. Consequently, HTTP code does not correspond with the actual status of the started job. |
400 | Invalid input was given |
401 | Session ID was not found. See Authenticating to ADx for more details. |
404 | Target resource not found |
500 | Server error |
ADx Administration API
When you enter the Administrator API (available only with adx-admin
, adx-root
or tf-admin
role), the following endpoints are exposed via Swagger (note that the same functionality may be available in the UI):
Export/Import
These endpoints represent services related to the export and import of repository configuration data. This process is explained in more detail in Exporting and Importing Repository Configuration via REST.
Method | Description | Endpoint | Request query parameters | Form data | Returns | UI Equivalent |
---|---|---|---|---|---|---|
GET | Export repository configuration by IDs | https://host:port/tribefire-services/api/v1/access.adx.admin/v1/export/configuration/ | sessionId, repositoryIds (array) | none | .zip file with repository configuration | See Exporting and Importing Repository Configuration via ADx UI |
GET | Export repository configuration by names | https://host:port/tribefire-services/api/v1/access.adx.admin/v1/export/configuration/by-names | sessionId, repositoryNames (array) | none | .zip file with repository configuration | See Exporting and Importing Repository Configuration via ADx UI |
GET | Export repository configuration by technical name | https://host:port/tribefire-services/api/v1/access.adx.admin/v1/export/configuration/by-technical-names | repositoryTechnicalNames (array) | none | .zip file with repository configuration | See Exporting and Importing Repository Configuration via ADx UI |
POST | Import repository configuration | https://host:port/tribefire-services/api/v1/access.adx.admin/v1/import/configuration | none | autoSync, importRepositoryOption, importUsers, resource, useRuntimeValues | See Exporting and Importing Repository Configuration via ADx UI | |
POST | Export Metadata by ID | https://host:port/tribefire-services/api/v1//access.adx.admin/v1/repository/metadata/export | none | repositoryId | Metadata export job ID | See Exporting and Importing Repository Contents |
POST | Import Metadata by ID | https://host:port/tribefire-services/api/v1//access.adx.admin/v1/repository/metadata/import | none | importFolderPath, repositoryId | Metadata import job ID | See Exporting and Importing Repository Contents |
Policy Administration
These endpoints represent services related to policy administration, explained in more detail in Working with Policies with ADx REST API.
Request type | Service description | Endpoint | Request query parameters | Form data | Returns | UI Equivalent |
---|---|---|---|---|---|---|
DELETE | Delete Policies By Ids | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policies | sessionId, policyIds | none | Job response quoting the duration of execution | See Configuring Policies |
DELETE | Delete Policies By Technical Names | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policies/by-technical-names | sessionId, technicalNames (deletes all custom policies if empty!) | none | Job response quoting the duration of execution | See Configuring Policies |
DELETE | Delete Policy By Id | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policy | sessionId, policyId | none | Job response quoting the duration of execution | See Configuring Policies |
DELETE | Delete Policy By Technical Name | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policy/by-technical-name | sessionId, technicalName | none | Job response quoting the duration of execution | See Configuring Policies |
POST | Create Default Type Policy | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policy/default-type | sessionId | name, defaultTypeName | Metadata of the created policy | See Configuring Policies |
POST | Create Inheritance Policy | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policy/inheritance | sessionId | name, inheritAcl, inheritClassification, inheritCommonProperties, inheritPolicies, inheritTags | Metadata of the created policy | See Configuring Policies |
POST | Create Type Restriction Policy | ADX_HOST/tribefire-services/api/v1/access.adx.admin/v1/policy/type-restriction | sessionId | name, description, allowedTypeNames, deniedTypeNames, includeSubTypes | Metadata of the created policy | See Configuring Policies |
Repository Administration
These endpoints represent services related to repository administration.
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
DELETE | /access.adx.admin/v1/repository | Delete Repository By Id | Use the Delete option in Administrator area |
POST | /access.adx.admin/v1/repository/activate | Activate By Id | Use the Activate option in Administrator area |
POST | /access.adx.admin/v1/repository/by-template | Create Repository By Template | Assign the template while creating a new repository in Administrator area |
POST | /access.adx.admin/v1/repository/cmis | Create Cmis Repository | Select New/New CMIS Repository in Administrator area |
POST | /access.adx.admin/v1/repository/dctm | Create Dctm Repository | Select New/New DCTM Repository in Administrator area |
POST | /access.adx.admin/v1/repository/deactivate | Deactivate By Id | Use the Deactivate option in Administrator area |
POST | /access.adx.admin/v1/repository/standard-db-storage | Create Standard Repository By Db Storage | Select New/New Standard Repository, then assign db as storage type in Administrator area |
POST | /access.adx.admin/v1/repository/standard-fs-storage | Create Standard Repository By Fs Storage | Select New/New Standard Repository, then assign fs as storage type in Administrator area |
POST | /access.adx.admin/v1/repository/synchronize | Synchronize Configuration Request | Use the Synchronize option in Administrator area |
Repository Health
These endpoints represent activities related to checking repository health.
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
GET | /access.adx.admin/v1/repository/connection-check | Check Repository | See Running Conversion and Platform Health Checks |
GET | /access.adx.admin/v1/repository/connection-check/by-name | Check Repository By Name | See Running Conversion and Platform Health Checks |
GET | /access.adx.admin/v1/repository/connection-check/by-technical-name | Check Repository By Technical Name | See Running Conversion and Platform Health Checks |
GET | /access.adx.admin/v1/repository/deep-check | Deep Health Check | See Running Conversion and Platform Health Checks |
GET | /access.adx.admin/v1/repository/deep-check/by-name | Deep Health Check By Name | See Running Conversion and Platform Health Checks |
GET | /access.adx.admin/v1/repository/deep-check/by-technical-name | Deep Health Check By Technical Name | See Running Conversion and Platform Health Checks |
User Administration
These endpoints represent activities related to user, group, and role management.
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
DELETE | /access.adx.admin/v1/group | Delete Group By Id | See User Management |
GET | /access.adx.admin/v1/group | Get Group | See User Management |
POST | /access.adx.admin/v1/group | Create Group | See User Management |
GET | /access.adx.admin/v1/group/by-name | Get Group By Name | See User Management |
POST | /access.adx.admin/v1/group/picture | Assign Picture By Group | See User Management |
GET | /access.adx.admin/v1/group/search | Search Groups | See User Management |
DELETE | /access.adx.admin/v1/role | Delete Role By Id | See User Management |
GET | /access.adx.admin/v1/role | Get Role | See User Management |
POST | /access.adx.admin/v1/role | Create Role | See User Management |
GET | /access.adx.admin/v1/role/by-name | Get Role By Name | See User Management |
GET | /access.adx.admin/v1/role/search | Search Roles | See User Management |
DELETE | /access.adx.admin/v1/session | Close Session | See Session Monitoring |
GET | /access.adx.admin/v1/session | Get Session | See Session Monitoring |
GET | /access.adx.admin/v1/session/search | Search Sessions | See Session Monitoring |
DELETE | /access.adx.admin/v1/user | Delete User By Id | See User Management |
GET | /access.adx.admin/v1/user | Get User | See User Management |
POST | /access.adx.admin/v1/user | Create User | See User Management |
GET | /access.adx.admin/v1/user/by-name | Get User By Name | See User Management |
GET | /access.adx.admin/v1/user/effective-roles | Get Effective Roles | See User Management |
POST | /access.adx.admin/v1/user/generateKeys | Generate Key Pair | See User Management |
GET | /access.adx.admin/v1/user/getKeys | Get Key Pair | See User Management |
POST | /access.adx.admin/v1/user/picture | Assign Picture By User | See User Management |
GET | /access.adx.admin/v1/user/search | Search Users | See User Management |
Repository API
When you enter the Repository API, the following endpoints are exposed via Swagger (note that the same functionality may be available in the UI):
Access-Control
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
POST | /access.adx.content.repository_name/v1/acl/deny | Deny access by Id | Access Control |
POST | /access.adx.content.repository_name/v1/acl/grant | Grant access by Id | Access Control |
CRUD
Important: after creating a content, its version status is set to WORKING_COPY
, which means it's checked out and can be updated. Only contents with this status can be updated, you will get an error otherwise. Delete operations should work regardless of the status. Remember to check in your contents when you're done updating them.
Use the endpoints described in Versioning to check out and check in contents.
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
DELETE | /access.adx.content.repository_name/v1/content | Delete Content By Id | Deleting Content |
GET | /access.adx.content.repository_name/v1/content | Get Content | n/a |
PATCH | /access.adx.content.repository_name/v1/content | Update Content By Id | Modifying Content |
POST | /access.adx.content.repository_name/v1/content | Create Content | Adding Content |
POST | /access.adx.content.repository_name/v1/content-by-uri | Create Content By Uri | n/a |
POST | /access.adx.content.repository_name/v1/contents | Create multiple contents | Adding Content, see also Creating Contents with REST. |
POST | /access.adx.content.repository_name/v1/content/copy | Copy Content By Id | n/a |
GET | /access.adx.content.repository_name/v1/content/download | Download Content By Id | Use the download button in ADx Repository Explorer |
POST | /access.adx.content.repository_name/v1/content/move | Move Content By Id | n/a |
POST | /access.adx.content.repository_name/v1/content/reindex | Reindex Content by Id | See Content Reindexing |
POST | /access.adx.content.repository_name/v1/content/relocate | Relocate Content by Id | See Relocating Individual Contents |
DELETE | /access.adx.content.repository_name/v1/content/representations | Delete representations by Id | See Representations |
GET | /access.adx.content.repository_name/v1/content/representations | Get representations by Id | See Representations |
GET | /access.adx.content.repository_name/v1/content/representations/download | Download representations by Id | See Representations |
GET | /access.adx.content.repository_name/v1/content/search | Search Contents | Use the search bar in Explorer. For details, see Searching for Contents. |
GET | /access.adx.content.repository_name/v1/content/search-by-condition | Search Contents By Condition | Use the advanced features of the search bar in ADx Repository Explorer. |
GET | /access.adx.content.repository_name/v1/content/search-by-text | Search Content By Text | Use the search bar in ADx Repository Explorer. For details, see Searching for Contents. |
POST | /access.adx.content.repository_name/v1/content/signature/sign | Sign Content By Id | see Signing Documents with Digital Signature |
POST | /access.adx.content.repository_name/v1/content/signature/verify | Verify Content Signature By Id | see Signing Documents with Digital Signature (step 4) |
POST | /access.adx.content.repository_name/v1/content/transfer | Transfer Content By Id | n/a |
DELETE | /access.adx.content.repository_name/v1/entry | Delete Entry By Id | n/a |
GET | /access.adx.content.repository_name/v1/entry | Get Entry | n/a |
PATCH | /access.adx.content.repository_name/v1/entry | Update Entry By Id | n/a |
PUT | /access.adx.content.repository_name/v1/entry/move | Move Entry By Id | n/a |
GET | /access.adx.content.repository_name/v1/entry/search | Search Entries | n/a |
GET | /access.adx.content.repository_name/v1/entry/search-by-condition | Search Entries By Condition | n/a |
DELETE | /access.adx.content.repository_name/v1/entry/tags | Delete Tags | n/a |
PATCH | /access.adx.content.repository_name/v1/entry/tags | Add Tags | n/a |
POST | /access.adx.content.repository_name/v1/entry/tags | Set Tags | n/a |
DELETE | /access.adx.content.repository_name/v1/folder | Delete Folder By Id | Working with Folders. |
GET | /access.adx.content.repository_name/v1/folder | Get Folder | Working with Folders. |
PATCH | /access.adx.content.repository_name/v1/folder | Update Folder By Id | Working with Folders. |
POST | /access.adx.content.repository_name/v1/folder | Create Folder | Working with Folders. |
PUT | /access.adx.content.repository_name/v1/folder/move | Move Folder By Id | n/a |
GET | /access.adx.content.repository_name/v1/folder/search | Search Folders | Use the search bar when in folder menu. |
GET | /access.adx.content.repository_name/v1/folder/search-by-condition | Search Folders By Condition | Use the advanced search bar when in folder menu. |
Conversion
These endpoints relate to the document conversion operations available from within an ADx repository. Conversion requests are asynchronous - ADx will only return the job ID with code 200 (success), but this does NOT imply that the job itself was successful.
Important: do not confuse these endpoints with internal conversion operations available from the Conversion API.
Note that you can define content specification in the body of a request - see Sending Conversion Requests with New Content Specification. This option is NOT exposed via Swagger form.
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
POST | /access.adx.content.repository_name/v1/convert/apply-template | Apply template to documents | See Conversion Access and Conversion (cache) |
POST | /access.adx.content.repository_name/v1/convert/document | Create Document Representation By Id | See Representations |
POST | /access.adx.content.repository_name/v1/convert/extract | Extract Text By Id | See Conversion Access and Conversion (cache) |
POST | /access.adx.content.repository_name/v1/convert/image | Convert To Image By Id | See Conversion Access and Conversion (cache) |
POST | /access.adx.content.repository_name/v1/convert/merge | Merge By Ids | See Conversion Access and Conversion (cache) |
POST | /access.adx.content.repository_name/v1/convert/merge-templates | Merge Templates By Ids | See Conversion Access and Conversion (cache) |
POST | /access.adx.content.repository_name/v1/convert/pdf | Convert To Pdf By Id | See: |
POST | /access.adx.content.repository_name/v1/convert/split | Split By Id | See Conversion Access and Conversion (cache) |
GET | /access.adx.content.repository_name/v1/convert/status | Get Job Status | See Conversion Access and Conversion (cache) |
POST | /access.adx.content.repository_name/v1/convert/watermark | Apply Watermark By Id | See Conversion Access and Conversion (cache) |
Versioning
These endpoints relate to the content versioning ADx functionality. See Versioning for more details on content versions.
Method | Endpoint | Description | UI Equivalent |
---|---|---|---|
POST | /access.adx.content.repository_name/v1/content/cancel-checkout | Cancel Checkout By Id | See Versioning |
POST | /access.adx.content.repository_name/v1/content/checkin | Checkin By Id - sets status to CURRENT and updates the version number | See Versioning |
POST | /access.adx.content.repository_name/v1/content/checkout | Checkout By Id - sets status to WORKING_COPY | See Versioning |
Try it Out in Open API/Swagger
When you click on an entry and expand its details, you can click the Try it out button to test the REST call. Clicking this button enables you to fill in all the parameters, execute the query, and inspect the outcome in the Responses section directly in your browser.
If you try out the endpoints for REST calls which require a body to be passed, the body is already pre-populated with the resource's properties and their placeholder values.
When you tried out a REST call and you're satisfied with the result, you can copy the exact URL or Curl you need for this operation from the Responses section.