# API Endpoint Reference
Tenovos has introduced version 1.5 to provide non-breaking improvements over previous versions.
Key Changes:
* Authentication Standards now include OAuth2 code flow.
* Client ID is no longer required to be passed when requesting an Authorization token using our Standard Auth from v1.4
* New endpoints have been added and will continue to be added until v2 is generally available to all customers.
* Adaptive Template endpoints
* A new Get Asset endpoint with a simplified Response
* A new Create Asset endpoint with simplified payloads for the Request and Response
* A new Update Asset endpoint with simplified payloads for the Request and Response
* We've made some performance improvements to most endpoints
Version: 1.5
License: Tenovos Active Story Management
## Servers
```
https://api.uat.tenovos.io/v1
```
```
https://api.tenovos.io/v1
```
## Security
### bearerAuth
Type: http
Scheme: bearer
Bearer Format: JWT
### BasicAuth
Type: http
Scheme: basic
### ApiKeyAuth
Type: apiKey
In: header
Name: X-API-Key
## Download OpenAPI description
[API Endpoint Reference](https://api.tenovos.com/_bundle/openapi/v1.5.yaml)
## ACTIONS
Invoke the Action API to retrieve information about invoked Actions.
### Action Details
- [GET /action/{id}](https://api.tenovos.com/openapi/v1.5/actions/getaction.md): Retrieve an Action by specifying an Object ID or File ID in the request path.
The user requesting the Action must have view access to the Action in order to retrieve the Action.
Average Response Time: 146ms
## ADAPTIVE TEMPLATES
Invoke the API to retrieve information about invoked Actions.
### Get Templates
- [POST /template](https://api.tenovos.com/openapi/v1.5/adaptive-templates/gettemplates.md): For customers with the Adaptive Template templates feature, use this endpoint to return a list of all available templates in the system.
### Get Template URL
- [POST /template/launch](https://api.tenovos.com/openapi/v1.5/adaptive-templates/launchtemplate.md): Returns a secure URL to open the template in a web browser using template identifier.
## ASSETS
Invoke the Asset API to create, retrieve, manipulate, and share Assets. This API also provides operations to manage Asset relationships and download Asset content.
### Create Asset
- [POST /asset](https://api.tenovos.com/openapi/v1.5/assets/createasset.md): Use this endpoint to perform one of the following operations:
1) Create a new Asset
2) Create a new Version of an existing Asset
3) Create a new Metadata-only Asset
Once the new Asset or Asset Version is created, a new Object ID is returned to identify the new Asset / Asset Version.
When a new Asset is created, the Asset is considered a metadata-only asset until a corresponding content file is uploaded. The Asset's content file size must be less than or equal to 5GB.
After invoking the Create Asset service, the response shall include a signed URL to upload the content file. The upload should be performed using a PUT request with the file content attached as binary data in the request body.
After creating an asset greater than 100MB, multiple presigned URLs will be returned. You must upload file chunks of 100MB to each one.
You must call the /asset/complete endpoint to complete or cancel a multi-part file upload, otherwise the file will not be available to Tenovos.
The user submitting the request to create an Asset must have the Upload Security Role Privilege and be granted access to at least one Security Template to assign to the new Asset.
Average Response Time: 1077ms (varies based on metadata)
### Bulk Edit Assets
- [PATCH /asset](https://api.tenovos.com/openapi/v1.5/assets/editassets.md): Perform metadata edits and/or reassign Security Templates to one or more Assets. Assets are identified by Object ID. If multiple Assets are specified, the same metadata and/or security edits will be applied to all Assets in the request.
Each Metadata Attribute is identified by a Metadata Definition ID.
The user performing the bulk edit must have the Edit Metadata permission granted on each Asset being edited.
Average Response Time: 605ms
### Get Asset
- [GET /asset/{id}](https://api.tenovos.com/openapi/v1.5/assets/getasset.md): Retrieve an Asset's details and metadata by specifying an Object ID or File ID in the request path.
The user requesting the Asset must have view access to the Asset in order to retrieve the Asset.
Average Response Time: 451ms (Get asset by fileId)
Average Response Time: 2973ms (Get asset by objectId)
### Update Asset
- [PATCH /asset/{id}](https://api.tenovos.com/openapi/v1.5/assets/updateasset.md): Update the metadata attributes and/or the Security Template assignments for an Asset identified by Object ID. The Object ID must be specified in the request path.
The user submitting the request must have edit access to the Asset.
Average Response Time: 1701ms
### Get Asset Download Link
- [GET /asset/{id}/content](https://api.tenovos.com/openapi/v1.5/assets/getassetcontent.md): Retrieve a presigned URL to the Asset's source file by Object ID.
The user requesting the Asset's source file must have download access to the Asset.
Average Response Time: 934ms
### Delete or Restore Asset
- [POST /asset/{id}/delete](https://api.tenovos.com/openapi/v1.5/assets/deleteasset.md): Soft delete or un-delete an Asset. An Asset that has been soft-deleted can be later purged from the recycle bin. A soft-deleted Asset cannot be edited or downloaded.
The user attempting to soft delete or un-delete an Asset must be granted the Delete Security Template permission on the Asset.
Average Response Time: 445ms (Soft Delete an Asset)
Average Response Time: 1055ms (Undeleted an Asset)
### Get Asset Latest Version
- [GET /asset/{id}/latest](https://api.tenovos.com/openapi/v1.5/assets/getlatestversion.md): Retrieve latest version of an Asset by specifying an Object ID in the request path.
The user requesting the Asset must have view access to the Asset in order to retrieve the Asset.
Average Response Time: 265ms
### Get Asset Relationships
- [GET /asset/{id}/link](https://api.tenovos.com/openapi/v1.5/assets/getassetrelationship.md): Retrieve all Asset relationships associated with an Asset specified by Object ID. In a relationship, the Asset can be a primary or secondary (related) Asset. For example, in a parent / derivative relationship, the primary Asset would be the parent, while the secondary Asset would be the derivative. Both the Object ID and relationship type for each Asset will be returned. Relationships will be retrieved where the Asset is a primary or secondary Asset.
The user requesting the Asset relationships must have View access to both the primary Asset and the secondary Assets in order to retrieve the relationships.
Average Response Time: 140ms
### Create Asset Relationship
- [POST /asset/{id}/link](https://api.tenovos.com/openapi/v1.5/assets/createrelationship.md): Create a bidirectional relationship between a primary Asset and one or more secondary Assets. Asset relationships allow a user to quickly navigate from one Asset to another related Asset.
The user attempting to create a relationship using Asset must be granted the Relationship Security Template permission on the Asset.
Average Response Time: 3922ms
### Remove Asset Relationship
- [PATCH /asset/{id}/link](https://api.tenovos.com/openapi/v1.5/assets/removerelationship.md): Remove a relationship between a primary Asset and one or more secondary Assets. Specify the primary Asset Object ID as a path parameter. Specify the secondary Asset Object IDs and Link Types as an array in the request body.
The user requesting the Asset relationships must have view access to both the primary Asset and the related Assets in order to relationships and the related Assets.
Average Response Time: 929ms
### Get Asset Version History
- [GET /asset/{id}/version](https://api.tenovos.com/openapi/v1.5/assets/getversions.md): Retrieve a list of all versions of an Asset by specifying an Object ID or Original File ID in the request path.
The user requesting the Asset must have view access to the Asset in order to retrieve the Asset version history.
### Complete Upload
- [POST /asset/complete](https://api.tenovos.com/openapi/v1.5/assets/finishupload.md): Complete/Cancel multipart upload once all parts are uploaded. This endpoint must be called after creating asset when the file is sent in chunks of 100MB each. For files 100MB or less in size this operation is not needed.
Average Response Time: 1310ms
### Assign Asset Preview Image
- [POST /asset/content/preview](https://api.tenovos.com/openapi/v1.5/assets/replacepreview.md): "Generate a request to upload an image or PDF file to be the new preview for one or more Assets. Supported preview image formats include: GIF, JPG, PNG, and TIFF.\n\nIf a PDF file is uploaded to be the preview for a document Asset, then the PDF will also be displayed in the Asset Detail page as the multi-page PDF preview.\n\nAfter submitting the request to replace an Asset preview, \n\nThe user replacing the Asset previews must be granted the Replace Mezzanine and Upload User Role Permissions and View Security Template Permission on the Assets being updated.\n\nFor Federated Assets, if user provides optional contentPaths key in the request body, then files referenced in the contentPaths > properties are used as renditions."
Average Response Time: 953ms
### (NEW!) Asset History
- [GET /asset/{id}/history](https://api.tenovos.com/openapi/v1.5/assets/getassethistory.md): COMING SOON!
This endpoint returns a complete history of all events
### Generate Temporary Asset Preview Link
- [POST /asset/expose](https://api.tenovos.com/openapi/v1.5/assets/getasseturl.md): Exposes Asset's pre-signed urls with expiration time given in seconds
Asset being exposed needs to have a Security Template with Download permission and User must have a role with the Download privilege.
Average Response Time: 785ms
### Share a selection of Assets.
- [POST /asset/share](https://api.tenovos.com/openapi/v1.5/assets/shareassets.md): Share a selection of Assets to a user specified by Email address.
The user sharing the Assets must be granted the Download Security Template permission on the Assets being shared.
Average Response Time: 195ms
### Share or Download Asset Transformation
- [POST /asset/transform](https://api.tenovos.com/openapi/v1.5/assets/gettransformation.md): Transform asset and download or share transformation with an email. If email is available then this API will share link (send email) of transformed file.
Note: Access to this API Service is currently limited. Contact Tenovos Customer Support to inquire further about access to this API Service if needed.
Average Response Time: 937ms
### (NEW!) Create an Asset
- [POST /assets/asset](https://api.tenovos.com/openapi/v1.5/assets/create-asset-v1.5.md): Use this endpoint to perform one of the following:
- Create a new Asset
- Create a new version of an existing Asset
- Create a new Metadata-only Asset
Once the new Asset or version is created, a new object ID is returned in the response to identify the new Asset / Asset Version.
When a new Asset is created, the Asset is considered a metadata-only Asset until a corresponding content file is uploaded. The Asset's content file size must be less than or equal to 5GB.
After invoking the Create Asset endpoint, the response will include a signed URL to upload the content file. The upload should be performed using a PUT request with the file content attached as binary data in the request body.
After creating an asset greater than 100MB, multiple presigned urls will be returned. You must upload file chunks of 100MB to each one.
You must call the /asset/complete endpoint to complete or cancel a multi-part file upload, otherwise the file will not be available to Tenovos.
The user submitting the request to create an Asset must have the Upload Security Role Privilege and be granted access to at least one Security Template to assign to the new Asset.
### (NEW!) Retrieve an Asset
- [GET /assets/asset/{id}](https://api.tenovos.com/openapi/v1.5/assets/get-asset-v1.5.md): Retrieves an asset's details and metadata by specifying an Asset Identifier or File Identifier in the request path.
The user requesting the Asset must have view access to the Asset.
### (NEW!) Update an Asset
- [PATCH /assets/asset/{id}](https://api.tenovos.com/openapi/v1.5/assets/update-asset-v1.5.md): Update the metadata attribute values and/or the Security Template assignments for an Asset identified by Object ID (Asset ID). The identifier must be specified in the path parameter.
The user requesting the Asset must have edit role privilege, as well as edit permission on the Asset's security template in order to update the Asset.
## AUTHENTICATION
Invoke the Authentication API to generate, refresh, and revoke access tokens. An access token is required to perform any authorized API operation.
### Authorize Session
- [POST /auth/token](https://api.tenovos.com/openapi/v1.5/authentication/getauthtoken.md): Generates authentication credentials that expire after one hour.
The authentication response includes an accessToken which is used as the AccessToken request header when performing any authenticated operation.
This operation will also accept the previous authentication response as the request payload to return a refreshed access token. The access token expires after 1 hour and must be refreshed after expiration, using the included refreshToken. The refresh token can be used for up to 30 days to request new access tokens, or until the refresh token is revoked. Once the refresh token expires or is revoked, the user credentials must be provided again to generate a new access token and refresh token.
Average Response Time: 3671ms (New Token)
Average Response Time: 233ms (Refresh Token)
### Expire Access Token
- [DELETE /auth/token](https://api.tenovos.com/openapi/v1.5/authentication/expiretoken.md): Expire an access token before the token's expiration date and revoke access to the system.
Access tokens normally expire within an hour.
This operation expires an access token upon request so that the token may no longer be used for future operations.
Average Response Time: 288ms
### Impersonate User (deprecated)
- [POST /auth/impersonate](https://api.tenovos.com/openapi/v1.5/authentication/impersonate.md): This endpoint generates an Access Token and Authorization given a system username.
## CDN (Coming Soon!)
Tenovos Content Delivery Network (CDN) - Coming Soon!
Tenovos CDN: Pull Zone Overview
Tenovos CDN provides global content acceleration and optimization through a pull zone architecture, ensuring that your assets are delivered to end users with maximum speed, reliability, and efficiency. A Content Delivery Network (CDN) works by caching
static content—such as images, videos, and other media—on servers distributed across the globe. When an asset is requested, the CDN serves it from the nearest edge location, reducing load times and offloading traffic from the origin server, which in this case is Tenovos DAM.
A pull zone is the core mechanism that powers this system. It automatically fetches content from the origin the first time it is requested, then caches it at the edge. Subsequent requests are served directly
from the CDN cache, improving response times and reducing bandwidth consumption.
Through the Tenovos CDN API, you can create, update, and manage pull zones programmatically. Pull zones support advanced features such as global edge caching, cache purging, bandwidth controls, and real-time performance statistics like cache
hit rate and geographic request distribution. Optional optimization settings allow you to enhance performance further by enabling image compression, WebP and AVIF support, and content minification.
With just a few API calls, you can fully integrate high-performance content delivery into your Tenovos workflows—no complex infrastructure required.
### Get Pull Zone
- [GET /cdn/pullzone/{pullZoneId}](https://api.tenovos.com/openapi/v1.5/cdn-(coming-soon!)/getpullzone.md): COMING SOON!
This endpoint returns all available about a customer configured CDN Pull Zone, including monthly bandwidth usage.
### Create Pull Zone
- [POST /cdn/pullzone](https://api.tenovos.com/openapi/v1.5/cdn-(coming-soon!)/createpullzone.md): Configure Tenovos CDN Pull Zone. CDN Pull Zones should be based in a region closest to where your content needs to be served to ensure the lowest latency possible. Consider geo-replication for serving content to global users.
### Update Pull Zone
- [PATCH /cdn/pullzone](https://api.tenovos.com/openapi/v1.5/cdn-(coming-soon!)/editpullzone.md): Update your Tenovos CDN Pull Zone Configuration. CDN Zones should be based on a region closest to where your content needs to be delivered to ensure the lowest latency possible. Consider geo-replication for global delivery.
### Pull Zone Statistics
- [GET /cdn/pullzone/stats/{pullZoneId}](https://api.tenovos.com/openapi/v1.5/cdn-(coming-soon!)/pullzonestats.md): Use this endpoint to retrieve usage statistic for a specified Pull Zone.
## COLLECTIONS
Invoke the Collection API to create, retrieve, edit, and delete Collections. Collections are used to group and catalog related Assets for quick access and consumption. Collections can be configured as:
- private: Visible only to the user who created the Collection.
- secured: Visible to users with.
When retrieving the Assets within a Collection, the requesting user will only see the Assets that the user has access to view. For example, a librarian may see all Assets within a Collection, but a general consumer user may only see a portion of those Assets, due to limited security access.
### Create Collection
- [POST /collection](https://api.tenovos.com/openapi/v1.5/collections/createcollection.md): Create a collection and add assets to it. Assets in the collection are identified by FileID therefore collectionDocument contains File ID
The user should have View permission on assets to be added to the collection.
Average Response Time: 200ms (Private Collection)
Average Response Time: 2568ms (Shared Collection)
### Get Collection
- [GET /collection/{id}](https://api.tenovos.com/openapi/v1.5/collections/getcollection.md): Retrieve a single Collection specified by Collection ID. The retrieved Collection may be either a secured Collection or a private Collection created by the User. The Collection will include the list of Assets assigned to the Collection, referenced by Asset File ID.
The User retrieving the Collection must have the Collection Security Role Privilege.
Average Response Time: 53ms
### Delete Collection
- [DELETE /collection/{id}](https://api.tenovos.com/openapi/v1.5/collections/deletecollection.md): User can delete the collection, but the Assets assigned to the Collection will remain and dissociate from this Collection.
The User submitting the request to delete a private Collection must have the Collection and Delete Security Role Privilege. Secured Collections may only be deleted by Users with the Purge Security Role Privilege.
Average Response Time: 81ms
### Update Collection
- [PATCH /collection/{id}](https://api.tenovos.com/openapi/v1.5/collections/updatecollection.md): Update a Collection's attributes or assigned Assets. The list of existing assets is replaced with assets provided in the call. Assets in the collection are referenced by Asset FileID therefore the collectionDocument must contain asset's FileID.
The User editing the Collection must have the Collection Security Role Privilege. The User must have View access to the Assets that are being added to or removed from the Collection.
Average Response Time: 5070ms
### Share Collection Contents
- [POST /collection/{id}/share](https://api.tenovos.com/openapi/v1.5/collections/sharecollection.md): Share the zip file of all accessible Assets in a collection and send to the specified emails in share users list. User can also send the custom share message along with request. \n\nThe user sharing the Assets must be granted the Download and Share Security Template permission on the Assets being shared.
Average Response Time: 49ms
## METADATA
Invoke the Metadata API to retrieve Metadata Template to be applied to Assets during Asset creation. A Metadata Template defines a set of Metadata Attributes of varying types, including Text, Date, Controlled Vocabulary, Tabular, and Cascading Attributes. When a Metadata Template is assigned to a new Asset, the corresponding Metadata Attributes will be available for population on the Asset.
### (NEW!) Metadata Attributes
- [GET /metadata/attributes](https://api.tenovos.com/openapi/v1.5/metadata/getmetadataattributes.md): Retrieve all metadata attributes available to the requesting user.
The user submitting the request must have administrator privilege to Metadata Management.
Average Response Time: 492ms
### Retrieve Metadata Templates
- [GET /metadata/template](https://api.tenovos.com/openapi/v1.5/metadata/getmetadatatemplates.md): Retrieve all metadata templates available to the requesting user
The user submitting the request must have administrator rights to view metadata templates.
Average Response Time: 492ms
### Get Metadata Template
- [GET /metadata/template/{id}](https://api.tenovos.com/openapi/v1.5/metadata/getmetadatatemplate.md): "Retrieve the metadata template and its attributes list by template ID \n\nThe user submitting the request to metadata template must have the Metadata Template Management security role privilege.\n\nIn response, it will contain the metadata groups template have and each group metadata attributes list."
Average Response Time: 1406ms
### Get Controlled Vocabularies
- [GET /metadata/vocabulary](https://api.tenovos.com/openapi/v1.5/metadata/getallcontrolledvocab.md): Retrieve all the controlled vocabularies available to the current user.
In response, it will contain the list of metadata key/value pair and metadata definition attributes like id, name, type and search fields etc.
Average Response Time: 592ms
### Create Controlled Vocabulary
- [POST /metadata/vocabulary](https://api.tenovos.com/openapi/v1.5/metadata/createcontrolledvocab.md): Create a Controlled Vocabulary. User must have permission to create a controlled vocabulary.
Response will contain the object of the metadata definition attributes, such as id, name, type and search fields, etc.
Average Response Time: 585ms
### Get Controlled Vocabulary
- [GET /metadata/vocabulary/{id}](https://api.tenovos.com/openapi/v1.5/metadata/getcontrolledvocab.md): Retrieve the Controlled Vocabulary and its attributes by Controlled Vocabulary Id
In response, it will contain the list of metadata key/value pair and metadata definition attributes like id, name, type and search fields etc.
Average Response Time: 472ms
### Delete Controlled Vocabulary
- [DELETE /metadata/vocabulary/{id}](https://api.tenovos.com/openapi/v1.5/metadata/deletecontrolledvocab.md): Delete a Controlled Vocabulary.
Average Response Time: 130ms
### Update Controlled Vocabulary
- [PATCH /metadata/vocabulary/{id}](https://api.tenovos.com/openapi/v1.5/metadata/updatecontrolledvocab.md): Update a Controlled Vocabulary. User must have permission to update a controlled vocabulary.
In response, it will contain the object of metadata definition attributes like id, name, type and search fields etc.
Average Response Time: 1462ms (Add Controlled Vocabulary (CV) value)
Average Response Time: 716ms (Update a CV value )
### Apply Metadata Definition Changes
- [POST /metadata/apply](https://api.tenovos.com/openapi/v1.5/metadata/applymetadatachanges.md): Apply the metadata definition changes. Use this operation after making any modification in metadata.
In response, it will contain the object of metadata definition attributes like id, name, type and search fields etc.
Average Response Time: 53ms
## SEARCH
Search for Collections by Collection name.
Perform Asset searches using keywords or Attribute-specific search terms using the Keyword Search endpoint.
Perform a scan on all assets based on search criteria using a cursor to page through the entire result set of assets.
### Scan Asset Search Results
- [POST /asset/scan](https://api.tenovos.com/openapi/v1.5/search/scanassets.md): Provides the ability to scan a search result set of assets using a cursor to fetch the next set of results pages on the limit (page size) passed.
### (NEW!) Search Assets
- [POST /search](https://api.tenovos.com/openapi/v1.5/search/searchassets.md): There are two types of searches available:
- Simple Keyword Search: Requesting user can get list of Assets against search terms/keywords list. For example ["keyword1", "keyword2"]
- Facet Search: Requesting user can get list of Assets against Facet value list. For example ["Facet: facet_value"]
Specifying a value in the 'keywordSearchField' attribute in the request allows you to target keyword searches against Filename, Asset ID, Metadata, or Content (extracted text from documents.
By default, if not specified in the request, the search operation type will be set to 'AND' for search terms and/or facets. If the 'relevancy' field is passed as true, this will negate the operation selection used
in legacy search and will leverage the relevancy search matching. When relevancy is set to true, the 'metadataDefinitionSearchField' field within the sortBy object should be set to 'relevance', and the 'order' field should be set to 'desc'.
By default, up to 50 Assets will return from the search. Should you want to limit the amount of assets returned in each response, the value for 'limit' can be set to a number up to 50. You can also set search offset by setting the 'from' property.
For example, for the first page, set 'from' to 0. After that set 'from' to 50, 100, 150, etc.
This endpoint will only return a handful of metadata fields by default. To include more metadata fields in the response, those fields should be included in the 'includes' array. System metadata fields, such as Metadata Template ID,
should be entered using camel case (ie, metadataTemplateId). Custom metadata fields should be entered by their attribute search term, prefixed by metadataDocument. For example, to retrieve an attribute called Published Channel, a user
would include "metadataDocument.published_channel" in the includes array. Fields included in this array will be returned in an object called 'metadataDocument' if those attributes exist on the asset.
Average Response Time: 691ms
### Search Collections
- [POST /search/collection](https://api.tenovos.com/openapi/v1.5/search/searchcollections.md): Retrieve the collection list against the list of search terms/keywords. By default AND operation will be applied between the search terms.
By default 50 collections will return, you can also set search offset by setting from attribute, for example for first page set from to zero and after that you set 50, 100, 150 and so on.
Average Response Time: 244ms
### Search Assets by Keyword
- [POST /search/keyword](https://api.tenovos.com/openapi/v1.5/search/search.md): To Retrieve the Assets list there is two types of searches available,
Simple Keyword Search: Requesting user can get list of Assets against search terms/keywords list. For example ["keyword1", "keyword2"]
Facet Search: Requesting user can get list of Assets against Facet value list. For example ["Facet: facet_value"]
Targeted Search: Requesting user can target keyword searches against Filename, Asset ID, Metadata, or Content (extracted text from documents) by passing the optional property of keywordSearchField.
Requesting user can apply the combination of both searches and if there is no keyword/facet in requesting body it will apply wildcard search.
By default AND operation will be applied with search terms and/or facets.
By default, up to 50 Assets will return from the search.You can also set search offset by setting the from property. For example, for the first page, set from to zero. After that set from to 50, 100, 150, etc.
Average Response Time: 4185ms
### Search User Profiles
- [GET /search/users/{searchText}](https://api.tenovos.com/openapi/v1.5/search/searchusersbytext.md): Use this endpoint to retrieve a list of User Profiles matching the search keyword provided in the request parameter. Do not enter your search term wrapped in quotation marks.
Provided keyword will be matched against the user attributes case insensitively - First Name, Last Name, Friendly Name, Username, Email, Phone, Company, Contact, Country, Status, Group Names, and Role Name. Entering "*" as your search term will return all users.
The response is formatted as an area of objects, with each user account being returned as an object, as well as a key called 'count', which indicates how many accounts met the search critera. A maximum limit of 100 accounts will be returned in the response.
In the case that more than 100 accounts meet the search criteria, pagination using the optional 'from' and 'limit' query parameters will be required to retrieve all accounts.
The user performing this action must have the 'User Management' role privilege.
How to use pagination:
Pagination should be used when the amount of user accounts that match the entered search term exceeds the amount of users (100) returned in a single response. Paginating through the results will require making more than one call to this endpoint.
To retrieve the first 100 users, in your query parameters, set your 'from' value to 0, and your 'limit' value to 100. To return the next set of 100 users, leave your 'limit' value as 100, but set your 'from' value to 100.
Continue to repeat this process of adding 100 to your 'from' value until all user account results are captured.
## REQUESTS
Invoke these API's to create new Requests and manage existing Requests.
### (NEW!) Create Request
- [POST /request](https://api.tenovos.com/openapi/v1.5/requests/createrequest.md): COMING SOON!
Use this endpoint to create a new Request in Tenovos.
### (NEW!) Update Request
- [PATCH /request/{id}](https://api.tenovos.com/openapi/v1.5/requests/updaterequest.md): COMING SOON!
Use this endpoint to update an existing Request. Only send the data that you wish to change.
### (NEW!) Get Request
- [GET /request/{id}](https://api.tenovos.com/openapi/v1.5/requests/getrequest.md): COMING SOON!
Use this endpoint to retrieve a specific request based on the id of the request.
### (NEW!) List Requests
- [POST /request/list](https://api.tenovos.com/openapi/v1.5/requests/listrequests.md): COMING SOON
Use this endpoint to return a listing of all Requests. The request body is entirely optional, and by default, the API will return all types of Requests sorted by created_date from the most recent to the oldest in batches of 100.
No metadata on the requests is returned from this endpoint.
## SECURITY
Invoke the Metadata API to retrieve Security Template information to be applied to Assets during Asset creation or edit.
### Retrieve Roles
- [GET /roles](https://api.tenovos.com/openapi/v1.5/security/getroles.md): Response provides an array of the security Roles that are configured in Tenovos. The items returned are limited to the Roles available to the user making the API call.
API User credentials must have administrative rights to the User Management privilege.
Average Response Time: 274ms
### (NEW!) Retrieve Role Privileges
- [GET /roles/privileges](https://api.tenovos.com/openapi/v1.5/security/getprivileges.md): Response will include a list of all role privileges available in the system. The user making the request must have the 'Security Template Management' role privilege. All role privileges will be returned by default. User can pass 'enabled' or 'disabled' as a path parameter to return only enabled or disabled role privileges.
The user making the request must have Role Management privilege.
Average Response Time: 188ms
### Retrieve Security Templates
- [GET /security/template](https://api.tenovos.com/openapi/v1.5/security/getsecuritytemplates.md): User will get the list of Security Templates available to him.
The user submitting the request must have administrator rights to view Security Templates.
In response user will get a list, containing template names and their corresponding template id.
Average Response Time: 243ms
### Retrieve Security Groups
- [GET /security/groups](https://api.tenovos.com/openapi/v1.5/security/getsecuritygroups.md): User will get the list of Security Groups available in the system.
The user submitting the request must have administrator rights to User Management.
In response user will get a list, containing group names and their corresponding group id.
Average Response Time: 189ms
### (NEW!) Retrieve Security Permissions
- [GET /security/permissions](https://api.tenovos.com/openapi/v1.5/security/getsecuritypermissions.md): Response will include a list of all security permissions available in the system. The user making the request must
have the Security Template Management role privilege.
Average Response Time: 231ms
## PEOPLE
Invoke the User API to retrieve User profile information.
### Get Current User Profile
- [GET /user](https://api.tenovos.com/openapi/v1.5/people/getcurrentuser.md): Use this endpoint to get the user profile information for the account that you've authenticated against the Tenovos API with.
This is useful when needing to check which groups you are in which may restrict the API calls you can make.
### Create User
- [POST /user](https://api.tenovos.com/openapi/v1.5/people/createuser.md): Use this endpoint to create a new user account in the system. You must have User Management role privilege and Security Template Management role privilege in order to create a user and assign groups.
This endpoint can be used to create local or federated users.
Average Response Time: 5140ms
### Get User Profile by ID
- [GET /user/{id}](https://api.tenovos.com/openapi/v1.5/people/getuser.md): Current user will get its profile information in response.
User will also get ID of a role assign to him and a list of group IDs from which it belongs to.
Average Response Time: 154ms
### Update User Attributes
- [PATCH /user/{id}](https://api.tenovos.com/openapi/v1.5/people/updateuser.md): Update User Profile attributes such as First Name, Last Name, Friendly Name, Email, Company, Country, Contact, Phone, and User Role. The user role can be updated by sending either role id or role name.
Average Response Time: 1587ms
### Add User to Group
- [PATCH /user/{id}/add-to-group](https://api.tenovos.com/openapi/v1.5/people/addusertogroup.md): Assign a Security Group to a User Profile.
### Remove User from Group
- [PATCH /user/{id}/remove-from-group](https://api.tenovos.com/openapi/v1.5/people/deletegroupfromuser.md): Remove an assigned Security Group from a User Profile.
### Search User Profiles (deprecated)
- [GET /user/search/{searchText}](https://api.tenovos.com/openapi/v1.5/people/getuserbytext.md): Use this endpoint to retrieve a list of User Profiles matching the search keyword provided in the request parameter. Do not enter your search term wrapped in quotation marks.
Provided keyword will be matched against the user attributes case insensitively - First Name, Last Name, Friendly Name, Username, Email, Phone, Company, Contact, Country, Status, Group Names, and Role Name. Entering "*" as your search term will return all users.
The response is formatted as an area of objects, with each user account being returned as an object, as well as a key called 'count', which indicates how many accounts met the search critera. A maximum limit of 100 accounts will be returned in the response.
In the case that more than 100 accounts meet the search criteria, pagination using the optional 'from' and 'limit' query parameters will be required to retrieve all accounts.
The user performing this action must have the 'User Management' role privilege.
How to use pagination:
Pagination should be used when the amount of user accounts that match the entered search term exceeds the amount of users (100) returned in a single response. Paginating through the results will require making more than one call to this endpoint.
To retrieve the first 100 users, in your query parameters, set your 'from' value to 0, and your 'limit' value to 100. To return the next set of 100 users, leave your 'limit' value as 100, but set your 'from' value to 100.
Continue to repeat this process of adding 100 to your 'from' value until all user account results are captured.
## WEBHOOKS
Tenovos Webhook Subscriptions
For more information about our Webhooks, see the [Webhook section](/developer-portal/webhooks/overview) of our Developer Portal
### Create Endpoint
- [POST /webhooks/endpoint](https://api.tenovos.com/openapi/v1.5/webhooks/createsubscription.md): Create a subscription based on the topic and event type in order to be notified at your target URL when events about that topic occur.
### List Endpoints
- [GET /webhooks/endpoint/list](https://api.tenovos.com/openapi/v1.5/webhooks/getendpointsubscriptionslist.md): This endpoint returns an array (List) of all endpoints (your endpoints) and the event types subscribed.
### List Event Types
- [GET /webhooks/event-type/list](https://api.tenovos.com/openapi/v1.5/webhooks/geteventtypelist.md): This endpoint returns an array (List) of all event types.
### Endpoint by ID
- [GET /webhooks/endpoint/{id}](https://api.tenovos.com/openapi/v1.5/webhooks/getendpointbyid.md): This endpoint returns a single endpoint and its configuration by ID.
### Update Endpoint
- [PATCH /webhooks/endpoint/{id}](https://api.tenovos.com/openapi/v1.5/webhooks/updateendpointbyid.md): This endpoint updates a single endpoint and its configuration by ID.
### Delete Endpoint
- [DELETE /webhooks/endpoint/{id}](https://api.tenovos.com/openapi/v1.5/webhooks/deletewebhook.md): Delete a subscription you have to a Webhook based on the ID of the Webhook Subscription
### Add OAuth
- [PUT /webhooks/endpoint/oauth/{endpointId}](https://api.tenovos.com/openapi/v1.5/webhooks/createoauth.md): Add an authorized OAuth client to an existing endpoint.
### Remove OAuth
- [DELETE /webhooks/endpoint/oauth/{endpointId}](https://api.tenovos.com/openapi/v1.5/webhooks/deleteoauth.md): Remove an authorized OAuth client from an existing endpoint.
## PROOFING
### Get Workflow Templates
- [GET /workflow-templates](https://api.tenovos.com/openapi/v1.5/proofing/getprooftemplate.md): Get active workflow templates.
Average Response Time: 9690ms
### Get Proof Status
- [GET /proof/{id}/status](https://api.tenovos.com/openapi/v1.5/proofing/getproofstatus.md): Get Proof status and decision status
### Create a Proofing User
- [POST /proofing/user](https://api.tenovos.com/openapi/v1.5/proofing/createproofuser.md): Creates a Proofing User account. Must be a Story Orchestration customer and have available user licenses.
### Get Reviewer URL
- [POST /proof/{id}/reviewer-url](https://api.tenovos.com/openapi/v1.5/proofing/getreviewerurl.md): Get proof Reviewer URL.