Breadcrumbs

Canto Connector v1.2 Initial Revision

Version 1 Revision 2

Connector Overview: This page documents all 95 endpoints for the Cantoconnector v1.2.

View API Documentation


GET

API-Endpoints: ListallAPIendpoints

Rate Level: 1

View all endpoints as URI templates!

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


POST

Assets: AddKeywords

Rate Level: 2

This supports adding a keyword.

BODYPARAMS

| Parameter | Description |
|-------------|---------------------------------------|
| name | REQUIRED - Name of the keyword |
| description | REQUIRED - Description of the keyword |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (2)

Option Name

Description

Name

N/A

Description

N/A


POST

Assets: Addversioncomment

Rate Level: 2

Adds a comment to a specific version of an asset.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (4)

Option Name

Description

Scheme

N/A

Id

N/A

Versionid

N/A

Comment

N/A


POST

Assets: AssignContenttoAlbum

Rate Level: 4

This API support batch assign contents to an album.

BODYPARAMS

| Parameter | Description |
|-------------|-----------------------------------------------------------------------------|
| scheme | REQUIRED - "image", "video", "audio", "document", "presentation" or "other" |
| id | REQUIRED - Id of the content |
| displayName | REQUIRED - Display name of content |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Albumpath

N/A


PUT

Assets: Attachkeywordtocontent

Rate Level: 2

Attach a keyword to content.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other" (case sensitive)

scheme refers to the smart albums within your Canto application.

Contentid

REQUIRED - Id of the content

Keyword

REQUIRED - The plain text of keyword

Note: An already attached keyword will result in HTTP status "200 OK".

Response Type

N/A


PUT

Assets: Attachtagtocontent

Rate Level: 2

Attach a tag to specific content. (A tag is just a plain text.)

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other" (case sensitive)

scheme refers to the smart albums within your Canto application.

Contentid

REQUIRED - Id of the content

Tag

REQUIRED - The plain text of tag

Note: An already attached tag will result in HTTP status "200 OK".

Response Type

N/A


PUT

Assets: BatchEditContentApply

Rate Level: 4

Save the information fields of the batch edit content.

Body parameters

|Parameter|Description|
|---------|---------|
|propertyId|The field you want to change.

Use the name of the field, not the id


|propertyValue|Properties value, permit an empty string.

If property name is expirationDate/autoApproveDate,value format by "YYYY-MM-DD HH:mm".

If property name is "keyword" or "tag", the multi value separates by comma.

If property is a DATE Custom field, value format by "YYYY-MM-DD".

If property is a SINGLECHOICE or MULTICHOICE custom field, the value should refer to the response of Get Custom Field List API.

If the property is a LABEL custom field, the value is the hexadecimal representation of the color, like "#FFFFFF".

If property is a RATING custom field, values can range from 1 to 5.

MULTICHOICE and Label Custom fields may have multiple values, so their property values should be an array.|
|action|Permit an empty string.

Values for field description: "append" or "cover" (default).

Values for fields "keyword", "tag" or a custom field of type: MULTICHOICE, LABEL: "add" (default) or "remove".

|
|customField|true if the field is a custom field. Otherwise false.

Default: "false"|

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


POST

Assets: BatchEditContentGet

Rate Level: 2

Get information field values of multiple assets.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (2)

Option Name

Description

Scheme

N/A

Id

N/A


POST

Assets: BatchGetContentDetail

Batch get content detail information includes- general properties, urls, default & additional fields (custom fields), version history and metadata. Take “detail” url from the array will navigate directly to the asset in Canto.

BODYPARAMS

| Parameter | Description |
|-----------|--------------------------------------------------------------------------------------------------------|
| | The parameter is a json array, each json represent a content, limit: Max 100 contents for one request. |
| scheme | REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive) |
| id | REQUIRED - Id of the content. |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (2)

Option Name

Description

Id

N/A

Scheme

N/A


DELETE

Assets: Batchdeletecontent

Rate Level: 4

Batch deletes contents. The contents will move to trash bin.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


DELETE

Assets: Batchpermanentlydeletecontent

Rate Level: 4

Batch permanently deletes contents from trash bin.

BODYPARAMS

| Parameter | Description |
| --- | --- |
| portalId | (optional) If you want to permanently delete content on a portal, please use this value. The value is the portal id. |

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


PUT

Assets: Batchshareanalbum

This API support batch share albums only

BODYPARAMS

| Parameter | Description |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| scheme | REQUIRED - "album". (Folders are not supported, yet) |
| id | REQUIRED - Id of the album |
| expires | Format: "yyyy-MM-dd"

If null, never expired. |
| hideShareBy | REQUIRED - "true" or "false"

If true, it will hide the username in the share link. |
| allowDownloadOriginal | REQUIRED - "true" or "false"

If true, end user can download the original file.
If false, end user can download image as converted content. |
| allowCropAndResize | REQUIRED - "true" or "false"

If true, the download page will show the crop and resize options. |
| allowPresets | REQUIRED - "true" or "false"

If true, end user will be allowed to download using a preset. |
| displayMetadata | REQUIRED - "true" or "false"

If true, user can view metadata. |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


POST

Assets: CreateEmbedVideo

Rate Level: 4

This API will create a Embed Video script. This API will return immediately. After Embed Video created, you need to run Get content details API to query the embed video url.

Request Headers Content-Type:

application/x-www-form-urlencoded

Response:

if created successfully, then a JSON key "success" value is "true".
if created failed, then a JSON key "success" value is "false", and a "message" key will tell you reason. includes:
"invalid argument", "content no found", "exceed", "no-permission".

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Contentid

REQUIRED - The id of the content

Content-type

N/A

Response Type

N/A

Options (5)

Option Name

Description

Format

REQUIRED - The format of Embed Video.

valid values: "hls" or "dash"

Isfixed

Defines whether the output video size is responsive or fixed resolution in the embed script.

true - output video resolution is fixed.
false - output video is responsive.

default: false

Width

if isFixed == true

if specified, then the output video width will be it.
if not specified, then the output video width will be the original video width.

if isFixed == false. the this parmeter is ignored

Height

if isFixed == true
if specified, then the output video width will be it.
if not specified, then the output video height will be the original video height.
if isFixed == false. the this parmeter is ignoredif isFixed == true
if specified, then the output video width will be it.
if not specified, then the output video width will be the original video width.
if isFixed == false. the this parmeter is ignored

Captionid

if this value is specified and the original video has a caption, the output embed video use that caption.
if not, the output embed video has no caption.


POST

Assets: CreateRelatedContent

Rate Level: 4

This request creates relations on assets. You can relate multiple assets with each other. An asset can be a "primary" in a relation. You can mark multiple assets "primary" if you create relations.

BODYPARAMS



Parameter
Description


relatedName
The Label of related content.


relatedContents
Limit: Max 1000 contents for one request.


scheme
REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)


id
REQUIRED - Id of the content.


primary
true or false.


Identifies whether it is a primary asset in the related asset.


Note:You can define multiple primary assets



Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Relatedname

N/A


PUT

Rate Level: 2

This supports batch sharing of contentsss

BODYPARAMS

|Parameter|Description|
|---------|-----------|
|scheme|"image", "video", "audio", "document", "presentation" or "other"|
|id|The id of the content|
|expires|If null, never expired.|
|hideShareBy|If true, the shared by user will be hidden|
|allowDownloadOriginal|If true, downloading Original file is available. If false, image can be downloaded as converted content.|
|allowCropAndResize|If true, the download page will show crop and resize options.|
|allowPresets|If true, can be downloaded as a preset.|
|displayMetadata|If true, user can view metadata.|

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


GET

Assets: Getcontentdetails

Rate Level: 2

Get content details including general properties, urls, default & additional fields (custom fields), version history and metadata. Use the detail url from url array to get a preview.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Extendedrelationinfo

If true a neew json format containing more information about relations is returned. (see examples)

Default: false

Noxmpmetadata

It is optional and defaults to false. If true, disables the metadata section and reading the data out of the s3 bucket.

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other"

Contentid

REQUIRED - The id of the content

Response Type

N/A


GET

Assets: Listthecontentofspecifiedscheme

Rate Level: 4

List the content of the specified scheme, page by page. Only brief content info supplied.

Note:

  • You can use the value "null" (enclosed by two underlines in front and at the end). If you want to search for assets which don't have a value in a field.

  • You can use the value "exists" (enclosed by two underlines in front and at the end). If you want to search for assets which have set any value in a field.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Keyword

The search term(s)
use this, to make a search simply by keyword. This is nearly the same search like you do in Canto UI on right top.

Tags

If you want to filter by tag
Examples:\
One value: sunset\
Multi values with OR: sunset|dawn\
Multi values with AND: sunset+beach

Note: The | character needs to be url encoded with %7C: Example: sunset%7Cdawn

Tagsliteral

Filter by tag(case-sensitive & whole word only)
"blue" or "Blue one" didn't matched.

Keywords

Filter result by keywords.
Examples:\
One value: business\
Multi values with OR: home|office\
Multi values with AND: business+office
Note: This filter searchs by keywords, you can attach on request: Attach keyword to content

Note: The + character needs to be url encoded with %2B: Example: home%2Boffice
Note: The | character needs to be url encoded with %7C: Example: home%7Coffice

Approval

Filter by Approval status.
Note: This filter only works, if the approval process is enabled.
Examples:\
One value: approved\
Multi values with OR: "approved|pending"
If you select Expired, you cannot select another status.\
For Example: You cannot use "expired|pending". Only use Expired

Note: The | character needs to be url encoded with %7C: Example: approved%7Cpending

Owner

FIlter by id of an owner.
Examples:\
One value: canto-support@canto.com\
Multi values with OR: canto-support@canto.com|noreply@canto.com

Note: The | character needs to be url encoded with %7C: Example: support@canto.com%7Cnoreply@canto.com

Filesize

Filter by file size
Example: 95073..26893954

Created

Filter by time the asset was created at canto.

Createdtime

Filter by file creation time. (Value is in Unix timestamp format).

Uploadedtime

Filter by upload time. (Value is in Unix timestamp format)

Lastmodified

Filter by last modified time. (Value is in Unix timestamp format)

Dimension

Filte by image size.
Note: This filter works only on images.

Width

Filter by image width in px.

Example:

|example value|description|
|----|----|
|400|only images having a width of exactly 400px|
|400..1024|only images having a width inside the range of 400px to 1024px|

Note: This filter works only on images.

Height

Filter by image height in px.

Example:

|example value|description|
|----|----|
|400|only images having a height of exactly 400px|
|400..1024|only images having a height inside the range of 400px to 1024px|

Note: This filter works only on images.

Resolution

Filter by resolution in DPI
Note: This filter works only on images.

Orientation

"landscape", "portrait" or "square"
Note: This filter works only on images.
Examples:\
One value: landscape
Multi values: landscape|portrait

Note: The | character needs to be url encoded with %7C: Example: landscape%7Cportrait

Duration

Filter by duration.
Note: This filter works only on video or audio.

Pagenumber

Filter by page number.
Note: This filter works only on document or presentation.

Storageclass

"standard" or "freeze"

Examples:\
One value: standard\
Multi values with OR: standard|freeze

Customfieldid

Filter by a custom field.
The name of the parameter needs to be the id of the custom field. (see: Get custom field list)
As an example, custom field id would look similar to "meta_text_0".
Filter by specified custom field with id.
The type means custom field type, including "text", "num", "date", "choice", "multichoice" & "url"; the sequence is an immutable integer given by system.
You could find the whole part in web page URL when filter by the same custom field in our system.

Searchinfield

You can search inside the following fields: "filename", "description", "comment", "keywords", "author" and "tags".
If you input other values, the results will ignore it.

Exactmatch

exactMatch: "true" or "false"
Default: false

Operator

Operator: "and", "or".
Default: "and"

Sortby

"name", "time", "scheme", "owner" or "size"

Default is "time"

Sortdirection

“ascending” or “descending”

Start

The offset number of items to be returned.

Default: 0.

Limit

Maximum number of items to be returned.

Default: 100.
Max: 1000

Imagerangeoperation

Defines how the parameters "width" and "height" should be combined.

Valid values: "or", "and"

"or" means the result must have the given width OR height "and" means the result must habe the given width AND height

Default: "or"

Scheme

N/A

Response Type

N/A


DELETE

Assets: RemoveContentsfromAlbum

Rate Level: 4

This API support batch remove contents of an album.

BODYPARAMS

| Parameter | Description |
|-------------|-----------------------------------------------------------------------------|
| scheme | REQUIRED - "image", "video", "audio", "document", "presentation" or "other" |
| id | REQUIRED - Id of the content |
| displayName | REQUIRED - Display name of content |

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Content-type

N/A

Response Type

N/A


POST

Assets: RemoveRelatedContent

Rate Level: 4

This request removes related assets from the asset given by path parameters.

BODYPARAMS

| Parameter | Description |
|-----------|--------------------------------------------------------------------------------------------------------|
| unRelatedContents| |
| id | REQUIRED - Id of the content. |
| scheme | REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive) |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Contentid

REQUIRED - Id of the content

Response Type

N/A


POST

Assets: RemoveRelatedContentsFromRelatedFiles

_Rate Level: 4_

This request removes related assets from the related files.

BODYPARAMS

---

| Parameter | Value | Description |
| --- | --- | --- |
| relatedContents | \[{
"id":"{{contentId}}",
"scheme":"{{contentScheme}}"
}\] | REQUIRED
Limit: Min 1 content for one request. Max 1000 contents for one request. |
| relatedFiles | \["{{relatedId}}"\] | REQUIRED
Limit: Min 1 group for one request. Max 100 groups for one request. |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Relatedfiles

N/A


DELETE

Assets: Removekeywordfromcontent

Rate Level: 2

Remove a keyword from specified content.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

scheme refers to the smart albums within your Canto application.

Contentid

REQUIRED - Id of the content

Keyword

REQUIRED - The plain text of keyword

Note: If the keyword is not attached to the asset, the result will be HTTP status "200 OK". The service will also return "200 OK" if the keyword is not defined on your canto account.

Response Type

N/A


DELETE

Assets: Removesmarttagfromcontent

Rate Level: 2

Remove a smart tag from specified content.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

The scheme of your content.

Contentid

REQUIRED - Id of the content

Smarttag

REQUIRED - A plain text of smart tag

Note: If the smart tag is not attached to the asset, the result will be HTTP status "200 OK".

Response Type

N/A


DELETE

Assets: Removetagfromcontent

Rate Level: 2

Remove a tag from specify content (a tag is just a plain text).

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other" (case sensitive)

scheme refers to the smart albums within your Canto application.

Contentid

REQUIRED - Id of the content

Tag

REQUIRED - A plain text of tag

Note: If the tag is not attached to the asset, the result will be HTTP status "200 OK".

Response Type

N/A


PUT

Assets: Renamecontent

Rate Level: 2

Renames an asset

BODYPARAMS

---

| Parameter | Description |
| --- | --- |
| name | REQUIRED - The new name of the asset |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Contentid

REQUIRED - Id of the content

Response Type

N/A

Options (1)

Option Name

Description

Name

N/A


GET

Assets: Search/Filter

Rate Level: 4

General rules: If the filter field type is string (e.g. Keyword), you can search one value or multi value. Some multiple values can have both Filter conditions OR and AND. While some multiple values can only have one Filter condition: OR.

Note:

  • You can use the value "null" (enclosed by two underlines in front and at the end). If you want to search for assets which don't have a value in a field.

  • You can use the value "exists" (enclosed by two underlines in front and at the end). If you want to search for assets which have set any value in a field.

Example for OR: standard|freeze.
Example for AND:sunset+beach+people

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Keyword

The search term(s)

use this, to make a search simply by keyword. This is nearly the same search like you do in Canto UI on right top.

One value: sunset\
Multi values with OR: sunset|dawn\
Multi values with AND: sunset+beach

Scheme

"image", "video", "audio", "document", "presentation" or "other". (case sensitive)

scheme refers to the smart albums within your Canto application.

Examples:\
One value: image
Multi values with OR: image|video|audio

Tags

If you want to filter by tag

Examples:\
One value: sunset\
Multi values with OR: sunset|dawn\
Multi values with AND: sunset+beach

Note: The | character needs to be url encoded with %7C: Example: home%7Coffice

Tagsliteral

Filter by tag(case-sensitive & whole word only)
"blue" or "Blue one" didn't matched.

Keywords

Filter result by keywords.

Examples:\
One value: business\
Multi values with OR: home|office\
Multi values with AND: business+office

Note: This filter searchs by keywords, you can attach on request: Attach keyword to content

Note: The + character needs to be url encoded with %2B: Example: sunset%2Bdawn
Note: The | character needs to be url encoded with %7C: Example: sunset%7Cdawn

Approval

Filter by Approval status.

Note: This filter only works, if the approval process is enabled.

Examples:\
One value: approved\
Multi values with OR: "approved|pending"

If you select Expired, you cannot select another status.\
For Example: You cannot use "expired|pending". Only use Expired

Note: The | character needs to be url encoded with %7C: Example: approval%7Cpending

Owner

FIlter by id of an owner.

Examples:\
One value: canto-support@canto.com\
Multi values with OR: canto-support@canto.com|noreply@canto.com

Note: The | character needs to be url encoded with %7C: Example: canto-support@canto.com%7Cnoreply@canto.com

Filesize

Filter by file size

Example: 95073..26893954

Created

Filter by time the asset was created at canto.

Createdtime

Filter by file creation time. (Value is in Unix timestamp format).

Uploadedtime

Filter by upload time. (Value is in Unix timestamp format)

Expirationdate

Filter by expiration time. (Value is in Unix timestamp format (milliseconds)))

Lastmodified

Filter by last modified time. (Value is in Unix timestamp format)

Width

Filter by image width in px.

Example:

|example value|description|
|----|----|
|400|only images having a width of exactly 400px|
|400..1024|only images having a width inside the range of 400px to 1024px|

Note: This filter works only on images.

Height

Filter by image height in px.

Example:

|example value|description|
|----|----|
|400|only images having a height of exactly 400px|
|400..1024|only images having a height inside the range of 400px to 1024px|

Note: This filter works only on images.

Imagerangeoperation

Defines how the parameters "width" and "height" should be combined.

Valid values: "or", "and"

"or" means the result must have the given width OR height "and" means the result must habe the given width AND height

Default: "or"

Dimension

Filte by image size.

Note: This filter works only on images.

Resolution

Filter by resolution in DPI

Note: This filter works only on images.

Orientation

"landscape", "portrait" or "square"

Note: This filter works only on images.

Examples:\
One value: landscape
Multi values: landscape|portrait

Duration

Filter by duration.

Note: This filter works only on video or audio.

Pagenumber

Filter by page number.

Note: This filter works only on document or presentation.

Storageclass

"standard" or "freeze"

Examples:\
One value: standard\
Multi values with OR: standard|freeze

Latestreviewdate

Filter contents has not been reviewed from tenant created to this time

Note: supported in main library and workspace.

Sortby

"name", "time", "scheme", "owner" or "size".

Default: "time"

Sortdirection

“ascending” or “descending”

Default: "descending"

Limit

Maximum number of items to be returned.

Default: 100
Max: 1000

Start

Offset number of items to be returned.

Default: 0

Customfieldid

Filter by a custom field.

The name of the parameter needs to be the id of the custom field. (see: Get custom field list)

As an example, custom field id would look similar to "meta_text_0".

Filter by specified custom field with id.
The type means custom field type, including "text", "num", "date", "choice", "multichoice" & "url"; the sequence is an immutable integer given by system.
You could find the whole part in web page URL when filter by the same custom field in our system.

Searchinfield

You can search inside the following fields: "filename", "description", "comment", "keywords", "author" and "tags".

If you input other values, the results will ignore it.

Operator

Operator: "and", "or".

Default: "and"

Exactmatch

exactMatch: "true" or "false"

Default: false

Colormodel

Filter by image color.
Value: RGB or CMYK

$filter

Filter by “not” for tagsLiteral and keywords.
Examples:
$filter=tagsLiteral ne 'Blue' and keywords ne 'Canto'
Note: Adopt the ODATA spec.

Response Type

N/A


GET

Authorization: GetCantoAccountName

In case you want to know which account you are connecting to

Link description

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Refreshtoken

REQUIRED - A valid refresh token.

Response Type

N/A


POST

Authorization: ObtainAccessToken/RefreshToken

Note: If you use grant_type=authorization_code, you have to call {{OAUTH_BASE_URL}}/oauth/api/oauth2/authorize?response_type=code&app_id={{APP_ID}} first, to get the code.

For more information see: Canto OAuth Page

The returned accessToken will be valid for 30 days.

The refreshToken will be valid for 365 days. If you use the refreshToken, you'll get a new refreshToken and the old one will be invalid.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

App Id

REQUIRED - Your App identifier

App Secret

REQUIRED - Your App Secret

Grant Type

REQUIRED - “authorization_code”, "client_credentials" or "refresh_token"

If you use "client_credentials", you won't get a refresh token. If your token expires, just call this request on "client_credentials" mode, again.

Redirect Uri

The redirect url on third party web site.

If this value is not present, Canto will take the value from your App setting.
If this value is present, it must be same as your {Redirect Uri} in the App setting.

Code

REQUIRED - (If grant_type is "authorization_code")

The authorization code you gain on last step. See: Canto OAuth Page.

Example: a631e415f0784987a6544d567472ff47

Refresh Token

REQUIRED - (If grant_type is "refresh_token")

The refresh token, you got on last call of this request.

Note: A Refresh Token is valid for 365 days,

Scope

The scope of the user.

Valid Values: "admin", "contributor", "consumer"

Note: Only supported on client_credentials mode.
At least one user must exist in this scope. Otherwise the login will fail.
You cannot use the scope parameter in combination with parameter: "user_id".

Note: If you use scope, the first user in alphabetical order in this scope, will be used for login. We recommend to use param "user_id" instead.

Default: admin

User Id

The user_id of the user, who should be logged in.

Response Type

N/A


POST

Authorization: ObtainAccessToken/RefreshToken(oldversion-notRFCconform)

Note: If you use grant_type=authorization_code, you have to call {{OAUTH_BASE_URL}}/oauth/api/oauth2/authorize?response_type=code&app_id={{APP_ID}} first, to get the code.

For more information see: Canto OAuth Page

The returned accessToken will be valid for 30 days.

The refreshToken will be valid for 365 days. If you use the refreshToken, you'll get a new refreshToken and the old one will be invalid.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

App Id

REQUIRED - Your App identifier

App Secret

REQUIRED - Your App Secret

Grant Type

REQUIRED - “authorization_code”, "client_credentials" or "refresh_token"

If you use "client_credentials", you won't get a refresh token. If your token expires, just call this request on "client_credentials" mode, again.

Redirect Uri

The redirect url on third party web site.

If this value is not present, Canto will take the value from your App setting.
If this value is present, it must be same as your {Redirect Uri} in the App setting.

Code

REQUIRED - (If grant_type is "authorization_code")

The authorization code you gain on last step. See: Canto OAuth Page.

Example: a631e415f0784987a6544d567472ff47

Refresh Token

REQUIRED - (If grant_type is "refresh_token")

The refresh token, you got on last call of this request.

Note: A Refresh Token is valid for 365 days,

Scope

The scope of the user.

Valid Values: "admin", "contributor", "consumer"

Note: Only supported on client_credentials mode.
At least one user must exist in this scope. Otherwise the login will fail.
You cannot use the scope parameter in combination with parameter: "user_id".

Note: If you use scope, the first user in alphabetical order in this scope, will be used for login. We recommend to use param "user_id" instead.

Default: admin

User Id

The user_id of the user, who should be logged in.

Response Type

N/A


GET

Download: AdvancedDownloadOptions

Rate Level: 5

This API supports resize, crop, and downloads a preset image.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Resize

Resize param

Use format: ”widthxheight”

Crop

Crop param:

Use format: ”widthxheight+top+left”

Note: The + character needs to be url encoded with %2B
Example: "200x200%2B10%2B"

Dpi

Result image dpi

Type

Result image type {“jpg”, “png”}

Version

The content version.

If not specified, the latest version of the content is shown.

Preset

Preset ID.

You can get the preset list by preset list API.

Proportion

Defines whether the proportions should be adhered to or not.

true: Do not adhere the proportions
false: Do adhere the proportions.

Default: true

Contentid

REQUIRED - The id of the content

Response Type

N/A


POST

Download: BatchDownload

Rate Level: 2

This API supports batch download with multiple Editable parameters.

BODYPARAMS

| Parameter | Description |
|-------------------|-------------------------------------------------------------------------------------------------|
| zipFileName | REQUIRED - Target zip package name |
| folderAlbumContents| REQUIRED - Type and ID collection of batch download files |
| preset | preset id.Note that if the presetId is filled in, the reset and proportion will not take effect. |
| quality | The quality of downloaded image, the range is 1-100. |
| type | The type of downloaded image. This parameter can be written as JPEG or PNG.Note that this parameter is necessary if it is not the original download. |
| colorMode | The colorMode of downloaded image. This parameter can be written as RGB or CMYK.Note that when type is PNG, colormode can only be RGB.Note that this parameter is necessary if it is not the original download. |
| resize | [width value]x[height value] |
| proportion | If proportion == false, resize according to the scale of the image itself.
If proportion == true, Force to reset the image size according to the parameters of "resize". |
|userAddress | If this is a valid email address, the emailbox will receive the URL. If this attribute is not filled in, the email will be sent to the default email address of the current token user |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (9)

Option Name

Description

Zipfilename

N/A

Folderalbumcontents

N/A

Preset

N/A

Quality

N/A

Type

N/A

Colormode

N/A

Resize

N/A

Proportion

N/A

Useraddress

N/A


POST

Download: BatchObtainassetdownloadCloudfrontURL

Rate Level: 1

In some case, like some embedded browser which is not support redirect url, developer cannot download picture by redirect behavior, he want obtain a cloudfront url.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (2)

Option Name

Description

Id

N/A

Scheme

N/A


GET

Download: DirectUrloriginal

Rate Level: 1

Direct url to the original asset.

Note: It's not possible to download this image without knowing a random generated HashValue. You get the "Direct Url Original" containing the correct data by reading it from response of the requests:

  • "Get Content Details"

  • "Search/Filter"

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Name

The file name of the file.

This value is returned inside the Http Headers of the response, so that a browser will download the file with given name.

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Directurloriginalhash

N/A

Response Type

N/A


GET

Download: DirectUrlpreview

Rate Level: 1

Direct url to the preview of the asset

Returns the first page view for document content, and a smaller size image for the image content.
By default, the image is 240px (dimension means the longest size of the width and height when zooming out).
To specifiy the dimension, you could provide slash “/” and dimension number under the preview url.

For example:

|URL|Result|
|---|------|
|{{SITE_BASEURL}}/direct/:scheme/:contentId/{{directUrlOriginalHash}}/m240/|image with dimension 240p (default size)|
|{{SITE_BASEURL}}/direct/:scheme/:contentId/{{directUrlOriginalHash}}/m240/500|image with dimension 500px|

If the maximum preview size is 400, the url will only get the 400 dimension preview.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Dimension

REQUIRED - The dimension of the image, which will be returned.

Supported scalings: 100, 240, 320, 500, 640, 800, 2000

Directurlpreviewhash

N/A

Response Type

N/A


GET

Download: DownloadMetadataXML

Rate Level: 1

The “metadata” url will give you the xml file which was extracted from the original file. It has more detail than the metadata returned by the detail API and follows the original data format, not the one in general notes.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Response Type

N/A


GET

Download: DownloadPreview

Rate Level: 1

An image view of the content.

Returns the first page view for document content, and a smaller size image for the image content.
By default, the image is 240px (dimension means the longest size of the width and height when zooming out).
To specifiy the dimension, you could provide slash “/” and dimension number under the preview url.

For example:

|URL|Result|
|---|------|
|{{SITE_BASEURL}}/api_binary/v1/{{contentScheme}}/{{contentId}}/preview|image with dimension 240px|
|{{SITE_BASEURL}}/api_binary/v1/{{contentScheme}}/{{contentId}}/preview/500|image with dimension 500px|

If the maximum preview size is 400, the url will only get the 400 dimension preview.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Dimension

The dimension of the image, which will be returned.

Default: 240

Response Type

N/A


GET

Download: DownloadasHighJPG

Rate Level: 1

Download an image as jpg in high quality

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Response Type

N/A


GET

Download: DownloadasLowJPG

Rate Level: 1

Download an image as jpg in low quality (smaller filesize)

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Response Type

N/A


GET

Download: DownloadasPNG

Rate Level: 1

Download an image as png

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Response Type

N/A


GET

Download: Downloadoriginalcontentfile

Rate Level: 1

Download the original content file.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - The scheme of the asset

Contentid

REQUIRED - The id of the asset

Response Type

N/A


GET

Download: ObtainassetdownloadCloudfrontURL

Rate Level: 1

In some case, like some embedded browser which is not support redirect url, developer cannot download picture by redirect behavior, he want obtain a cloudfront url.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Contentid

REQUIRED - Id of the content

Expiretimeinseconds

Indicate when you would like this URL to expire. This value is per second.

1 day is equivalet to 1243600 seconds.

If not specified, the default value is 1 day.

Response Type

N/A


GET

Download: ObtainassetpreviewCloudfrontURL

Rate Level: 1

In a situation where the embedded browser does not support redirect URLs, this call can be used to obtain the Cloudfront URL directly.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Contentid

REQUIRED - Id of the content

Dimension

N/A

Response Type

N/A


POST

Export: ExportMetadata

Rate Level: 4

Export metadata via API to a CSV. Email notification will be sent once the export is done.

By default the metadata will be sent to the email address of the API token user. If you want to send the email to another address, just define it as plain text inside the body of your request.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Options

N/A


POST

Export: ExportMetadataWithFilter

Advanced API for metadata export.It supports to customize which fields to export, and supports to narrow the range of exported data through filter.

This api will return the export results with json format.

Request Body

Sample Body:

JavaScript
{
    "filter": {
        "lastModified": "1672329600..1675872000",
        "uploadedTime": "1672329600..1675872000",
        "limit": 200,
        "start": 0
    },
    "columns": ["Content ID", "File Name", "MD5", "Description"]
}

| KEY | VALUE | DESTRICTION |
| --- | --- | --- |
| lastModified | {{lastModified}} | Filter by last modified time. (Value is in Unix timestamp format). Consistent with Search API. |
| uploadedTime | {{uploadedTime}} | Filter by upload time. (Value is in Unix timestamp format). Consistent with Search API. |
| limit | {{limit}} | Maximum number of items to be returned.
Default: 100 |
| start | {{start}} | Offset number of items to be returned.
Default: 0 |
| columns | {{columns}} | Customize exported/query columns.
Example:
\["Content ID", "File Name", "MD5", "Description", ...\] |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Columns

N/A


POST

Export: ExportMetadataofalbum

Export metadata of an album via API to a CSV. Email notification will be sent once the export is done.

By default the metadata will be sent to the email address of the API token user. If you want to send the email to another address, just define it as plain text inside the body of your request.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Albumid

The specific album or folder id

Response Type

N/A

Options (1)

Option Name

Description

Options

N/A


POST

Export: ExportMetadataoffolder

Export metadata of an folder via API to a CSV. Email notification will be sent once the export is done.

By default the metadata will be sent to the email address of the API token user. If you want to send the email to another address, just define it as plain text inside the body of your request.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Folderid

N/A

Response Type

N/A

Options (1)

Option Name

Description

Options

N/A


POST

Fields: Createacustomfield

Rate Level: 2

Creates a new custom field.

BODYPARAMS

| Parameter | Description |
|-------------|----------------------------------------------------------------------------------------------|
| name | REQUIRED - Unique value. Max length: 80. |
| description | REQUIRED - Description. Max length: 800. |
| type | REQUIRED - Types include: NUMBER, TEXT, DATE, SINGLECHOICE, MULTICHOICE, URL, LABEL, RATING. |
| values | Options for SINGLECHOICE and MULTICHOICE type fields. |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (3)

Option Name

Description

Name

N/A

Description

N/A

Type

N/A


DELETE

Fields: Deleteacustomfield

Rate Level: 2

Deletes a custom field.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Id

REQUIRED - The id of the custom field to delete.

Content-type

N/A

Response Type

N/A


GET

Fields: Getcustomfieldlist

Rate Level: 2

Get custom field list (including type and values if any).

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


PUT

Fields: Updateacustomfield

Rate Level: 2

Updates a custom field.

BODYPARAMS

| Parameter | Description |
|-------------|----------------------------------------------------------------------------------------------|
| id | REQUIRED - Custom field id. |
| name | REQUIRED - Unique value. Max length: 80. |
| description | REQUIRED - Description. Max length: 800. |
| values | Options for SINGLECHOICE and MULTICHOICE type fields. |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (5)

Option Name

Description

Id

N/A

Name

N/A

Description

N/A

Type

N/A

Values

N/A


DELETE

LibraryTree: BatchPermanentlydeletetheFolder/Album

Deletes folder(s) or album permanently from trash bin.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


DELETE

LibraryTree: BatchdeleteFolder/Albumtotrashbin

Deletes folder(s) or album into trash bin.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


POST

LibraryTree: Createalbum

Rate Level: 2

Create an album under the specified folder or on root level of the library.

\Note:\ The body is optional and only necessary if you want to set the folder name in multiple languages.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Description

The description of the album.

Max length is 400.

Parentfolderid

The id of the parent folder.

Leave this parameter empty, if you want to create a new album on root of the library.

Albumname

REQUIRED - The name of the new album.

Max length: 80.

Note: Avoid using \ / : * ? \" or | in name.

Response Type

N/A

Options (2)

Option Name

Description

Localecode

N/A

Name

N/A


POST

LibraryTree: Createfolder

Rate Level: 2

Create a folder under specified folder or library.

\Note:\ The body is optional and only necessary if you want to set the folder name in multiple languages.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Description

The Description of the album.

Max length: 400

Parentfolderid

The id of the parent folder.

Leave this parameter empty, if you want to create a new folder on root of the library.

Foldername

REQUIRED - The name of the folder

Max length: 80

Note: Avoid using \ / : * ? \" or | in name.

Response Type

N/A

Options (3)

Option Name

Description

Localecode

N/A

Name

N/A

Description

N/A


GET

LibraryTree: GetMyCollectiondetailinfo

Rate Level: 1

Obtain MyCollection detail information.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Collectionid

N/A

Response Type

N/A


GET

LibraryTree: Getalbumdetailinfo

Rate Level: 4

Obtain specific folder/album detail information.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Albumid

The specific album id

Response Type

N/A


GET

LibraryTree: Getfolderdetailinfo

Rate Level: 4

Obtain specific folder/album detail information.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Extendedmultilanginfo

true: a array named "multiLanguageData" containing information about multi-language is added to the response body.

false: No multiLanguageData are added to the response body.

Folderid

N/A

Response Type

N/A


GET

LibraryTree: Getfulllibrarytreeview

Rate Level: 3

Get the whole tree. There’s no pagination option, if you don’t specify the layer parameter, you will get the whole tree info including each folder and each album.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sortby

name, time, scheme, owner, size.

Default: time.

Sortdirection

"ascending" or "descending"

Layer

Maximum depth number of the folder or album items to be returned.

Default: -1 (which means no limit.)

Response Type

N/A


GET

LibraryTree: Getsubtreeview

Rate Level: 3

Get the sub tree under specified folder. Folders and albums under the folder will be returned.

Note: Only folders can contain folder or album, album can only contain content, so please don’t specify album id.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sortby

"name", "time", "scheme", "owner" or "size".

Default: "time"

Sortdirection

“ascending” or “descending”

Layer

Maximum depth number of the folder or album items to be returned.

Default: -1 (which means no limit.)

Folderid

REQUIRED - Parent folder id

Response Type

N/A


GET

LibraryTree: ListMyCollections

Rate Level: 1

List my collections.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Orderby

"name","time", "type", "owner" or "size"
Default: "time"

Sortdirection

“ascending” or “descending”

Response Type

N/A


GET

LibraryTree: Listcontentofaspecifiedalbum

Rate Level: 4

List content of a album, page by page. Only brief content info is returned.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Keyword

The search term(s)
use this, to make a search simply by keyword. This is nearly the same search like you do in Canto UI on right top.

Scheme

"image", "video", "audio", "document", "presentation" or "other". (case sensitive)
scheme refers to the smart albums within your Canto application.
Examples:\
One value: image
Multi values with OR: image|video|audio

Note: The | character needs to be url encoded with %7C: Example: image%7cvideo%7Caudio

Tags

If you want to filter by tag
Examples:\
One value: sunset\
Multi values with OR: sunset|dawn\
Multi values with AND: sunset+beach

Note: The + character needs to be url encoded with %2B: Example: sunset%2Bbeach
Note: The | character needs to be url encoded with %7C: Example: sunset%7Cbeach

Tagsliteral

Filter by tag(case-sensitive & whole word only)
"blue" or "Blue one" didn't matched.

Keywords

Filter result by keywords.
Examples:\
One value: business\
Multi values with OR: home|office\
Multi values with AND: business+office
Note: This filter searchs by keywords, you can attach on request: Attach keyword to content

Note: The + character needs to be url encoded with %7C: Example: home%2Boffice
Note: The | character needs to be url encoded with %7C: Example: home%7Coffice

Approval

Filter by Approval status.
Note: This filter only works, if the approval process is enabled.
Examples:\
One value: approved\
Multi values with OR: "approved|pending"
If you select Expired, you cannot select another status.\
For Example: You cannot use "expired|pending". Only use Expired

Note: The | character needs to be url encoded with %7C: Example: approved%7Cpending

Owner

FIlter by id of an owner.
Examples:\
One value: canto-support@canto.com\
Multi values with OR: canto-support@canto.com|noreply@canto.com

Note: The | character needs to be url encoded with %7C: Example: support@canto.com%7Cnoreply@canto.com

Filesize

Filter by file size
Example: 95073..26893954

Created

Filter by time the asset was created at canto.

Createdtime

Filter by file creation time. (Value is in Unix timestamp format).

Uploadedtime

Filter by upload time. (Value is in Unix timestamp format)

Lastmodified

Filter by last modified time. (Value is in Unix timestamp format)

Dimension

Filte by image size.
Note: This filter works only on images.

Resolution

Filter by resolution in DPI
Note: This filter works only on images.

Orientation

"landscape", "portrait" or "square"
Note: This filter works only on images.
Examples:\
One value: landscape
Multi values: landscape|portrait

Note: The | character needs to be url encoded with %7C: Example: landscape%7Cportrait

Duration

Filter by duration.
Note: This filter works only on video or audio.

Pagenumber

Filter by page number.
Note: This filter works only on document or presentation.

Customfieldid

Filter by a custom field.
The name of the parameter needs to be the id of the custom field. (see: Get custom field list)
As an example, custom field id would look similar to "meta_text_0".
Filter by specified custom field with id.
The type means custom field type, including "text", "num", "date", "choice", "multichoice" & "url"; the sequence is an immutable integer given by system.
You could find the whole part in web page URL when filter by the same custom field in our system.

Searchinfield

You can search inside the following fields: "filename", "description", "comment", "keywords", "author" and "tags".
If you input other values, the results will ignore it.

Exactmatch

exactMatch: "true" or "false"
Default: false

Operator

Operator: "and", "or".
Default: "and"

Sortby

"name","time", "scheme", "owner" or "size"

Default: "time"

Sortdirection

“ascending” or “descending”

Start

Offset number of items to be returned.

Default: 0

Limit

The maximum number of items to be returned.

Default: 100
Max: 1000

Storageclass

"standard" or "freeze"

Examples:\
One value: standard\
Multi values with OR: standard|freeze

Albumid

The id of the album, which content will be returned.

Put in "Unassigned" to get all assets which are not assigned to an album!

Response Type

N/A


GET

LibraryTree: Searchunderafolder

Rate Level: 4

List everything under a specified folder, page by page. This will return all matched sub-folder/album and all its contents.

Note:

  • You can use the value "null" (enclosed by two underlines in front and at the end). If you want to search for assets which don't have a value in a field.

  • You can use the value "exists" (enclosed by two underlines in front and at the end). If you want to search for assets which have set any value in a field.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Keyword

The search term(s)

use this, to make a search simply by keyword. This is nearly the same search like you do in Canto UI on right top.

Scheme

"image", "video", "audio", "document", "presentation" or "other". (case sensitive)

scheme refers to the smart albums within your Canto application.

Examples:\
One value: image
Multi values with OR: image|video|audio

Note: The | character needs to be url encoded with %7C: Example: image%7Cvideo%7Caudio

Tags

If you want to filter by tag

Examples:\
One value: sunset\
Multi values with OR: sunset|dawn\
Multi values with AND: sunset+beach

Note: The + character needs to be url encoded with %2B: Example: sunset%2Bbeach
Note: The | character needs to be url encoded with %7C: Example: sunset%7Cbeach

Tagsliteral

Filter by tag(case-sensitive & whole word only)
"blue" or "Blue one" didn't matched.

Keywords

Filter result by keywords.

Examples:\
One value: business\
Multi values with OR: home|office\
Multi values with AND: business+office

Note: This filter searchs by keywords, you can attach on request: Attach keyword to content

Note: The + character needs to be url encoded with %7C: Example: home%2Boffice
Note: The | character needs to be url encoded with %7C: Example: home%7Coffice

Approval

Filter by Approval status.

Note: This filter only works, if the approval process is enabled.

Examples:\
One value: approved\
Multi values with OR: "approved|pending"

If you select Expired, you cannot select another status.\
For Example: You cannot use "expired|pending". Only use Expired

Note: The | character needs to be url encoded with %7C: Example: approved%7Cpending

Owner

FIlter by id of an owner.

Examples:\
One value: canto-support@canto.com\
Multi values with OR: canto-support@canto.com|noreply@canto.com

Note: The | character needs to be url encoded with %7C: Example: supportlcanto.com%7Cnoreply@canto.com

Filesize

Filter by file size

Example: 95073..26893954

Created

Filter by time the asset was created at canto.

Createdtime

Filter by file creation time. (Value is in Unix timestamp format).

Uploadedtime

Filter by upload time. (Value is in Unix timestamp format)

Lastmodified

Filter by last modified time. (Value is in Unix timestamp format)

Width

Filter by image width in px.

Example:

|example value|description|
|----|----|
|400|only images having a width of exactly 400px|
|400..1024|only images having a width inside the range of 400px to 1024px|

Note: This filter works only on images.

Height

Filter by image height in px.

Example:

|example value|description|
|----|----|
|400|only images having a height of exactly 400px|
|400..1024|only images having a height inside the range of 400px to 1024px|

Note: This filter works only on images.

Imagerangeoperation

Defines how the parameters "width" and "height" should be combined.

Valid values: "or", "and"

"or" means the result must have the given width OR height
"and" means the result must habe the given width AND height

Default: "or"

Dimension

Filter by image size.

Note: This filter works only on images.

Resolution

Filter by resolution in DPI

Note: This filter works only on images.

Storageclass

"standard" or "freeze"

Examples:\
One value: standard\
Multi values with OR: standard|freeze

Customfieldid

Filter by a custom field.
The name of the parameter needs to be the id of the custom field. (see: Get custom field list)
As an example, custom field id would look similar to "meta_text_0".
Filter by specified custom field with id.
The type means custom field type, including "text", "num", "date", "choice", "multichoice" & "url"; the sequence is an immutable integer given by system.
You could find the whole part in web page URL when filter by the same custom field in our system.

Orientation

"landscape", "portrait" or "square"

Note: This filter works only on images.

Examples:\
One value: landscape
Multi values: landscape|portrait

Note: The | character needs to be url encoded with %7C: Example: landscape%7Cportrait

Duration

Filter by duration.

Note: This filter works only on video or audio.

Pagenumber

Filter by page number.

Note: This filter works only on document or presentation.

Searchinfield

You can search inside the following fields: "filename", "description", "comment", "keywords", "author" and "tags".
If you input other values, the results will ignore it.

Exactmatch

exactMatch: "true" or "false"

Default: false

Operator

Operator: "and", "or".
Default: "and"

Sortby

"name", "time", "scheme", "owner" or "size".

Default: "time"

Sortdirection

“ascending” or “descending”

Default: "descending"

Start

Offset number of items to be returned.

Default: 0

Limit

Maximum number of items to be returned.

Default: 100
Max: 1000

Folderid

The if of the folder

Response Type

N/A


PUT

LibraryTree: Updatealbumname

Update specific folder/album multi-language information.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Albumid

The specific album id

Response Type

N/A

Options (2)

Option Name

Description

Localecode

N/A

Name

N/A


PUT

LibraryTree: Updatefoldername

Update specific folder/album multi-language information.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Folderid

The specific folder id

Response Type

N/A

Options (2)

Option Name

Description

Localecode

N/A

Name

N/A


GET

Reports: Getassetpreviewreports

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

From

Report start time, format is yyyyMMdd

To

Report end time, format is yyyyMMdd

Scheme

File type. Values: "image", "document", "video", "presentation", "other", "audio". If it is empty, all data will be queried.

User

User(e-mail). If it is empty, all user data will be queried.
"@" in email should be written as escape character "%40", For example: support%40canto.com

Limit

Data range, default is 100.

Sortdirection

Sort order of report by date.
Valid Values: "ascending" or "descending"
Default: descending

Lastkey

Pagination marker.
The lastKey is not needed with the first request, but with every page from the second request to get the next page of the result.
Will be delivered as “nextMarker” in the first result set.

Response Type

N/A


GET

Reports: GetspecifiedcontentDownloadActivityreport

Rate Level: 2

Get a specified content’s Download Activity report. The detail seen on the asset content detail page.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sortdirection

“ascending” or “descending”.

Default: "descending"

Limit

The maximum number of items to be returned.

Default: 100

Marker

This API returns results page by page. This value is from the API call response, indicates to get the next page. First time marker must be unset.

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Id

REQUIRED - Content id

Response Type

N/A


GET

Reports: GetspecifiedcontentShareActivityreport

Rate Level: 2

Get a specified content’s Share Activity report. The detail seen on the asset content detail page.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sortdirection

“ascending” or “descending”.

Default: "descending"

Limit

The maximum number of items to be returned.

Default: 100

Marker

This API returns results page by page. This value is from the API call response, indicates to get the next page. First time marker must be unset.

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Id

REQUIRED - Content id

Response Type

N/A


GET

Reports: GetspecifiedcontentUsageHistoryreport

Rate Level: 2

Get a specified content’s Usage history report. The detail seen on the asset content detail page.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Sortdirection

“ascending” or “descending”

Default: "descending"

Limit

The maximum number of items to be returned.

Default: 100

Marker

This API returns results page by page. This value is from the API call response, indicates to get the next page. If you call this method first time, leave this param emtpy.

Scheme

REQUIRED - "image", "video", "audio", "document", "presentation" or "other". (case sensitive)

Id

REQUIRED - ContentId

Response Type

N/A


GET

Reports: Gettenantdownloadoruploadhistoryreports

Dependent on the path variable “type” this history provides all upload or download activities for a defined period.

Download Entries from Different Sources

In the case, a download takes place when a user is logged in to Canto, the logfile entry will contain the e-mail-
address of the downloading user, while the “location” value will contain the source, e.g., “Main Library”.

In some cases, a download can be made without any login information, e.g., when downloading from a shared link
or a public portal. In these cases, following information is given in the download history result set:

Download from Common Share Link

  • “e-mail” contains 5-digit internal ID of share link

  • “location” contains download source, like “Main Library”

Download from Album/Folder Share Link

  • “e-mail” contains string “anonymous”

  • “location” contains string “Share Link:” and >8-digit internal ID of share link

Download from a Public Portal

  • “e-mail” contains string “anonymous”

  • “location” contains string “Portal:” and name of the public portal

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

From

Report start time, format is yyyyMMdd

To

Report end time, format is yyyyMMdd

Sortdirection

Sort order of report by date.
Valid Values: "ascending" or "descending"

Default: descending

Limit

Number of records returned in the result set.
Default: 100

Type

Defines the type of history report.
Valid values "uploadhistory" or "downloadhistory".

Response Type

N/A


GET

Reports: GettenantoperationLogdata

Rate Level: 4

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Startdate

Operation log start time

Format: yyyyMMdd
Example: 20210101

Enddate

Operation log end time

Format: yyyyMMdd
Example: 20210101

Response Type

N/A


GET

Reports: Getthetopdataofthespecifiedtype

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Location

REQUIRED - "portal", "workspace", "styleGuide", "uploadLink",
If location is empty, all data will be queried

Limit

data range, if it is empty, all data will be queried

Type

REQUIRED - "keyword", "tag", "smart_tag", "commentedFiles",
If the type is empty, all types of data will be queried

Response Type

N/A


GET

Settings: GetPresetList

Rate Level: 2

Before preset downloading, firstly you need to retrieve this list.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


GET

Settings: Getlistofwatermarks

Rate Level: 2

This endpoint returns a list of all registered watermark presets.

Note: Watermarks can be configured in canto UI: "Settings" --> "Configuration Options" --> "Digital Rights Management"

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


POST

_Rate Level: 2_

This API support user to create an UploadLink.

BODYPARAMS

---

| Parameter | Description |
| --- | --- |
| portalName | REQUIRED - Upload link name |
| description | Upload link description |
| emailSubject | REQUIRED - Email subject of the receiver |
| emailBody | REQUIRED - Email body of the receiver |
| isNeverExpired | REQUIRED - The upload link is never expired |
| displayExpireDate | If isNeverExpired == false, it must be setted.
If isNeverExpired == true, it no need to set. |
| recipients | REQUIRED - The details of receivers |
| firstName | REQUIRED - FirstName of receiver |
| lastName | REQUIRED - Last Name of receiver |
| email | REQUIRED - Email of receiver |
| importToAlbums | OPTIONAL: An array of albums to which the assets will be assigned |
| \- albumId | REQUIRED - The id of the album |
| \- pathWithName | REQUIRED - The full album path (including the name of the album) |
| \- portalId | OPTIONAL - The id of the portal or workspace |
| \- portalName | OPTIONAL - The name of the portal or workspace |
| removeDuplicateType | OPTIONAL - The following modes for duplicates are supported:
0=Add as new file
1=Don't import
2=New version
3=New version & append metadata
5=Don't import & append metadata

_Default:_ 1 - Don't import |
| defaultApprovalStatus | OPTIONAL - The status of the asset when it is imported into the main library.

_Supported Values:_
Approved, Restricted, Pending

_Default:_ Approved |
| removeDuplicateWhenImport | OPTIONAL - Automatically Remove Files in the Upload Link after Import.

_Default:_ false |
| duplicateCheckMode | Mode to check for duplicates

0=MD5
1=filename

_Default:_ 0 |

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (6)

Option Name

Description

Portalname

N/A

Description

N/A

Emailsubject

N/A

Emailbody

N/A

Editable

N/A

Isneverexpired

N/A


PUT

Upload: Getuploadsetting

Rate Level: 1

Before uploading a file, you need to retrive this setting.

Note: An upload setting is valid for 5 hours. You will need to retrive settings again after 5 hours to continue use.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (23)

Option Name

Description

Displaytreeview

N/A

Viewmode

N/A

Foldertreeexpanded

N/A

Defaultsmartalbum

N/A

Timezone

N/A

Sortby

N/A

Sortdirection

N/A

Datetobesorted

N/A

Defaultfolderoralbum

N/A

Containersortby

N/A

Containersortdirection

N/A

Maxfilesofselectall

N/A

Sharingoptions

N/A

Sharingshowmetadata

N/A

Enableannotationonpreviewimg

N/A

Previewimageoptions

N/A

Requireddownloadmetadata

N/A

Listviewcolumn

N/A

Listviewcolumncustomfield

N/A

Enablerestrictdownload

N/A

Forbiddendownloadfiletypes

N/A

Defaultadvancedsearch

N/A

Isaivisualsearchenabled

N/A


POST

Rate Level: 4

Import assets from an upload link.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (5)

Option Name

Description

Uploadlink

N/A

Albumpath

N/A

Deleteatonce

N/A

Requestid

N/A

Option

N/A


POST

Upload: MetadataImport

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (2)

Option Name

Description

Isappend

"true" Add Metadata\
"false" Replace Metadata

default: "false"

File

REQUIRED - This csv file is used to import metadata


GET

Upload: Metadataimportprogress

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Request

REQUIRED - The response obtained after calling API "/api/v1/import/metadata" successfully

Response Type

N/A


GET

Upload: Queryuploadstatus

Rate Level: 2

Query upload status for recently uploaded files.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Hours

An integer of 1..24.

Default: 1

Response Type

N/A


POST

Upload: Uploadfile

Rate Level: 1

Upload a file directly into the Canto S3 bucket. Construct a form based on the settings retrieved.

The form and policy must be UTF-8 encoded. You can apply UTF-8 encoding to the form by specifying it in the HTML heading or as a request header.

The enclosure type (enctype) must be specified and must be set to multipart/form-data for both file uploads and text area uploads. For more information, refer to RFC 1867.

Note:

  • max upload size is: 5 GB

  • You need to call request: Get Upload Setting to get upload settings, before.

  • Please refer to Amazon document for details. http://docs.aws.amazon.com/AmazonS3/latest/dev/HTTPPOSTForms.html

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (12)

Option Name

Description

Key

REQUIRED - The upload key from the upload settings

Acl

REQUIRED - The uploadAcl value from the upload settings (in most cases "private"

Awsaccesskeyid

REQUIRED - The uploadAWSAccessKeyId from the upload settings.

Policy

REQUIRED - The Policy from the upload settings

Signature

REQUIRED - The Signature from the upload settings.

X-amz-meta-file Name

REQUIRED - The name of the file (with extension).

X-amz-meta-tag

REQUIRED – Please just leave this value empty. This is for future expansion.

X-amz-meta-scheme

REQUIRED - If you want to update an existing asset, value should be the scheme of the existing asset.
In the Query upload status API, it will return this field value, if you have set this value.

Leave this parameter emtpy if you want to upload a new asset.

X-amz-meta-id

REQUIRED - If you want to update an existing asset, value should be the id of the existing asset.
In the Query upload status API, it will return this field value, if you have set this value.

Leave this parameter emtpy if you want to upload a new asset.

X-amz-meta-album Id

REQUIRED - If the asset should be assigned to an existing album, value should be the album id of this album.

Leave this parameter emtpy if the asset should not be assigned to any album.

X-amz-meta-refer Id

OPTIONAL - If you want to use a customized way to track which file is uploading, you can use this field. In the Query upload status API, it will return this field value, if you have set this value.
Notice, if you want to use this customized way, you must set parameter refer=true in the Get upload setting API.

File

REQUIRED - The file to upload

Note: This part must be the last part inside your request.\
You cannot upload more than one file at a time.
Use different filenames on each upload.


POST

User: Addgroup

Rate Level: 2

Creates a new group.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (3)

Option Name

Description

Name

N/A

Userids

N/A

Description

N/A


POST

User: Addnewuser

Rate Level: 2

Adds a new user.

Note: This request can only called by admin users

BODYPARAMS

ParameterDescriptionuserIdThe id of the new user. (It should be the user's email adress)firstNameThe first name of the user.lastNameThe last name of the userrolesA list of roles, the user should be assigned.


Possible values:admin|contributor, consumer, customRole

customRoleIdThe id of a custom Role.

use this parameter only, if you

groups(optional) A list of groups, the user should be assigned.properties(optional) The values of the custom fields.

key = customFieldId, value = customFieldValue

allowAccessAdobeConnector(optional) The new user will be allowed to use the Adobe Connector.

default:falseallowAccessIndesignDeprecated: old version of parameter: "allowAccessAdobeConnector"

default:false

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (7)

Option Name

Description

Userid

N/A

Firstname

N/A

Lastname

N/A

Roles

N/A

Customroleid

N/A

Groups

N/A

Allowaccessmaintenant

N/A


POST

User: Adduserstogroup

Rate Level: 2

Add users to group.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Groupid

REQUIRED: The id of the group

Response Type

N/A

Options (1)

Option Name

Description

Options

N/A


DELETE

User: Deleteauser

Rate Level: 2

Admin deletes an existing user.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Userid

The id of the user to delete

Content-type

N/A

Response Type

N/A


DELETE

User: Deletegroup

Rate Level: 2

Deletes an existing group.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Groupid

N/A

Response Type

N/A


DELETE

User: Deleteusersfromgroup

Rate Level: 2

Delete users from group.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Groupid

REQUIRED: The id of the group

Response Type

N/A


POST

User: GetUsers

_Rate Level: 2_

Obtain a list of users in the Canto account based on the specified user IDs.

Max user IDs for request param: 100.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (1)

Option Name

Description

Options

N/A


GET

User: Getcurrentuserinfo

Rate Level: 1

Get the current user info, which the access token represents.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


GET

User: Getcustomroles

Rate Level: 1

Get the current user info, which the access token represents.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


GET

User: Getgroupinfowithusers

Rate Level: 1

Returns a group with users.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Groupid

REQUIRED: The id of the group

Response Type

N/A


GET

User: Getgroups

Returns a list of all groups.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


GET

User: Getusercustomfields

Rate Level: 1

Get the current user info, which the access token represents.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A


GET

User: Getuserlist

Rate Level: 2

Obtain a list of users within your Canto account with pagination.

If you need a list containing mor detailed user information, you need to call: \Get user list (with extended information)\

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Name

Find the users name starting with given value. Name means first name or last name.

Include-group

true means the result should include user’s groups.

Default: false.

Page-size

Specifies the number of items to be returned on one page.

Default: 100

Page

Specifies current page number.

Default:1

Response Type

N/A


GET

User: Getuserlist(withextendedinformation)

Rate Level: 2

Obtain a list of users within your Canto account with pagination.

Parameters

Parameter Name

Description

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Role

The following values are supported:

0 - All roles\
1 - Admin\
2 - Contributor\
3 - Consumer\
4 - Admin and Contributor\
5 - Contributor and Consumer

Default: 0

Name

Find the users name starting with given value. Name means first name, last name or email.

Include-group

true means the result should include user’s groups.

Default: false

Include-portal

true means the result should include user’s granted portal/workspace/style guide info.

Default: false

Page-size

Specifies the number of results returned

Default: 100

Page

Specifies current page number

Default: 1

Customfield

Specifies the query criteria to includes user custom fields. It is associated with the parameter "name".

Response Type

N/A


PUT

User: Updategroup

Rate Level: 2

Updates an existing group.

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Groupid

required

Response Type

N/A

Options (3)

Option Name

Description

Id

N/A

Name

N/A

Description

N/A


PUT

User: Updateuserinfo

Rate Level: 2

Update an existing user.

Note: This request can only called by admin users

BODYPARAMS

ParameterDescriptionuserIdThe id of the user to update.firstNameThe first name of the user.lastNameThe last name of the userrolesA list of roles, the user should be assigned.


Possible values:admin|contributor, consumer, customRole

customRoleIdThe id of a custom Role.

use this parameter only, if you

groups(optional) A list of groups, the user should be assigned.properties(optional) The values of the custom fields.

key = customFieldId, value = customFieldValue

allowAccessAdobeConnector(optional) The new user will be allowed to use the Adobe Connector.

default:falseallowAccessIndesignDeprecated: old version of parameter: "allowAccessAdobeConnector"

default: false

Parameters

Parameter Name

Description

Content Type

N/A

headers

N/A

headers.Header Key

N/A

headers.Header Value

N/A

Response Type

N/A

Options (6)

Option Name

Description

Userid

N/A

Firstname

N/A

Lastname

N/A

Roles

N/A

Customroleid

N/A

Groups

N/A