This API is for internal use by Third Light. Methods and parameters may change. For new projects, please use the public REST or gRPC API.

API Reference

The Third Light API allows third party developers to access core Third Light functionality without the need to use the web interface. The API exposes a wide variety of methods for both reporting on the system, and performing actions. The documentation provided here provides a complete command reference.

The API methods are broken down into modules listed on the left. Each module has a list of methods; each method includes details of its parameters and outputs.

For usage notes and examples, please see the full documentation on the Third Light wiki.

ACL top

Contents

Details

top

Set ACLs for the provided folders, with the supplied member/rights mappings.

An audit-log entry will be created for this action

ACL.BatchSetForFolders ( guid[] folderIds, MEMBER_RIGHTS_MAPPING[] memberRightsMappings )

void

Type and Name Description Required Rights

guid[] folderIds

ID or GUID of folders to apply the ACLs for the supplied members/rights mappings. The folders must all be from the same Space.

  • editPermissions

MEMBER_RIGHTS_MAPPING[] memberRightsMappings

The details of the rights to provide for a member on each supplied folder ID or GUID.

Returns

void

top

Set ACLs for the provided member, with the supplied folder/rights mappings.

An audit-log entry will be created for this action

ACL.BatchSetForMember ( guid spaceGuid, guid memberGuid, FOLDER_RIGHTS_MAPPING[] folderRightsMappings )

void

Type and Name Description Required Rights

guid spaceGuid

The Space in which to modify ACLs

  • manage

guid memberGuid

The GUID of the user, group or role that this ACL is for.

FOLDER_RIGHTS_MAPPING[] folderRightsMappings

Folder/rights mapping to apply for the supplied member.

Returns

void

top

Creates a new ACL for a given folder and member.

An audit-log entry will be created for this action

ACL.Create ( guid folderId, guid memberGuid, FOLDER_ACL_RIGHTS rights[, ACL_WORKFLOW_MAPPING[] attachedWorkflows = NULL] )

Type and Name Description Required Rights

guid folderId

The container for which to create the ACL.

  • editPermissions

guid memberGuid

The GUID of the user, group or role that this ACL is for,

FOLDER_ACL_RIGHTS rights

The rights for the ACL.

ACL_WORKFLOW_MAPPING[] attachedWorkflows

Details of the concrete workflow definitions to attach to this ACL (will be ignored if Workflow Module not enabled).

Returns

The details of the created ACL.

top

Delete one or more ACLs.

An audit-log entry will be created for this action

ACL.Delete ( guid[] aclIds )

void

Type and Name Description Required Rights

guid[] aclIds

The ACLs to delete.

  • delete

Returns

void

top

Retrieve information for a particular ACL.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

ACL.Get ( guid aclId )

Type and Name Description Required Rights

guid aclId

the ACL(s) to query

Returns

A hash of details about the ACL

Variant 2

ACL.Get ( guid[] aclIds )

Type and Name Description Required Rights

guid[] aclIds

the ACL(s) to query

Returns

A hash of details about the ACL

top

Get the details of the ACLs in the supplied folder.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

ACL.GetAll ( guid folderId[, ACL_GET_ALL_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid folderId

ID or GUID of folder to query

  • editPermissions

ACL_GET_ALL_OPTIONS options

Options to configure what ACLs are returned by this method.

Returns

The ACLs for the supplied folderId.

Variant 2

ACL.GetAll ( guid[] folderIds[, ACL_GET_ALL_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] folderIds

ID or GUID of folder to query

  • editPermissions

ACL_GET_ALL_OPTIONS options

Options to configure what ACLs are returned by this method.

Returns

The ACLs for the supplied folderId.

top

Get the GUIDs of the ACLs defined in the specified space

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

ACL.GetAllForSpace ( guid spaceId )

string[]

Type and Name Description Required Rights

guid spaceId

ID or GUID of spaces to query

  • manage

Returns

string[]

The ACLs for the supplied spaceId.

Variant 2

ACL.GetAllForSpace ( guid[] spaceIds )

string[][]

Type and Name Description Required Rights

guid[] spaceIds

ID or GUID of spaces to query

  • manage

Returns

string[][]

The ACLs for the supplied spaceId.

top

Get the GUIDs of the ACLs in the supplied folder.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

ACL.GetAllGUIDs ( guid folderId[, ACL_GET_ALL_OPTIONS options = NULL] )

string[]

Type and Name Description Required Rights

guid folderId

ID or GUID of folder to query

  • editPermissions

ACL_GET_ALL_OPTIONS options

Options to configure what ACLs are returned by this method.

Returns

string[]

The ACLs for the supplied folderId.

Variant 2

ACL.GetAllGUIDs ( guid[] folderIds[, ACL_GET_ALL_OPTIONS options = NULL] )

string[][]

Type and Name Description Required Rights

guid[] folderIds

ID or GUID of folder to query

  • editPermissions

ACL_GET_ALL_OPTIONS options

Options to configure what ACLs are returned by this method.

Returns

string[][]

The ACLs for the supplied folderId.

top

Get the IDs of the ACLs in the supplied folder.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

ACL.GetAllIDs ( guid folderId[, ACL_GET_ALL_OPTIONS options = NULL] )

int[]

Type and Name Description Required Rights

guid folderId

ID or GUID of folder to query

  • editPermissions

ACL_GET_ALL_OPTIONS options

Options to configure what ACLs are returned by this method.

Returns

int[]

The ACLs for the supplied folderId.

Variant 2

ACL.GetAllIDs ( guid[] folderIds[, ACL_GET_ALL_OPTIONS options = NULL] )

int[][]

Type and Name Description Required Rights

guid[] folderIds

ID or GUID of folder to query

  • editPermissions

ACL_GET_ALL_OPTIONS options

Options to configure what ACLs are returned by this method.

Returns

int[][]

The ACLs for the supplied folderId.

top

Modify the details of an ACL.

An audit-log entry will be created for this action

ACL.Set ( guid aclId, ACL_SET_DETAILS details )

Type and Name Description Required Rights

guid aclId

ID or GUID of the ACL to update

ACL_SET_DETAILS details

updated details for the ACL.

Returns

The updated hash of the ACL.

APIKey top

Contents

Details

top

Create a new API key with the specified label

APIKey.CreateKey ( string label[, contextWithDomain context = 'dom0'][, API_KEY_TYPE type = NULL] )

Type and Name Description Required Rights

string label

The label for the new key

contextWithDomain context

The context for which to create the API key.

API_KEY_TYPE type

The type of key to create. Defaults to CUSTOM except for in dom0 context when it defaults to ADMIN

Returns

The new API key

top

Delete the specified API key

APIKey.DeleteKey ( guid[] apiKeyId[, string preserveSession = NULL] )

void

Type and Name Description Required Rights

guid[] apiKeyId

The API Key to delete

  • delete

string preserveSession

The ID of a session to not invalidate. This allows a key to be generated, used, and deleted without waiting for the subprocess to complete

Returns

void

top

Retrieve a list of all API Keys configured.

Not audit-logged

APIKey.GetAllKeyGUIDs ( [contextWithDomain context = 'dom0'] )

string[]

Type and Name Description Required Rights

contextWithDomain context

The context for which to get the current API keys.

Returns

string[]

An array of the GUIDs of all of the API Keys.

top

Retrieve a list of all API Keys configured.

Not audit-logged

APIKey.GetAllKeyIDs ( [contextWithDomain context = 'dom0'] )

int[]

Type and Name Description Required Rights

contextWithDomain context

The context for which to get the current API keys.

Returns

int[]

An array of the IDs of all of the API Keys.

top

Retrieve a list of all API Keys configured.

Not audit-logged

APIKey.GetAllKeys ( [contextWithDomain context = 'dom0'] )

Type and Name Description Required Rights

contextWithDomain context

The context for which to get the current API keys.

Returns

An array of hashes containing apikey and label for each API Key

top

Returns details of the API Keys.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

APIKey.GetApiKeyDetails ( guid apiKeyId )

Type and Name Description Required Rights

guid apiKeyId

IDs of the API key to get the detials for.

Returns

Variant 2

APIKey.GetApiKeyDetails ( guid[] apiKeyId )

Type and Name Description Required Rights

guid[] apiKeyId

IDs of the API key to get the detials for.

Returns

ActivityLogger top

Contents

Details

top

Attaches notes to an activity action. If the action already has notes attached this overwrites them.

Not audit-logged

ActivityLogger.AttachNotes ( int activityId, string notes )

void

Type and Name Description Required Rights

int activityId

The ID of the activity to attach a note to

string notes

The note to attach

Returns

void

top

Export items from the activity log

Not audit-logged

ActivityLogger.CreateExport ( ACTIVITY_SEARCH_OPTIONS options[, guid[] spaceGuids = NULL][, string separator = ','][, string name = NULL] )

ACTIVITY_LOG_EXPORT_DETAILS

Type and Name Description Required Rights

ACTIVITY_SEARCH_OPTIONS options

An optional array of search params

guid[] spaceGuids

An optional list of spaces for which to retrieve the activities. If none are provided then export will be of all spaces

string separator

The delimiter to use in the output file. One of ,, ;, :, |, TAB

string name

The name to use for the exported spreadsheet

Returns

ACTIVITY_LOG_EXPORT_DETAILS

top

Gets all of the activity for an asset

Not audit-logged

ActivityLogger.GetAssetActivities ( guid assetId, ACTIVITY_SEARCH_OPTIONS options )

hash[]

Type and Name Description Required Rights

guid assetId

The asset for which to retrieve the activities

ACTIVITY_SEARCH_OPTIONS options

An optional array of search params

Returns

hash[]

An array of the activites for the asset

top

Get exports created by the the current user

This will include exports that are pending, in progress and complete, but not those that have been cleaned

Not audit-logged

ActivityLogger.GetExports ( )

ACTIVITY_LOG_EXPORT_DETAILS[]

Type and Name Description Required Rights

Returns

ACTIVITY_LOG_EXPORT_DETAILS[]

top

Gets all of the activity for a site

Not audit-logged

ActivityLogger.GetSiteActivities ( ACTIVITY_SEARCH_OPTIONS options )

hash[]

Type and Name Description Required Rights

ACTIVITY_SEARCH_OPTIONS options

An optional array of search params

Returns

hash[]

An array of the activites for the site

top

Gets a list of people who have done an action in any site space you can access

Not audit-logged

ActivityLogger.GetSiteSubjects ( [SUBJECT_TYPE userType = 0][, string filter = NULL] )

Type and Name Description Required Rights

SUBJECT_TYPE userType

The type of user to get details for. If not set, defaults to looking up full users.

string filter

Optional. The string to filter based on the name the returned user. This filters based on the string being anywhere in the user's name.

Returns

top

Gets all of the activity for the spaces

Not audit-logged

ActivityLogger.GetSpaceActivities ( guid[] spaceGuids, ACTIVITY_SEARCH_OPTIONS options )

hash[]

Type and Name Description Required Rights

guid[] spaceGuids

The spaces for which to retrieve the activities

ACTIVITY_SEARCH_OPTIONS options

An optional array of search params

Returns

hash[]

An array of the activites for the spaces

top

Gets a list of people who have done an action in the spaces

Not audit-logged

ActivityLogger.GetSpaceSubjects ( guid[] spaceGuids[, SUBJECT_TYPE userType = 0][, string filter = NULL] )

Type and Name Description Required Rights

guid[] spaceGuids

The spaces for which to retrieve the subjects

SUBJECT_TYPE userType

The type of user to get details for. If not set, defaults to looking up full users.

string filter

Optional. The string to filter based on the name the returned user. This filters based on the string being anywhere in the user's name.

Returns

top

Logs a view in the activity log

Not audit-logged

ActivityLogger.LogViewAsset ( guid assetId )

void

Type and Name Description Required Rights

guid assetId

The file object to convert

Returns

void

top

Deletes notes from an activity action.

Not audit-logged

ActivityLogger.RemoveNotes ( int activityId )

void

Type and Name Description Required Rights

int activityId

The ID of the activity to attach a note to

Returns

void

Annotations top

Contents

Details

top

Creates a new annotation in the provided board.

Annotations.Create ( guid boardId, CREATE_ANNOTATION_DETAILS settings, string message[, string messageGuid = NULL][, string[] links = NULL] )

Type and Name Description Required Rights

guid boardId

ID of the annotation board.

CREATE_ANNOTATION_DETAILS settings

Settings for the created annotation.

string message

Message to send

string messageGuid

Guid with which to identify sent message

string[] links

Items/links attached to message

Returns

Details of the created annotation.

top

Creates a new board for the given asset comments room.

Annotations.CreateBoard ( guid roomObjectId[, ANNOTATION_BOARD_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid roomObjectId

Room in which to create the annotations board.

ANNOTATION_BOARD_OPTIONS options

Options that control the returned details.

Returns

The created annotations board.

top

Deletes the selected annotation.

Annotations.Delete ( guid[] annotationIds )

void

Type and Name Description Required Rights

guid[] annotationIds

ID or IDs of the annotation.

  • delete

Returns

void

top

Deletes the selected boards.

Annotations.DeleteBoard ( guid[] boardIds )

void

Type and Name Description Required Rights

guid[] boardIds

ID or IDs of the annotation boards.

Returns

void

top

Get details of annotations.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Annotations.Get ( guid annotationId )

Type and Name Description Required Rights

guid annotationId

ID or IDs of the annotations.

Returns

Variant 2

Annotations.Get ( guid[] annotationIds )

Type and Name Description Required Rights

guid[] annotationIds

ID or IDs of the annotations.

Returns

top

Returns the GUIDs of all of all of the annotations for the given board.

Not audit-logged

Annotations.GetAnnotationGUIDsForBoard ( guid boardId )

string[]

Type and Name Description Required Rights

guid boardId

Board for which to get the annotations.

Returns

string[]

GUIDs of the board's annotations.

top

Returns the IDs of all of all of the annotations for the given board.

Not audit-logged

Annotations.GetAnnotationIDsForBoard ( guid boardId )

int[]

Type and Name Description Required Rights

guid boardId

Board for which to get the annotations.

Returns

int[]

IDs of the board's annotations.

top

Returns the details of all of the annotations for the given board.

Not audit-logged

Annotations.GetAnnotationsForBoard ( guid boardId )

Type and Name Description Required Rights

guid boardId

Board for which to get the annotations.

Returns

Details of the board's annotations.

top

Returns details of the boards with the supplied ids.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Annotations.GetBoard ( guid boardId[, ANNOTATION_BOARD_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid boardId

ID or IDs of the annotation boards.

ANNOTATION_BOARD_OPTIONS options

Options that control the returned details.

Returns

Variant 2

Annotations.GetBoard ( guid[] boardIds[, ANNOTATION_BOARD_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] boardIds

ID or IDs of the annotation boards.

ANNOTATION_BOARD_OPTIONS options

Options that control the returned details.

Returns

top

Returns the details of all of the boards for the given asset comments room.

Not audit-logged

Annotations.GetBoardsForRoom ( guid roomObjectId[, ANNOTATION_BOARD_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid roomObjectId

Room for which to get the annotations boards.

ANNOTATION_BOARD_OPTIONS options

Options that control the returned details.

Returns

Details of the room's annotation boards.

top

Updates the details of the given annotation, returning the updated details.

Annotations.Set ( guid annotationId, SET_ANNOTATION_DETAILS settings )

Type and Name Description Required Rights

guid annotationId

ID of the annotation.

SET_ANNOTATION_DETAILS settings

New values for the annotation.

Returns

top

Updates the details of the given board, returning the updated details.

Annotations.SetBoard ( guid boardId, SET_ANNOTATION_BOARD_DETAILS settings[, ANNOTATION_BOARD_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid boardId

ID of the annotation boards.

SET_ANNOTATION_BOARD_DETAILS settings

New values for the board.

ANNOTATION_BOARD_OPTIONS options

Options that control the returned details.

Returns

AuditLogs top

Contents

Details

top

Get a pickup URL to download audit logs with a specified set of search criteria

AuditLogs.Export ( [AUDIT_LOG_FILTER filter = NULL] )

string

Type and Name Description Required Rights

AUDIT_LOG_FILTER filter

Only include logs matching the specified criteria

Returns

string

A URL, at which the CSV may be collected

top

Get audit log records matching the specified criteria

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

AuditLogs.Get ( guid auditLog )

Type and Name Description Required Rights

guid auditLog

Logs to get details

Returns

Variant 2

AuditLogs.Get ( guid[] auditLog )

Type and Name Description Required Rights

guid[] auditLog

Logs to get details

Returns

top

This method can be used to retrieve details about how audited actions are categorised, it is useful to provide context for other log retrieval methods, and to provide a filter interface to request just a particular category in requests

In the returned hashes, key is the token to use with the API and description is a human-readable description of it

Not audit-logged

AuditLogs.GetAvailableCategories ( )

Type and Name Description Required Rights

Returns

top

Get audit logs for specified objects (files/folders/users etc).

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

AuditLogs.GetForGUIDs ( string guids[, AUDIT_LOG_FILTER filter = NULL] )

Type and Name Description Required Rights

string guids

An array of GUIDs

AUDIT_LOG_FILTER filter

Optional filter to apply per item

Returns

The GUID mapped to a an array of audit logs hashes.

Variant 2

AuditLogs.GetForGUIDs ( string[] guids[, AUDIT_LOG_FILTER filter = NULL] )

Type and Name Description Required Rights

string[] guids

An array of GUIDs

AUDIT_LOG_FILTER filter

Optional filter to apply per item

Returns

The GUID mapped to a an array of audit logs hashes.

top

Catalogue top

Contents

Details

top

Add an external user to the contact list for a group. Returns a hash containing details of the new user.

The external user hash contains keys as follows:

id - The ID of the external user type - 'external' - This is provided for consistency name - The display name for the external user email - The external user's e-mail address company - An extra descriptive field, intended to specify the company with which the external user is associated

Catalogue.AddToContactList ( string email[, guid catalogue = 'me'][, string name = NULL][, string description = NULL] )

Type and Name Description Required Rights

string email

The e-mail address for the new contact

guid catalogue

An optional Group or User ID, specifying the context for the contact list

  • manage

string name

An optional name for the contact

string description

An optional description for the contact

Returns

A hash containing details about the added contact

top

Get the contact list for this context, having resolved parent inclusions and ordering

The external user GUIDs returned are suitable for use in sharing

Not audit-logged

Catalogue.GetContactList ( [guid catalogue = 'me'][, string nameFilter = NULL] )

Type and Name Description Required Rights

guid catalogue

The catalogue to query

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the external user's name.

Returns

An ordered list of GUIDs of the external users in the contact list, grouped by the context from which they are inherited

top

Get the settings for a catalogue. The catalogue can be specified by ID, GUID or context string

This provides info such as whether entries are inherited from the parent

Not audit-logged

Catalogue.GetDetails ( [guid catalogue = 'me'] )

Type and Name Description Required Rights

guid catalogue

The catalogue to look up

Returns

top

Remove an external user from the contact list for a group

Catalogue.RemoveFromContactList ( guid externalUserId[, guid catalogue = 'me'] )

void

Type and Name Description Required Rights

guid externalUserId

The external user to remove

guid catalogue

An optional Group or User ID, specifying the context for the contact list

  • manage

Returns

void

top

Amend the settings for a catalogue, returning the new values

Catalogue.SetDetails ( guid catalogue, CATALOGUE_DETAILS details )

Type and Name Description Required Rights

guid catalogue

The catalogue to modify

CATALOGUE_DETAILS details

The amended details to set

Returns

Comments top

Contents

Details

top

Add a reaction to a message

Comments.AddReaction ( int messageID, string reaction )

Type and Name Description Required Rights

int messageID

Message's ID

string reaction

Reaction emoji

Returns

message and relate details

top

Delete a message

Comments.DeleteMessage ( int messageID )

void

Type and Name Description Required Rights

int messageID

Message's ID

Returns

void

top

Remove reaction from a message

Comments.DeleteReaction ( int messageID, string reaction )

Type and Name Description Required Rights

int messageID

Message's ID

string reaction

Reaction emoji

Returns

message and relate details

top

Edit a message

Comments.EditMessage ( string message, int messageID[, string[] links = NULL][, int timeStamp = NULL] )

Type and Name Description Required Rights

string message

Message to send

int messageID

Message's ID

string[] links

Items/links attached to message

int timeStamp

A timestamp to link an annotation to a specific point in a video

Returns

Message and related details

top

Get a message by messageID

Not audit-logged

Comments.GetMessage ( int messageID )

Type and Name Description Required Rights

int messageID

MessageID of message to get

Returns

Message and related details

top

Get a message by room (item) GUID

Not audit-logged

Comments.GetMessages ( guid|guid|guid roomGuid[, COMMENTS_MESSAGE_OPTIONS options = array ( )] )

Type and Name Description Required Rights

guid|guid|guid roomGuid

Room/item for which to get messages to

COMMENTS_MESSAGE_OPTIONS options

Details of the requested output

Returns

Messages and related details

top

Get notifications for user

Not audit-logged

Comments.GetNotifications ( [int page = NULL] )

Type and Name Description Required Rights

int page

Number of page to get

Returns

top

Get user's settings for room

Not audit-logged

Comments.GetUserRoomSettings ( guid|guid|guid roomGuid )

Type and Name Description Required Rights

guid|guid|guid roomGuid

Room which to get settings for

Returns

top

Get list of people that can access room

Not audit-logged

Comments.GetUsers ( guid|guid|guid roomGuid[, string search = NULL] )

Type and Name Description Required Rights

guid|guid|guid roomGuid

Room/item for which to get list of people for

string search

String to match users against

Returns

Users matching search

top

Mark notification as 'seen'

Comments.MarkNotificationSeen ( int notificationId )

void

Type and Name Description Required Rights

int notificationId

Notification to mark as 'seen'

Returns

void

top

Search a room for messages and authors matching search string

Comments.SearchRoom ( guid|guid|guid roomGuid, string search[, COMMENTS_SEARCH_OPTIONS options = array ( )] )

hash[]

Type and Name Description Required Rights

guid|guid|guid roomGuid

Room to search in

string search

What to search for

COMMENTS_SEARCH_OPTIONS options

options to control search results

Returns

hash[]

Matching messages

top

Send a message

Comments.SendMessage ( string message, guid|guid|guid roomGuid[, string messageGuid = NULL][, string[] links = NULL][, int replyMessageId = NULL][, float timeStamp = NULL] )

Type and Name Description Required Rights

string message

Message to send

guid|guid|guid roomGuid

Room in which message is sent to

string messageGuid

Guid with which to identify sent message

string[] links

Items/links attached to message

int replyMessageId

ID of the message that this is replying to.

float timeStamp

A timestamp to link an annotation to a specific point in a video

Returns

Message and related details

top

Subscribe to messages from room

Comments.Subscribe ( guid|guid|guid roomGuid[, bool includeEvents = true] )

void

Type and Name Description Required Rights

guid|guid|guid roomGuid

Room which to subscribe to

bool includeEvents

Subscribe to event type messages also

Returns

void

top

Get details room

Comments.UpdateUserRoomSettings ( guid|guid|guid roomGuid, COMMENTS_USER_ROOM_SETTINGS settings )

Type and Name Description Required Rights

guid|guid|guid roomGuid

Room to update

COMMENTS_USER_ROOM_SETTINGS settings

New settings

Returns

Config top

Contents

Details

top

Checks to see if a feature is available in the IMS site.

Config.CheckFeatureAvailable ( string featureKey )

bool

Type and Name Description Required Rights

string featureKey

A string key representing the feature that you want to check is available in the IMS site.

Returns

bool

true if the feature is available

Supported feature keys are:

  • SECURE_FILE_FETCH - true if IMS site is configured for creation of either temporary or permanent secure file fetch URLs
  • SECURE_FILE_FETCH_PERMANENT - true if IMS site is configured for creation of permanent secure file fetch URLs
  • REVISIONS - true if IMS site is configured asset version control

top

Get the structured settings data for site configuration.

This is used in building the settings/properties pages

Not audit-logged

Config.GetConfigSettings ( string settingKey )

Type and Name Description Required Rights

string settingKey

One of configuration, passwordpolicy, saml2, openid, ldap, groupmappings all

Returns

An array of hashes describing configuration sections

top

Gets details of the default password policy.

Not audit-logged

Config.GetDefaultPasswordPolicy ( )

Type and Name Description Required Rights

Returns

The default password policy.

top

Gets information about the current scope of the LDAP config

Not audit-logged

Config.GetLDAPScope ( )

Type and Name Description Required Rights

Returns

The test response containing a success flag and a message.

top

Gets a structured hash of the available metadata fields

The returned hash is keyed by panel name, values are hashes of metadata keyfield name

Not audit-logged

Config.GetMetadataFields ( )

string[][]

Type and Name Description Required Rights

Returns

string[][]

A hash of field labels by panel then tag ID

top

Gets details of the password policy in effect

The returned hash contains keys as follows:

  • minlength - int The minimum number of characters in the password
  • mincountreuse - int The minimum number of password changes before an old password can be reused
  • mindaysreuse - int The minimum number of days before an old password can be reused
  • requireupper - bool Whether passwords must contain an upper-case letter
  • requirelower - bool Whether passwords must contain a lower-case letter
  • requirenumber - bool Whether passwords must contain a number
  • requiresymbol - bool Whether passwords must contain a non-alphanumeric character
  • maxage - int Number of days after which the password must be changed
  • lockouttime - int Number of minutes to lock an account when lockouttries failed login attempts occur
  • lockouttries - int Number of tries after which an account is locked
  • desc - string A textual description of the password policy
Not audit-logged

Config.GetPasswordPolicy ( )

Type and Name Description Required Rights

Returns

A hash containing keys referring to aspects of the password policy, as above

top

Get the options for an enum with non-hardcoded options.

Not audit-logged

Config.GetSettingOptions ( hash settings )

string[][]

Type and Name Description Required Rights

hash settings

A list of the setting names to return the current options for

Returns

string[][]

The current options keyed by the setting name

top

Get the current setting values for the requested setting names.

Not audit-logged

Config.GetSettingValues ( string|string[] settings )

string[]

Type and Name Description Required Rights

string|string[] settings

A list of the setting names to return the current values for

Returns

string[]

The current setting value keyed by the setting name

top

Retrieves a URL to send a user to in order to connect a Chorus site to a Slack Workspace.

Not audit-logged

Config.GetSlackConnectURL ( string returnUrl )

string

Type and Name Description Required Rights

string returnUrl

The URL to which the user should be returned once the auth process has completed

Returns

string

the url

top

Get Slack workspace details

Not audit-logged

Config.GetSlackWorkspaceDetails ( )

SLACK_WORKSPACE_DETAILS|null

Type and Name Description Required Rights

Returns

SLACK_WORKSPACE_DETAILS|null

Name of currently connected Slack workspace, or empty string if not connected

top

Get deep link to site settings modal

Not audit-logged

Config.GetUrlToSiteSettings ( [string menu = 'all'] )

string

Type and Name Description Required Rights

string menu

Which menu to open when opening the modal .

Returns

string

the link

top

Join an LDAP domain

This is focussed on Active Directory, but should support other similar DNS-registered domain systems

This is a wizard-based system that will look up the domain in DNS, attempt to identify an appropriate site with it, connect to relevant local DCs and Global Catalogs, and provision a computer binding account

It returns an ENUM that indicates where a possible problem may have occurred - in general you should then re-call this method, adding the relevant optional parameters.

For generic LDAP support, specify settings directly rather than using this.

Config.JoinDomain ( string dnsDomain, string domainAdminUser, string domainAdminPass[, string baseDN = NULL][, bool reuseComputer = NULL][, string computerAccountOU = NULL][, string computerName = NULL][, string[] domainControllers = NULL][, string[] globalCatalogs = NULL] )

Type and Name Description Required Rights

string dnsDomain

The full DNS name of the domain (e.g. contoso.com)

string domainAdminUser

The username of a domain administrator, with permission to create a new bind account. This account is not stored, and is only used to join the domain.

string domainAdminPass

The password for the above user. This account is not stored, and is only used to join the domain.

string baseDN

The base search DN for your domain. This may be required if no Global Catalog servers are available.

bool reuseComputer

True to allow an existing computer account to be reused. You should usually only specify this if you have previously had a COMPUTER_ACCOUNT_FOUND response and checked that it is not otherwise in use.

string computerAccountOU

Specify a full DN to the location to create the computer account. Defaults to the "Computers" container within the base DN.

string computerName

Defaults to the hostname of the running server. May be overridden if, e.g., that is already used elsewhere, or for a cluster where a single node hostname is not appropriate.

string[] domainControllers

A list of domain controllers - this should normally only be specified if you have previously had a NO_DNS error. Each entry should be an LDAP URI, although a bare hostname or hostname:port will be accepted if possible.

string[] globalCatalogs

A list of global catalogs - this should normally be specified if and only if domainControllers is too. Each entry should similarly be an LDAP URL, although a bare hostname or hostname:port will be accepted if possible.

Returns

OK or the type of error encountered

top

RevokeSlackConnection will remove any OAuth tokens associated with a Slack Workspace

Config.RevokeSlackConnection ( )

void

Type and Name Description Required Rights

Returns

void

top

Send a test Slack notification, to check that Slack daemon is working and authorized

Config.SendATestSlackNotification ( string teamUID, string userID )

void

Type and Name Description Required Rights

string teamUID

The Slack team to send the message to

string userID

The Slack user ID to send the message to

Returns

void

top

Sets the supplied settings for the IMS site. The returned hash contains for following keys:

  • success - true if the settings were successfully applied.
  • updatedSettings - if the settings were successfully applied. Same structure as GetSettingValues returns.
  • validateResponse - if the settings were not successfully applied. Same structure as ValidateSettingValues.

Config.SetSettingValues ( hash settings )

Type and Name Description Required Rights

hash settings

The setting values to set. keyed by the setting name.

Returns

top

Test the configured IDP Metadata URL. If it works, the contents are returned in the response, abbreviated if they exceed 100,000 characters. If not, the error will be returned instead.

Not audit-logged

Config.TestIdpMetadataURL ( string url )

Type and Name Description Required Rights

string url

The URL to test

Returns

The test response containing a status and a message.

top

Test the configured LDAP connection. The response contains a boolean to indicate success or failure, and a corresponding message.

Config.TestLDAPConnection ( )

Type and Name Description Required Rights

Returns

The test response containing a success flag and a message.

top

Validate the supplied setting values. Returned hash contains the following keyed by the setting name.

Config.ValidateSettingValues ( hash settings )

Type and Name Description Required Rights

hash settings

The setting values to validate, keyed by the setting name

Returns

A hash with a key for each supplied setting (see below), also invalidCount which contains the count of invalid settings.

  • valid - whether the supplied value is valid
  • reasons - if the value is invalid, a list of the reasons why the validation failed

Content top

Contents

Details

Contexts top

Contents

Details

top

Get the logical areas of Chorus visible to the specified context. This will return the site (dom0) context, the user's own home directory ("me"), the home directories of any spaces to which the user belongs, and the public folders of any other users or spaces in the site. The context IDs returned are suitable for use with Folders.GetTopLevelFolders and other methods that use contexts.

Contexts: - me—this represents the currently authenticated user's Private Space, - group{numeric-identifier}—this represents a Space. The {numeric-identifier} is an internal identifier. If you require an id for a given Space, then use the context from the Space's details, - user{numeric-identifier}—this represents another user in the system. The {numeric-identifier} is an internal identifier. If you require an id for a given user, then use the context from the User's details.

@param

Not audit-logged

Contexts.GetChildren ( [contextWithDomain scope = 'me'] )

string[]

Type and Name Description Required Rights

contextWithDomain scope

The parent context for which to get children

  • child:view

Returns

string[]

An array of contextIDs

top

Retrieve details of contexts. When you have received context values from other API responses, you can use this method to retrieve the details of those contexts, which include an avatar image URL, names, parent IDs and so on.

Contexts: - me—this represents the currently authenticated user's Private Space, - group{numeric-identifier}—this represents a Space. The {numeric-identifier} is an internal identifier. If you require an id for a given Space, then use the context from the Space's details, - user{numeric-identifier}—this represents another user in the system. The {numeric-identifier} is an internal identifier. If you require an id for a given user, then use the context from the User's details.

@param

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Contexts.GetDetails ( contextWithDomain context )

Type and Name Description Required Rights

contextWithDomain context

An array of contexts for which details should be returned.

Returns

Details of the requested contexts

Variant 2

Contexts.GetDetails ( contextWithDomain[] contexts )

Type and Name Description Required Rights

contextWithDomain[] contexts

An array of contexts for which details should be returned.

Returns

Details of the requested contexts

top

Get the logical areas for a particular space The caller must be a manager of the space to use this method. The returned contexts will be those of which the space is a member and are visible to the caller.

The context IDs returned are suitable for use with Folders.GetTopLevelFolders and suchlike

Not audit-logged

Contexts.GetForSpace ( context objContext )

string[]

Type and Name Description Required Rights

context objContext

The parent context for which to get children

  • manage

Returns

string[]

An array of contextIDs

top

Get the path of contexts leading to a given user/group in the hierarchy. Normally this will go to the top, unless a parent group in not visible to the caller, in which case the highest visible group will be treated as a root

Not audit-logged

Contexts.GetVisiblePath ( [context context = 'me'] )

string[]

Type and Name Description Required Rights

context context

The group for which to find a path

Returns

string[]

The list of groups/users in the visible hierarchy to the subject.

Core top

Contents

Details

top

Check if a list of GUIDs can be deleted

This supports files, file links, folders and folder links

Variant Information: This method has 2 variants.
Variant 1

Core.CheckDelete ( string guids )

bool

Type and Name Description Required Rights

string guids

An array of GUIDs of objects to test for deletion

Returns

bool

Whether the respective object can be deleted

Variant 2

Core.CheckDelete ( string[] guids )

bool[]

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects to test for deletion

Returns

bool[]

Whether the respective object can be deleted

top

Check if a list of GUIDs can be moved to a specified destination

This supports files, file links, folders and folder links

Core.CheckMove ( string[] guids, guid destination )

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects to test for move

guid destination

A GUID or folder ID for the destination of the move

Returns

Whether the respective object can be moved to the requested destination

top

Drops user impersonation back to original actor

This method cannot be used if the impersonation was performed by an API key

Core.DeImpersonate ( )

Type and Name Description Required Rights

Returns

top

Delete a list of GUIDs

This supports files, file links, folders and folder links

Variant Information: This method has 2 variants.
Variant 1

Core.Delete ( string guids )

Type and Name Description Required Rights

string guids

An array of GUIDs of objects to delete

Returns

Variant 2

Core.Delete ( string[] guids )

void

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects to delete

Returns

void

top

Drop any administrative privileges for the session

Core.DropPrivileges ( )

Type and Name Description Required Rights

Returns

top

Elevates the current session to gain available administrative privileges.

Core.Elevate ( string password[, int timeLimit = '1800'] )

Type and Name Description Required Rights

string password

The user account's password

int timeLimit

Number of seconds to hold elevated privileges. Specify 0 for unlimited.

Returns

top

Retrieve detailed information about available API methods and their usage.

The returned hash contains information structured as follows:

  • module name - e.g. "Core"
  • method name - e.g. "GetAPIListing"
  • description - an explanation of the method's behaviour
  • parameters - a hash containing a lowercased key for each parameter
  • parameter id - this is the parameter name converted to lowercase
  • name - name of the parameter
  • type - the parameter's data type. e.g. int, bool
  • description - an explanation of the parameter's purpose
  • required - boolean, is the parameter required or optional
  • default - if this is an optional parameter, this is the default value
  • ... further parameters ...
  • return - a hash detailing any data returned by the method
  • type - the returned value's data type. e.g. int, bool
  • description - an explanation of the returned value
  • ... further methods ...
  • ... further modules ...
Not audit-logged

Core.GetAPIListing ( )

Type and Name Description Required Rights

Returns

Keyed by module name and method name

top

We use this for IMS7

Not audit-logged

Core.GetAPIListingForIMS7 ( )

Type and Name Description Required Rights

Returns

Keyed by module name and method name

top

Gets summary information for each available API module.

Not audit-logged

Core.GetAPIModuleInformation ( )

string[]

Type and Name Description Required Rights

Returns

string[]

A hash containing a key for each module which references a text description describing the module.

top

Get an accessible path to one or more objects (of type FILE, FOLDER, FILE_LINK, FOLDER_LINK)

This is equivalent to calling the type-specific version (e.g. Files.GetAccessiblePathForFile)

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Core.GetAccessiblePath ( string guids )

Type and Name Description Required Rights

string guids

An array of GUIDs of objects for which to retrieve paths

Returns

An array describing the objects in the hierarchy

Variant 2

Core.GetAccessiblePath ( string[] guids )

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects for which to retrieve paths

Returns

An array describing the objects in the hierarchy

top

Gets a pre-authenticated URL for the requested user This method may only be called if the session was created via Core.LoginWithKey

Not audit-logged

Core.GetAuthorisedURL ( string userRef[, string lookupType = '"id"'][, string destination = NULL] )

string

Type and Name Description Required Rights

string userRef

The user account's username, e-mail address or ID

string lookupType

The type of userRef - supported values are "email" "username" "id" or "userprincipal" (LDAP users only)

string destination

An optional destination page.

Returns

string

A URL to direct the user to

top

Get the GUIDs of the dereferenced file or folder links. If supplied GUID is for a folder or file, it will still be returned in the response.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Core.GetDereferenced ( string guid )

Type and Name Description Required Rights

string guid

GUIDs to look up

Returns

Details of the originals

Variant 2

Core.GetDereferenced ( string[] guids )

Type and Name Description Required Rights

string[] guids

GUIDs to look up

Returns

Details of the originals

top

Get details for one or more objects of any type that supports GUID identification

Each located object will return the standard details hash, keyed by GUID

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Core.GetDetails ( string guids[, CORE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

string guids

An array of GUIDs of objects for which to retrieve details

CORE_DETAILS_OPTIONS options

An optional hash of settings to pass through to type-specific detail getters.

Returns

Variant 2

Core.GetDetails ( string[] guids[, CORE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects for which to retrieve details

CORE_DETAILS_OPTIONS options

An optional hash of settings to pass through to type-specific detail getters.

Returns

top

Returns the environment settings for the current user; useful for initial configuration of a UI or API based application.

Not audit-logged

Core.GetEnvironment ( )

Type and Name Description Required Rights

Returns

top

Retrieves the total number of files in the library. If the user doesn't have access to the whole library then this method will return an ACTION_NOT_PERMITTED error.

Not audit-logged

Core.GetFileCount ( )

int

Type and Name Description Required Rights

Returns

int

The number of files in the library

top

Retrieves the total number of files in the library. If the user doesn't have access to the whole library then this method will return an ACTIONNOTPERMITTED error.

Not audit-logged

Core.GetPictureCount ( )

int

Type and Name Description Required Rights

Returns

int

The number of files in the library

top

Get details of time remaining until the current session expires.

Unless the X-Ims-Session-No-Touch HTTP Header is set when making this request, calling this method will extend the current session.

Not audit-logged

Core.GetSessionExpiry ( )

Type and Name Description Required Rights

Returns

Details of time remaining until the current session expires.

top

Returns details about the currently active user.

Not audit-logged

Core.GetUserDetails ( )

Type and Name Description Required Rights

Returns

top

Handshake for WebSocketD

Not audit-logged

Core.Handshake ( )

Type and Name Description Required Rights

Returns

top

Changes the active user for the current session to that specified.

The options hash supports keys as follows

  • elevated - new user has all available administrative permissions (default prior to API v2.0)
  • restricted - new user session has no administrative permissions (default since API v2.0)

The returned hash will contain keys as follows:

  • sessionId - a session identifier which should be used in all further communication
  • userDetails - a hash contianin user information
  • type - the type of entity logged into the system. Normally this will be 1, indicating a conventional user
  • username - the login username
  • description - name or description
  • email - email address

Core.ImpersonateUser ( string userRef[, string lookupType = '"id"'][, hash options = NULL] )

Type and Name Description Required Rights

string userRef

The user account's username, e-mail address or ID

string lookupType

The type of userRef - supported values are "email" "username" "id" "context" or "userprincipal" (LDAP users only)

hash options

Options that control elevation status of new session

Returns

top

Tests whether a given IMS Module is enabled

Core.IsModuleEnabled ( string moduleName )

bool

Type and Name Description Required Rights

string moduleName

The name of the module to test

Returns

bool

Whether the module is enabled

top

Starts an IMS user session. After a successful login, this function returns a session identifier. Depending on the communication method being used to access the API, this identifier can be sent as a cookie with name "IMSSESSID", or sent within the body of the normal request. For further information please see the general usage notes for the API.

The options hash supports keys as follows

  • persistent - allow the session to endure beyond the normal limit
  • elevated - log in with all available administrative permissions (default prior to API v2.0)
  • restricted - log in without administrative permissions (default since API v2.0)

The returned hash will contain keys as follows:

  • sessionId - a session identifier which should be used in all further communication
  • userDetails - a hash containing user information
  • type - the type of entity logged into the system. Normally this will be 1, indicating a conventional user
  • username - the login username
  • description - name or description
  • email - email address

Core.Login ( string username, string password[, hash options = NULL] )

Type and Name Description Required Rights

string username

The user account's username

string password

The user account's password

hash options

A hash of options, detailed below

Returns

top

Starts an IMS session. After a successful login, this function returns a session identifier. Depending on the communication method being used to access the API, this identifier can be sent as a cookie with name "IMSSESSID", or sent within the body of the normal request. For further information please see the general usage notes for the API.

The options hash supports keys as follows:

  • persistent - allow the session to endure beyond the normal limit
  • elevated - log in with all available administrative permissions (default prior to API v2.0)
  • restricted - log in without administrative permissions (default since API v2.0)

Core.LoginWithKey ( string apikey[, hash options = NULL] )

Type and Name Description Required Rights

string apikey

An API key configured in IMS

hash options

A hash of options, detailed below

Returns

top

Starts an IMS session given an ephemeral login token. The token will have been obtained from a separate authentication method such as SAML.

After a successful login, this function returns a session identifier. Depending on the communication method being used to access the API, this identifier can be sent as a cookie with name "IMSSESSID", or sent within the body of the normal request. For further information please see the general usage notes for the API.

The options hash supports keys as follows:

  • persistent - allow the session to endure beyond the normal limit
  • elevated - log in with all available administrative permissions

Core.LoginWithToken ( string token[, hash options = NULL] )

Type and Name Description Required Rights

string token

A login token retrieved from an endpoint such as SAML authentication

hash options

A hash of options, detailed below

Returns

top

End the Chorus API session. Please use this method when your script or other integration has finished and you do not require the session again.

Core.Logout ( )

void

Type and Name Description Required Rights

Returns

void

top

Move a list of GUIDs to a specified destination

This supports files, file links, folders and folder links

Core.Move ( string[] guids, guid destination[, bool upgradeFunctionalLevels = false][, bool forceSync = true] )

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects to move

guid destination

A GUID or folder ID for the destination of the move

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a non-Publish Functional Level is encountered then upgrade the Functional Level to SHARE.

bool forceSync

If true, this forces this method to run synchronously, otherwise, if there are more than items the move will be performed asynchonously.

Returns

top

Starts a PublishLink user session. After a successful login, this function returns a session identifier. Depending on the communication method being used to access the API, this identifier can be sent as a cookie with name "IMSSESSID", or sent within the body of the normal request. For further information please see the general usage notes for the API.

The returned hash will contain keys as follows:

  • sessionId - a session identifier which should be used in all further communication
  • userDetails - a hash containing user information
  • type - the type of entity logged into the system. Normally this will be 1, indicating a conventional user
  • username - the login username
  • description - name or description
  • email - email address

Core.PublishLinkLogin ( int publishLinkId, string username, string password )

Type and Name Description Required Rights

int publishLinkId

the id of the Publish Link to login

string username

The user account's username

string password

The user account's password

Returns

top

Recycle a list of GUIDs

This supports files and folders only

Variant Information: This method has 2 variants.
Variant 1

Core.Recycle ( string guids )

Type and Name Description Required Rights

string guids

An array of GUIDs of objects to delete

Returns

Variant 2

Core.Recycle ( string[] guids )

void

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects to delete

Returns

void

DownloadCategories top

Contents

Details

top

Create a new download category.

DownloadCategories.CreateDownloadCategory ( DOWNLOAD_CATEGORY_DETAILS downloadCategoryDetails[, guid catalogue = 'dom0'] )

Type and Name Description Required Rights

DOWNLOAD_CATEGORY_DETAILS downloadCategoryDetails

The details for the new category

guid catalogue

The catalogue in which to create the category

Returns

The details of the new download category

top

Create a new download size to a download category.

DownloadCategories.CreateDownloadSize ( guid downloadCategoryId, DOWNLOAD_SIZE_DETAILS downloadSizeDetails[, guid parentDownloadSizeId = NULL] )

Type and Name Description Required Rights

guid downloadCategoryId

The ID of the download category where the new download size will be added

DOWNLOAD_SIZE_DETAILS downloadSizeDetails

The details for the new Download Size

guid parentDownloadSizeId

ID of a downloadsize to base this download size upon. Used primarily to allow overlays to be re-used

Returns

The details of the new download size.

top

Remove a download category from the system.

DownloadCategories.DeleteDownloadCategory ( guid downloadCategoryId )

int

Type and Name Description Required Rights

guid downloadCategoryId

The ID of the download category to remove

Returns

int

The ID of the download category that has been deleted

top

Remove a download size from the system.

DownloadCategories.DeleteDownloadSize ( guid downloadSizeId )

int

Type and Name Description Required Rights

guid downloadSizeId

The ID of the download size to remove

Returns

int

The ID of the download size that has been deleted

top

Returns the details for the download category with the supplied id.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

DownloadCategories.GetDownloadCategoryDetails ( guid categoryId )

Type and Name Description Required Rights

guid categoryId

The id of the download category.

Returns

The details of the download category.

Variant 2

DownloadCategories.GetDownloadCategoryDetails ( guid[] categoryId )

Type and Name Description Required Rights

guid[] categoryId

The id of the download category.

Returns

The details of the download category.

top

Returns the details for the download size with the supplied id.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

DownloadCategories.GetDownloadSizeDetails ( guid sizeId )

Type and Name Description Required Rights

guid sizeId

The id of the download size,

Returns

The details of the download size.

Variant 2

DownloadCategories.GetDownloadSizeDetails ( guid[] sizeId )

Type and Name Description Required Rights

guid[] sizeId

The id of the download size,

Returns

The details of the download size.

top

Updates the given download category with the provided details.

DownloadCategories.SetDownloadCategoryDetails ( guid categoryId, DOWNLOAD_CATEGORY_DETAILS details )

Type and Name Description Required Rights

guid categoryId

The ID of the category to update.

DOWNLOAD_CATEGORY_DETAILS details

The details with which to update the download category.

Returns

The details of the updated download category.

top

Updates the given download size with the provided details.

DownloadCategories.SetDownloadSizeDetails ( guid sizeId, DOWNLOAD_SIZE_DETAILS details )

Type and Name Description Required Rights

guid sizeId

The ID of the size to update.

DOWNLOAD_SIZE_DETAILS details

The details of which to update the download size.

Returns

The details of the updated download size.

Downloads top

Contents

Details

top

Adds a new History Note to a download

Depending on the site configuration, a history note may be required to perform a download. This method can be used to supply the requisite history note.

This action is only valid if the download is currently blocked by the absence of a note.

Downloads.AddHistoryNote ( int downloadId, string note )

Type and Name Description Required Rights

int downloadId

The ID of the download to update

string note

The new history note

Returns

A [[Download Status]] hash

top

Deletes a download.

Downloads.DeleteDownload ( int downloadId )

void

Type and Name Description Required Rights

int downloadId

The ID of the download to delete

Returns

void

top

Download one or more files, either as an original or using a predefined download size.

At least one of assetId and folderId must be specified.

This method will return a hash of details about the requested download

Variant Information: This method has 2 variants.
Variant 1

Downloads.Download ( guid[] fileId[, int downloadSize = NULL][, string noteText = NULL][, hash options = array ( )] )

Type and Name Description Required Rights

guid[] fileId

An integer or array of [IMS File References] to download

int downloadSize

A download size to use for this download. If not specified, download the original file(s).

string noteText

An optional history note to attach to the download.

hash options

A hash containing details of the requested output.

Returns

Variant 2

Downloads.Download ( guid[] folderId[, int downloadSize = NULL][, string noteText = NULL][, hash options = array ( )] )

Type and Name Description Required Rights

guid[] folderId

An integer or array of [[Folder References]] to download

int downloadSize

A download size to use for this download. If not specified, download the original file(s).

string noteText

An optional history note to attach to the download.

hash options

A hash containing details of the requested output.

Returns

top

Get the current status of a download task

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Downloads.GetDownloadDetails ( int[]|string downloadId )

Type and Name Description Required Rights

int[]|string downloadId

The ID or an array of IDs of the download to query

Returns

A Download Details hash

Variant 2

Downloads.GetDownloadDetails ( int[]|string[] downloadId )

Type and Name Description Required Rights

int[]|string[] downloadId

The ID or an array of IDs of the download to query

Returns

A Download Details hash

top

Get all of the current user's download ids

Not audit-logged

Downloads.GetDownloadList ( )

int[]

Type and Name Description Required Rights

Returns

int[]

The current download ids.

top

Get the details of the current user's download queue

Not audit-logged

Downloads.GetDownloadQueueDetails ( )

Type and Name Description Required Rights

Returns

The download queue details.

top

top

top

Retrieve a list of all downloads that the user has yet to retrieve.

Not audit-logged

Downloads.GetUncollectedDownloads ( )

int[]

Type and Name Description Required Rights

Returns

int[]

An array of download IDs

top

Validates each of the supplied crop settings for the supplied asset. Checks that a crop can be generated by the current user. The returned hash contains a key for each supplied crop, with the following details:

  • valid bool - true if the crop is valid
  • reason string - if not valid, why
  • constraintWidth int - the most zoomed in the crop can be to respect the user's settings
  • constraintHeight int - see above.
Not audit-logged

Downloads.GetUsersCropLimitsForAsset ( int assetId, hash crops[, int revision = NULL] )

Type and Name Description Required Rights

int assetId

An IMS File Reference

hash crops

A list of crop settings, containing the following items: key, cropWidth and cropHeight

int revision

Optionally the asset's revision to use

Returns

A hash containing details for each crop, detailed above.

top

Validates each of the supplied crop settings for the supplied list of assets. Checks that a crop can be generated by the current user. The returned hash contains a key for each valid asset id, which contains a key for each supplied crop, with the following details:

  • valid bool - true if the crop is valid
  • reason string - if not valid, why
  • constraintWidth int - the most zoomed in the crop can be to respect the user's settings
  • constraintHeight int - see above.
Not audit-logged

Downloads.GetUsersCropLimitsForAssets ( int[]|string[] assetIds, hash crops )

Type and Name Description Required Rights

int[]|string[] assetIds

An array of IMS File References to test

hash crops

A list of crop settings, containing the following items: key, cropWidth and cropHeight

Returns

A hash containing details for each crop for each asset, detailed above.

top

Get information pertinent to launching the cropper in derivative mode on the requested files and folders.

This method will return a hash of details indicating available download options for the selection.

Variant Information: This method has 2 variants.
Variant 1

Downloads.PrepareDerivatives ( guid[] fileId[, int timeLimit = NULL] )

Type and Name Description Required Rights

guid[] fileId

An integer or array of [IMS File References] to download

int timeLimit

Optional limit in milliseconds for time to spend establishing available options

Returns

A hash of details containing keys as below

Variant 2

Downloads.PrepareDerivatives ( guid[] folderId[, int timeLimit = NULL] )

Type and Name Description Required Rights

guid[] folderId

An integer or array of [[Folder References]] to download

int timeLimit

Optional limit in milliseconds for time to spend establishing available options

Returns

A hash of details containing keys as below

top

Get information pertinent to launching an advanced download tool on the requested files.

This method will return a hash of details indicating available download options for the selection.

Variant Information: This method has 2 variants.
Variant 1

Downloads.PrepareDownload ( guid[] fileId[, int timeLimit = NULL] )

Type and Name Description Required Rights

guid[] fileId

An integer or array of [IMS File References] to download

int timeLimit

Optional limit in milliseconds for time to spend establishing available options

Returns

A hash of details containing keys as below

Variant 2

Downloads.PrepareDownload ( guid[] folderId[, int timeLimit = NULL] )

Type and Name Description Required Rights

guid[] folderId

An integer or array of [[Folder References]] to download

int timeLimit

Optional limit in milliseconds for time to spend establishing available options

Returns

A hash of details containing keys as below

ExternalUsers top

Contents

Details

top

top

Get details about external users

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

ExternalUsers.Get ( guid euId )

Type and Name Description Required Rights

guid euId

The external users to get

Returns

The updated details

Variant 2

ExternalUsers.Get ( guid[] euIds )

Type and Name Description Required Rights

guid[] euIds

The external users to get

Returns

The updated details

top

Update details on an external user

ExternalUsers.SetDetails ( guid euId, EXTERNAL_USER_SETTINGS details )

Type and Name Description Required Rights

guid euId

The external user to amend

  • editSettings

EXTERNAL_USER_SETTINGS details

New details to set

Returns

The updated details

Files top

Contents

Details

top

Acknowledge an internal state on a file

This is used to suppress alerting about detected situations, such as a file being apparently not previewable

An audit-log entry of type `FILE` will be created for this action

Files.AcknowledgeState ( guid assetId, ASSET_STATES state )

Type and Name Description Required Rights

guid assetId

The file to update

  • edit

ASSET_STATES state

The state to acknowledge

Returns

The new state of the file

top

Updates the metadata on a file by appending a new value to a multi-valued field. e.g. this can add a new keyword to a file.

Note that this must be used for multi-valued fields and can not be used on fields like Caption which only support a single string as metadata.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.AddMetadata ( guid assetId, guid tagId, string value )

Type and Name Description Required Rights

guid assetId

The files to update

  • edit

guid tagId

The metadata key name of the field to update

string value

The value to be appended

Returns

Variant 2

Files.AddMetadata ( guid[] assetIds, guid tagId, string value )

void

Type and Name Description Required Rights

guid[] assetIds

The files to update

  • edit

guid tagId

The metadata key name of the field to update

string value

The value to be appended

Returns

void

top

Add files to one or more collections

Returns the details of the links created

An audit-log entry will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.AddToCollection ( guid collectionId, guid[]|guid[] assetIds[, bool reduceFunctionalLevel = true] )

Type and Name Description Required Rights

guid collectionId

The ID of the collection to add the files to

  • child:upload

guid[]|guid[] assetIds

The file(s) and folder(s) to add

bool reduceFunctionalLevel

If true, attempt to reduce the functional level of the collection if necessary to allow the file to be added

Returns

The created link(s), or folder details if the collection was in clone mode.

Variant 2

Files.AddToCollection ( guid[] collectionId, guid[]|guid[] assetIds[, bool reduceFunctionalLevel = true] )

Type and Name Description Required Rights

guid[] collectionId

The ID of the collection to add the files to

  • child:upload

guid[]|guid[] assetIds

The file(s) and folder(s) to add

bool reduceFunctionalLevel

If true, attempt to reduce the functional level of the collection if necessary to allow the file to be added

Returns

The created link(s), or folder details if the collection was in clone mode.

top

Attach one or more files to another file.

An audit-log entry of type `FILE` will be created for this action

Files.Attach ( guid fileId, guid[] attachedFileIds[, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid fileId

The ID of the File to which the attachment should be added

guid[] attachedFileIds

The IDs of the File(s) to attach

FILE_DETAILS_OPTIONS options

Optionally used to configure the returned information

Returns

The attachments of fileId after adding

top

Batch edit list of files, supporting batch renaming and metadata editing. This will perform the batch edit in the background if more than 10 files are provided. If you do not want this behaviour, then use the Files.BatchRename and Metadata.ManipulateMetadata() calls.

See Files.BatchRename and Metadata.ManipulateMetadata

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.BatchEdit ( guid[] assetIds, RENAME_TOKEN[] renameTokens )

Type and Name Description Required Rights

guid[] assetIds

The files to rename (ordering is significant if a sequence token is used)

  • edit

RENAME_TOKEN[] renameTokens

A list of tokens describing how to construct the new file name

Returns

Variant 2

Files.BatchEdit ( guid[] assetIds, string[][] metadataChanges )

Type and Name Description Required Rights

guid[] assetIds

The files to rename (ordering is significant if a sequence token is used)

  • edit

string[][] metadataChanges

The metadata changes keyed by the field tag

Returns

top

Batch rename a list of files, building each new filename out of a sequence of tokens

This allows filenames to be built from a variety of sources, including the file's current name, metadata, a sequence counter or static string.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.BatchRename ( guid assetId, RENAME_TOKEN[] tokens[, bool dryRun = false] )

string

Type and Name Description Required Rights

guid assetId

The files to rename (ordering is significant if a sequence token is used)

  • edit

RENAME_TOKEN[] tokens

A list of tokens describing how to construct the new file name

bool dryRun

If true, the rename will not be saved (just return the new filenames)

Returns

string

The new filenames generated

Variant 2

Files.BatchRename ( guid[] assetIds, RENAME_TOKEN[] tokens[, bool dryRun = false] )

string[]

Type and Name Description Required Rights

guid[] assetIds

The files to rename (ordering is significant if a sequence token is used)

  • edit

RENAME_TOKEN[] tokens

A list of tokens describing how to construct the new file name

bool dryRun

If true, the rename will not be saved (just return the new filenames)

Returns

string[]

The new filenames generated

top

Pre-check adding files and folders to a collection

Returns the details of the items that can be added, with and without amending the functional level

Not audit-logged

Files.CheckAddToCollection ( guid[] assetIds, guid collectionId )

Type and Name Description Required Rights

guid[] assetIds

The file(s) and folder(s) to add

guid collectionId

The ID of the collection to add the files to

  • child:upload

Returns

Information about how the request can be fulfilled

top

Check if one or more files can be sent to the recycle bin

Not audit-logged

Files.CheckRecycle ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The files to recycle

  • delete

Returns

top

Discover the availability of parent folder hierarchy information before a restore operation.

The returned restore mode describes the closest available restoration that can be achieved.

Not audit-logged

Files.CheckRestore ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

Returns

top

This function creates a placeholder for a new file

Generally, the purpose would include supplying a GUID (must be in standard 01234567-89ab-cdef-0123-456789abcdef format), in order to positively identify the new entity as relating to a client-initiated task. If you do not need to do this, then in most circumstances you should simply use the upload API directly.

After calling this you need to make a replace file call to provide file data.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.Create ( guid folderId, string fileName[, string guid = NULL] )

Type and Name Description Required Rights

guid folderId

The ID of the folder in which to create the new file

string fileName

The filename for the new asset.

string guid

An optional GUID to assign to the newly created asset.

Returns

A hash of details about the new file, or an array/hash of such (to match fileNames)

Variant 2

Files.Create ( guid folderId[, string guid = NULL], string[] fileNames )

Type and Name Description Required Rights

guid folderId

The ID of the folder in which to create the new file

string guid

An optional GUID to assign to the newly created asset.

string[] fileNames

An array of file names to create - optionally keyed by GUID

Returns

A hash of details about the new file, or an array/hash of such (to match fileNames)

top

Creates a derivative from the specified file.

An audit-log entry of type `FILE` will be created for this action

Files.CreateDerivative ( guid assetId[, DERIVATIVE_DETAILS derivativeDetails = NULL][, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid assetId

The asset from which to create a derivative

  • createDerivative

DERIVATIVE_DETAILS derivativeDetails

The details of the derivative

FILE_DETAILS_OPTIONS options

Options to configure the returned details

Returns

details about the newly created derivative

top

Delete a file in the recycle bin.

The method accepts a single file or an array of files.

The file will be permanently deleted. Use Files.Recycle() if you want to send a file into the recycling bin.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.Delete ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files to delete (or recycle)

  • delete

Returns

A single hash or array of hashes with keys: assetId and recycled - a boolean indicating whether the asset was recycled or deleted

Variant 2

Files.Delete ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The files to delete (or recycle)

  • delete

Returns

A single hash or array of hashes with keys: assetId and recycled - a boolean indicating whether the asset was recycled or deleted

top

Break the attachment between two files.

An audit-log entry of type `FILE` will be created for this action

Files.Detach ( guid attachedFileId, guid fileId[, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid attachedFileId

The ID of the File to remove as an attachment

guid fileId

The ID of the File from which the attachment should be removed

  • viewAttachments

FILE_DETAILS_OPTIONS options

Optionally used to configure the returned information

Returns

The new attachments

top

Remove all attached files from a file specified by its GUID. The attachments are removed but no files are deleted from Chorus.

An audit-log entry of type `FILE` will be created for this action

Files.DetachAll ( guid fileId )

void

Type and Name Description Required Rights

guid fileId

The file to update

  • edit
  • viewAttachments

Returns

void

top

Dismiss a suggested revision. When duplicate detection is enabled and duplicates have been uploaded a screen is displayed to ask whether you would like to accept the duplicate or to create a new revision. The question can be dismissed with this call.

An audit-log entry of type `FILE` will be created for this action

Files.DismissRevision ( guid assetId )

void

Type and Name Description Required Rights

guid assetId

The file to update

  • edit

Returns

void

top

Edits the specified derivative.

Note that changing the folderId is not supported by EditDerivative - use move functionality for this.

An audit-log entry of type `FILE` will be created for this action

Files.EditDerivative ( guid derivativeId[, DERIVATIVE_DETAILS derivativeDetails = NULL] )

Type and Name Description Required Rights

guid derivativeId

The derivative to edit

  • edit

DERIVATIVE_DETAILS derivativeDetails

The details of the derivative

Returns

Details about the edited derivative

top

Get a path by which a file is accessible.

The elements in the path are valid navigation targets; this is intended to construct breadcrumbs to a file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetAccessiblePath ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files for which to find a path

Returns

Variant 2

Files.GetAccessiblePath ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The files for which to find a path

Returns

top

top

Get the files attached to a given one

Not audit-logged

Files.GetAttached ( guid fileId[, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid fileId

The ID of the File for which to list attachments

  • viewAttachments

FILE_DETAILS_OPTIONS options

Optionally used to configure the returned information

Returns

A list of the attached files

top

Get asset details from supplied filename, optionally just from a single folder

Not audit-logged

Files.GetByFilename ( string filename[, guid containerId = NULL] )

Type and Name Description Required Rights

string filename

The name of the file

guid containerId

Optional container to restrict search

Returns

An array object describing the matching files

top

Get an array of file details for a given folder or folders.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetByFolder ( guid containerId[, FILES_FOR_PARENT_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid containerId

A single folder ID or an array of IDs specifying the relevant folders

FILES_FOR_PARENT_OPTIONS options

Allows for customising the returned information

Returns

An array of hashes containing file information as discussed below.

Variant 2

Files.GetByFolder ( guid[] containerIds[, FILES_FOR_PARENT_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] containerIds

A single folder ID or an array of IDs specifying the relevant folders

FILES_FOR_PARENT_OPTIONS options

Allows for customising the returned information

Returns

An array of hashes containing file information as discussed below.

top

Gets details for the specified derivative.

Not audit-logged

Files.GetDerivativeDetails ( guid derivativeId )

Type and Name Description Required Rights

guid derivativeId

The derivative

Returns

Details about the derivative

top

Retrieve information and thumbnail details for a particular file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetDetails ( guid assetId[, FILE_DETAILS_OPTIONS fields = NULL] )

Type and Name Description Required Rights

guid assetId

The file(s) to query

FILE_DETAILS_OPTIONS fields

Optionally used to configure the returned information

Returns

A hash of details about the file

Variant 2

Files.GetDetails ( guid[] assetIds[, FILE_DETAILS_OPTIONS fields = NULL] )

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

FILE_DETAILS_OPTIONS fields

Optionally used to configure the returned information

Returns

A hash of details about the file

top

Returns the details of the shares, links and collections that the supplied file, or array thereof, is directly included.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetDirectShareDetails ( guid fileId )

Type and Name Description Required Rights

guid fileId

ID or GUIDs of files for which to get the details.

Returns

Variant 2

Files.GetDirectShareDetails ( guid[] fileIds )

Type and Name Description Required Rights

guid[] fileIds

ID or GUIDs of files for which to get the details.

Returns

top

top

Get EXIF data embedded in one or more files

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetExifData ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The files to load

Returns

string[]

A hash of field->value per asset

Variant 2

Files.GetExifData ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The files to load

Returns

string[][]

A hash of field->value per asset

top

Get details about the folder containing a file

Not audit-logged

Files.GetFolderDetails ( guid assetId )

Type and Name Description Required Rights

guid assetId

The ID of the file

Returns

Details about the folder. This contains the the same keys as a call to Folders.GetFolderDetails

top

Get asset GUIDs from supplied filename. Valid containers are folders, smart folders, collections and recycle bin.

Not audit-logged

Files.GetGuidsByFilename ( string filename[, guid containerId = NULL] )

string[]

Type and Name Description Required Rights

string filename

The name of the file

guid containerId

Optional container ID. Folders will be searched if unset

Returns

string[]

An array of GUIDs of matching files

top

Get an array of notes associated with the supplied file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetHistoryNotes ( guid assetId )

Type and Name Description Required Rights

guid assetId

The file(s) to query

Returns

A list of notes for each file

Variant 2

Files.GetHistoryNotes ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

Returns

A list of notes for each file

top

Get asset IDs from supplied filename. Valid containers are folders, smart folders, collections and recycle bin.

Not audit-logged

Files.GetIdsByFilename ( string filename[, guid containerId = NULL] )

int[]

Type and Name Description Required Rights

string filename

The name of the file

guid containerId

Optional container ID. Folders will be searched if unset

Returns

int[]

An array of matching files

top

Gets the Incoming Attachment Collection for the specified files. If the Incoming Attachment Collection doesn't already exist, then it will be automatically created.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetIncomingAttachmentCollection ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files for which to get the Attachment Collections.

  • viewAttachments

Returns

Details of the Incoming Attachment Collection, keyed by the supplied ID or GUID.

Variant 2

Files.GetIncomingAttachmentCollection ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The files for which to get the Attachment Collections.

  • viewAttachments

Returns

Details of the Incoming Attachment Collection, keyed by the supplied ID or GUID.

top

top

Get details about the file and folder to which a link relates.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetLinkDetails ( guid linkId[, FILE_LINK_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid linkId

The ID, or an array of IDs of the file link for which to retrieve details

FILE_LINK_DETAILS_OPTIONS options

An optional hash of options as passed to file or folder details calls.

Returns

A hash containing keys as below

Variant 2

Files.GetLinkDetails ( guid[] linkIds[, FILE_LINK_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] linkIds

The ID, or an array of IDs of the file link for which to retrieve details

FILE_LINK_DETAILS_OPTIONS options

An optional hash of options as passed to file or folder details calls.

Returns

A hash containing keys as below

top

Get the file links within one or more folders (this would apply to collections, smartfolders or search containers rather than regulr folders, which contain the files themselves rather than links).

This is an alias of Folders.GetLinksForParent

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetLinksForParent ( guid containerId )

Type and Name Description Required Rights

guid containerId

The folders to query

Returns

A list of details for each folder

Variant 2

Files.GetLinksForParent ( guid[] containerIds )

Type and Name Description Required Rights

guid[] containerIds

The folders to query

Returns

A list of details for each folder

top

Gets location data information for a set of files. This is intended to be used for plotting on a map.

Files which do not have location data will be ignored.

In addition to the coordinates for each file, the centre point of the set is included. This is intended to assist in setting up a map view which displays all the points at the best scale.

Not audit-logged

Files.GetLocationDetails ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The file for which to get details

Returns

top

Gets the metadata for a file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetMetadata ( guid assetId[, GET_METADATA_OPTIONS options = NULL] )

METADATA_INHERIT_INFO[][]|string[][]

Type and Name Description Required Rights

guid assetId

The files to get metadata for

GET_METADATA_OPTIONS options

Allows configuration of the returned hash.

Returns

METADATA_INHERIT_INFO[][]|string[][]

Keyed by file GUID, field and then a flat array of the items for each field-item

Variant 2

Files.GetMetadata ( guid[] assetIds[, GET_METADATA_OPTIONS options = NULL] )

METADATA_INHERIT_INFO[][][]|string[][][]

Type and Name Description Required Rights

guid[] assetIds

The files to get metadata for

GET_METADATA_OPTIONS options

Allows configuration of the returned hash.

Returns

METADATA_INHERIT_INFO[][][]|string[][][]

Keyed by file GUID, field and then a flat array of the items for each field-item

top

Get the combined list of the GUIDs of inherited and local metadata panels for the supplied files

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetMetadataPanelGUIDs ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The id, or array thereof, of the files of which to get the metadata panels.

Returns

string[]

An array of the GUIDs of the panels or, if an array of file ids was supplied, the panel GUIDs hashed by folder id.

Variant 2

Files.GetMetadataPanelGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The id, or array thereof, of the files of which to get the metadata panels.

Returns

string[][]

An array of the GUIDs of the panels or, if an array of file ids was supplied, the panel GUIDs hashed by folder id.

top

Get the combined list of the IDs of inherited and local metadata panels for the supplied files

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetMetadataPanelIDs ( guid assetId )

int[]

Type and Name Description Required Rights

guid assetId

The id, or array thereof, of the files of which to get the metadata panels.

Returns

int[]

An array of the ids of the panels or, if an array of file ids was supplied, the panel ids hashed by folder id.

Variant 2

Files.GetMetadataPanelIDs ( guid[] assetIds )

int[][]

Type and Name Description Required Rights

guid[] assetIds

The id, or array thereof, of the files of which to get the metadata panels.

Returns

int[][]

An array of the ids of the panels or, if an array of file ids was supplied, the panel ids hashed by folder id.

top

Get the panels set on the specified files.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetMetadataPanels ( guid fileId[, bool useUserCustomOrder = false] )

Type and Name Description Required Rights

guid fileId

IDs for the files for which to get the metadata panels.

bool useUserCustomOrder

Indicates that whether to use the user's custom order. Has no effect without the panelordering module enabled.

Returns

Variant 2

Files.GetMetadataPanels ( guid[] fileIds[, bool useUserCustomOrder = false] )

Type and Name Description Required Rights

guid[] fileIds

IDs for the files for which to get the metadata panels.

bool useUserCustomOrder

Indicates that whether to use the user's custom order. Has no effect without the panelordering module enabled.

Returns

top

Gets the Outgoing Attachment Collection for the specified files. If the Outgoing Attachment Collection doesn't already exist, then it will be automatically created.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetOutgoingAttachmentCollection ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files for which to get the Attachment Collections.

  • viewAttachments

Returns

Details of the Outgoing Attachment Collection, keyed by the supplied ID or GUID.

Variant 2

Files.GetOutgoingAttachmentCollection ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The files for which to get the Attachment Collections.

  • viewAttachments

Returns

Details of the Outgoing Attachment Collection, keyed by the supplied ID or GUID.

top

Get page details for one or more files.

This is useful in conjunction with requesting base file details with few/no pages.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetPageDetails ( guid assetId[, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid assetId

Files to get page details

FILE_DETAILS_OPTIONS options

Parameters for the get.

Returns

Variant 2

Files.GetPageDetails ( guid[] assetIds[, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] assetIds

Files to get page details

FILE_DETAILS_OPTIONS options

Parameters for the get.

Returns

top

Get the largest allowed preview for the given asset, optionally at a specific revision. If no revision is supplied, then currently active revision is assumed.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetPreview ( guid assetId[, int[] revision = NULL] )

Type and Name Description Required Rights

guid assetId

The id of the asset to get the preview for

int[] revision

Optionally the revision number

Returns

Variant 2

Files.GetPreview ( guid[] assetIds[, int[] revision = NULL] )

Type and Name Description Required Rights

guid[] assetIds

The id of the asset to get the preview for

int[] revision

Optionally the revision number

Returns

top

Retrieve information and thumbnail details for a particular revision of a file.

Not audit-logged

Files.GetRevisionDetails ( guid assetId[, int revision = NULL][, REVISION_DETAILS_OPTIONS fields = NULL] )

Type and Name Description Required Rights

guid assetId

The file to query

int revision

Optional revision number. If not specified, the active revision is returned

REVISION_DETAILS_OPTIONS fields

Optionally used to specify whether to also return metadata file information

Returns

A hash of details about the file

top

Get the IDs of files that are deemed similar to the supplied file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetSimilarImageIds ( guid assetId )

int[]

Type and Name Description Required Rights

guid assetId

TThe file(s) to query

Returns

int[]

An array of IDs of files similar to each supplied file

Variant 2

Files.GetSimilarImageIds ( guid[] assetIds )

int[][]

Type and Name Description Required Rights

guid[] assetIds

TThe file(s) to query

Returns

int[][]

An array of IDs of files similar to each supplied file

top

Get the GUIDs of files that are deemed similar to the supplied file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetSimilarImages ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The file(s) to query

Returns

string[]

An array of GUIDs of files similar to each supplied file

Variant 2

Files.GetSimilarImages ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

Returns

string[][]

An array of GUIDs of files similar to each supplied file

top

Gets statistics for the specified asset.

Not audit-logged

Files.GetStatistics ( guid assetId )

Type and Name Description Required Rights

guid assetId

The asset

Returns

Statistics for the asset

top

Get the URLs of video/audio streams

Given one or more IDs of video/audio assets, returns for each the URLs of stream resources.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetStreamDetails ( guid assetId )

Type and Name Description Required Rights

guid assetId

The file(s) to query

Returns

Variant 2

Files.GetStreamDetails ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

Returns

top

Get the state of readiness of video/audio streams

Only applicable to video/audio files - this will return the overall progress of creating preview streams as well as the individual status of each. The various streams are in different formats to support the assorted browser/OS combination support.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetStreamStatus ( guid assetId )

Type and Name Description Required Rights

guid assetId

The file(s) to query

Returns

A hash of details about overal creation state and per-stream status

Variant 2

Files.GetStreamStatus ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

Returns

A hash of details about overal creation state and per-stream status

top

Get a URL to and dimensions for a thumbnail for the specified asset(s). The thumbnail URL contains a preauthenticated token, so it can be requested without a cookie or other authentication header, but is only valid for a limited period of time, so it is safe to display immediately or cache for a short period of time (e.g. 1hr) but not to store indefinitely.

This behaves the same as the optional thumbnail details in asset details objects.

Thumbnails are scaled to fit within the rectangle of the specified dimensions, hence returning the actual dimensions of the output image in the response.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetThumbDetails ( guid assetId[, THUMB_SIZE thumbsize = '1200x800'] )

Type and Name Description Required Rights

guid assetId

The file for which to get thumbnail details

THUMB_SIZE thumbsize

Desired dimension bounds for the thumbnail

Returns

The URL and dimensions of the requested thumbnail(s)

Variant 2

Files.GetThumbDetails ( guid[] assetIds[, THUMB_SIZE thumbsize = '1200x800'] )

Type and Name Description Required Rights

guid[] assetIds

The file for which to get thumbnail details

THUMB_SIZE thumbsize

Desired dimension bounds for the thumbnail

Returns

The URL and dimensions of the requested thumbnail(s)

top

Get a blurred thumbnail for the specified asset(s), ideal for use as a background. The image at the returned URL has a blur effect applied with approximate radius 5%. As these are blurred, they are not subject to watermarking.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetThumbDetailsBlurred ( guid assetId[, THUMB_SIZE thumbsize = '1200x800'] )

Type and Name Description Required Rights

guid assetId

The file for which to get thumbnail details

THUMB_SIZE thumbsize

Desired dimension bounds for the thumbnail

Returns

The URL and dimensions of the requested thumbnail(s)

Variant 2

Files.GetThumbDetailsBlurred ( guid[] assetIds[, THUMB_SIZE thumbsize = '1200x800'] )

Type and Name Description Required Rights

guid[] assetIds

The file for which to get thumbnail details

THUMB_SIZE thumbsize

Desired dimension bounds for the thumbnail

Returns

The URL and dimensions of the requested thumbnail(s)

top

Gets thumbnail details for each non-deleted revision for an asset at the given thumbsize.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.GetThumbDetailsForRevisions ( guid assetId[, THUMB_SIZE thumbsize = '1200x800'] )

Type and Name Description Required Rights

guid assetId

The file for which to get thumbnail details

THUMB_SIZE thumbsize

Desired dimension bounds for the thumbnail

Returns

A hash with an entry for each revision keyed by revision number

Variant 2

Files.GetThumbDetailsForRevisions ( guid[] assetIds[, THUMB_SIZE thumbsize = '1200x800'] )

Type and Name Description Required Rights

guid[] assetIds

The file for which to get thumbnail details

THUMB_SIZE thumbsize

Desired dimension bounds for the thumbnail

Returns

A hash with an entry for each revision keyed by revision number

top

Log embed link copy

An audit-log entry of type `FILE` will be created for this action

Files.LogEmbedLinkCopied ( guid[] assetIds )

void

Type and Name Description Required Rights

guid[] assetIds

The file which the embed is for

  • publish

Returns

void

top

Log that a Direct Link has been used/copied

This is advisory, and increments the LINK_COPIED numeric asset state. It is then used as a hint to prevent inadvertent revocation

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.LogLinkCopied ( guid assetId )

Type and Name Description Required Rights

guid assetId

The file(s) to get

  • publish

Returns

Variant 2

Files.LogLinkCopied ( guid[] assetIds )

void

Type and Name Description Required Rights

guid[] assetIds

The file(s) to get

  • publish

Returns

void

top

Move a file to a different folder

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.Move ( guid assetId, guid destinationId )

Type and Name Description Required Rights

guid assetId

The file(s) to move

  • delete

guid destinationId

The folder to move the files to

Returns

Variant 2

Files.Move ( guid[] assetIds, guid destinationId )

void

Type and Name Description Required Rights

guid[] assetIds

The file(s) to move

  • delete

guid destinationId

The folder to move the files to

Returns

void

top

top

Creates a derivative from the specified files.

An audit-log entry of type `FILE` will be created for this action

Files.MultiCreateDerivative ( guid[] assetIds, DERIVATIVE_DETAILS[] derivativeDetails[, FILE_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] assetIds

The files to create derivatives from

  • createDerivative

DERIVATIVE_DETAILS[] derivativeDetails

A hash of derivative details for the requested output.

FILE_DETAILS_OPTIONS options

Options to configure the returned details

Returns

A hash of details about the newly created derivatives

top

Get all the files for a given parent folder.

Not audit-logged

Files.PublicGetFilesForParent ( guid folderId[, FILES_FOR_PARENT_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid folderId

The ID of the folder to list

FILES_FOR_PARENT_OPTIONS options

Allows for customising the returned information

Returns

top

Send one or more files to the recycle bin

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.Recycle ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files to recycle

  • delete

Returns

Variant 2

Files.Recycle ( guid[] assetIds )

void

Type and Name Description Required Rights

guid[] assetIds

The files to recycle

  • delete

Returns

void

top

Remove files from collection

Files and/or link references may be supplied; the choice is up to the convenience of the caller

An audit-log entry of type `CONTAINER` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.RemoveFromCollection ( guid objContainer, guid[] assetIds )

void

Type and Name Description Required Rights

guid objContainer

The ID of the collection from which to remove files

guid[] assetIds

The file(s) to remove

Returns

void

Variant 2

Files.RemoveFromCollection ( guid objContainer, guid[] linkIds )

void

Type and Name Description Required Rights

guid objContainer

The ID of the collection from which to remove files

guid[] linkIds

A single link ID, or an array of IDs specifying the files to remove

Returns

void

top

top

Updates the metadata on a file by removing a value from a multi-valued field. e.g. this can remove a keyword from a file.

Note that this must be used for multi-valued fields and can not be used on fields like Caption which only support a single string as metadata.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.RemoveMetadata ( guid assetId, guid tagId, string value )

Type and Name Description Required Rights

guid assetId

The file to update

  • edit

guid tagId

The metadata tag to update

string value

The value to be removed

Returns

Variant 2

Files.RemoveMetadata ( guid[] assetIds, guid tagId, string value )

void

Type and Name Description Required Rights

guid[] assetIds

The file to update

  • edit

guid tagId

The metadata tag to update

string value

The value to be removed

Returns

void

top

Request that the thumbnails for a file be re-generated. The regeneration will be performed asynchronously.

This is useful if a temporary condition, or software update, means that a better preview can be created now than was originally possible.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.RequestThumbnailRefresh ( guid assetId )

Type and Name Description Required Rights

guid assetId

The file(s) to query

  • edit

Returns

Variant 2

Files.RequestThumbnailRefresh ( guid[] assetIds )

void

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query

  • edit

Returns

void

top

top

top

Restore a file from the Recycle Bin.

If the file's parent folder has been recycled or deleted then IMS can still restore the file. This behaviour will be determined by the mode parameter as follows:

  • PREVIOUS_FOLDER - Only restore the file if the parent folder exists
  • RESTORE_FOLDERS - Attempt to re-create the parent folder hierarchy for each file
  • LOST_FOUND - Put the file in a "Lost + Found" folder at the top-level of the IMS library
  • RESTOREFOLDERSIF_POSSIBLE - Attempt to re-create the parent folder hierarchy, or fall back to the "Lost + Found" folder if necessary

If mode is RESTOREFOLDERS, then IMS can recreate the folder hierarchy only if the parent folders have not been fully deleted. i.e. if they are in the recycle bin then enough information is available to recreate the hierarchy. If, however, one or more parent folders have been fully deleted then this method will abort. To allow the method to succeed by falling back to the "Lost + Found" folder, use mode = RESTOREFOLDERSIFPOSSIBLE.

If IMS can't restore any one of an array of files, then the whole restore operation is aborted.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.Restore ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files to restore

Returns

Variant 2

Files.Restore ( guid[] assetIds )

void

Type and Name Description Required Rights

guid[] assetIds

The files to restore

Returns

void

top

Restore the supplied disabled links to their owning collection.

An audit-log entry of type `CONTAINER` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.RestoreLinkToCollection ( guid linkId )

Type and Name Description Required Rights

guid linkId

The ID, or an array of IDs of the file link for which to restore to the collection

  • restore

Returns

A hash containing the updated links

Variant 2

Files.RestoreLinkToCollection ( guid[] linkIds )

Type and Name Description Required Rights

guid[] linkIds

The ID, or an array of IDs of the file link for which to restore to the collection

  • restore

Returns

A hash containing the updated links

top

Revoke all shares, publishes, and collection links to files. You must be a manager of the space that contains the original files to do this

In Dry Run mode, this will report on all routes to the files (including shares/publishes via parent Folders and Smart Collections).

In live mode, only removal from direct shares, publishes and collections (as displayed on the file details sharing tab) is supported.

The suggested use is to run in Dry Run mode, and warn based on the response. Possible manual resolutions include sending to the recycle bin or moving to a different folder.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Files.RevokeAll ( guid assetId[, bool dryRun = false] )

Type and Name Description Required Rights

guid assetId

The files to revoke

  • manage

bool dryRun

True to just report on what removals would be required, without performing them.

Returns

Variant 2

Files.RevokeAll ( guid[] assetIds[, bool dryRun = false] )

Type and Name Description Required Rights

guid[] assetIds

The files to revoke

  • manage

bool dryRun

True to just report on what removals would be required, without performing them.

Returns

top

Rotate an original file. Where possible this will be performed losslessly.

When version control is enabled, the rotated file is added as a new revision

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.Rotate ( guid assetId, ROTATE_ANGLE direction )

Type and Name Description Required Rights

guid assetId

The file to rotate

  • edit

ROTATE_ANGLE direction

The direction/amount of rotation to perform

Returns

Variant 2

Files.Rotate ( guid[] assetIds, ROTATE_ANGLE direction )

void

Type and Name Description Required Rights

guid[] assetIds

The file to rotate

  • edit

ROTATE_ANGLE direction

The direction/amount of rotation to perform

Returns

void

top

Updates the filename of a file.

An audit-log entry of type `FILE` will be created for this action

Files.SetFilename ( guid assetId, string filename )

Type and Name Description Required Rights

guid assetId

The file to update

  • edit

string filename

The new filename

Returns

New details for the renamed file

top

Sets all of the metadata on a file at once, given structured data that includes inheritance information This is compatible with that returned from GetMetadata.

An audit-log entry of type `FILE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Files.SetMetadata ( guid assetId[, METADATA_INHERIT_INFO[][][] values = NULL][, SET_METADATA_OPTIONS options = NULL][, string[] fileNames = NULL] )

METADATA_INHERIT_INFO[][]|string[][]

Type and Name Description Required Rights

guid assetId

The files to set metadata on

  • edit

METADATA_INHERIT_INFO[][][] values

The metadata key name of the field to update

SET_METADATA_OPTIONS options

options specifying how the metadata has been supplied.

string[] fileNames

Optionally specify new filename(s) for the file(s)

Returns

METADATA_INHERIT_INFO[][]|string[][]

Keyed by itemID, field and then a flat array of the items for each field-item

Variant 2

Files.SetMetadata ( guid[] assetId[, METADATA_INHERIT_INFO[][][] values = NULL][, SET_METADATA_OPTIONS options = NULL][, string[] fileNames = NULL] )

METADATA_INHERIT_INFO[][][]|string[][][]

Type and Name Description Required Rights

guid[] assetId

The files to set metadata on

  • edit

METADATA_INHERIT_INFO[][][] values

The metadata key name of the field to update

SET_METADATA_OPTIONS options

options specifying how the metadata has been supplied.

string[] fileNames

Optionally specify new filename(s) for the file(s)

Returns

METADATA_INHERIT_INFO[][][]|string[][][]

Keyed by itemID, field and then a flat array of the items for each field-item

top

Allows the image displayed on the thumbnail for movie assets to be set to a specific frame

Not audit-logged

Files.SetPosterFrame ( guid assetId, float seconds )

Type and Name Description Required Rights

guid assetId

The file to change

  • edit

float seconds

The number of seconds into the movie to set as the poster

Returns

The details of the file

top

Updates metadata based on an incoming hash of metadata fields

Unlike SetMetadata, this is only concerned with local values (rather than inheritance behaviour), and is scoped to just modify the fields specified.

An audit-log entry of type `FILE` will be created for this action

Files.UpdateMetadata ( guid assetId, guid[] tagIds, string[][] metadata )

void

Type and Name Description Required Rights

guid assetId

The file to update

  • edit

guid[] tagIds

The metadata tags to update

string[][] metadata

A hash of new metadata, keyed by metadata key name

Returns

void

Folders top

Contents

Details

top

Create a subtree of folders by path.

Path components are / separated. Literal / should be escaped as \/ and \ should be escaped to \\

An audit-log entry of type `CONTAINER` will be created for this action

Folders.BatchCreate ( string[] paths, guid parentId[, string description = NULL][, int folderDate = NULL][, FOLDER_DETAILS_OPTIONS options = NULL][, bool logForRecents = true][, guid batchId = NULL] )

Type and Name Description Required Rights

string[] paths

An array of the (relative) paths to the new folders to create.

guid parentId

The location to create the new folders (may be a folder or a context root)

  • child:upload

string description

Optional description for the new folder

int folderDate

Optional date for the folder, specified as a unix timestamp

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

bool logForRecents

If false, don't count this towards the scoring for the Favourites.

guid batchId

Optionally specificy the batchId of the upload batch the folder is linked to.

Returns

A map keyed by path, with the values the details of the newly created folders

top

Check if the current user can create folders at the top level of the library

Folders.CanCreateTopLevel ( [context context = 'me'] )

bool

Type and Name Description Required Rights

context context

The target context for the new folder

Returns

bool

Whether the user can create new folders at the top level

top

Checks the effect a given functional level change will have a supplied collection.

Folders.CheckChangeFunctionalLevel ( guid|guid collectionId, FUNCTIONAL_LEVEL functionalLevel )

Type and Name Description Required Rights

guid|guid collectionId

The id or guid of the collection of which to check.

  • edit

FUNCTIONAL_LEVEL functionalLevel

The functional level being proposed.

Returns

Details of the effect that the prop

top

Check permission to delete a folder

Getting abilities on a folder will return if the user has delete permission on that object but does not take into account the possibility that they might lack the permission on sub-folders. This makes the extra check to confirm.

Not audit-logged

Folders.CheckDelete ( guid[] folderId[, bool withElevation = NULL] )

Type and Name Description Required Rights

guid[] folderId

A single folder ID or an array of folder IDs specifying the folder(s) to remove

bool withElevation

Whether to consider elevated session status in the test

Returns

Whether the requested delete is possible, if a partial delete is possible, and what objects are blocking it.

top

Checks that the current user can really move the provided folder.

Getting abilities on a folder will return if the user has share permission on that object but does not take into account the possibility that they might lack the permission on sub-folders. This makes the extra check to confirm. If the destination is shared, this also checks that there are no incoming shares in the sub-tree.

Folders.CheckMove ( guid[] folderIds, guid destinationId )

Type and Name Description Required Rights

guid[] folderIds

A single folder ID or an array of folder IDs specifying the folder(s) to move

guid destinationId

The ID of the new parent folder

Returns

Details as to whether the move is allowed, and the reasons that it isn't

top

Check if one or more folders can be sent to the recycle bin

Not audit-logged

Folders.CheckRecycle ( guid[] folderIds )

Type and Name Description Required Rights

guid[] folderIds

The folders to recycle

  • delete

Returns

top

Discover the availability of parent folder hierarchy information before a restore operation.

  • Restorable Objects can be unambiguously restored to their original location
  • RecreateRestorable Objects can be restored to their previous path, by recreating one or more folders
  • HomeRestorable Objects no longer have a restore destination, and can only be restored to the caller's home folder
  • NonRestorable Objects cannot be restored - since they are not in a recycle bin to begin with

Folders.CheckRestore ( guid[] folderIds )

Type and Name Description Required Rights

guid[] folderIds

The folders to restore

Returns

Details as to whether the restore is allowed, and the reasons that it isn't

top

Create a new folder under a particular parent folder. To create a top level folder, specify 0 (zero) or omit the parent ID.

An audit-log entry of type `CONTAINER` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Folders.CreateFolder ( mixed type, string name[, string parentId = NULL][, string description = NULL][, int folderDate = NULL][, FOLDER_DETAILS_OPTIONS options = NULL][, FOLDER_SEARCH_OPTIONS searchOptions = NULL][, hash[] searchParams = NULL][, string guid = NULL][, bool logForRecents = true][, FUNCTIONAL_LEVEL functionalLevel = NULL] )

Type and Name Description Required Rights

mixed type

The folder type for the new folder

string name

The name of the new folder

string parentId

ID of the intended parent folder

string description

Optional description for the new folder

int folderDate

Optional date for the folder, specified as a unix timestamp

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

FOLDER_SEARCH_OPTIONS searchOptions

Allows for customising the search options used if the folder type is a Smart Collection

hash[] searchParams

for smartfolders, an array of search parameters - see Search Parameters

string guid

Optionally specify the GUID for the new folder

bool logForRecents

If false, don't count this towards the scoring for the Favourites.

FUNCTIONAL_LEVEL functionalLevel

For Smart Collections, this is the initial Functional Level to use. Default is view only.

Returns

Variant 2

Folders.CreateFolder ( mixed type, string name[, string description = NULL][, int folderDate = NULL][, FOLDER_DETAILS_OPTIONS options = NULL][, FOLDER_SEARCH_OPTIONS searchOptions = NULL][, hash[] searchParams = NULL][, context context = NULL][, string guid = NULL][, bool logForRecents = true][, FUNCTIONAL_LEVEL functionalLevel = NULL] )

Type and Name Description Required Rights

mixed type

The folder type for the new folder

string name

The name of the new folder

string description

Optional description for the new folder

int folderDate

Optional date for the folder, specified as a unix timestamp

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

FOLDER_SEARCH_OPTIONS searchOptions

Allows for customising the search options used if the folder type is a Smart Collection

hash[] searchParams

for smartfolders, an array of search parameters - see Search Parameters

context context

The root context under which to create the new folder

string guid

Optionally specify the GUID for the new folder

bool logForRecents

If false, don't count this towards the scoring for the Favourites.

FUNCTIONAL_LEVEL functionalLevel

For Smart Collections, this is the initial Functional Level to use. Default is view only.

Returns

top

Create a new folder in a specified context.

An audit-log entry of type `CONTAINER` will be created for this action

Folders.CreateFolderInContext ( mixed type, string name, context context[, string description = NULL][, int folderDate = NULL][, FOLDER_DETAILS_OPTIONS options = NULL][, FOLDER_SEARCH_OPTIONS searchOptions = NULL][, hash[] searchParams = NULL][, string guid = NULL][, bool logForRecents = true][, FUNCTIONAL_LEVEL functionalLevel = NULL] )

Type and Name Description Required Rights

mixed type

The folder type for the new folder

string name

The name of the new folder

context context

The root context under which to create the new folder

string description

Optional description for the new folder

int folderDate

Optional date for the folder, specified as a unix timestamp

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

FOLDER_SEARCH_OPTIONS searchOptions

Allows for customising the search options used if the folder type is a Smart Collection

hash[] searchParams

for smartfolders, an array of search parameters - see Search Parameters

string guid

Optionally specify the GUID for the new folder

bool logForRecents

If false, don't count this towards the scoring for the Favourites.

FUNCTIONAL_LEVEL functionalLevel

For Smart Collections, this is the initial Functional Level to use. Default is view only.

Returns

top

Recursively construct a folder path below a specified parent folder ID. To construct a path from the top level, specify 0 (zero) or omit the parent ID.

Path components are / separated. Literal / should be escaped as \/ and \ should be escaped to \\

Variant Information: This method has 2 variants.
Variant 1

Folders.CreateFolderPath ( string folderPath[, context context = NULL][, mixed type = NULL][, string description = NULL][, int folderDate = NULL][, FOLDER_DETAILS_OPTIONS options = NULL][, FOLDER_SEARCH_OPTIONS searchOptions = NULL][, hash[] searchParams = NULL][, bool forceCreate = false][, string guid = NULL][, bool logForRecents = true][, FUNCTIONAL_LEVEL functionalLevel = NULL] )

Type and Name Description Required Rights

string folderPath

The name of the new folder

context context

The context in which to search

mixed type

The folder type for the new folder. Not required if a parentId is specified, otherwise defaults to "folder"

string description

Optional description for the new folder

int folderDate

Optional date for the folder, specified as a unix timestamp

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

FOLDER_SEARCH_OPTIONS searchOptions

Allows for customising the search options used if the folder type is a Smart Collection

hash[] searchParams

for smartfolders, an array of search parameters - see Search Parameters

bool forceCreate

Create at least one new folder, even if the path requested already exists

string guid

Optionally specify the GUID for the [newly created] final path component

bool logForRecents

If false, don't count this towards the scoring for the Favourites.

FUNCTIONAL_LEVEL functionalLevel

For Smart Collections, this is the initial Functional Level to use. Default is view only.

Returns

Variant 2

Folders.CreateFolderPath ( string folderPath[, mixed type = NULL][, string parentId = NULL][, string description = NULL][, int folderDate = NULL][, FOLDER_DETAILS_OPTIONS options = NULL][, FOLDER_SEARCH_OPTIONS searchOptions = NULL][, hash[] searchParams = NULL][, bool forceCreate = false][, string guid = NULL][, bool logForRecents = true][, FUNCTIONAL_LEVEL functionalLevel = NULL] )

Type and Name Description Required Rights

string folderPath

The name of the new folder

mixed type

The folder type for the new folder. Not required if a parentId is specified, otherwise defaults to "folder"

string parentId

ID of the intended parent folder

string description

Optional description for the new folder

int folderDate

Optional date for the folder, specified as a unix timestamp

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

FOLDER_SEARCH_OPTIONS searchOptions

Allows for customising the search options used if the folder type is a Smart Collection

hash[] searchParams

for smartfolders, an array of search parameters - see Search Parameters

bool forceCreate

Create at least one new folder, even if the path requested already exists

string guid

Optionally specify the GUID for the [newly created] final path component

bool logForRecents

If false, don't count this towards the scoring for the Favourites.

FUNCTIONAL_LEVEL functionalLevel

For Smart Collections, this is the initial Functional Level to use. Default is view only.

Returns

top

Delete a folder from the recycle bin.

The method accepts a single folder or an array of folders.

This folder will be permanently deleted. If you want to move a folder into the recycling bin, use Folders.Recycle()

An audit-log entry of type `CONTAINER` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Folders.Delete ( guid folderId )

Type and Name Description Required Rights

guid folderId

A single folder ID or an array of folder IDs specifying the folder(s) to remove

Returns

Variant 2

Folders.Delete ( guid[] folderId )

void

Type and Name Description Required Rights

guid[] folderId

A single folder ID or an array of folder IDs specifying the folder(s) to remove

Returns

void

top

Get a full folder listing for a given group This provides summary details, for use in batch editing, and includes folders not visible in a browsing context (but the user must be a group admin)

Folders.FolderStructureForGroup ( guid groupId )

Type and Name Description Required Rights

guid groupId

the ID or GUID of the group for which to get a full folder structure

  • manage

Returns

top

Gets details of a path to a specifed folder Id. i.e. given a folder, construct a path from the root to this folder. This may mean finding a route through smart folders or shared folders.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetAccessiblePathForFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

The ID/GUID of the folder to query

Returns

Variant 2

Folders.GetAccessiblePathForFolder ( guid[] folderId )

Type and Name Description Required Rights

guid[] folderId

The ID/GUID of the folder to query

Returns

top

top

Returns the details of the shares, links and collections that the supplied folder, or array thereof, is included. This includes any shares which include an ancestor folder.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetAllShareDetails ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID or GUIDs of folders for which to get the details.

Returns

Variant 2

Folders.GetAllShareDetails ( guid[] folderIds )

Type and Name Description Required Rights

guid[] folderIds

ID or GUIDs of folders for which to get the details.

Returns

top

Gets all the container links found in a given Folder.

Not audit-logged

Folders.GetContainerLinksForParent ( guid containerId )

Type and Name Description Required Rights

guid containerId

A folder ID to find links within.

  • child:view

Returns

An array of hashes for each container link found.

top

Get all the sub folders for a given parent folder.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetContainersForParent ( [guid containerId = NULL][, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid containerId

The ID of the folder to list

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

Returns

Variant 2

Folders.GetContainersForParent ( [guid[] containerId = NULL][, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] containerId

The ID of the folder to list

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

Returns

top

Returns the custom order that has been set for supplied folder, and whether it can be reset.

For usage of metadata panels, you should use Folders.GetMetadataPanels() and Files.GetMetadataPanels() when getting the panels for usage.

Not audit-logged

Folders.GetCustomMetadataPanelOrder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID or GUID of the folder to get custom panel order.

Returns

top

Returns the details of the shares, links and collections that the supplied folder, or array thereof, is directly included.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetDirectShareDetails ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID or GUIDs of folders for which to get the details.

Returns

Variant 2

Folders.GetDirectShareDetails ( guid[] folderIds )

Type and Name Description Required Rights

guid[] folderIds

ID or GUIDs of folders for which to get the details.

Returns

top

Get the ID of a folder at the given path.

folderPath is a path to the desired folder, taking the form "Folder/SubFolder/SubSubFolder".

Not audit-logged

Folders.GetFolderByPath ( string folderPath[, context context = 'me'][, mixed type = 'FOLDER'][, bool createIfNecessary = false][, hash options = NULL] )

Type and Name Description Required Rights

string folderPath

The path of the folder

context context

The context in which to search

  • child:view

mixed type

the Folder Type to be found

bool createIfNecessary

optionally create the path if it does not exist

hash options

Allows for customising the returned information in Folder Details

Returns

top

Retrieves details of container GUIDs. The container can be a folder, collection or Smart Collection as well as other containers like the recycle bin or shares. For details of the container type returned, see FolderDetails. The container's details, including its name, description, owner, dates and context will be returned.

Contexts: - me—this represents the currently authenticated user's Private Space, - group{numeric-identifier}—this represents a Space. The {numeric-identifier} is an internal identifier. If you require an id for a given Space, then use the context from the Space's details, - user{numeric-identifier}—this represents another user in the system. The {numeric-identifier} is an internal identifier. If you require an id for a given user, then use the context from the User's details.

@param

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetFolderDetails ( guid folderId[, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid folderId

The GUIDs/IDs of the folders to get

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

Returns

Variant 2

Folders.GetFolderDetails ( guid[] folderIds[, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] folderIds

The GUIDs/IDs of the folders to get

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

Returns

top

Get the path to a given folder.

The returned array contains Folder Details hashes

Not audit-logged

Folders.GetFolderPath ( int folderId[, hash options = NULL] )

Type and Name Description Required Rights

int folderId

The ID of the folder

hash options

Allows for customising the returned information in Folder Details

Returns

top

Find folders based on name, description and/or date properties.

The properties parameter supports keys as follows:

  • type - Folder Type (Required)
  • name - Name of folder
  • description - Description of folder
  • date - user specified date as configured on folder options
  • creationdate - the date on which the folder was created
  • lastchangeddate - the date on which any property of the folder last changed

Dates should be specified as a unix timestamp but only the date portion will be matched. i.e. the time portion will be ignored. If multiple properties are specified, then all properties must match for folders to be returned.

Not audit-logged

Folders.GetFoldersByProperty ( hash properties[, hash options = NULL] )

Type and Name Description Required Rights

hash properties

Properties of interest

hash options

Allows for customising the returned information in Folder Details

Returns

top

Get a folder's file or folder links grouped by the location of the original. On a folder type which doesn't contain links (e.g. a normal Folder), this call will not return any contents.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetGroupedContents ( guid folderId )

Type and Name Description Required Rights

guid folderId

The ID or GUID of the folder of which to return grouped contents.

Returns

Variant 2

Folders.GetGroupedContents ( guid[] folderIds )

Type and Name Description Required Rights

guid[] folderIds

The ID or GUID of the folder of which to return grouped contents.

Returns

top

Get the file links within one or more folders.

If an array of folder IDs was specified, the return hash will be wrapped in a hash keyed by folder ID

This is an alias of Files.GetLinksForParent

Returned hash subkeys

  • id - The ID of the file link
  • linkedFileId - The IMS File Reference of the linked file
  • parentId - The ID of the folder from which it is linked (this is for compatibility with Files.GetLinkDetails)
Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetLinksForParent ( guid containerId )

Type and Name Description Required Rights

guid containerId

A folder ID or an array of folder IDs

Returns

Keyed by link ID

Variant 2

Folders.GetLinksForParent ( guid[] containerId )

Type and Name Description Required Rights

guid[] containerId

A folder ID or an array of folder IDs

Returns

Keyed by link ID

top

Get the Metadata Panels defined on this folder - these will be inherited by child folders.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetLocalMetadataPanelGUIDs ( guid folderId )

string[]

Type and Name Description Required Rights

guid folderId

The id, or array thereof, of the folders of which to get the local panels.

Returns

string[]

The GUIDs of the panels locally attached

Variant 2

Folders.GetLocalMetadataPanelGUIDs ( guid[] folderId )

string[][]

Type and Name Description Required Rights

guid[] folderId

The id, or array thereof, of the folders of which to get the local panels.

Returns

string[][]

The GUIDs of the panels locally attached

top

Get the Metadata Panels defined on this folder - these will be inherited by child folders.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetLocalMetadataPanelIDs ( guid folderId )

int[]

Type and Name Description Required Rights

guid folderId

The id, or array thereof, of the folders of which to get the local panels.

Returns

int[]

The IDs of the panels locally attached

Variant 2

Folders.GetLocalMetadataPanelIDs ( guid[] folderId )

int[][]

Type and Name Description Required Rights

guid[] folderId

The id, or array thereof, of the folders of which to get the local panels.

Returns

int[][]

The IDs of the panels locally attached

top

Gets the metadata for a folder

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetMetadata ( guid folderId[, GET_METADATA_OPTIONS options = NULL][, int metadataRevision = NULL] )

METADATA_INHERIT_INFO[][]|string[][]

Type and Name Description Required Rights

guid folderId

The ID of the folder to get metadata for

GET_METADATA_OPTIONS options

Allows configuration of the returned hash. Set the "hashByFieldId" key to true to hash the returned

int metadataRevision

Allows specifying the metadata revision to get. Only supported when a single itemId is specified.

Returns

METADATA_INHERIT_INFO[][]|string[][]

Keyed by itemID, field and then a flat array of the items for each field-item

Variant 2

Folders.GetMetadata ( guid[] folderId[, GET_METADATA_OPTIONS options = NULL][, int metadataRevision = NULL] )

METADATA_INHERIT_INFO[][][]|string[][][]

Type and Name Description Required Rights

guid[] folderId

The ID of the folder to get metadata for

GET_METADATA_OPTIONS options

Allows configuration of the returned hash. Set the "hashByFieldId" key to true to hash the returned

int metadataRevision

Allows specifying the metadata revision to get. Only supported when a single itemId is specified.

Returns

METADATA_INHERIT_INFO[][][]|string[][][]

Keyed by itemID, field and then a flat array of the items for each field-item

top

Get the combined list of inherited and local metadata panels for the supplied folders

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetMetadataPanelGUIDs ( guid folderId )

string[]

Type and Name Description Required Rights

guid folderId

The id, or array thereof, of the folders of which to get the metadata panels.

Returns

string[]

The GUIDs of all panels in use on this folder

Variant 2

Folders.GetMetadataPanelGUIDs ( guid[] folderId )

string[][]

Type and Name Description Required Rights

guid[] folderId

The id, or array thereof, of the folders of which to get the metadata panels.

Returns

string[][]

The GUIDs of all panels in use on this folder

top

Get the combined list of inherited and local metadata panels for the supplied folders

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetMetadataPanelIDs ( guid folderId )

int[]

Type and Name Description Required Rights

guid folderId

The id, or array thereof, of the folders of which to get the metadata panels.

Returns

int[]

The IDs of all panels in use on this folder

Variant 2

Folders.GetMetadataPanelIDs ( guid[] folderId )

int[][]

Type and Name Description Required Rights

guid[] folderId

The id, or array thereof, of the folders of which to get the metadata panels.

Returns

int[][]

The IDs of all panels in use on this folder

top

Get the panels set on the specified folders.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetMetadataPanels ( guid folderId[, bool useUserCustomOrder = false] )

Type and Name Description Required Rights

guid folderId

IDs for the folders for which to get the metadata panels.

bool useUserCustomOrder

Indicates that whether to use the user's custom order. Has no effect without the panelordering module enabled.

Returns

Variant 2

Folders.GetMetadataPanels ( guid[] folderIds[, bool useUserCustomOrder = false] )

Type and Name Description Required Rights

guid[] folderIds

IDs for the folders for which to get the metadata panels.

bool useUserCustomOrder

Indicates that whether to use the user's custom order. Has no effect without the panelordering module enabled.

Returns

top

Get up to nine thumbnails for a folder. The returned thumbnails will be consistent until such time as one or more becomes invalid. If fewer than nine are available, the returned thumbnails will change when new files are moved under the folder. If possible, 9 files from this folder will be returned. If fewer than nine are available then subfolders will be considered.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetMultiThumbnail ( guid folderId[, THUMB_SIZE thumbsize = 'MEDIUM'] )

Type and Name Description Required Rights

guid folderId

The folder ID or array of such for which to get thumbnail information

THUMB_SIZE thumbsize

Desired thumbnail size

Returns

Variant 2

Folders.GetMultiThumbnail ( guid[] folderId[, THUMB_SIZE thumbsize = 'MEDIUM'] )

Type and Name Description Required Rights

guid[] folderId

The folder ID or array of such for which to get thumbnail information

THUMB_SIZE thumbsize

Desired thumbnail size

Returns

top

Get the combined list of subfolders, folder links, files and file links, sorted according to sortInfo

The sortInfo hashes take two keys as follows:

  • field - Required - The field to sort on, in the same syntax accepted by search (e.g. ims:reference_number or meta:keywords)
  • direction - Accepts values ASC or DESC to describe the sort direction. Defaults to ASC.
Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Folders.GetSortedChildren ( guid folderId, mixed sortInfo[, SORTED_CHILDREN_OPTIONS options = NULL][, guid forGroup = NULL] )

Type and Name Description Required Rights

guid folderId

The id, or array thereof, of the folders of which to get the contents

mixed sortInfo

A hash or array of hashes describing the sort to perform.

SORTED_CHILDREN_OPTIONS options

Options controlling the specifics of the response.

guid forGroup

Optionall filter the results to those visible to a specified group. Used for getting options for Smart Collection roots.

  • manage

Returns

Variant 2

Folders.GetSortedChildren ( guid[] folderId, mixed sortInfo[, SORTED_CHILDREN_OPTIONS options = NULL][, guid forGroup = NULL] )

Type and Name Description Required Rights

guid[] folderId

The id, or array thereof, of the folders of which to get the contents

mixed sortInfo

A hash or array of hashes describing the sort to perform.

SORTED_CHILDREN_OPTIONS options

Options controlling the specifics of the response.

guid forGroup

Optionall filter the results to those visible to a specified group. Used for getting options for Smart Collection roots.

  • manage

Returns

top

Get all the folders at the top level of the library that are visible to the current user.

Not audit-logged

Folders.GetTopLevelAlbums ( [hash options = NULL] )

Type and Name Description Required Rights

hash options

Allows for customising the returned information in Folder Details

Returns

top

top

Get all the folders at the top level of the library that are visible to the current user.

Not audit-logged

Folders.GetTopLevelFolders ( [context context = 'me'][, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

context context

The browse context for which you are requesting the folders. If not set, it defaults to the top, which is "me".

  • child:view

FOLDER_DETAILS_OPTIONS options

Allows for customising the returned information in Folder Details

Returns

top

Change the parent folder of a given folder of folders. To move to the top level, specify the ID of the backing container for the context in question

Folders.Move ( guid[] folderId, guid destinationId[, bool upgradeFunctionalLevels = false] )

void

Type and Name Description Required Rights

guid[] folderId

A single ID or array of IDs specifying the folder(s) to move

guid destinationId

The ID of the new parent folder

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a non-Publish Functional Level is encountered then upgrade the Functional Level to SHARE.

Returns

void

top

Retrieves a list of the sub-containers in the container, specified by its GUID. Note that this method does not return any lower sub-containers, so you will typically use it recursively.

Not audit-logged

Folders.PublicGetFoldersForParent ( guid folderId )

Type and Name Description Required Rights

guid folderId

The ID of the folder to list

Returns

top

Recycle a folder.

An audit-log entry of type `CONTAINER` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Folders.Recycle ( guid folderId )

Type and Name Description Required Rights

guid folderId

A single folder ID or an array of folder IDs specifying the folder(s) to remove

  • delete

Returns

Variant 2

Folders.Recycle ( guid[] folderIds )

void

Type and Name Description Required Rights

guid[] folderIds

A single folder ID or an array of folder IDs specifying the folder(s) to remove

  • delete

Returns

void

top

Request that the thumbnails for a folder be re-generated. The regeneration will be performed asynchronously.

Variant Information: This method has 2 variants.
Variant 1

Folders.RequestThumbnailRefresh ( guid folderId )

Type and Name Description Required Rights

guid folderId

The id of the folder(s) - specify as an int or an array of ints

  • edit

Returns

Variant 2

Folders.RequestThumbnailRefresh ( guid[] folderId )

void

Type and Name Description Required Rights

guid[] folderId

The id of the folder(s) - specify as an int or an array of ints

  • edit

Returns

void

top

Resets a user's custom panel order for a folder.

Folders.ResetCustomMetadataPanelOrder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID or GUID of the folder to set a custom panel order.

Returns

top

Restore a folder from the Recycle Bin.

If the folder's parent folder has been recycled or deleted then IMS can still restore the folder. This behaviour will be determined by the mode parameter as follows:

  • 0 - Only restore the folder if the parent folder exists
  • 1 - Attempt to re-create the parent folder hierarchy for each folder
  • 2 - Move the folder to the top level
  • 3 - Attempt to re-create folder hierarchy, or fall back to moving to the top level if necessary

If mode is 1, then IMS can recreate the folder hierarchy only if the parent folders have not been fully deleted. i.e. if they are in the recycle bin then enough information is available to recreate the hierarchy. The same applies when mode is 3, however this mode allows a fall back so that the restore can always succeed.

If IMS can't restore any one of an array of files, then the whole restore operation is aborted.

Folders.Restore ( guid[] folderIds )

void

Type and Name Description Required Rights

guid[] folderIds

The folders to restore

Returns

void

top

Search for folders by path name.

Folders.SearchForPathsContaining ( string term[, guid folderId = NULL] )

Type and Name Description Required Rights

string term

String to search folder paths for.

guid folderId

Optional base folder in which the search should be performed.

Returns

Search results.

top

Set details on a folder. Allows setting the search parameters for a Smart Folder.

Folders.Set ( guid folderId, SET_FOLDER_DETAILS details[, SET_FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid folderId

A folder ID for the folder of interest.

  • edit

SET_FOLDER_DETAILS details

The folder details to set.

SET_FOLDER_DETAILS_OPTIONS options

Allows for customising the information returned as Folder Details

Returns

top

Set a custom order for the metadata panels on this folder for the current user.

Folders.SetCustomMetadataPanelOrder ( guid folderId, guid[] panelIds )

Type and Name Description Required Rights

guid folderId

ID or GUID of the folder to set a custom panel order.

guid[] panelIds

Order of the panels to set.

Returns

top

Set details on a folder. Allows setting the search parameters for a Smart Folder.

Folders.SetFolderDetails ( guid folderId, FOLDER_DETAILS details[, SET_FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid folderId

A folder ID for the folder of interest.

  • edit

FOLDER_DETAILS details

The folder details to set.

SET_FOLDER_DETAILS_OPTIONS options

Allows for customising the information returned as Folder Details

Returns

top

Set custom thumbnail for a folder — either by providing a base64-encoded image, or the ID or GUID of an accessible image file. Supplying neither changes the folder back to using the automatic folder thumbnail.

@p

Variant Information: This method has 2 variants.
Variant 1

Folders.SetFolderThumbnail ( guid[] folderIds[, string base64Data = NULL][, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] folderIds

The id of the folder to update.

  • edit

string base64Data

A base64-encoded string of image data

FOLDER_DETAILS_OPTIONS options

Allows configuration of the FOLDER_DETAILS response

Returns

Variant 2

Folders.SetFolderThumbnail ( guid[] folderIds[, guid thumbnailFileId = NULL][, FOLDER_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] folderIds

The id of the folder to update.

  • edit

guid thumbnailFileId

ID of a file to use as a folder thumbnail

FOLDER_DETAILS_OPTIONS options

Allows configuration of the FOLDER_DETAILS response

Returns

top

Set the Metadata Panels defined on this folder - these will be inherited by child folders.

Folders.SetLocalMetadataPanels ( guid folderId, guid[] panelIds )

int[]

Type and Name Description Required Rights

guid folderId

the folder to attach the metadata panels

guid[] panelIds

the panel ids to attach. Any panels not available are filtered out.

Returns

int[]

the panel ids attached to the folder.

top

Sets all of the metadata on a folder at once given a structured hash of desired values and associated attributes.

Variant Information: This method has 2 variants.
Variant 1

Folders.SetMetadata ( guid folderId, METADATA_INHERIT_INFO[][][] values[, SET_METADATA_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid folderId

The ID of the folder to update

METADATA_INHERIT_INFO[][][] values

The metadata key name of the field to update

SET_METADATA_OPTIONS options

a hash of options specifying how the metadata has been supplied. Currently supports 'keyedById', which should be set to true if the supplied metadata is keyed by the field id rather than the key.

Returns

Variant 2

Folders.SetMetadata ( guid[] folderId, METADATA_INHERIT_INFO[][][] values[, SET_METADATA_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] folderId

The ID of the folder to update

METADATA_INHERIT_INFO[][][] values

The metadata key name of the field to update

SET_METADATA_OPTIONS options

a hash of options specifying how the metadata has been supplied. Currently supports 'keyedById', which should be set to true if the supplied metadata is keyed by the field id rather than the key.

Returns

top

Updates the name of a folder.

Folders.SetName ( string containerId, string name )

Type and Name Description Required Rights

string containerId

The IMS File Reference of the folder to update

string name

The new folder name

Returns

Groups top

Contents

Details

top

Add member to a group

An audit-log entry will be created for this action

Groups.AddMembers ( guid groupId, guid[] memberGuids )

string[]

Type and Name Description Required Rights

guid groupId

the ID of the group to add the user to

  • manage

guid[] memberGuids

An array of GUIDs of users/groups/roles to add

Returns

string[]

The group's members list.

top

Allows Group Admins to make themselves Admin members of child groups. This includes top-level groups for Site Administrators.

An audit-log entry of type `GROUP` will be created for this action

Groups.BecomeAdmin ( guid[] groupIds[, bool useSiteAdministratorAccess = false] )

void

Type and Name Description Required Rights

guid[] groupIds

The ID or GUID, or array thereof, of the group to become an administrator.

bool useSiteAdministratorAccess

Flag enabling a mode that allows Site Administrators access to non-private spaces while elevated.

Returns

void

top

Check for permission to move a group to be a subgroup elsewhere in the hierarchy

Not audit-logged

Groups.CheckMove ( guid[] groupIds[, guid|guid destination = NULL] )

void

Type and Name Description Required Rights

guid[] groupIds

ID or GUID of the group to be moved

  • delete

guid|guid destination

GUID or context of the group under which it should be moved, or null to move to the top-level

Returns

void

top

Create a group, optionally setting its name and description.

An audit-log entry of type `GROUP` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Groups.Create ( GROUP_SETTINGS details, IMS_GROUP_TYPE type[, GROUP_DETAILS_OPTIONS options = NULL][, FOLDER_ACL_RIGHTS initialRights = NULL][, string base64Data = NULL] )

Type and Name Description Required Rights

GROUP_SETTINGS details

the details of the new group

IMS_GROUP_TYPE type

the type of the new group (supports: "ROLEGROUP", "STORAGEGROUP", "LIBRARYGROUP" and "ORGANISATIONALGROUP")

GROUP_DETAILS_OPTIONS options

Allows configuration of the GROUP_DETAILS response.

FOLDER_ACL_RIGHTS initialRights

If creating a ROLE_GROUP, this allows setting the rights that the Role will have on the Space.

string base64Data

A base64-encoded string of image data

Returns

Variant 2

Groups.Create ( GROUP_SETTINGS details, IMS_GROUP_TYPE type[, GROUP_DETAILS_OPTIONS options = NULL][, FOLDER_ACL_RIGHTS initialRights = NULL][, guid imsReference = NULL] )

Type and Name Description Required Rights

GROUP_SETTINGS details

the details of the new group

IMS_GROUP_TYPE type

the type of the new group (supports: "ROLEGROUP", "STORAGEGROUP", "LIBRARYGROUP" and "ORGANISATIONALGROUP")

GROUP_DETAILS_OPTIONS options

Allows configuration of the GROUP_DETAILS response.

FOLDER_ACL_RIGHTS initialRights

If creating a ROLE_GROUP, this allows setting the rights that the Role will have on the Space.

guid imsReference

The IMS File Reference of the file to use as an avatar

Returns

top

Delete a group given an ID

An audit-log entry of type `GROUP` will be created for this action

Groups.Delete ( guid[] groupIds )

void

Type and Name Description Required Rights

guid[] groupIds

ID of the group to test

  • delete

Returns

void

top

Returns the details for the group id or group ids supplied.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Groups.Get ( guid groupId[, GROUP_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid groupId

A Group ID, or array thereof, for which to get details

GROUP_DETAILS_OPTIONS options

Allows configuration of the GROUP_DETAILS response.

Returns

Variant 2

Groups.Get ( guid[] groupIds[, GROUP_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] groupIds

A Group ID, or array thereof, for which to get details

GROUP_DETAILS_OPTIONS options

Allows configuration of the GROUP_DETAILS response.

Returns

top

Returns a list of all of the group ids.

If the global option preferGuid is supplied, the returned array will contain GUID strings instead

Not audit-logged

Groups.GetAll ( [GROUP_FILTER[] filter = NULL][, guid|guid parentGuid = NULL][, string nameFilter = NULL] )

int[]|string[]
int[]|string[]

Type and Name Description Required Rights

GROUP_FILTER[] filter

Filters to control which groups to return

guid|guid parentGuid

If provided, only get groups with this user or group as the parent

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the group's name.

Returns

int[]|string[]
int[]|string[]

An array of IDs or GUIDs as requested

top

Returns a list of all of the group guids.

Not audit-logged

Groups.GetAllGUIDs ( [GROUP_FILTER[] filter = NULL][, guid|guid parentGuid = NULL][, string nameFilter = NULL] )

string[]

Type and Name Description Required Rights

GROUP_FILTER[] filter

Filters to control which groups to return

guid|guid parentGuid

If provided, only get groups with this user or group as the parent

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the group's name.

Returns

string[]

An array of GUIDs

top

Gets all of the users contained in the group. If the group contains the 'Everyone' group then the list of users is returned empty and the 'everyone' key is set to the id of the 'Everyone' group (this behaviour can be disabled).

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Groups.GetAllMembers ( guid groupId[, ALL_GROUP_MEMBER_OPTIONS options = array ( )] )

string[]

Type and Name Description Required Rights

guid groupId

A Group ID, or array thereof, for which to get details

ALL_GROUP_MEMBER_OPTIONS options

Options to configure the response.

Returns

string[]

The array of GUIDs of group members

Variant 2

Groups.GetAllMembers ( guid[] groupIds[, ALL_GROUP_MEMBER_OPTIONS options = array ( )] )

string[][]

Type and Name Description Required Rights

guid[] groupIds

A Group ID, or array thereof, for which to get details

ALL_GROUP_MEMBER_OPTIONS options

Options to configure the response.

Returns

string[][]

The array of GUIDs of group members

top

Returns sets of group GUIDs matching the specified filter. The sets are grouped by the parent group and whether the contents are automatic (e.g. the 'EVERYONE' role)

Not audit-logged

Groups.GetGroupedByParent ( [GROUP_FILTER[] filter = NULL][, guid|guid parentGuid = NULL][, string nameFilter = NULL] )

Type and Name Description Required Rights

GROUP_FILTER[] filter

Filters to control which groups to return

guid|guid parentGuid

If provided, only get groups with this user or group as the parent

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the group's name.

Returns

the groups matching the filter

top

Gets the GUIDs of direct members of the group e.g. Organisational Groups (from LDAP/SAML) and Roles get guids of individual users/spaces while Spaces get guids of the roles within them.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Groups.GetMembers ( guid groupId )

string[]

Type and Name Description Required Rights

guid groupId

A Group ID, or array thereof, for which to get details

Returns

string[]

An array of guids representing the direct membership for each requested group

Variant 2

Groups.GetMembers ( guid[] groupIds )

string[][]

Type and Name Description Required Rights

guid[] groupIds

A Group ID, or array thereof, for which to get details

Returns

string[][]

An array of guids representing the direct membership for each requested group

top

Returns the groups that the specified user or group is a member of. The list can optionally be filtered.

Not audit-logged

Groups.GetMembershipGUIDs ( guid memberGuid[, GROUP_FILTER[] filter = NULL][, string nameFilter = NULL] )

string[]

Type and Name Description Required Rights

guid memberGuid

Get groups which this user or group is a member of

GROUP_FILTER[] filter

Filters to control which groups to return.

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the group's name.

Returns

string[]

An array of GUIDs

top

Returns the groups that the specified user or group is a member of. The list can optionally be filtered.

Not audit-logged

Groups.GetMemberships ( guid memberGuid[, GROUP_FILTER[] filter = NULL][, string nameFilter = NULL] )

int[]|string[]
int[]|string[]

Type and Name Description Required Rights

guid memberGuid

Get groups which this user or group is a member of

GROUP_FILTER[] filter

Filters to control which groups to return.

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the group's name.

Returns

int[]|string[]
int[]|string[]

An array of IDs or GUIDs as requested

top

Get all of non-private Spaces in a Chorus site as a structured tree. Calling this requires the user to be an elevated site administrator, and every call gets audit logged.

An audit-log entry of type `GROUP` will be created for this action

Groups.GetSiteStructure ( [GROUP_SITE_STRUCTURE_OPTIONS options = NULL] )

Type and Name Description Required Rights

GROUP_SITE_STRUCTURE_OPTIONS options

Allows setting sort and filtering options for the response of the API method.

Returns

top

Checks to see if a user or group is a member of a group

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Groups.IsMember ( guid memberGuid, guid groupId )

bool

Type and Name Description Required Rights

guid memberGuid

the GUID or an array of GUIDs of the users or groups to query

guid groupId

the ID of the group to add the user to

Returns

bool

Whether the given user is in the given group or, if an array of input.

Variant 2

Groups.IsMember ( guid[] memberGuids, guid groupId )

bool[]

Type and Name Description Required Rights

guid[] memberGuids

the GUID or an array of GUIDs of the users or groups to query

guid groupId

the ID of the group to add the user to

Returns

bool[]

Whether the given user is in the given group or, if an array of input.

top

Move a group to be a subgroup elsewhere in the hierarchy

An audit-log entry of type `GROUP` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Groups.Move ( guid groupId[, guid|guid destination = NULL] )

Type and Name Description Required Rights

guid groupId

ID or GUID of the group to be moved

  • delete

guid|guid destination

GUID or context of the group under which it should be moved, or null to move to the top-level

Returns

Variant 2

Groups.Move ( guid[] groupIds[, guid|guid destination = NULL] )

void

Type and Name Description Required Rights

guid[] groupIds

ID or GUID of the group to be moved

  • delete

guid|guid destination

GUID or context of the group under which it should be moved, or null to move to the top-level

Returns

void

top

Remove user from a group

An audit-log entry will be created for this action

Groups.RemoveMembers ( guid groupId, guid[] memberGuids )

string[]

Type and Name Description Required Rights

guid groupId

the ID of the group to remove the members from

  • manage

guid[] memberGuids

An array of GUIDs of users/groups/roles to add

Returns

string[]

The group's members list.

top

Reset the permissions of the supplied groups. This removes all permission sets and their memberships, and recreates the default permission sets and memberships.

An audit-log entry of type `GROUP` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Groups.ResetPermissionsToDefault ( guid groupId )

Type and Name Description Required Rights

guid groupId

The id of the groups of which to reset the permissions.

  • manage

Returns

Variant 2

Groups.ResetPermissionsToDefault ( guid[] groupIds )

void

Type and Name Description Required Rights

guid[] groupIds

The id of the groups of which to reset the permissions.

  • manage

Returns

void

top

Modify the details of the given group.

An audit-log entry of type `GROUP` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Groups.Set ( guid[] groupIds, GROUP_SETTINGS details[, string base64Data = NULL] )

Type and Name Description Required Rights

guid[] groupIds

The id of the group to set the details for.

  • editSettings

GROUP_SETTINGS details

updated details of the group.

string base64Data

A base64-encoded string of image data

Returns

Variant 2

Groups.Set ( guid[] groupIds, GROUP_SETTINGS details[, guid imsReference = NULL] )

Type and Name Description Required Rights

guid[] groupIds

The id of the group to set the details for.

  • editSettings

GROUP_SETTINGS details

updated details of the group.

guid imsReference

The IMS File Reference of the file to use as an avatar

Returns

top

Set group's avatar - either by providing a base64-encoded image, or the IMS File Reference of an accessible image file to use

An audit-log entry of type `GROUP` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Groups.SetAvatar ( guid[] groupIds[, string base64Data = NULL][, GROUP_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] groupIds

The id of the group to set the avatar for.

  • editSettings

string base64Data

A base64-encoded string of image data

GROUP_DETAILS_OPTIONS options

Allows configuration of the GROUP_DETAILS response.

Returns

Variant 2

Groups.SetAvatar ( guid[] groupIds[, guid imsReference = NULL][, GROUP_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] groupIds

The id of the group to set the avatar for.

  • editSettings

guid imsReference

The IMS File Reference of the file to use as an avatar

GROUP_DETAILS_OPTIONS options

Allows configuration of the GROUP_DETAILS response.

Returns

Inbox top

Contents

Details

top

Get the details for one or more inbox item.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Inbox.Get ( guid inboxId )

Type and Name Description Required Rights

guid inboxId

the ids of the inbox items for which to get details.

Returns

The details of the requested inbox items.

Variant 2

Inbox.Get ( guid[] inboxIds )

Type and Name Description Required Rights

guid[] inboxIds

the ids of the inbox items for which to get details.

Returns

The details of the requested inbox items.

top

Get all of the inbox items for the current user.

Not audit-logged

Inbox.GetAll ( [INBOX_FILTER filter = NULL] )

Type and Name Description Required Rights

INBOX_FILTER filter

Allows control over which inbox items are returned.

Returns

The details of the inbox items.

top

Get the GUIDs of all of the inbox items for the current user.

Not audit-logged

Inbox.GetAllGUIDs ( [INBOX_FILTER filter = NULL] )

string[]

Type and Name Description Required Rights

INBOX_FILTER filter

Allows control over which inbox items are returned.

Returns

string[]

The GUIDs of the inbox items.

top

Get the IDs of all of the inbox items for the current user.

Not audit-logged

Inbox.GetAllIDs ( [INBOX_FILTER filter = NULL] )

int[]

Type and Name Description Required Rights

INBOX_FILTER filter

Allows control over which inbox items are returned.

Returns

int[]

The IDs of the inbox items.

top

Returns the number of unread inbox items in the current user's inbox.

Not audit-logged

Inbox.GetUnreadCount ( )

int

Type and Name Description Required Rights

Returns

int

the number of unread inbox items.

top

Mark the given inbox items as viewed.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Inbox.MarkViewed ( guid inboxId )

Type and Name Description Required Rights

guid inboxId

the ids of the inbox items to mark as viewed.

Returns

the updated details of the inbox items.

Variant 2

Inbox.MarkViewed ( guid[] inboxIds )

Type and Name Description Required Rights

guid[] inboxIds

the ids of the inbox items to mark as viewed.

Returns

the updated details of the inbox items.

Licences top

Contents

Details

top

Add an addendum to a PDF

The addendum must also be a PDF. Pages from it will be prepended to the existing document. The intended use-case is for licence source files, but this is not a requirement (i.e. the method can be called on a file that does not currently provide licences, and will have the same effect)

Licences.Addend ( guid assetId, string fileData[, string addendumName = NULL] )

Type and Name Description Required Rights

guid assetId

The file to which the addendum should be prepended (must be a PDF)

  • edit

string fileData

Base64-encoded file data of the PDF to prepend

string addendumName

Optional name for the addendum. Used as new filename if supplied.

Returns

top

Adds extra licences or intermediates directly used by a file

If a source document is added, all licences it provides will be used. If any licence from it is already used, no change will be made

Licences.AttachProviders ( guid[] assetIds, guid[] providerIds )

void

Type and Name Description Required Rights

guid[] assetIds

The files to update

  • viewLicences
  • edit

guid[] providerIds

The licences, source documents or intermediate files to add

  • viewLicences

Returns

void

top

Create a new licence from a source document

Not audit-logged

Licences.CreateLicence ( guid assetId[, guid panelId = NULL][, LICENCE_SETTINGS settings = NULL][, guid cloneLicenceId = NULL] )

Type and Name Description Required Rights

guid assetId

The source document representing the granted licence

  • edit
  • viewLicences

guid panelId

The Licence Panel defining the scope of this licence

LICENCE_SETTINGS settings

The name and expiry settings for the new licence

guid cloneLicenceId

Optional licence from which to copy metadata

Returns

top

Create a new licence panel in a specified catalogue.

The catalogue must be either at the site level, or on a Space with the ability to manage licences

Licences.CreatePanel ( guid catalogue, LICENCE_PANEL_SETTINGS settings )

Type and Name Description Required Rights

guid catalogue

The catalogue for which to get the panels.

  • viewLicences
  • edit

LICENCE_PANEL_SETTINGS settings

Settings to use for the newly created panel

Returns

top

Delete a licence. If it is in use, a soft delete will be performed unless $deleteAndUnlink is passed

Soft-deletion marks consuming files as expired. deleteAndUnlink removes the reference, so previously consuming files are unaffected

Licences.DeleteLicence ( guid assetId[, bool deleteAndUnlink = NULL] )

FILE_DETAILS|null

Type and Name Description Required Rights

guid assetId

The licence to delete

  • edit

bool deleteAndUnlink

True to detach and delete if in use

Returns

FILE_DETAILS|null

The updated details if soft-deleted, or null if completely deleted

top

Delete a licence panel

The panel must not be in use on any licence

Licences.DeletePanel ( guid licencePanel )

void

Type and Name Description Required Rights

guid licencePanel

The panel to delete

  • delete

Returns

void

top

Get all the files using a given licence, after resolving intermediates This also resolves licences provided by a given file, so specifying a source document will return all the files using any of its contained licences

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetAllLicenceConsumerGUIDs ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The file(s) to query for licence usage

  • viewLicences

Returns

string[]

An array of GUIDs of the files ultimately using each licence

Variant 2

Licences.GetAllLicenceConsumerGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query for licence usage

  • viewLicences

Returns

string[][]

An array of GUIDs of the files ultimately using each licence

top

Get all the licences used by the given file(s), after resolving intermediates

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetAllLicenceProviderGUIDs ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The file(s) to query for licence details

  • viewLicences

Returns

string[]

An array of GUIDs of the licences ultimately used by each file

Variant 2

Licences.GetAllLicenceProviderGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query for licence details

  • viewLicences

Returns

string[][]

An array of GUIDs of the licences ultimately used by each file

top

Get all the licences used by a given file, after resolving intermediates Return structured according to the direct source

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetAllLicenceProvidersGroupedBySource ( guid assetId )

Type and Name Description Required Rights

guid assetId

The file(s) to query for licence details

  • viewLicences

Returns

Structure of the licence sources (source document, or intermediate file) for each file

Variant 2

Licences.GetAllLicenceProvidersGroupedBySource ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query for licence details

  • viewLicences

Returns

Structure of the licence sources (source document, or intermediate file) for each file

top

Get the available licence panels in a catalogue, or for a file

The catalogue must be either at the site level, or on a Space with the ability to manage licences When using file mode, the owner of the file must be a Space with the ability to manage licences

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetAvailablePanels ( guid catalogue )

string[]

Type and Name Description Required Rights

guid catalogue

The catalogue for which to get the panels.

  • viewLicences

Returns

string[]

GUIDs of the available panels

Variant 2

Licences.GetAvailablePanels ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The file for which to get the panels.

  • viewLicences

Returns

string[]

GUIDs of the available panels

top

Get the files directly using a given file

Usually, this should be a Licence object, but it may be another file if used in a chain passing on licences

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetDirectLicenceConsumerGUIDs ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The Licence or intermediate file providing licencing details

  • viewLicences

Returns

string[]

An array of GUIDs of the dependent files for each licence

Variant 2

Licences.GetDirectLicenceConsumerGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The Licence or intermediate file providing licencing details

  • viewLicences

Returns

string[][]

An array of GUIDs of the dependent files for each licence

top

Get the licences or intermediates directly used by a given file

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetDirectLicenceProviderGUIDs ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The file(s) to query for licence details

  • viewLicences

Returns

string[]

An array of GUIDs of the licences or licence providing files for each asset

Variant 2

Licences.GetDirectLicenceProviderGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query for licence details

  • viewLicences

Returns

string[][]

An array of GUIDs of the licences or licence providing files for each asset

top

Get the expiry schedule, globally or for a single space, with a date range This will return the licences transitioning from Green->Amber state during the date range, the licences currently red, and the licences currently amber

Not audit-logged

Licences.GetExpirySchedule ( DATE_TIME endDate[, DATE_TIME startDate = NULL][, guid spaceId = NULL][, bool includeExpired = NULL][, LICENCE_REPORT_PERIOD durationMode = NULL] )

Type and Name Description Required Rights

DATE_TIME endDate

The end date for the search

DATE_TIME startDate

The start date for the search. Defaults to the current time.

guid spaceId

Optionally restrict the search to a single space

  • manage

bool includeExpired

True to treat times in the past as a period to report expired licences

LICENCE_REPORT_PERIOD durationMode

The nature of the report duration

Returns

top

Get the expiry schedule, globally or for a single space, with a date range This will return a URL to a CSV detailing the licences transitioning from Green->Amber state during the date range, the licences currently red, and the licences currently amber

Not audit-logged

Licences.GetExpiryScheduleCSV ( DATE_TIME endDate[, DATE_TIME startDate = NULL][, guid spaceId = NULL][, bool includeExpired = NULL][, LICENCE_REPORT_PERIOD durationMode = NULL] )

string

Type and Name Description Required Rights

DATE_TIME endDate

The end date for the search

DATE_TIME startDate

The start date for the search. Defaults to the current time.

guid spaceId

Optionally restrict the search to a single space

  • manage

bool includeExpired

True to treat times in the past as a period to report expired licences

LICENCE_REPORT_PERIOD durationMode

The nature of the report duration

Returns

string

A URL to fetch the expiry schedule in CSV format

top

Get the expiry schedule, globally or for a single space, with a date range This will return a URL to a PDF detailing the licences transitioning from Green->Amber state during the date range, the licences currently red, and the licences currently amber

Not audit-logged

Licences.GetExpirySchedulePDF ( DATE_TIME endDate[, DATE_TIME startDate = NULL][, guid spaceId = NULL][, string filename = NULL][, bool includeExpired = NULL][, LICENCE_REPORT_PERIOD durationMode = NULL] )

string

Type and Name Description Required Rights

DATE_TIME endDate

The end date for the search

DATE_TIME startDate

The start date for the search. Defaults to the current time.

guid spaceId

Optionally restrict the search to a single space

  • manage

string filename

Optionally specify a name for the PDF

bool includeExpired

True to treat times in the past as a period to report expired licences

LICENCE_REPORT_PERIOD durationMode

The nature of the report duration

Returns

string

A URL to fetch the expiry schedule in PDF format

top

Get the licences granted by a source document

Not audit-logged

Licences.GetLicenceGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The source document(s) representing the licences

  • viewLicences

Returns

string[][]

An array of GUIDs of the licences

top

Get details of a licence panel

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetPanelDetails ( guid licencePanel )

Type and Name Description Required Rights

guid licencePanel

The panel for which to get details.

Returns

Variant 2

Licences.GetPanelDetails ( guid[] licencePanels )

Type and Name Description Required Rights

guid[] licencePanels

The panel for which to get details.

Returns

top

Get files with a First Use date that are using a given licence, after resolving intermediates This also resolves licences provided by a given file, so specifying a source document will return all the files using any of its contained licences

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetPublishedLicenceConsumerGUIDs ( guid assetId )

string[]

Type and Name Description Required Rights

guid assetId

The file(s) to query for licence usage

  • viewLicences

Returns

string[]

An array of GUIDs of the published files ultimately using each licence

Variant 2

Licences.GetPublishedLicenceConsumerGUIDs ( guid[] assetIds )

string[][]

Type and Name Description Required Rights

guid[] assetIds

The file(s) to query for licence usage

  • viewLicences

Returns

string[][]

An array of GUIDs of the published files ultimately using each licence

top

Get details of the regular report subscriptons currently enabled

Not audit-logged

Licences.GetSubscriptionSettings ( )

Type and Name Description Required Rights

Returns

Details of current subscriptions

top

Get usage statistics about one or more licences

Normally intended to be called for Licence objects, but may also be called for a source document or intermediate file

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Licences.GetUsageInfo ( guid assetId )

Type and Name Description Required Rights

guid assetId

The files to query

  • viewLicences

Returns

Usage info for each file

Variant 2

Licences.GetUsageInfo ( guid[] assetIds )

Type and Name Description Required Rights

guid[] assetIds

The files to query

  • viewLicences

Returns

Usage info for each file

top

Set the licences or intermediates directly used by a file

Licences.SetDirectLicenceProviders ( guid assetId, guid[] licenceProviders[, guid primaryLicence = NULL] )

Type and Name Description Required Rights

guid assetId

The file to query for licence details

  • viewLicences
  • edit

guid[] licenceProviders

The licences or intermediate files to use

guid primaryLicence

The primary licence source. This is implicitly added to licenceProviders if supplied

Returns

Updated structure of the licence sources (source document, or intermediate file)

top

Set properties for a licence - name and expiry properties

Licences.SetLicenceDetails ( guid assetId, LICENCE_SETTINGS settings[, guid panelId = NULL] )

Type and Name Description Required Rights

guid assetId

The licence to edit

  • edit

LICENCE_SETTINGS settings

The new settings to apply

guid panelId

The Licence Panel defining the scope of this licence

Returns

The updated details

top

Modify an existing licence panel

Licences.SetPanelDetails ( guid licencePanel, LICENCE_PANEL_SETTINGS settings )

Type and Name Description Required Rights

guid licencePanel

The panel to update

  • edit

LICENCE_PANEL_SETTINGS settings

Settings to use for the updated panel

Returns

top

Set the first publish date for a file.

The file must be in a space with Licence Management to set a new date. Existing dates can always be cleared regardless of current space.

This is primarily intended for use with licence consuming files, but it can also be called on the licence (mostly to reset a 'baked in' date arising from the deletion of a linked file), or on a file that is not currently using any licences.

Licences.SetPublishDate ( guid assetId[, DATE_TIME date = NULL] )

Type and Name Description Required Rights

guid assetId

The file to modify

  • edit

DATE_TIME date

The unix timestamp, or RFC3339 string of the publish date (or null to unset)

Returns

The modified file

top

Get details of the regular report subscriptons currently enabled

Licences.SetSubscriptionSettings ( LICENCE_SUBSCRIPTION_SETTINGS settings )

Type and Name Description Required Rights

LICENCE_SUBSCRIPTION_SETTINGS settings

New settings

Returns

Details of updated subscriptions

LightThemes top

Contents

Details

top

top

Deletes the Light Themes matching the supplied IDs and GUIDs. Replacement Light Themes will automatically be created when getting the details for any Space (e.g. via the Groups API module).

An audit-log entry of type `LIGHT_THEME` will be created for this action

LightThemes.Delete ( guid[] lightThemeIds )

void

Type and Name Description Required Rights

guid[] lightThemeIds

IDs or GUIDs of the Light Themes to delete.

  • delete

Returns

void

top

top

Get the details of Light Themes.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

LightThemes.Get ( guid lightThemeId )

Type and Name Description Required Rights

guid lightThemeId

The ID or GUID, or array thereof, of the Light Theme to get.

Returns

Variant 2

LightThemes.Get ( guid[] lightThemeIds )

Type and Name Description Required Rights

guid[] lightThemeIds

The ID or GUID, or array thereof, of the Light Theme to get.

Returns

top

Get the default Chorus theme details.

Not audit-logged

LightThemes.GetDefault ( )

Type and Name Description Required Rights

Returns

top

top

Extract colours from a logo.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

LightThemes.GetLogoColors ( guid logoId )

Type and Name Description Required Rights

guid logoId

The ID or GUID, or array thereof, of the Light Theme Logo from which to extract colours.

Returns

Variant 2

LightThemes.GetLogoColors ( guid[] logoIds )

Type and Name Description Required Rights

guid[] logoIds

The ID or GUID, or array thereof, of the Light Theme Logo from which to extract colours.

Returns

top

Sends an email using the supplied theme details. This method works in the same way as the Set method, but sends an email instead of committing.

Not audit-logged

LightThemes.SendTestEmail ( guid lightThemeId, SET_LIGHT_THEME_DETAILS details )

void

Type and Name Description Required Rights

guid lightThemeId

ID or GUID of the theme to set.

  • edit

SET_LIGHT_THEME_DETAILS details

Details to use for sending the email.

Returns

void

top

Applies the provided details to the light theme matching the supplied ID or GUID. If the theme had not been previously set (i.e. the 'isInitialised' flag is false), then any details that have not been supplied will be copied from the Space's currently active light theme (i.e. the theme that would be applied to primary members of the Space).

An audit-log entry of type `LIGHT_THEME` will be created for this action

LightThemes.Set ( guid lightThemeId, SET_LIGHT_THEME_DETAILS details )

Type and Name Description Required Rights

guid lightThemeId

ID or GUID of the theme to set.

  • edit

SET_LIGHT_THEME_DETAILS details

Details to set.

Returns

Contents

Details

top

top

top

top

top

Metadata top

Contents

Details

top

Adds the keywords provided to the controlled vocabulary for a given field.

Variant Information: This method has 2 variants.
Variant 1

Metadata.AddToControlledVocab ( string[] keywords, int fieldId[, string after = NULL] )

string[]

Type and Name Description Required Rights

string[] keywords

a keyword or an array of keywords to add to the controlled vocabulary

int fieldId

the id of the field whose controlled vocabulary you wish to add entries for

string after

When manually sorted, insert the new keywords after this token

Returns

string[]

an array containing each of the keywords added to the controlled vocabulary

Variant 2

Metadata.AddToControlledVocab ( string[] keywords, string fieldName[, string after = NULL] )

string[]

Type and Name Description Required Rights

string[] keywords

a keyword or an array of keywords to add to the controlled vocabulary

string fieldName

the name of the field whose controlled vocabulary you wish to add entries for

string after

When manually sorted, insert the new keywords after this token

Returns

string[]

an array containing each of the keywords added to the controlled vocabulary

top

Cancel an import job that is currently in a pending state.

This will remove any database records and associated data. No metadata import will occur.

Metadata.CancelImport ( guid importId )

void

Type and Name Description Required Rights

guid importId

The import to abandon

  • edit

Returns

void

top

Create a metadata export job

Must specify one or more folders to export. If no fields are specified then all will be included.

Metadata.CreateExport ( guid folder[, string separator = ','][, hash[] fields = NULL][, string name = NULL][, bool recurse = true] )

Type and Name Description Required Rights

guid folder

The folder from which to export metadata

string separator

The delimiter to use in the output file. One of ,, ;, :, |, TAB

hash[] fields

The fields to include in the export. Same specification as for metadata imports

string name

The name to use for the exported spreadsheet

bool recurse

Whether to include subfolders of selected folders

Returns

top

Create a Metadata Import job, based on a spreadsheet provided as a base64-encoded CSV

The import will be scoped to the specified context.

The calling user must be an administrator of the context

Delimiters other than comma are supported; by default semicolon, tab, colon and pipe will be tried. If one is specified via the optional parameter then this will be attempted first.

Metadata import jobs are described by hashes with the following keys:

  • id - The ID of the job
  • mapping - An array of hashes describing how spreadsheet columns relate to IMS metadata fields
  • actions - A hash of options describing how to behave when data already exist
  • status - The current status of the job; one of PENDING, ACTIVE, PARTIAL, COMPLETE and CLEANED
  • result - Describes the success of the job; one of UNKNOWN, FAILED, PARTIAL and SUCCESS
  • log - A textual log of events during import processing
Variant Information: This method has 2 variants.
Variant 1

Metadata.CreateImport ( string name, string base64CSV[, string delimiter = NULL], context context[, bool recurse = false] )

Type and Name Description Required Rights

string name

A name for this import job - this will be shown in logs and to other administrators of the context

string base64CSV

The spreadsheet to import from, in base64-encoded CSV format. See the notes below for more details

string delimiter

An optional delimiter character to attempt to use when parsing the spreadsheet

context context

The context int which metadata should be imported (e.g. me, dom0, group1234)

  • manage

bool recurse

Whether to import metadata for subfolders as well, if they match the spreadsheet.

Returns

Variant 2

Metadata.CreateImport ( string name, string base64CSV[, string delimiter = NULL], guid folderId[, bool recurse = false] )

Type and Name Description Required Rights

string name

A name for this import job - this will be shown in logs and to other administrators of the context

string base64CSV

The spreadsheet to import from, in base64-encoded CSV format. See the notes below for more details

string delimiter

An optional delimiter character to attempt to use when parsing the spreadsheet

guid folderId

The folder into which metadata should me imported

  • edit

bool recurse

Whether to import metadata for subfolders as well, if they match the spreadsheet.

Returns

top

Get the fields that can be mapped to a specified metadata export

Metadata.ExportMappableFields ( guid folderId )

Type and Name Description Required Rights

guid folderId

The folder for the proposed export.

Returns

An array of panels, each containing label and fields - in turn an array of hashes containg keys field and label

top

Get the current status of an export job

Variant Information: This method has 2 variants.
Variant 1

Metadata.ExportStatus ( guid exportId )

Type and Name Description Required Rights

guid exportId

The ID of the export to query

Returns

Variant 2

Metadata.ExportStatus ( guid[] exportIds )

Type and Name Description Required Rights

guid[] exportIds

The ID of the export to query

Returns

top

Gets the keywords in the controlled vocabulary for a given field.

If neither fieldId and fieldName are supplied, all of the controlled vocabularies for the site metadata catalogue are returned.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Metadata.GetControlledVocab ( [mixed fieldId = NULL][, hash options = NULL] )

Type and Name Description Required Rights

mixed fieldId

the field id or an array of field ids to get the controlled vocabulary for.

hash options

a hash containing options and their values. The option "frequencycount" determines how many frequency entries are returned for each field; a value of 0 returns every entry (the default behaviour).

Returns

Variant 2

Metadata.GetControlledVocab ( [mixed fieldName = NULL][, hash options = NULL] )

Type and Name Description Required Rights

mixed fieldName

the field or an array of fields to get the controlled vocabulary for.

hash options

a hash containing options and their values. The option "frequencycount" determines how many frequency entries are returned for each field; a value of 0 returns every entry (the default behaviour).

Returns

top

Get exports for a specified context

This will include exports that are pending, in progress and complete, but not those that have been cleaned

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Metadata.GetExports ( context context )

Type and Name Description Required Rights

context context

The context for which to retrieve export jobs

Returns

Variant 2

Metadata.GetExports ( guid folderId )

Type and Name Description Required Rights

guid folderId

The container for which to retrieve export jobs

Returns

top

Returns a hash of all of the user values for the requested per-user fields.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Metadata.GetFullPerUserMetadata ( guid[] itemId, mixed fieldName )

string[][][]|string[][][][]
string[][][]|string[][][][]

Type and Name Description Required Rights

guid[] itemId

The IMS File Reference (file) or ID (folder), or array thereof, of the item to get metadata for

mixed fieldName

The fieldName, or array thereof, for which to get all of the per-user metadata.

Returns

string[][][]|string[][][][]
string[][][]|string[][][][]

Hash keyed by the fieldId or fieldName containing all of the values for the per-user field keyed by the user reference. Extra layer of map<string:string[]> if multiple fields are requested.

Variant 2

Metadata.GetFullPerUserMetadata ( guid[] itemId, mixed fieldId )

string[][][]|string[][][][]
string[][][]|string[][][][]

Type and Name Description Required Rights

guid[] itemId

The IMS File Reference (file) or ID (folder), or array thereof, of the item to get metadata for

mixed fieldId

The fieldId, or array thereof, for which to get all of the per-user metadata.

Returns

string[][][]|string[][][][]
string[][][]|string[][][][]

Hash keyed by the fieldId or fieldName containing all of the values for the per-user field keyed by the user reference. Extra layer of map<string:string[]> if multiple fields are requested.

top

Get imports for a specified context

This will include imports that are pending, in progress and complete, but not those that have been cleaned

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Metadata.GetImports ( guid folderId )

Type and Name Description Required Rights

guid folderId

The folder for which to retrieve import jobs

  • edit

Returns

Variant 2

Metadata.GetImports ( context context )

Type and Name Description Required Rights

context context

The context for which to retrieve import jobs

  • manage

Returns

top

Gets the metadata for a file or folder. This works the same way as either Files.GetMetadata and Folders.GetMetadata, depending on the value of the type argument provided.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Metadata.GetMetadata ( guid itemId[, GET_METADATA_OPTIONS options = NULL][, int metadataRevision = NULL] )

METADATA_INHERIT_INFO[][]|string[][]

Type and Name Description Required Rights

guid itemId

The GUID, IMS File Reference (file) or ID (folder) of the item(s) to get metadata for

GET_METADATA_OPTIONS options

Allows configuration of the returned hash. Set the "hashByFieldId" key to true to hash the returned metadata by id rather than tag name.

int metadataRevision

Allows specifying the metadata revision to get. Only supported when a single itemId is specified.

Returns

METADATA_INHERIT_INFO[][]|string[][]

Keyed by itemID, field and then a flat array of the items for each field-item

Variant 2

Metadata.GetMetadata ( guid[] itemId[, GET_METADATA_OPTIONS options = NULL][, int metadataRevision = NULL] )

METADATA_INHERIT_INFO[][][]|string[][][]

Type and Name Description Required Rights

guid[] itemId

The GUID, IMS File Reference (file) or ID (folder) of the item(s) to get metadata for

GET_METADATA_OPTIONS options

Allows configuration of the returned hash. Set the "hashByFieldId" key to true to hash the returned metadata by id rather than tag name.

int metadataRevision

Allows specifying the metadata revision to get. Only supported when a single itemId is specified.

Returns

METADATA_INHERIT_INFO[][][]|string[][][]

Keyed by itemID, field and then a flat array of the items for each field-item

top

This method returns all of the tokens that are currently in use for this field.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Metadata.GetUsedVocab ( string fieldId )

string[]

Type and Name Description Required Rights

string fieldId

the field id or an array of field ids to get the used vocab for.

Returns

string[]

An array of used tokens for this field

Variant 2

Metadata.GetUsedVocab ( string fieldName )

string[]

Type and Name Description Required Rights

string fieldName

the field or an array of fields to get the used vocab for.

Returns

string[]

An array of used tokens for this field

top

Get the fields that can be mapped to a specified metadata import

Metadata.ImportMappableFields ( guid importId )

Type and Name Description Required Rights

guid importId

The ID of the metadata import for which to retrieve available mappings

Returns

An array of panels, each containing label and fields - in turn an array of hashes containg keys field and label

top

Get the current status of an import job

Variant Information: This method has 2 variants.
Variant 1

Metadata.ImportStatus ( guid importId )

Type and Name Description Required Rights

guid importId

The import to query

Returns

Variant 2

Metadata.ImportStatus ( guid[] importIds )

Type and Name Description Required Rights

guid[] importIds

The import to query

Returns

top

Set metadata values on one or more files or folders.

Variant Information: This method has 2 variants.
Variant 1

Metadata.ManipulateMetadata ( hash inputData, guid[]|guid itemId )

Type and Name Description Required Rights

hash inputData

The metadata values keyed by the field tag

guid[]|guid itemId

The GUID, or array thereof of objects to update

  • edit

Returns

Variant 2

Metadata.ManipulateMetadata ( hash inputData, guid[]|guid[] itemId )

void

Type and Name Description Required Rights

hash inputData

The metadata values keyed by the field tag

guid[]|guid[] itemId

The GUID, or array thereof of objects to update

  • edit

Returns

void

top

Moves the keywords provided to a new position in the controlled vocabulary for a given field.

This is only valid for manually ordered fields, and for tokens already in the vocab

Variant Information: This method has 2 variants.
Variant 1

Metadata.MoveTokensAfter ( mixed keywords, string after, int fieldId )

void

Type and Name Description Required Rights

mixed keywords

a keyword or an array of keywords to move

string after

The token after which to move the keywords

int fieldId

the id of the field whose controlled vocabulary you wish to reorder

Returns

void

Variant 2

Metadata.MoveTokensAfter ( mixed keywords, string after, string fieldName )

void

Type and Name Description Required Rights

mixed keywords

a keyword or an array of keywords to move

string after

The token after which to move the keywords

string fieldName

the tag of the field whose controlled vocabulary you wish to reorder

Returns

void

top

Moves the keywords provided to a new position in the controlled vocabulary for a given field.

This is only valid for manually ordered fields, and for tokens already in the vocab

Variant Information: This method has 2 variants.
Variant 1

Metadata.MoveTokensBefore ( mixed keywords, string before, int fieldId )

void

Type and Name Description Required Rights

mixed keywords

a keyword or an array of keywords to move

string before

The token before which to move the keywords

int fieldId

the id of the field whose controlled vocabulary you wish to reorder

Returns

void

Variant 2

Metadata.MoveTokensBefore ( mixed keywords, string before, string fieldName )

void

Type and Name Description Required Rights

mixed keywords

a keyword or an array of keywords to move

string before

The token before which to move the keywords

string fieldName

the tag of the field whose controlled vocabulary you wish to reorder

Returns

void

top

Removes the keywords provided from the controlled vocabulary for a given field.

Variant Information: This method has 2 variants.
Variant 1

Metadata.RemoveFromControlledVocab ( string[] keywords, int fieldId )

string[]

Type and Name Description Required Rights

string[] keywords

a keyword or an array of keywords to remove from the controlled vocabulary

int fieldId

the id of the field whose controlled vocabulary you wish to remove entries for

Returns

string[]

an array containing each of the keywords removed from the controlled vocabulary

Variant 2

Metadata.RemoveFromControlledVocab ( string[] keywords, string fieldName )

string[]

Type and Name Description Required Rights

string[] keywords

a keyword or an array of keywords to remove from the controlled vocabulary

string fieldName

the tag of the field whose controlled vocabulary you wish to remove entries for

Returns

string[]

an array containing each of the keywords removed from the controlled vocabulary

top

Sets the keywords in the controlled vocabulary for a given field. This will overwrite any existing controlled vocabulary.

Variant Information: This method has 2 variants.
Variant 1

Metadata.SetControlledVocab ( string[] keywords, int fieldId )

string[]

Type and Name Description Required Rights

string[] keywords

an array of keywords to set the controlled vocabulary to

int fieldId

the id of the field to set the controlled vocabulary for

Returns

string[]

an array containing each of the keywords now in the controlled vocabulary

Variant 2

Metadata.SetControlledVocab ( string[] keywords, string fieldName )

string[]

Type and Name Description Required Rights

string[] keywords

an array of keywords to set the controlled vocabulary to

string fieldName

the tag of the field to set the controlled vocabulary for

Returns

string[]

an array containing each of the keywords now in the controlled vocabulary

top

Update a Metadata Import job, providing an updated mapping of spreadsheet columns to metadata fields

Metadata.SetImportMapping ( guid importId, hash[] fields )

Type and Name Description Required Rights

guid importId

The import to modify

  • edit

hash[] fields

An array of hashes, each containing index and mapping (column is accepted but ignored, for compatibility with the return value)

Returns

top

Update a Metadata Import job, providing updated options for how spreadsheet data should interact with existing metadata or vocabularies.

Metadata.SetImportOptions ( guid importId[, string existingMetadataAction = NULL][, string existingKeywordAction = NULL][, string existingGPSAction = NULL][, string vocabularyAction = NULL] )

Type and Name Description Required Rights

guid importId

The import to modify

  • edit

string existingMetadataAction

The action to be taken when a file already has a value for a given field. Options REPLACE, APPEND, SKIP

string existingKeywordAction

The action to be taken for multi-valued fields where file already has a value for a given field. Options REPLACE, APPEND, SKIP

string existingGPSAction

The action to be taken for GPS changes. Options REPLACE, SKIP

string vocabularyAction

What to do with new data for fields with a controlled vocabulary that does not contain them. Options ADD_TO_VOCAB, REMOVE_FROM_FILE, IGNORE

Returns

top

Sets all of the metadata on a file or folder at once given a structured hash of metadata fields and associated values

Each entry in the values hash should be an array of hashes, compatible with GetMetadata, with keys as follows:

  • value - The actual piece of metadata, as a string
  • override - bool True to prevent this value from taking effect; for keys with inherit this stops the inheritance; for local it will continue to be returned when getting inheritance info but will not show up against the asset. This allows for 'revert to last local' UI options.
  • inherit - bool True if the value in question comes from a parent folder. Note that values with inherit:true and override:false are effectively ignored. You cannot use this method to modify the metadata of a parent.
An audit-log entry of type `METADATA` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Metadata.SetMetadata ( guid itemId, METADATA_INHERIT_INFO[][][] values[, SET_METADATA_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid itemId

The GUID, IMS File Reference (file) or ID (folder) of the item(s) to update

  • edit

METADATA_INHERIT_INFO[][][] values

a hash mapping metadata fields to arrays of values that you would like the fields set to. If multiple itemIds are provided, this will be surrounded in a further hash of GUIDs denoting the metadata to set for each itemId provided.

SET_METADATA_OPTIONS options

a hash of options specifying how the metadata has been supplied. Currently supports 'keyedById', which should be set to true if the supplied metadata is keyed by the field id rather than the key.

Returns

Keyed by itemID, field and then a flat array of the items for each field-item

Variant 2

Metadata.SetMetadata ( guid[] itemId, METADATA_INHERIT_INFO[][][] values[, SET_METADATA_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] itemId

The GUID, IMS File Reference (file) or ID (folder) of the item(s) to update

  • edit

METADATA_INHERIT_INFO[][][] values

a hash mapping metadata fields to arrays of values that you would like the fields set to. If multiple itemIds are provided, this will be surrounded in a further hash of GUIDs denoting the metadata to set for each itemId provided.

SET_METADATA_OPTIONS options

a hash of options specifying how the metadata has been supplied. Currently supports 'keyedById', which should be set to true if the supplied metadata is keyed by the field id rather than the key.

Returns

Keyed by itemID, field and then a flat array of the items for each field-item

top

Begin processing of a metadata import job

The import itself will be performed as the user calling StartImport (not necessarily the user who originally created the import), so their permissions will be considered, and audit logs will reflect actions on their behalf

Metadata.StartImport ( guid importId )

Type and Name Description Required Rights

guid importId

The import to begin

  • edit

Returns

MetadataManager top

Contents

Details

top

Returns the available panel colors. The order is stable, and the position in the returned array should be used when applying colors to panels.

Not audit-logged

MetadataManager.GetAvailablePanelColors ( )

string[]

Type and Name Description Required Rights

Returns

string[]

The available panel colors.

top

Get the panels for a folder's metadata manager. This can be used for space and profile metadata managers by using the relevant context root.

Not audit-logged

MetadataManager.GetFolderCatalogue ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available panels.

  • manage

Returns

top

Get the in use panels on the folder.

Not audit-logged

MetadataManager.GetForFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available panels.

  • manage

Returns

top

Get the in use panels on the site.

Not audit-logged

MetadataManager.GetForSite ( )

Type and Name Description Required Rights

Returns

top

Get the panels for the site's metadata manager.

Not audit-logged

MetadataManager.GetSiteCatalogue ( )

Type and Name Description Required Rights

Returns

top

Resets the available panel colors to the built-in defaults.

MetadataManager.ResetAvailablePanelColors ( )

string[]

Type and Name Description Required Rights

Returns

string[]

The updated list of available panel colors.

top

Resets the panels attached to the folder to the default inherited state. This will remove any panels that were added, reset a custom order, and re-add any panels that were removed.

MetadataManager.ResetFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available panels.

  • manage

Returns

top

Resets the panels attached to the folder to the default inherited state. This will remove any panels that were added, reset a custom order, and re-add any panels that were removed.

MetadataManager.ResetFolderPanelColors ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available panels.

  • manage

Returns

top

Sets the available panel colors. The count of supplied colors must be the same as that returned by GetAvailablePanelColors().

MetadataManager.SetAvailablePanelColors ( string[] colorCodes )

string[]

Type and Name Description Required Rights

string[] colorCodes

New colors to set.

Returns

string[]

The updated list of available panel colors.

top

Set the in use panels on the folder.

MetadataManager.SetForFolder ( guid folderId[, guid[] panelIds = NULL][, int[] panelColorsMap = NULL][, PANEL_PERMISSION[][] panelPermissions = NULL] )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available panels.

  • manage

guid[] panelIds

IDs or GUIDs of panels to set on the folder.

int[] panelColorsMap

Map of panel ID or GUID to color index. Only supported on context root folders and if 'panelcolors' module is enabled.

PANEL_PERMISSION[][] panelPermissions

Permissions to set for the folder's panels, outer map keyed by panel id and innher map keyed by role id. Only supported on context root folders.

Returns

top

Set the in use panels on the site.

MetadataManager.SetForSite ( [guid[] panelIds = NULL][, int[] panelColorsMap = NULL] )

Type and Name Description Required Rights

guid[] panelIds

IDs or GUIDs of panels to set on the folder.

int[] panelColorsMap

Map of panel ID or GUID to color index. Only supported if 'panelcolors' module is enabled.

Returns

NotificationIntegrations top

Contents

Details

top

top

top

Get the linked Slack channel details for the supplied Chorus room within a Slack team

Not audit-logged

NotificationIntegrations.GetLinkedSlackChannel ( guid roomId )

SLACK_CHANNEL_DETAILS|null

Type and Name Description Required Rights

guid roomId

The object's comments room to fetch the Slack channel for

Returns

SLACK_CHANNEL_DETAILS|null

The ID and Name of the linked Slack channel

top

Get the linked Slack user ID for the supplied Chorus user within a Slack team

Not audit-logged

NotificationIntegrations.GetLinkedSlackUser ( )

string

Type and Name Description Required Rights

Returns

string

The ID of the linked Slack user

top

top

top

Cause slack to send an invite to a user (matched by email). This reports where the user's email was matched via throwing an EMAILNOTMATCHED error if it didn't. If the incoming user object is null, the current active user is used instead - i.e. inviting oneself.

NotificationIntegrations.TriggerSlackInvite ( [guid userId = NULL] )

void

Type and Name Description Required Rights

guid userId

the ID of the User to invite

  • manage

Returns

void

top

Cause slack to send an invite to all users in Chorus - for those that match based on email address.

NotificationIntegrations.TriggerSlackInvitesForAllUsers ( )

void

Type and Name Description Required Rights

Returns

void

top

Cause slack to send an invite to all members of a Space.

NotificationIntegrations.TriggerSlackInvitesForSpace ( guid spaceId )

void

Type and Name Description Required Rights

guid spaceId

the ID of the Space to invite users for

  • manage

Returns

void

top

Unlink a linked Slack channel from the supplied Chorus room within a Slack team

NotificationIntegrations.UnlinkSlackChannel ( guid roomId )

void

Type and Name Description Required Rights

guid roomId

The object's comments room to unlink

Returns

void

top

Unlink a linked Slack user from the supplied Chorus user within a Slack team

NotificationIntegrations.UnlinkSlackUser ( )

void

Type and Name Description Required Rights

Returns

void

NotificationsManager top

Contents

Details

top

Gets the notification settings for the current user. Any settings that have not been set will be provided as the system default.

Not audit-logged

NotificationsManager.GetGlobalSettings ( )

Type and Name Description Required Rights

Returns

top

Gets the notifications settings for the current user for the supplied spaces.Any settings that have not been set will be provided as the system default.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

NotificationsManager.GetSpaceSettings ( guid spaceId )

Type and Name Description Required Rights

guid spaceId

One or more spaces for which to get the current user's settings.

Returns

Variant 2

NotificationsManager.GetSpaceSettings ( guid[] spaceIds )

Type and Name Description Required Rights

guid[] spaceIds

One or more spaces for which to get the current user's settings.

Returns

top

Sets the notification settings for the current user. Any settings that have not been supplied will be set as the current defaults.

NotificationsManager.SetGlobalSettings ( NOTIFICATION_SETTING[] settings )

Type and Name Description Required Rights

NOTIFICATION_SETTING[] settings

List of settings to set for the user, keyed by the setting name.

Returns

top

Sets per-Space notification settings for the current user for. Any settings that have not been supplied will be set as the current defaults.

NotificationsManager.SetSpaceSettings ( NOTIFICATION_SETTING[][] spaceSettings )

Type and Name Description Required Rights

NOTIFICATION_SETTING[][] spaceSettings

List of settings to set for the user, keyed by the setting spaceId and notification name.

Returns

PanelBuilder top

Contents

Details

top

Create new Metadata Field in a context's Individual Catalogue.

PanelBuilder.CreateField ( guid context, hash details )

Type and Name Description Required Rights

guid context

The context of the target Individual Catalogue

hash details

The details for the new field. This is compatible with the Field details hash.

Returns

top

Create a new Metadata Panel in the catalogue for the supplied context.

Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.CreatePanel ( guid catalogueId, hash details, guid[] fieldIds )

Type and Name Description Required Rights

guid catalogueId

The context in which to create the Metadata Panel.

hash details

The details of the panel to create, the following keys are supported: guid - the guid to use for the Metadata Panel desc - the name of the Metadata Panel

guid[] fieldIds

Tags to add to the panel. This parameter is supplied for backwards compatibility, and fieldDetails should be used instead.

Returns

Variant 2

PanelBuilder.CreatePanel ( guid catalogueId, hash details, PANEL_FIELD_DETAILS[] fieldDetails )

Type and Name Description Required Rights

guid catalogueId

The context in which to create the Metadata Panel.

hash details

The details of the panel to create, the following keys are supported: guid - the guid to use for the Metadata Panel desc - the name of the Metadata Panel

PANEL_FIELD_DETAILS[] fieldDetails

Details of the fields for this panel.

Returns

top

Deletes the supplied Metadata Fields.

Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.DeleteField ( guid fieldId )

Type and Name Description Required Rights

guid fieldId

The id, or array thereof, of the fields of which to delete.

Returns

Variant 2

PanelBuilder.DeleteField ( guid[] fieldId )

void

Type and Name Description Required Rights

guid[] fieldId

The id, or array thereof, of the fields of which to delete.

Returns

void

top

Deletes the supplied Metadata Panels.

Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.DeletePanel ( guid panelId )

Type and Name Description Required Rights

guid panelId

The id, or array thereof, of the panels of which to delete.

Returns

The hashes of any Metadata Panels not deleted. This will be happen if ignoreNonFatal is supplied as true.

Variant 2

PanelBuilder.DeletePanel ( guid[] panelId )

Type and Name Description Required Rights

guid[] panelId

The id, or array thereof, of the panels of which to delete.

Returns

The hashes of any Metadata Panels not deleted. This will be happen if ignoreNonFatal is supplied as true.

top

Get the details for all of the visible field details

Not audit-logged

PanelBuilder.GetAllFieldDetails ( [context context = 'me'] )

Type and Name Description Required Rights

context context

The context for which to get fields

Returns

top

Returns the GUIDs of all of the Metadata Fields that are currently in use.

Not audit-logged

PanelBuilder.GetAllFieldGUIDs ( )

string[]

Type and Name Description Required Rights

Returns

string[]

The GUIDs of all of the fields that are currently in use.

top

Returns the IDs of all of the Metadata Fields that are currently in use.

Not audit-logged

PanelBuilder.GetAllFieldIDs ( )

int[]

Type and Name Description Required Rights

Returns

int[]

The IDs of all of the fields that are currently in use.

top

Returns the details of all of the Metadata Fields that are currently in use.

Not audit-logged

PanelBuilder.GetAllFields ( )

Type and Name Description Required Rights

Returns

The details of all of the fields that are currently in use.

top

Get the available fields for the catalogue.

Not audit-logged

PanelBuilder.GetAvailableFields ( guid catalogue )

Type and Name Description Required Rights

guid catalogue

The catalogue for which to get the fields.

Returns

top

Get the available panels in a catalogue

Not audit-logged

PanelBuilder.GetAvailablePanels ( guid catalogue )

Type and Name Description Required Rights

guid catalogue

The catalogue for which to get the panels.

Returns

top

Get the catalogue GUID of the given type for the supplied context.

Not audit-logged

PanelBuilder.GetCatalogueGUID ( CATALOGUE_TYPE catalogueType, contextWithDomain context )

string

Type and Name Description Required Rights

CATALOGUE_TYPE catalogueType

Type of catalogue to get.

contextWithDomain context

Context to get.

Returns

string

GUID of the catalogue for the supplied context.

top

Get the catalogue ID of the given type for the supplied context.

Not audit-logged

PanelBuilder.GetCatalogueID ( CATALOGUE_TYPE catalogueType, contextWithDomain context )

int

Type and Name Description Required Rights

CATALOGUE_TYPE catalogueType

Type of catalogue to get.

contextWithDomain context

Context to get.

Returns

int

ID of the catalogue for the supplied context.

top

Get the details for the requested Metadata Fields. Throws an exception if any of the fields cannot be found, unless ignoreNonFatal is provided as true.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.GetFieldDetails ( guid fieldId )

Type and Name Description Required Rights

guid fieldId

The id, or array thereof, of the fields of which to get the details.

Returns

Variant 2

PanelBuilder.GetFieldDetails ( guid[] fieldIds )

Type and Name Description Required Rights

guid[] fieldIds

The id, or array thereof, of the fields of which to get the details.

Returns

top

Get the details for the requested Metadata Panels. Throws an exception if any of the panels cannot be found, unless ignoreNonFatal is provided as true.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.GetPanelDetails ( guid panelId )

Type and Name Description Required Rights

guid panelId

The id, or array thereof, of the panels of which to get the details.

Returns

Variant 2

PanelBuilder.GetPanelDetails ( guid[] panelId )

Type and Name Description Required Rights

guid[] panelId

The id, or array thereof, of the panels of which to get the details.

Returns

top

Get the panels defined in the catalogue

Not audit-logged

PanelBuilder.GetPanels ( guid catalogue )

Type and Name Description Required Rights

guid catalogue

The catalogue for which to get the panels.

Returns

top

Move Metadata Fields to a different context.

Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.MoveField ( guid fieldId, guid context )

Type and Name Description Required Rights

guid fieldId

The id, or array thereof, of the fields of which to move.

guid context

The context of the destination Individual Metadata Catalogue for the Metadata Fields.

Returns

Variant 2

PanelBuilder.MoveField ( guid[] fieldId, guid context )

Type and Name Description Required Rights

guid[] fieldId

The id, or array thereof, of the fields of which to move.

guid context

The context of the destination Individual Metadata Catalogue for the Metadata Fields.

Returns

top

Move Metadata Panels to a different context.

Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.MovePanel ( guid panelId, guid context )

Type and Name Description Required Rights

guid panelId

The id, or array thereof, of the panels of which to move.

guid context

The context of the destination Individual Metadata Catalogue for the Metadata Panels.

Returns

The updated hash of the moved Metadata Panel details or, if an array of ids was supplied, the Metadata Panel details hashed by ID.

Variant 2

PanelBuilder.MovePanel ( guid[] panelId, guid context )

Type and Name Description Required Rights

guid[] panelId

The id, or array thereof, of the panels of which to move.

guid context

The context of the destination Individual Metadata Catalogue for the Metadata Panels.

Returns

The updated hash of the moved Metadata Panel details or, if an array of ids was supplied, the Metadata Panel details hashed by ID.

top

Set the details of the specified Metadata Field.

PanelBuilder.SetFieldDetails ( guid fieldId, hash details )

Type and Name Description Required Rights

guid fieldId

The id of the field to update

hash details

The new details for the Metadata Field, this uses the same format as is returned by GetFieldDetails. Any keys not supplied will retain their current settings.

Returns

top

Set new details for a Metadata Panel.

Variant Information: This method has 2 variants.
Variant 1

PanelBuilder.SetPanelDetails ( guid panelId, hash details, guid[] fieldIds )

Type and Name Description Required Rights

guid panelId

The id of the Metadata Panel to update

hash details

The new details for the Metadata Panel. Any keys not supplied will not be updated. The following keys are supported: desc - the name of the Metadata Panel

guid[] fieldIds

Tags to add to the panel. This parameter is supplied for backwards compatibility, and the fieldDetails key within details should be used instead.

Returns

The updated Metadata Panel.

Variant 2

PanelBuilder.SetPanelDetails ( guid panelId, hash details, PANEL_FIELD_DETAILS[] fieldDetails )

Type and Name Description Required Rights

guid panelId

The id of the Metadata Panel to update

hash details

The new details for the Metadata Panel. Any keys not supplied will not be updated. The following keys are supported: desc - the name of the Metadata Panel

PANEL_FIELD_DETAILS[] fieldDetails

Details of the fields for this panel.

Returns

The updated Metadata Panel.

top

Check that the supplied Field Key is both valid and unique.

PanelBuilder.ValidateFieldKey ( string fieldKey[, guid fieldId = NULL] )

bool

Type and Name Description Required Rights

string fieldKey

The key to validate.

guid fieldId

Optional. If supplied, the method will return true if the reason that it is failing validation due to having the same value as this Field.

Returns

bool

True if the supplied key is valid and unique.

Permissions top

Contents

Details

top

Get aggregated details about the rights of the supplied items.

Not audit-logged

Permissions.GetAggregatedRights ( string[] guids )

hash

Type and Name Description Required Rights

string[] guids

An array of GUIDs of objects for which to retrieve permissions

Returns

hash

aggregated details

top

Get permissions on one or more objects

Each located object will return the standard permissions hash, keyed by GUID

This method supports files, folders, file links and folder links

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRights ( guid guid )

Type and Name Description Required Rights

guid guid

An array of GUIDs of objects for which to retrieve permissions

Returns

Variant 2

Permissions.GetRights ( guid[] guids )

Type and Name Description Required Rights

guid[] guids

An array of GUIDs of objects for which to retrieve permissions

Returns

top

Get permissions that apply to the children of one or more objects

Each located object will return the standard permissions hash, keyed by GUID

This method supports folders and folder links

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForChildren ( guid guid )

Type and Name Description Required Rights

guid guid

An array of GUIDs of objects for which to retrieve permissions

Returns

Variant 2

Permissions.GetRightsForChildren ( guid[] guids )

Type and Name Description Required Rights

guid[] guids

An array of GUIDs of objects for which to retrieve permissions

Returns

top

Returns a permission hash of the rights for the given context.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForContext ( context context )

Type and Name Description Required Rights

context context

The context (or array of contexts) to get the rights.

Returns

Variant 2

Permissions.GetRightsForContext ( context[] contexts )

Type and Name Description Required Rights

context[] contexts

The context (or array of contexts) to get the rights.

Returns

top

Returns a permission hash of the rights for the given context.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForContextChildren ( context context )

Type and Name Description Required Rights

context context

The context (or array of contexts) to get the rights.

  • child:view

Returns

Variant 2

Permissions.GetRightsForContextChildren ( context[] contexts )

Type and Name Description Required Rights

context[] contexts

The context (or array of contexts) to get the rights.

  • child:view

Returns

top

Returns a permission hash of the rights for the given file.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForFile ( guid fileId )

Type and Name Description Required Rights

guid fileId

The files for which to get the rights.

Returns

The hash of rights which, if array of ids supplied, is hashed by id.

Variant 2

Permissions.GetRightsForFile ( guid[] fileIds )

Type and Name Description Required Rights

guid[] fileIds

The files for which to get the rights.

Returns

The hash of rights which, if array of ids supplied, is hashed by id.

top

Returns a permission hash of the rights for the given folder for either the current user or the specified user.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForFolder ( guid folderId[, guid userId = NULL] )

Type and Name Description Required Rights

guid folderId

The id (or array of ids) to get the rights.

guid userId

Optional. The id of the user to get rights for.

Returns

The hash of rights which, if array of ids supplied, is hashed by id.

Variant 2

Permissions.GetRightsForFolder ( guid[] folderIds[, guid userId = NULL] )

Type and Name Description Required Rights

guid[] folderIds

The id (or array of ids) to get the rights.

guid userId

Optional. The id of the user to get rights for.

Returns

The hash of rights which, if array of ids supplied, is hashed by id.

top

Returns a permission hash of the rights for the given folder's children.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForFolderChildren ( guid folderId[, guid userId = NULL] )

Type and Name Description Required Rights

guid folderId

The id (or array of ids) to get the rights.

guid userId

Optional. The id of the user to get rights for.

Returns

The hash of rights which, if array of ids supplied, is hashed by id.

Variant 2

Permissions.GetRightsForFolderChildren ( guid[] folderIds[, guid userId = NULL] )

Type and Name Description Required Rights

guid[] folderIds

The id (or array of ids) to get the rights.

guid userId

Optional. The id of the user to get rights for.

Returns

The hash of rights which, if array of ids supplied, is hashed by id.

top

top

Returns a permission hash of the rights for the given folder link's children.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Permissions.GetRightsForFolderLinkChildren ( guid folderLinkId )

Type and Name Description Required Rights

guid folderLinkId

The id (or array of ids) to get the rights.

Returns

Variant 2

Permissions.GetRightsForFolderLinkChildren ( guid[] folderLinkIds )

Type and Name Description Required Rights

guid[] folderLinkIds

The id (or array of ids) to get the rights.

Returns

top

PresetManager top

Contents

Details

top

Get the categories for a folder's preset manager. This can be used for space and profile preset managers by using the relevant context root.

Not audit-logged

PresetManager.GetFolderCatalogue ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available categories.

  • manage

Returns

top

Get the in use categories on the folder.

Not audit-logged

PresetManager.GetForFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available categories.

  • manage

Returns

top

Get the in use categories on the site.

Not audit-logged

PresetManager.GetForSite ( )

Type and Name Description Required Rights

Returns

top

Get the list of presets that have been allocated to a folder's shortlist

Not audit-logged

PresetManager.GetShortlistForFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the shortlist

  • manage

Returns

top

Get the list of presets that have been allocated to the site's shortlist

Not audit-logged

PresetManager.GetShortlistForSite ( )

Type and Name Description Required Rights

Returns

top

Get the categories for the site's preset manager.

Not audit-logged

PresetManager.GetSiteCatalogue ( )

Type and Name Description Required Rights

Returns

top

Resets the categories attached to the folder to the default inherited state. This will remove any categories that were added, reset a custom order, and re-add any categories that were removed.

PresetManager.ResetFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available categories.

  • manage

Returns

top

Set the in use categories on the folder.

PresetManager.SetForFolder ( guid folderId, guid[] categoryIds )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the available categories.

  • manage

guid[] categoryIds

IDs or GUIDs of categories to set on the folder.

Returns

top

Set the in use categories on the site.

PresetManager.SetForSite ( guid[] categoryIds )

Type and Name Description Required Rights

guid[] categoryIds

IDs or GUIDs of categories to set on the folder.

Returns

top

Set a list of presets as the shortlist for a folder

PresetManager.SetShortlistForFolder ( guid folderId, guid[] presetIds )

Type and Name Description Required Rights

guid folderId

ID of the folder for which to get the shortlist

  • manage

guid[] presetIds

IDs or GUIDs of presets to set as the shortlist

Returns

top

Set a list of presets as the shortlist for the site

PresetManager.SetShortlistForSite ( guid[] presetIds )

Type and Name Description Required Rights

guid[] presetIds

IDs or GUIDs of presets to set as the shortlist

Returns

Profile top

Contents

Details

top

Gets profile info for the current user

Not audit-logged

Profile.GetProfile ( )

Type and Name Description Required Rights

Returns

top

Mark the user as having seen the 3-minute tour.

An audit-log entry of type `SITE_TERMS` will be created for this action

Profile.HasAgreedSiteTerms ( guid siteTermsId )

void

Type and Name Description Required Rights

guid siteTermsId

ID or GUID of the Site Terms that were agreed.

Returns

void

top

Mark the user as having seen the 3-minute tour.

Not audit-logged

Profile.HasSeenTour ( )

void

Type and Name Description Required Rights

Returns

void

top

Mark the user as having seen the what's new splash screen.

Not audit-logged

Profile.HasSeenWhatsNew ( )

void

Type and Name Description Required Rights

Returns

void

top

Set the current user's avatar - either by providing a base64-encoded image, or the IMS File Reference of an accessible image file to use

Variant Information: This method has 2 variants.
Variant 1

Profile.SetAvatar ( string base64Data )

Type and Name Description Required Rights

string base64Data

A base64-encoded string of image data

Returns

Updated details

Variant 2

Profile.SetAvatar ( int imsReference )

Type and Name Description Required Rights

int imsReference

The IMS File Reference of the file to use as an avatar

Returns

Updated details

top

Changes the password for the current user.

This can only be called by a logged in user who does not use an external authentication system.

If the old password is incorrect, an OLD_PASSWORD_INCORRECT exception is thrown (unless a password reset or a nonce token is being used)

If the new password does not meet password policy requirements, the return will have success:false, and the errors key will contain an array of error messages.

Profile.SetPassword ( string oldPassword, string newPassword[, string nonce = NULL] )

Type and Name Description Required Rights

string oldPassword

The old password

string newPassword

The new password

string nonce

The one time use token to reset the password without using the old password

Returns

top

Sets profile info for the current user

Accepted keys are:

  • name - The user's real name
  • email - The user's e-mail address
  • department - The user's department

Profile.SetProfile ( hash settings )

Type and Name Description Required Rights

hash settings

A hash of settings to change. Accepted keys detailed below.

Returns

The updated user details

Contents

Details

top

top

top

top

top

top

top

top

Queue top

Contents

Details

top

Attempt to cancel one or more items in a queue

Depending on the item and its instantaneous status, this may not be possible

Variant Information: This method has 2 variants.
Variant 1

Queue.CancelQueueItem ( string queue, string queueItemId )

Type and Name Description Required Rights

string queue

The type of queue to query

string queueItemId

An ID or array of IDs for the queue details to retrieve

Returns

The new jobs, if required, to process the cancellation

Variant 2

Queue.CancelQueueItem ( string queue, string[] queueItemId )

Type and Name Description Required Rights

string queue

The type of queue to query

string[] queueItemId

An ID or array of IDs for the queue details to retrieve

Returns

The new jobs, if required, to process the cancellation

top

Get details of queued tasks

If you are a site manager, this will return all tasks, otherwise it will be just your own.

Not audit-logged

Queue.GetQueue ( string queue[, hash options = NULL] )

Type and Name Description Required Rights

string queue

One of job download upload

hash options

Accepts keys withItems and withItemIds to control data returned.

Returns

A hash containing keys items and/or itemIds, depending on the request to options. items if set is a JOB_DETAILS[]

top

Get details for one or more items in a queue

This is likely to be useful when refreshing the status of items in a list

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Queue.GetQueueItemDetails ( string queue, string queueItemId )

Type and Name Description Required Rights

string queue

The type of queue to query

string queueItemId

An ID or array of IDs for the queue details to retrieve

Returns

Variant 2

Queue.GetQueueItemDetails ( string queue, string[] queueItemId )

Type and Name Description Required Rights

string queue

The type of queue to query

string[] queueItemId

An ID or array of IDs for the queue details to retrieve

Returns

RecycleBin top

Contents

Details

top

Completely empty a recycle bin

RecycleBin.EmptyRecycleBin ( [int containerId = NULL] )

void

Type and Name Description Required Rights

int containerId

The ID of the recycle bin to empty (defaults to the current user)

Returns

void

top

Get some summary details about the current user's recycle bin. The returned hash will contain keys as follows:

  • files - the total number of files in the recycle bin
  • folders - the total number of folders in the recycle bin
  • quota - the storage space, in bytes, used up by files in the recycle bin
  • size - a nicely formatted string representation of quota e.g. "53.9MB"
  • folderId - the folder ID of the recycle bin, or null if one does not yet exist
Not audit-logged

RecycleBin.GetDetails ( )

Type and Name Description Required Rights

Returns

Details about the current user's recycle bin

Reports top

Contents

Details

top

Gets the parameters available for a report collection or collections.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Reports.GetParameterOptionsForReportCollection ( string collectionId )

string[]

Type and Name Description Required Rights

string collectionId

The id or an array of report collection identifiers

Returns

string[]

The sets of - e.g. - network interfaces - that can be passed to get specific data

Variant 2

Reports.GetParameterOptionsForReportCollection ( string[] collectionId )

string[][]

Type and Name Description Required Rights

string[] collectionId

The id or an array of report collection identifiers

Returns

string[][]

The sets of - e.g. - network interfaces - that can be passed to get specific data

top

Gets the data for a specified report, by id and archive number.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Reports.GetReport ( string reportId[, int archiveNumber = 0] )

string[][]

Type and Name Description Required Rights

string reportId

The id or an array of report ids to get data for.

int archiveNumber

Default to 0. This allows archived reports to be fetched.

Returns

string[][]

meta is a hash of param => value; data is an array of hashes with keys t v

Variant 2

Reports.GetReport ( string[] reportId[, int archiveNumber = 0] )

string[][][]

Type and Name Description Required Rights

string[] reportId

The id or an array of report ids to get data for.

int archiveNumber

Default to 0. This allows archived reports to be fetched.

Returns

string[][][]

meta is a hash of param => value; data is an array of hashes with keys t v

top

Get the storage stats for the current site.

Not audit-logged

Reports.GetStorage ( )

Type and Name Description Required Rights

Returns

Revisions top

Contents

Details

top

This activates a specified revision of a file.

Revisions.ActivateRevision ( guid assetId, int revision )

bool

Type and Name Description Required Rights

guid assetId

The IMS File Reference of the file

int revision

The system number of the revision.

Returns

bool

True if the requested revision was activated.

top

This creates a new revision for the target file, by replacing it with the source file.

Revisions.CreateRevisionFromAssetId ( guid assetId, guid sourceId, bool replaceMetadata )

bool

Type and Name Description Required Rights

guid assetId

The IMS File Reference of the target file

guid sourceId

The IMS File Reference of the source file

bool replaceMetadata

If true, the target's metadata is replaced with that of the source. Default: false

Returns

bool

True if the new revision was created.

top

This deletes a specified revision of a file.

Revisions.DeleteRevision ( guid assetId, int revision )

bool

Type and Name Description Required Rights

guid assetId

The IMS File Reference of the file

int revision

The system number of the revision.

Returns

bool

True if the requested revision was deleted.

top

Retrieve information and thumbnail details for a particular revision of a file.

The fields parameter currently supports two keys - - metadata for returning all known metadata for the file

The returned hash contains keys as follows:

  • id - the IMS File Reference.
  • revision - the number of the revision.
  • fileRevision - the version number of the file.
  • currentRevision - is this the active revision of the file.
  • panoramicUrl - a URL for a large thumbnail of the file.
  • panoramicWidth - width of the above thumbnail.
  • panoramicHeight - height of the above thumbnail.
  • originalWidth - width of the original file.
  • originalHeight - height of the original file.

Included when fields contains a "metadata" key

  • metadata - a hash of all metadata for the file, keyed by the metadata key name.

Included when fields contains a "withPreview" key

  • previewUrl - URL for a preview size of the file.
  • previewWidth - width of the above preview.
  • previewHeight - height of the above preview.
Not audit-logged

Revisions.GetRevisionDetails ( guid assetId[, int revision = NULL][, REVISION_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid assetId

The IMS File Reference of the file

int revision

Optional revision system number. If not specified, the active revision is returned

REVISION_DETAILS_OPTIONS options

Options that control the output of this API function.

Returns

A hash of details about the file

top

Retrieve revision information and thumbnail details for all revisions of a file.

This does not return the metadata or a preview for a file. See GetRevision Details for a method to get metadata and a preview for a specific revision number.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Revisions.GetRevisionHistory ( guid assetId[, REVISION_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid assetId

The IMS File Reference, or array thereof, of the file

REVISION_DETAILS_OPTIONS options

Optional. Options controlling the output of the API function.

Returns

Variant 2

Revisions.GetRevisionHistory ( guid[] assetId[, REVISION_DETAILS_OPTIONS options = NULL] )

Type and Name Description Required Rights

guid[] assetId

The IMS File Reference, or array thereof, of the file

REVISION_DETAILS_OPTIONS options

Optional. Options controlling the output of the API function.

Returns

SFTP top

Contents

Details

Contents

Details

top

Perform an Advanced Search using the supplied search conditions. This method uses the search settings configured under Search Preferences.

The method will return a hash containing the keys files and folders, each containing an array of file or folder hashes for each result found.

The file hashes will contain keys as follows:

  • id - the IMS File Reference.
  • filename - the file's filename.
  • thumbUrl - a URL for a small thumbnail of the file.
  • thumbWidth - width of the above thumbnail.
  • thumbHeight - height of the above thumbnail.

The folder hashes will contain keys as follows:

  • id - The ID of the folder
  • name - The name of the folder
  • description - The description of the folder
  • hasChildContainers - A boolean indicating whether the folder has any sub folders
  • hasChildAssets - A boolean indicating whether the folder contains any files

The fields parameter currently supports two keys - metadata for returning all known metadata for the files and folders, and publishedFiles for returning information about published instances.

Included in both the file and folder hashes when fields contains a "metadata" key

  • metadata - a hash of all metadata for the file or folder, keyed by the metadata key name.

Included in the file hashes when fields contains a "publishedFiles" key

  • publishedFiles - an array containing a hash for each published instance of this file. Each hash will contain:
  • format - the [file format] of the published file
  • width - pixel width
  • height - pixel height
  • status - current status; one of -10 (failed), 0 (undefined), 10 (processing), 20 (available), 40 (deleted)
  • url - the URL of the published file
  • expiry - an expiry date as a unix timestamp, or 0 if there is no expiry date
  • embargo - an embargo date as a unix timestamp, or 0 if there is no embargo date
  • note - any associated notes
  • owner - the ID of the user who created this instance

Search.AdvancedSearch ( hash[] query[, SEARCH_OPTIONS fields = NULL] )

Type and Name Description Required Rights

hash[] query

An array of hashes representing the search conditions. See Search Parameters

SEARCH_OPTIONS fields

Optionally used to configure the returned information

Returns

top

Perform a General Search using the supplied search text. This method uses the search settings configured under Search Preferences.

The method will return a hash containing the keys files and folders, each containing an array of file or folder hashes for each result found.

The file hashes will contain keys as follows:

  • id - the IMS File Reference.
  • filename - the file's filename.
  • thumbUrl - a URL for a small thumbnail of the file.
  • thumbWidth - width of the above thumbnail.
  • thumbHeight - height of the above thumbnail.

The folder hashes will contain keys as follows:

  • id - The ID of the folder
  • name - The name of the folder
  • description - The description of the folder
  • hasChildContainers - A boolean indicating whether the folder has any sub folders
  • hasChildAssets - A boolean indicating whether the folder contains any files

The fields parameter currently supports two keys - metadata for returning all known metadata for the files and folders, and publishedFiles for returning information about published instances.

Included in both the file and folder hashes when fields contains a "metadata" key

  • metadata - a hash of all metadata for the file or folder, keyed by the metadata key name.

Included in the file hashes when fields contains a "publishedFiles" key

  • publishedFiles - an array containing a hash for each published instance of this file. Each hash will contain:
  • format - the [file format] of the published file
  • width - pixel width
  • height - pixel height
  • status - current status; one of -10 (failed), 0 (undefined), 10 (processing), 20 (available), 40 (deleted)
  • url - the URL of the published file
  • expiry - an expiry date as a unix timestamp, or 0 if there is no expiry date
  • embargo - an embargo date as a unix timestamp, or 0 if there is no embargo date
  • note - any associated notes
  • owner - the ID of the user who created this instance

Search.GeneralSearch ( string query[, bool exactMatches = false][, SEARCH_OPTIONS fields = NULL] )

Type and Name Description Required Rights

string query

The text to search on

bool exactMatches

Whether the search should return results containing all the words in the search query

SEARCH_OPTIONS fields

Optionally used to configure the returned information

Returns

top

Perform an Advanced Search using the supplied search conditions. This method uses the search settings configured under Search Preferences.

This method returns the details of a saved search folder, which can be used to retrieve results and facets per normal browsing

Not audit-logged

Search.GetAdvancedSearchFolder ( hash[] query[, SEARCH_OPTIONS fields = NULL] )

Type and Name Description Required Rights

hash[] query

An array of hashes representing the search conditions. See Search Parameters

SEARCH_OPTIONS fields

Optionally used to configure the returned information

Returns

top

Get display information for possible facet suggestions

Each hash in the returned array contains the following keys:

key - the key identifying this facet in the hash of Search Facets label - A label that can be used to present this facet to the user

Not audit-logged

Search.GetFacetOrder ( )

Type and Name Description Required Rights

Returns

An array of hashes, containing key and label for the facets in order

top

Returns faceting suggestions to filter the supplied list of IMS File References, equivalent to those returned by Search.AdvancedSearch

Not audit-logged

Search.GetFacetsForFiles ( int[]|string[] assetIds )

Type and Name Description Required Rights

int[]|string[] assetIds

An array of IMS File References for which to get facet suggestions

Returns

A hash of Search Facets, keyed by field identifier.

top

Returns faceting suggestions to filter the current folder, equivalent to those returned by Search.AdvancedSearch

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Search.GetFacetsForFolder ( guid folderId )

Type and Name Description Required Rights

guid folderId

The ID of the folder for which to get facet suggestions

Returns

A hash of Search Facets, keyed by field identifier.

Variant 2

Search.GetFacetsForFolder ( guid[] folderIds )

Type and Name Description Required Rights

guid[] folderIds

The ID of the folder for which to get facet suggestions

Returns

A hash of Search Facets, keyed by field identifier.

top

Get the field definitions allowed by the search. Use this to determine what fields can be searched by the current user, and what options each field takes.

The returned array contains a number of hashes representing each metadata panel that the user has access to. Each panel hash has a key for the panel's label, and an array of fields. The field array contains hashes which themselves have keys for the field's identifier, label, and array of available coniditions.

Not audit-logged

Search.GetFields ( )

Type and Name Description Required Rights

Returns

An array of hashes containing panel and field configuration data.

top

Perform a General Search using the supplied search text. This method uses the search settings configured under Search Preferences.

This method returns the details of a saved search folder, which can be used to retrieve results and facets per normal browsing

Not audit-logged

Search.GetGeneralSearchFolder ( string query[, bool exactMatches = false][, SEARCH_OPTIONS fields = NULL] )

Type and Name Description Required Rights

string query

The text to search on

bool exactMatches

Whether the search should return results containing all the words in the search query

SEARCH_OPTIONS fields

Optionally used to configure the returned information

Returns

Sharing top

Contents

Details

top

Checks that the current user can really share the provided folders and files.

Getting rights on a folder will return if the user has share permission on that object but does not take into account the possibility that they might lack the permission on sub-folders. This makes the extra check to confirm. This also checks that there are no incoming shares in the sub-tree.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Sharing.CheckCreate ( guid[]|guid[] contentGuids[, context context = NULL] )

Type and Name Description Required Rights

guid[]|guid[] contentGuids

The file or folders to share

  • share

context context

The context on whose behalf the share is being made. This will be ignored when shareCollectionId is supplied as the context of the existing share will be used.

Returns

Details as to whether this folder can be shared

Variant 2

Sharing.CheckCreate ( guid shareCollectionId[, context context = NULL] )

Type and Name Description Required Rights

guid shareCollectionId

The ID or GUID of an existing Share Collection to which the share should be added.

  • share

context context

The context on whose behalf the share is being made. This will be ignored when shareCollectionId is supplied as the context of the existing share will be used.

Returns

Details as to whether this folder can be shared

top

Checks that the current user can really share the provided folder.

Getting rights on a folder will return if the user has share permission on that object but does not take into account the possibility that they might lack the permission on sub-folders. This makes the extra check to confirm. This also checks that there are no incoming shares in the sub-tree.

Not audit-logged

Sharing.CheckCreateFolderShare ( guid folderId )

Type and Name Description Required Rights

guid folderId

The ID or GUID of the folder wanted to be shared.

  • share

Returns

Details as to whether this folder can be shared

top

Shares the specified folders and files with the specified users, groups and external users.

An audit-log entry of type `SHARE_ACL` will be created for this action
Variant Information: This method has 3 variants.
Variant 1

Sharing.Create ( CREATE_SHARE_DETAILS[] shares[, string name = NULL][, guid[]|guid[] contentGuids = NULL][, bool upgradeFunctionalLevels = false][, context context = NULL][, bool dontNotify = false] )

Type and Name Description Required Rights

CREATE_SHARE_DETAILS[] shares

An array of shares to create.

string name

The name to give the share.

guid[]|guid[] contentGuids

The file, file links or folders to share.

  • share

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a non-Share Functional Level is encountered (or if the current Functional Level doesn't include the requested rights) then upgrade the Functional Level to the required level.

context context

The context on whose behalf the share is being made.

bool dontNotify

Setting to true disables the sending of the 'folder shared' notification.

Returns

If only a single group, user or external user id has been supplied as an int the hash of the created share is returned. Otherwise the hashes for all of the created shares will be returned, hashed by both the type (e.g. "users", "groups" and "externalUsers" and the ids.

Variant 2

Sharing.Create ( CREATE_SHARE_DETAILS[] shares[, string name = NULL], guid[]|guid[] contentGuids[, bool upgradeFunctionalLevels = false][, context context = NULL][, bool dontNotify = false] )

Type and Name Description Required Rights

CREATE_SHARE_DETAILS[] shares

An array of shares to create.

string name

The name to give the share.

guid[]|guid[] contentGuids

The file, file links or folders to share.

  • share

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a non-Share Functional Level is encountered (or if the current Functional Level doesn't include the requested rights) then upgrade the Functional Level to the required level.

context context

The context on whose behalf the share is being made.

bool dontNotify

Setting to true disables the sending of the 'folder shared' notification.

Returns

If only a single group, user or external user id has been supplied as an int the hash of the created share is returned. Otherwise the hashes for all of the created shares will be returned, hashed by both the type (e.g. "users", "groups" and "externalUsers" and the ids.

Variant 3

Sharing.Create ( CREATE_SHARE_DETAILS[] shares, guid shareCollectionId[, bool upgradeFunctionalLevels = false][, context context = NULL][, bool dontNotify = false] )

Type and Name Description Required Rights

CREATE_SHARE_DETAILS[] shares

An array of shares to create.

guid shareCollectionId

The ID or GUID of an existing Share Collection to which the share should be added.

  • share

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a non-Share Functional Level is encountered (or if the current Functional Level doesn't include the requested rights) then upgrade the Functional Level to the required level.

context context

The context on whose behalf the share is being made.

bool dontNotify

Setting to true disables the sending of the 'folder shared' notification.

Returns

If only a single group, user or external user id has been supplied as an int the hash of the created share is returned. Otherwise the hashes for all of the created shares will be returned, hashed by both the type (e.g. "users", "groups" and "externalUsers" and the ids.

top

Shares the supplied Folder, Collection or Smart Collection.

An audit-log entry of type `SHARE_ACL` will be created for this action

Sharing.CreateFolderShare ( CREATE_SHARE_DETAILS[] shares, guid folderId[, bool upgradeFunctionalLevels = false][, bool dontNotify = false] )

Type and Name Description Required Rights

CREATE_SHARE_DETAILS[] shares

An array of shares to create.

guid folderId

The ID or GUID of the folder wanted to be shared.

  • share

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a non-Share Functional Level is encountered (or if the current Functional Level doesn't include the requested rights) then upgrade the Functional Level to the required level.

bool dontNotify

Setting to true disables the sending of the 'folder shared' notification.

Returns

If only a single group, user or external user id has been supplied as an int the hash of the created share is returned. Otherwise the hashes for all of the created shares will be returned, hashed by both the type (e.g. "users", "groups" and "externalUsers" and the ids.

top

Deletes the given share or shares

An audit-log entry of type `SHARE_ACL` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Sharing.Delete ( guid shareId )

Type and Name Description Required Rights

guid shareId

The ID of the share or shares to delete.

  • delete

Returns

Variant 2

Sharing.Delete ( guid[] shareIds )

void

Type and Name Description Required Rights

guid[] shareIds

The ID of the share or shares to delete.

  • delete

Returns

void

top

Gets the details of the given share

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Sharing.Get ( guid shareId )

Type and Name Description Required Rights

guid shareId

The ID of the share or shares to get the details for.

Returns

Variant 2

Sharing.Get ( guid[] shareIds )

Type and Name Description Required Rights

guid[] shareIds

The ID of the share or shares to get the details for.

Returns

top

Sets the details of the given share

An audit-log entry of type `SHARE_ACL` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

Sharing.Set ( guid shareId, SET_SHARE_DETAILS details[, bool upgradeFunctionalLevels = false] )

Type and Name Description Required Rights

guid shareId

The ID of the share or shares to set the details for.

  • edit

SET_SHARE_DETAILS details

The details for the new share settings

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a Functional Level which doesn't have the required rights is encountered then upgrade the Functional Level to the required level.

Returns

Variant 2

Sharing.Set ( guid[] shareIds, SET_SHARE_DETAILS details[, bool upgradeFunctionalLevels = false] )

Type and Name Description Required Rights

guid[] shareIds

The ID of the share or shares to set the details for.

  • edit

SET_SHARE_DETAILS details

The details for the new share settings

bool upgradeFunctionalLevels

If a Collection or Smart Folder with a Functional Level which doesn't have the required rights is encountered then upgrade the Functional Level to the required level.

Returns

Shortcuts top

Contents

Details

top

Get a user's shortcuts for display in the UI

This is for folders or folder links that have been pinned through a call to Shortcuts.SetShortcuts

The returned hash is keyed by section ID, and each hash within it contains keys as follows:

  • groupid - The ID of the group that is the source of this section
  • title - A textual title to display against the section
  • tooltipCaption - A key into the tooltips lookup in the IMS v7 front end
  • items - An array of hashes describing each shortcut
  • mutable - A boolean to indicate whether the user can change the contents of this section

Each shortcut hash contains keys as follows:

  • type - The type of object being linked. One of folder and folderlink
  • data - An ID that (qualified by the type) identifies the object being linked
  • guid - For any type supporting it, the GUID of the target
Not audit-logged

Shortcuts.GetShortcuts ( )

Type and Name Description Required Rights

Returns

A hash of hashes, describing the shortcut structure

top

This method can be called to log a view of a container, for the purpose of updating the recent folder listing

Not audit-logged

Shortcuts.LogView ( guid containerId )

void

Type and Name Description Required Rights

guid containerId

The ID of the viewed container

Returns

void

top

Resets the shortcuts of the specified group to that of the incoming array

Incoming shortcut hashes prefer guid but will fall back to type and data

All keys may be specifed, for compatibility with GetShortcuts, but if GUID is set and resolves to a shortcut-able object then that will be used

Shortcuts.SetShortcuts ( string group[, hash[] shortcuts = NULL] )

void

Type and Name Description Required Rights

string group

The shortcut group identifier

hash[] shortcuts

An array of shortcut data

Returns

void

SiteExport top

Contents

Details

top

Create new site export using the supplied settings.

SiteExport.Create ( string label )

Type and Name Description Required Rights

string label

Label to identify the site export.

Returns

Created site export.

top

Create new API unauthenticated API session for using the site export tool.

SiteExport.CreateSession ( )

Type and Name Description Required Rights

Returns

Details of the site export session

top

Get a single site export by ID.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

SiteExport.Get ( int exportId )

Type and Name Description Required Rights

int exportId

IDs of the site exports.

Returns

Variant 2

SiteExport.Get ( int[] exportIds )

Type and Name Description Required Rights

int[] exportIds

IDs of the site exports.

Returns

top

Get all of the site's exports.

Not audit-logged

SiteExport.GetAll ( )

Type and Name Description Required Rights

Returns

top

Authenticate the API session using the PSK and session's challenge. In the case of failure, the session is destroyed and a new request to SiteExport.CreateSession() is required.

SiteExport.ValidateSession ( string challengeSignature )

void

Type and Name Description Required Rights

string challengeSignature

Challenge string signed using the PSK.

Returns

void

SiteTerms top

Contents

Details

top

Creates a new version of the Site Terms.

An audit-log entry of type `SITE_TERMS` will be created for this action

SiteTerms.Create ( CREATE_SITE_TERMS_DETAILS details )

Type and Name Description Required Rights

CREATE_SITE_TERMS_DETAILS details

Details for the new Site Terms.

Returns

top

Deletes the Site Terms matching the supplied IDs and GUIDs can be deleted by the current user.

An audit-log entry of type `SITE_TERMS` will be created for this action

SiteTerms.Delete ( guid[] siteTermsIds )

void

Type and Name Description Required Rights

guid[] siteTermsIds

IDs or GUIDs of the Site Terms to delete.

  • delete

Returns

void

top

Get the details of the Site Terms.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

SiteTerms.Get ( guid siteTermsId )

Type and Name Description Required Rights

guid siteTermsId

The ID or GUID, or array thereof, of the Site Terms to get.

Returns

Variant 2

SiteTerms.Get ( guid[] siteTermsIds )

Type and Name Description Required Rights

guid[] siteTermsIds

The ID or GUID, or array thereof, of the Site Terms to get.

Returns

top

Get the current version of the site terms.

Not audit-logged

SiteTerms.GetLatest ( )

SITE_TERMS_DETAILS|null

Type and Name Description Required Rights

Returns

SITE_TERMS_DETAILS|null

Details of the latest site terms, or null if none have been set or if Site Terms are not enabled and the current user is not an Elevated Site Administrator.

top

Get the details of the minimum version of the Site Terms that need to be agreed to.

Not audit-logged

SiteTerms.GetMinimum ( )

SITE_TERMS_DETAILS|null

Type and Name Description Required Rights

Returns

SITE_TERMS_DETAILS|null

Details of the minimum required site terms, or null if none have been set or if Site Terms are not enabled and the current user is not an Elevated Site Administrator.

top

Applies the provided details to the Site Terms matching the supplied ID or GUID.

An audit-log entry of type `SITE_TERMS` will be created for this action

SiteTerms.Set ( guid siteTermsId, SET_SITE_TERMS_DETAILS details )

Type and Name Description Required Rights

guid siteTermsId

ID or GUID of the Site Terms to set.

  • edit

SET_SITE_TERMS_DETAILS details

Details to set.

Returns

Statistics top

Contents

Details

top

Export items from statistics

Not audit-logged

Statistics.CreateExport ( STATISTICS_SEARCH_OPTIONS options[, guid[] spaceGuids = NULL][, string separator = ','][, string name = NULL] )

ACTIVITY_LOG_EXPORT_DETAILS

Type and Name Description Required Rights

STATISTICS_SEARCH_OPTIONS options

An array of search params

guid[] spaceGuids

An optional list of spaces for which to retrieve the activities. If none are provided then export will be of all spaces

string separator

The delimiter to use in the output file. One of ,, ;, :, |, TAB

string name

The name to use for the exported spreadsheet

Returns

ACTIVITY_LOG_EXPORT_DETAILS

top

Generate a PDF export for all spaces visible to the user. Returns a URL to collect the PDF.

Statistics.CreatePDFExportForAll ( STATISTICS_PDF_OPTIONS options )

string

Type and Name Description Required Rights

STATISTICS_PDF_OPTIONS options

An array of search params

Returns

string

A URL where the PDF export can be retrieved from

top

top

Generate a PDF export for the specified spaces. Returns a URL to collect the PDF.

Statistics.CreatePDFExportForSpace ( guid[] spaceGuids, STATISTICS_PDF_OPTIONS options )

string

Type and Name Description Required Rights

guid[] spaceGuids

The spaces for which to retrieve the statistics

STATISTICS_PDF_OPTIONS options

An array of search params

Returns

string

A URL where the PDF export can be retrieved from

top

Export items from plink statistics

Not audit-logged

Statistics.CreatePublishLinkExport ( STATISTICS_SEARCH_OPTIONS options, guid publishLinkId[, string separator = ','][, string name = NULL] )

ACTIVITY_LOG_EXPORT_DETAILS

Type and Name Description Required Rights

STATISTICS_SEARCH_OPTIONS options

An array of search params

guid publishLinkId

the id of the Publish Link to retrieve the list for

string separator

The delimiter to use in the output file. One of ,, ;, :, |, TAB

string name

The name to use for the exported spreadsheet

Returns

ACTIVITY_LOG_EXPORT_DETAILS

top

Gets all of a type of statistics for a site

Not audit-logged

Statistics.GetAll ( STATISTICS_SEARCH_OPTIONS options )

STATISTICS_RESPONSE

Type and Name Description Required Rights

STATISTICS_SEARCH_OPTIONS options

An array of search params

Returns

STATISTICS_RESPONSE

the statistics for the site

top

Get exports created by the the current user in statistics

This will include exports that are pending, in progress and complete, but not those that have been cleaned

Not audit-logged

Statistics.GetExports ( )

ACTIVITY_LOG_EXPORT_DETAILS[]

Type and Name Description Required Rights

Returns

ACTIVITY_LOG_EXPORT_DETAILS[]

top

top

Gets all of the activity for the spaces

Not audit-logged

Statistics.GetForSpace ( guid[] spaceGuids, STATISTICS_SEARCH_OPTIONS options )

STATISTICS_RESPONSE

Type and Name Description Required Rights

guid[] spaceGuids

The spaces for which to retrieve the statistics

STATISTICS_SEARCH_OPTIONS options

An array of search params

Returns

STATISTICS_RESPONSE

the statistics for the spaces

top

Get PDF subscriptions (weekly emailed report) created by the the current user

Not audit-logged

Statistics.GetMyWeeklyReportSubscriptions ( )

WEEKLY_REPORT_SUBSCRIPTION[]

Type and Name Description Required Rights

Returns

WEEKLY_REPORT_SUBSCRIPTION[]

top

Get the top 10 downloads for the entire site

Not audit-logged

Statistics.GetOverallTopDownloads ( STATISTICS_SEARCH_OPTIONS options )

array

Type and Name Description Required Rights

STATISTICS_SEARCH_OPTIONS options

An array of search params

Returns

array

An array of the top 10 downloads for the side

top

Gets all of the activity for the published link

Not audit-logged

Statistics.GetOverviewForUser ( guid|guid userId )

array

Type and Name Description Required Rights

guid|guid userId

the user to return the statistics overview for

Returns

array

the statistics overview for the user

top

Gets the list of email addresses which have and haven't opened a published link

Not audit-logged

Statistics.GetPublishedLinkOpened ( guid publishLinkId )

array

Type and Name Description Required Rights

guid publishLinkId

the id of the Publish Link to retrieve the list for

Returns

array

An array of published link emails, with their "opened" status

top

Gets the top ten downloads for the published link

Not audit-logged

Statistics.GetPublishedLinkTopDownloads ( guid publishLinkId, STATISTICS_SEARCH_OPTIONS options )

array

Type and Name Description Required Rights

guid publishLinkId

the id of the Publish Link to retrieve top downloads for

STATISTICS_SEARCH_OPTIONS options

An array of search params

Returns

array

An array of the top ten downloads for the plink

top

Gets the top downloads for the spaces

Not audit-logged

Statistics.GetSpaceTopDownloads ( guid[] spaceGuids, STATISTICS_SEARCH_OPTIONS options )

array

Type and Name Description Required Rights

guid[] spaceGuids

The spaces for which to retrieve the top downloads

STATISTICS_SEARCH_OPTIONS options

An array of search params

Returns

array

An array of the top ten downloads for the spaces

top

Add or remove a subscription to a weekly emailed pdf report of all spaces

Statistics.UpdateWeeklyReportSubscriptionToAll ( bool subscribe )

void

Type and Name Description Required Rights

bool subscribe

whether to subscribe or unsubscribe to the report

Returns

void

top

top

Add or remove a subscription to a weekly emailed pdf report of a particular space

Statistics.UpdateWeeklyReportSubscriptionToSpace ( guid spaceGuid, bool subscribe )

void

Type and Name Description Required Rights

guid spaceGuid

The space to subscribe to

bool subscribe

whether to subscribe or unsubscribe to the report

Returns

void

Syncer top

Contents

Details

top

Check that the syncer is available to this user.

Syncer.CheckAvailability ( )

Type and Name Description Required Rights

Returns

Details about the availability of the syncer.

top

Gets the syncer configuration for the current user.

If the current user does not already have a 'Project Sync' folder, this will create one. If the site is in 'Syncer Trial' mode, then this will activate a trial for the user if necessary.

Not audit-logged

Syncer.Get ( [string syncerVersion = NULL][, bool excludeGuides = false] )

Type and Name Description Required Rights

string syncerVersion

Version of the syncer that is connecting. Used to validate it meets a minimum version.

bool excludeGuides

If this method triggers the creation of the Project Sync folder, this controls whether to include the various guides in the created folder.

Returns

top

Get the folder structure of the user's sync folder. Some notes on the behaviour:

  • not specifying any keys will result in the entire structure being returned.
  • if the supplied key is for a container, the result will only include the immediate children of the container, and will not recurse any deeper. The syncer should either trust its current values for the deeper descendents, or explicitly request those keys as well. A consequence of this is that requesting explicitly with the sync folder's key will result in a different result to the default behaviour (see above).
  • if the supplied key no longer exists, is not in the Sync Folder, or the user cannot view it, it will still be returned in the result with an empty array. The syncer should delete the node in its copy of the sync tree when the result for the GUID is empty.
  • the supplied item is only considered in its original location—e.g. if a file's GUID is supplied, a link to that file would not be considered when evaluating whether the file is within the sync structure.
  • the requested item (if valid—see first bullet point) will always be the first item in the key's result. Notably, if the requested key is a file or file link, the result will be an array with the single item.

@par

Not audit-logged

Syncer.GetItems ( [string[] inputKeys = NULL] )

Type and Name Description Required Rights

string[] inputKeys

The guids of the items to get. If no GUID is supplied, the method will get the whole sync tree for the user. If the item being requested is navigable via a folder link, the GUID must be prefixed with the path of folder links in the form (<folderLinkId>:)*<itemGuid>, e.g. 14:63304cef-3bfa-4081-84f3-bd76bf1c8527.

Returns

The fetched items, keyed by the supplied keys or, if no keys were supplied, the Sync Folder's key.

top

Sync a folder. This creates a Sync Reference (a folder link of type SYNC) in the current user's Project Sync folder.

Syncer.Sync ( guid folderId )

Type and Name Description Required Rights

guid folderId

Folder to sync.

Returns

top

If the current user has a Sync Reference (a folder link of type SYNC) for this folder, this method deletes the folder link.

Syncer.Unsync ( guid folderId )

void

Type and Name Description Required Rights

guid folderId

Folder to Unsync.

Returns

void

Sysadmin top

Contents

Details

top

Add a chained certificate to an existing SSL certificate

The certificate should be in X509 format, and may contain multiple chained certificates If further required chained certificates are missing, "incompletechain" will be set in the response

Sysadmin.AddChainedCertificate ( int certId, string chainedCert )

bool

Type and Name Description Required Rights

int certId

The id of the certificate to replace

string chainedCert

New certificate in X509 format

Returns

bool

False if the chain is not yet complete

top

Clear datastore errors, and re-initialise the metadata marker

IMS monitors datastores to detect error conditions - such as lost connections to network file systems - in order to prevent consistency problems. When migrating data onto new storage, the metadata marker files used by IMS may become lost or invalid if the documented backup/restore process was not followed precisely

In this eventuality, having verified that the restore was successful, this method can be used to reset the error, and re-initialise the datastore metadata.

Sysadmin.ClearDatastoreErrors ( )

void

Type and Name Description Required Rights

Returns

void

top

This method is used by ims-sync to report that a sync completed successfully

Sysadmin.RegisterSyncComplete ( string syncKey, int eventId )

void

Type and Name Description Required Rights

string syncKey

The shared secret key registered by the ims-sync peer

int eventId

The backup job ID as issued by RegisterSyncStart

Returns

void

top

This method is used by ims-sync to report that a sync failed, and optionally to pass details about the failure

Sysadmin.RegisterSyncError ( string syncKey, int eventId[, string message = NULL] )

void

Type and Name Description Required Rights

string syncKey

The shared secret key registered by the ims-sync peer

int eventId

The backup job ID as issued by RegisterSyncStart

string message

An optional message describing the nature of the failure

Returns

void

top

This method is used by ims-sync to report progress through the backup process

Sysadmin.RegisterSyncProgress ( string syncKey, int eventId, string status )

void

Type and Name Description Required Rights

string syncKey

The shared secret key registered by the ims-sync peer

int eventId

The backup job ID as issued by RegisterSyncStart

string status

A message describing the current task/status

Returns

void

top

This method is used by ims-sync to report on attempts to back up the host

Sysadmin.RegisterSyncStart ( string syncKey )

int

Type and Name Description Required Rights

string syncKey

The shared secret key registered by the ims-sync peer

Returns

int

The backup job ID, for use as eventId in subsequent calls

top

Replace an SSL certificate

The certificate should be in X509 format, and may contain chained certificates If required chained certificates are missing, "incompletechain" will be set in the response

Sysadmin.ReplaceCertificate ( int certId, string certificate )

bool

Type and Name Description Required Rights

int certId

The id of the certificate to replace

string certificate

New certificate in X509 format

Returns

bool

False if the chain is not yet complete

Themes top

Contents

Details

top

Create a new Theme in the catalogue for the supplied context.

Themes.CreateTheme ( guid context, THEME_DETAILS details )

Type and Name Description Required Rights

guid context

The context in which to create the Theme.

THEME_DETAILS details

The details of the Theme to create, the following keys are supported: name - the name of the Theme. parentId - optional. The id of the Theme to base this theme on, if not supplied the catalogues default theme will be used.

Returns

The created Theme.

top

Deletes the supplied Themes.

Variant Information: This method has 2 variants.
Variant 1

Themes.DeleteTheme ( guid themeId )

Type and Name Description Required Rights

guid themeId

The id, or array there of, of the Themes to delete.

Returns

The hashes of any Themes not fully deleted – if a theme is still used by a Publish Link, as a parent theme or as a default theme, then it will only be marked as deleted.

Variant 2

Themes.DeleteTheme ( guid[] themeId )

Type and Name Description Required Rights

guid[] themeId

The id, or array there of, of the Themes to delete.

Returns

The hashes of any Themes not fully deleted – if a theme is still used by a Publish Link, as a parent theme or as a default theme, then it will only be marked as deleted.

top

Get the Aggregate Theme Catalogue details of the requested contexts.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Themes.GetAggregateCatalogueDetails ( [guid context = 'me'] )

string[]

Type and Name Description Required Rights

guid context

The context, or array thereof, for which to get the Aggregate Theme Catalogue details.

Returns

string[]

The Aggregate Metadata Catalogue details or, if an array of contexts were supplied, the Aggregate Theme Catalogues hashed by context.

Variant 2

Themes.GetAggregateCatalogueDetails ( [guid[] context = 'me'] )

string[][]

Type and Name Description Required Rights

guid[] context

The context, or array thereof, for which to get the Aggregate Theme Catalogue details.

Returns

string[][]

The Aggregate Metadata Catalogue details or, if an array of contexts were supplied, the Aggregate Theme Catalogues hashed by context.

top

Get the Theme Catalogue details of the requested contexts.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Themes.GetIndividualCatalogueDetails ( guid context )

Type and Name Description Required Rights

guid context

The context, or array thereof, for which to get the Individual Theme Catalogue details.

Returns

Variant 2

Themes.GetIndividualCatalogueDetails ( guid[] context )

Type and Name Description Required Rights

guid[] context

The context, or array thereof, for which to get the Individual Theme Catalogue details.

Returns

top

A method to get the usage statistics of a theme

Not audit-logged

Themes.GetStats ( guid theme )

Type and Name Description Required Rights

guid theme

The theme to query

Returns

Visible statistics at the current point in time

top

Get the details for the requested themes.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Themes.GetThemeDetails ( guid themeId )

Type and Name Description Required Rights

guid themeId

The id, or array thereof, of the Themes of which to get the details.

Returns

A hash of the requested Theme's details, or, if an array of ids was supplied, the details of each Theme hashed by id.

Variant 2

Themes.GetThemeDetails ( guid[] themeId )

Type and Name Description Required Rights

guid[] themeId

The id, or array thereof, of the Themes of which to get the details.

Returns

A hash of the requested Theme's details, or, if an array of ids was supplied, the details of each Theme hashed by id.

top

Move the Theme to a different context.

Variant Information: This method has 2 variants.
Variant 1

Themes.MoveTheme ( guid themeId, guid context )

Type and Name Description Required Rights

guid themeId

The id, or arrauy thereof, of the themes of which to move.

guid context

The context of the destination Individual Catalogue for the Theme.

Returns

The updated hash of the moved Theme details or, if an array of ids was supplied, the Theme details hashed by ID.

Variant 2

Themes.MoveTheme ( guid[] themeId, guid context )

Type and Name Description Required Rights

guid[] themeId

The id, or arrauy thereof, of the themes of which to move.

guid context

The context of the destination Individual Catalogue for the Theme.

Returns

The updated hash of the moved Theme details or, if an array of ids was supplied, the Theme details hashed by ID.

top

top

Allows changing of the settings for a Theme.

Themes.SetThemeDetails ( guid themeId, THEME_DETAILS details )

Type and Name Description Required Rights

guid themeId

the id of the Theme to update.

THEME_DETAILS details

the details to set, only the following keys can be updated (any other keys will be ignored): name - the name of the Theme.

Returns

The updated Theme hash.

Token top

Contents

Details

top

Get the JWT token needed to use Apple Mapkit

Not audit-logged

Token.GetAppleToken ( )

Type and Name Description Required Rights

Returns

JWT token and expiration timestamp

Upload top

Contents

Details

top

Abort and delete an upload task

After calling this method, uploadKey will not be valid for any future call

This method is only valid if the upload is still accepting new files. For processed uploads, use CompleteUpload instead

Upload.AbandonUpload ( string uploadKey )

void

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

void

top

Abort processing of uploaded files

Try to abort import for an upload, or some particular files within it. Returns the keys corresponding to the files that were aborted successfully.

Upload.AbortUploadFiles ( string uploadKey[, mixed fileKeys = NULL] )

string[]

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

mixed fileKeys

An optional file key or array of file keys, specifying the file(s) to attempt to abort

Returns

string[]

A hash keyed by client reference, referring to the files that were aborted

top

Add one or more files to an upload task

The fileData hash is keyed by client file reference, which must be unique across the upload, and should contain the following keys

  • string encoding: the data encoding in use. Currently "base64" is the only supported value
  • string name: the file name
  • string data: The file contents, encoded according to the encoding specified
  • hash metadata: A hash of tagvalue for metadata to be applied to the file

Upload.AddFilesToUpload ( string uploadKey, hash fileData )

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

hash fileData

A hash of file data and metadata - see notes

Returns

When synchronous, returns a hash containing the key succeeded, a hash of client referenceIMS File Reference (when blocking) or queueued, a hash . Otherwise void.

top

Check if the current user has permission to upload (via HTTP) to the specified folder

Upload.CanUploadToFolder ( int containerId )

bool

Type and Name Description Required Rights

int containerId

The ID of the folder to test permission

Returns

bool

True if the user can upload here; false otherwise

top

Check if there is enough quota to perform an upload. Distinguishes between there being a high confidence of success and a reasonable possibility that there may not be by the time the upload gets processed.

Upload.CheckQuota ( guid destination, int uploadKB )

Type and Name Description Required Rights

guid destination

The folder that is the intended destination for the upload

  • child:upload

int uploadKB

The amount of data to be uploaded, in kilobytes

Returns

Whether there is sufficient quota available for the proposed upload

top

Mark the upload as completed, and prevent further use of it

After calling this method, uploadKey will not be valid for any future call

This method is only valid if the upload is not accepting new files. For uploads in progress, use AbandonUpload instead

Upload.CompleteUpload ( string uploadKey )

void

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

void

top

Creates a new upload task. During upload, there are two phases:

  1. The HTTP POST of a file from a brower to IMS ('the transfer').
  2. The importing of the file by IMS, where various checks are made for metadata, duplicates, etc ('the processing').

Upload.CreateUpload ( UPLOAD_OPTIONS params )

Type and Name Description Required Rights

UPLOAD_OPTIONS params

Parameters to the upload

Returns

Data about the upload task

top

If you have used a synchronous non-blocking upload, then you'll have uploaded some files and will then be using upload.GetUploadResult to monitor progress. Once all your files have been processed, you need to call this FinaliseUpload method to tidy up.

Upload.FinaliseUpload ( string uploadKey )

bool

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

bool

containing the key finalised and a boolean true/false. If false, the upload will be queued to retry within 1hr

top

Returns the details of an upload. Can only be called on synchronous non-blocking uploads.

Note: this method does not append the replace details to the postUrl as is done in CreateDetails.

Not audit-logged

Upload.Get ( string uploadKey )

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

Data about the upload task

top

Get the progress of an upload task

The returned hash contains:

  • files: The number of files in the upload
  • processed: The number of files that have been processed
  • rejected: The number of files that have not been accepted
  • error: true if the upload encountered an error condition
  • percent: The approximate percent progress of the task
Not audit-logged

Upload.GetUploadProgress ( string uploadKey )

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

A hash containing the keys files,processed,rejected,error,percent

top

Get the IMS reference for the files uploaded in this task

Not audit-logged

Upload.GetUploadResult ( string uploadKey )

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

Returns a hash containing the key succeeded, a hash of client referenceIMS File Reference, and the key count, which is a summary of the number of succeeded files.

top

Get the keys of file uploads that have been accepted

Not audit-logged

Upload.GetUploadedFiles ( string uploadKey )

int[]

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

int[]

Returns a hash of client reference → 1 for each file accepted.

top

Mark the upload as locked, so that it cannot be accessed by other users, even if they have the key

Upload.LockUpload ( string uploadKey )

void

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

void

top

Trigger processing of an upload task

Upload.StartUpload ( string uploadKey[, bool blocking = NULL] )

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

bool blocking

If true, the call will not return until the upload has been processed, and the return will contain file key → IMS reference mappings

Returns

When blocking, returns a hash containing the key succeeded, a hash of client referenceIMS File Reference. Otherwise void.

top

Mark the upload as unlocked, so that it can be accessed by other users, provided they have the key

Upload.UnlockUpload ( string uploadKey )

void

Type and Name Description Required Rights

string uploadKey

The upload key returned by the call to CreateUpload

Returns

void

UploadBatch top

Contents

Details

top

Advise the upload batch of files that are intended to be added to the upload batch. If called on a closed batch, this method has no effect, therefore, it is recommended that you keep the batch open while adding files and only closing after transfer has been completed.

Not audit-logged

UploadBatch.AdviseOfFiles ( guid batchId, int fileCount )

void

Type and Name Description Required Rights

guid batchId

The ID or GUID, or array thereof, of the Upload Batches to 'touch'.

int fileCount

Number of additional files that are going to be added to the batch.

Returns

void

top

Mark an upload batch as complete, so that upload notifications can be sent when processed.

If this is not called, the batch will be implicitly closed 5 minutes after processing completes

Not audit-logged

UploadBatch.Close ( guid[] batchIds )

void

Type and Name Description Required Rights

guid[] batchIds

The ID or GUID, or array thereof, of the Upload Batch to close.

  • edit

Returns

void

top

Create a new upload batch. An Upload Batch is intended to wrap multiple Uploads created using Uploads.CreateUpload to help reduce the number of items in the Upload Manager and the number of notifications generated (e.g. for uploads spanning multiple folders or containing a lot of files)..

The created Upload Batch is locked to the current user. If the batch is not closed explicitly, it will be closed automatically after 5 or so minutes.

For general API usage, it is recommended to use the automatic batch creation in Uploads.CreateUpload.

Not audit-logged

UploadBatch.Create ( [string guid = NULL] )

Type and Name Description Required Rights

string guid

Optional GUID to give the created batch.

Returns

top

Get the details of an Upload Batch.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

UploadBatch.Get ( guid batchId )

Type and Name Description Required Rights

guid batchId

The ID or GUID, or array thereof, of the Upload Batch to get.

Returns

Variant 2

UploadBatch.Get ( guid[] batchIds )

Type and Name Description Required Rights

guid[] batchIds

The ID or GUID, or array thereof, of the Upload Batch to get.

Returns

top

Get the details of all of the Upload Batches belonging to the current user.

Not audit-logged

UploadBatch.GetAll ( )

Type and Name Description Required Rights

Returns

top

Get the GUIDs of all of the Upload Batches belonging to the current user.

Not audit-logged

UploadBatch.GetAllGUIDs ( )

string[]

Type and Name Description Required Rights

Returns

string[]

GUIDs of all of the upload batches.

top

Touches an upload batch, causing it to not be considered for auto-closing for another 5 minutes.

Not audit-logged

UploadBatch.Touch ( guid[] batchIds )

void

Type and Name Description Required Rights

guid[] batchIds

The ID or GUID, or array thereof, of the Upload Batches to 'touch'.

Returns

void

Users top

Contents

Details

top

Triggers the reset password process for a user.

If a user can be identified then they will be sent an e-mail containing a password reset link.

This is a dual to Users.ResetPassword; the key difference being that this method requires that the caller is a user with appropriate administrative rights, and will therefore throw a specific error if the reset cannot be issued.

Users.AdminResetPassword ( int userId )

void

Type and Name Description Required Rights

int userId

The ID of the user for whom to issue a reset

Returns

void

top

Cancel an import job that is currently in a pending state.

This will remove any database records and associated data. No external user import will occur.

Users.CancelExternalUserImport ( guid importId )

void

Type and Name Description Required Rights

guid importId

The import to abandon

  • edit

Returns

void

top

Check a given password against a database of breached password, only the first 5 characters of a SHA1 hash of the are sent outside of Chorus. See https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/ for more information.

Users.CheckPasswordPwned ( string password )

Type and Name Description Required Rights

string password

SHA1 password to verify.

Returns

top

Create exports for a specified group

This will include exports that are pending, in progress and complete, but not those that have been cleaned

An audit-log entry of type `USER` will be created for this action

Users.CreateExternalUsersExport ( guid groupId[, string separator = ','][, string name = NULL] )

Type and Name Description Required Rights

guid groupId

the ID of the group to export external users from

  • manage

string separator

The delimiter to use in the output file. One of ,, ;, :, |, TAB

string name

The name to use for the exported spreadsheet

Returns

top

Create an external user import job, based on a spreadsheet provided as a base64-encoded CSV

The import will be scoped to the specified context.

The calling user must be an administrator of the context

Delimiters other than comma are supported; by default semicolon, tab, colon and pipe will be tried. If one is specified via the optional parameter then this will be attempted first.

Users.CreateExternalUsersImport ( guid groupId, string name, string base64CSV[, string delimiter = NULL] )

Type and Name Description Required Rights

guid groupId

The space in which the users are imported to

  • manage

string name

A name for this import job - this will be shown in logs and to other administrators of the context

string base64CSV

The spreadsheet to import from, in base64-encoded CSV format. See the notes below for more details

string delimiter

An optional delimiter character to attempt to use when parsing the spreadsheet

Returns

top

Create a user

Variant Information: This method has 2 variants.
Variant 1

Users.CreateUser ( string username, USER_SETTINGS details[, bool welcomeEmail = true][, string base64Data = NULL] )

Type and Name Description Required Rights

string username

The username of the new user

USER_SETTINGS details

Details of the new user, as used for SetUserDetails

bool welcomeEmail

Whether to send a welcome / password set-up e-mail to the newly created user

string base64Data

A base64-encoded string of image data

Returns

Variant 2

Users.CreateUser ( string username, USER_SETTINGS details[, bool welcomeEmail = true][, guid imsReference = NULL] )

Type and Name Description Required Rights

string username

The username of the new user

USER_SETTINGS details

Details of the new user, as used for SetUserDetails

bool welcomeEmail

Whether to send a welcome / password set-up e-mail to the newly created user

guid imsReference

The IMS File Reference of the file to use as an avatar

Returns

top

Returns details of the current user.

Note: this will return an error if the current user is not a Normal User.

Users.Current ( )

Type and Name Description Required Rights

Returns

top

Deletes a user

Users.DeleteUser ( guid[] userId )

void

Type and Name Description Required Rights

guid[] userId

The user to delete

  • delete

Returns

void

top

Check if an external user account exists for a given email address

Users.DoesExternalUserExist ( string email )

bool

Type and Name Description Required Rights

string email

The email address to search for

Returns

bool

true if the external user exists, false otherwise

top

Check if an account exists for a given username

Not audit-logged

Users.DoesUserExist ( string username )

bool

Type and Name Description Required Rights

string username

The username to search for

Returns

bool

true if the user exists, false otherwise

top

Get the fields that need to be mapped for external user import

Users.ExternalUserImportMappableFields ( )

Type and Name Description Required Rights

Returns

An array of field names needed for external user import

top

Get the current status of an import job

Variant Information: This method has 2 variants.
Variant 1

Users.ExternalUserImportStatus ( guid importId )

Type and Name Description Required Rights

guid importId

The import to query

Returns

Variant 2

Users.ExternalUserImportStatus ( guid[] importIds )

Type and Name Description Required Rights

guid[] importIds

The import to query

Returns

top

Find the user ID of an account by lookup

By default, will search for an IMS user account matching either username or e-mail address (auto mode)

samaccountname and userprincipal can only be used when LDAP authentication is configured for the site

If more than one account matches the supplied search, no result will be returned (this is significant when matching on e-mail address)

Users.FindUser ( string userRef[, string lookupType = 'auto'] )

int

Type and Name Description Required Rights

string userRef

The username or e-mail address to search for

string lookupType

username, email, samaccountname, userprincipal or auto

Returns

int

The ID of the user, if they exist (and are unique), otherwise false.

top

Return an array of all user GUIDs in the system.

Not audit-logged

Users.GetAllUserGUIDs ( [string nameFilter = NULL] )

string[]

Type and Name Description Required Rights

string nameFilter

Optional. The string to filter based on the name of the returned user. This filters based on the string being anywhere in the user's name.

Returns

string[]

An array of the GUIDs of the visible users in the system

top

Return an array of all user IDs in the system.

Not audit-logged

Users.GetAllUserIDs ( [string nameFilter = NULL] )

int[]

Type and Name Description Required Rights

string nameFilter

Optional. The string to filter based on the name, description or email of the returned user. This filters based on the string being anywhere in the user's name.

Returns

int[]

An array of the IDs of the visible users in the system

top

Return an array of all users in the system. Each user is represented by a hash with the following keys:

Not audit-logged

Users.GetAllUsers ( [string nameFilter = NULL] )

Type and Name Description Required Rights

string nameFilter

Optional. The string to filter based on the name, description or email of the returned user. This filters based on the string being anywhere in the user's name.

Returns

top

Returns the details for a specific external user

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Users.GetExternalUserDetails ( string email )

Type and Name Description Required Rights

string email

The email address or an array of email addresses to get the details.

Returns

Variant 2

Users.GetExternalUserDetails ( string[] emails )

Type and Name Description Required Rights

string[] emails

The email address or an array of email addresses to get the details.

Returns

top

Get exports for a specified group

This will include exports that are pending, in progress and complete, but not those that have been cleaned

Not audit-logged

Users.GetExternalUserExports ( guid groupId )

Type and Name Description Required Rights

guid groupId

the ID of the group to get exports from

  • manage

Returns

top

Get imports for a specified group

This will include imports that are pending, in progress and complete, but not those that have been cleaned

Not audit-logged

Users.GetExternalUserImports ( guid groupId )

Type and Name Description Required Rights

guid groupId

the ID of the group to get imports from

Returns

top

Returns the abilities for the given user, or the current user if no userId is supplied.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Users.GetUserAbilities ( [string userId = NULL][, int userType = NULL] )

Type and Name Description Required Rights

string userId

a single or multiple userIds for which to return the abilities. If none supplied, the current user is used

int userType

The type of user to query for. Defaults to normal users.

Returns

Variant 2

Users.GetUserAbilities ( [string[] userId = NULL][, int userType = NULL] )

Type and Name Description Required Rights

string[] userId

a single or multiple userIds for which to return the abilities. If none supplied, the current user is used

int userType

The type of user to query for. Defaults to normal users.

Returns

top

Returns the details for the current active user, or, if the userId argument is supplied, specific users.

  • type - the type of entity logged into the system. Normally this will be 1, indicating a conventional user
  • username - the login username
  • description - name or description
  • email - email address
  • canPublish - whether the user has permission to publish files
Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Users.GetUserDetails ( [string userId = NULL][, int userType = NULL] )

Type and Name Description Required Rights

string userId

The id or an array of user ids to get the details. If not supplied, the current active user's details are returned.

int userType

The type of user to get details for. If not set, defaults to looking up full users.

Returns

Variant 2

Users.GetUserDetails ( [string[] userId = NULL][, int userType = NULL] )

Type and Name Description Required Rights

string[] userId

The id or an array of user ids to get the details. If not supplied, the current active user's details are returned.

int userType

The type of user to get details for. If not set, defaults to looking up full users.

Returns

top

Return an array of all users in the system, grouped by their primary group

Not audit-logged

Users.GetUsersGrouped ( [string nameFilter = NULL] )

Type and Name Description Required Rights

string nameFilter

Optional. The string to filter based on the name, description or email of the returned user. This filters based on the string being anywhere in the user's name.

Returns

top

Triggers the reset password process for a user.

If a user can be identified then they will be sent an e-mail containing a password reset link, or the next steps if this is not possible (e.g. there are multiple accounts sharing the supplied e-mail address, or the user is authenticated via LDAP.

If no user can be identified, no e-mail will be sent.

An error will only be thrown if the request is rejected on account of matching multiple recent ones.

Users.ResetPassword ( string userNameOrEmail )

void

Type and Name Description Required Rights

string userNameOrEmail

Either the user's name or email address.

Returns

void

top

Sets the authentication method used for the user

To set a user to be authorised via OpenID, you also need to provide the relevant OpenID identifier in the extraData parameter with a key of openididentifier.

Users.SetAuthMode ( int userId, string authMode[, hash extraData = NULL] )

void

Type and Name Description Required Rights

int userId

User ID to edit

string authMode

  • One of ldap,openid, saml, no_password and password. LDAP, SAML2 and OpenID options will only be available if configured on your site

hash extraData

  • Used to provide additional information for certain auth modes.

Returns

void

top

Update a External user Import job, providing an updated mapping of spreadsheet columns to necessary external user fields

Users.SetExternalUserImportMapping ( guid importId, hash[] fields )

Type and Name Description Required Rights

guid importId

The import to modify

  • edit

hash[] fields

An array of hashes, each containing index and mapping (column is accepted but ignored, for compatibility with the return value)

Returns

top

Update a External user import job, providing updated options for how spreadsheet data should interact with existing external users.

Users.SetExternalUserImportOptions ( guid importId[, string existingExtUserAction = NULL][, string deletingExistingExtUserAction = NULL] )

Type and Name Description Required Rights

guid importId

The import to modify

  • edit

string existingExtUserAction

The action to be taken when a file already has a value for a given field. Options REPLACE, APPEND, SKIP

string deletingExistingExtUserAction

The action to be taken for multi-valued fields where file already has a value for a given field. Options REPLACE, APPEND, SKIP

Returns

top

Sets the abilities for the given user, or the current user if no userId is supplied.

Variant Information: This method has 2 variants.
Variant 1

Users.SetUserAbilities ( string userId, USER_ABILITIES abilities )

Type and Name Description Required Rights

string userId

a single or multiple userIds for which to return the abilities. If none supplied, the current user is used.

USER_ABILITIES abilities

Details of the abilities that should be granted

Returns

Variant 2

Users.SetUserAbilities ( string[] userId, USER_ABILITIES abilities )

Type and Name Description Required Rights

string[] userId

a single or multiple userIds for which to return the abilities. If none supplied, the current user is used.

USER_ABILITIES abilities

Details of the abilities that should be granted

Returns

top

Set auser's avatar - either by providing a base64-encoded image, or the IMS File Reference of an accessible image file to use

Variant Information: This method has 2 variants.
Variant 1

Users.SetUserAvatar ( [string[] userId = NULL][, string base64Data = NULL][, int userType = NULL] )

Type and Name Description Required Rights

string[] userId

The userId or userIds to set the avatar for. If no userId supplied it defaults to the current user

string base64Data

A base64-encoded string of image data

int userType

The type of user to set the avatar for. If not set, defaults to looking up full users.

Returns

Variant 2

Users.SetUserAvatar ( [string[] userId = NULL][, guid imsReference = NULL][, int userType = NULL] )

Type and Name Description Required Rights

string[] userId

The userId or userIds to set the avatar for. If no userId supplied it defaults to the current user

guid imsReference

The IMS File Reference of the file to use as an avatar

int userType

The type of user to set the avatar for. If not set, defaults to looking up full users.

Returns

top

Set the profile details for some user based on the input hash. The ID provided in the details will denote which user to set. The details passed in will potentially match in format the user hash returned from mod_HashUserDetails. The profile will also include some permission tidbits.. may be useful if those are returned in the hash/settable here as well.

Variant Information: This method has 2 variants.
Variant 1

Users.SetUserDetails ( USER_SETTINGS details[, string[] userId = NULL][, int userType = NULL][, string base64Data = NULL] )

Type and Name Description Required Rights

USER_SETTINGS details

A hash of user details, compatible with the return from Users.GetUserDetails

string[] userId

The id or an array of user ids to set the details. If not supplied, the current active user's details are updated

int userType

The type of user to get details for. If not set, defaults to looking up full users.

string base64Data

A base64-encoded string of image data

Returns

Variant 2

Users.SetUserDetails ( USER_SETTINGS details[, string[] userId = NULL][, int userType = NULL][, guid imsReference = NULL] )

Type and Name Description Required Rights

USER_SETTINGS details

A hash of user details, compatible with the return from Users.GetUserDetails

string[] userId

The id or an array of user ids to set the details. If not supplied, the current active user's details are updated

int userType

The type of user to get details for. If not set, defaults to looking up full users.

guid imsReference

The IMS File Reference of the file to use as an avatar

Returns

top

Begin processing of a external user import job

The import itself will be performed as the user calling StartImport (not necessarily the user who originally created the import), so their permissions will be considered, and audit logs will reflect actions on their behalf

An audit-log entry of type `USER` will be created for this action

Users.StartExternalUserImport ( guid importId )

Type and Name Description Required Rights

guid importId

The import to begin

  • edit

Returns

top

Reset account lockout for the specified account

Excessive login failures (by default, 10 in 30 mins) cause an account to be locked. You can use this method to override the lockout, and allow the user to log in again.

Users.UnlockAccount ( int userId )

void

Type and Name Description Required Rights

int userId

The ID of the user to unlock

Returns

void

Validators top

Contents

Details

top

Validates an email address.

Not audit-logged

Validators.IsEmailAddress ( string email )

bool

Type and Name Description Required Rights

string email

the string to validate as an email address

Returns

bool

does the string look like a valid email address

top

Validates an IP address or CIDR network

Acceptable formats include: - 203.0.113.12 - single IPv4 address - 198.51.100.0/2 - IPv4 address block - 2001:DB8:5A3:41E:ADD:4E:55:100 - single IPv6 address - 2001:DB8:D0C:E9::/64 - IPv6 address block

Not audit-logged

Validators.IsIPorNet ( string addr )

bool

Type and Name Description Required Rights

string addr

The candidate address

Returns

bool

True if addr is usable

top

Validates an XMP mapping tag

Accepted tag syntaxes are: - prefix:tag - namespace::tag - namespace::prefix::tag

Not audit-logged

Validators.IsXMPTag ( string tag )

bool

Type and Name Description Required Rights

string tag

The candidate mapping

Returns

bool

True if tag is usable

Vocab top

Contents

Details

top

Modify the configuration of one or more vocabularies

This method supports multiple vocabs as a parameter to accomodate batch setting, however it would be more normal to modify one-by-one

Vocab.AddValues ( guid vocabId, string[]|string[][] newValues )

Type and Name Description Required Rights

guid vocabId

The vocabulary to add tokens to

  • edit

string[]|string[][] newValues

The new values; either an array of strings or - for structured fields - an array of arrays of string components

Returns

The updated vocab

top

Get the vocab tokens in use in the local space

This will include tokens used in collections in this space, where the original file is in a different space.

Vocab.ExtendFromSpace ( guid vocabId )

string[]|string[][]
string[]|string[][]

Type and Name Description Required Rights

guid vocabId

The vocab to extend

  • manage

Returns

string[]|string[][]
string[]|string[][]

Tokens from the space (type according to vocab data type)

top

Get the vocab tokens in sub-space vocabs

This will consider all proper sub-spaces that define their own vocab. It will ignore any that are set to inherit from this space, or do not use a vocab.

Vocab.ExtendFromSubspaces ( guid vocabId )

string[]|string[][]
string[]|string[][]

Type and Name Description Required Rights

guid vocabId

The vocab to extend

  • manage

Returns

string[]|string[][]
string[]|string[][]

Tokens from the sub-spaces (type according to vocab data type)

top

Get the configuration of one or more vocabularies

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Vocab.Get ( guid vocabId )

Type and Name Description Required Rights

guid vocabId

The vocabulary to get

Returns

Details of the requested vocabs

Variant 2

Vocab.Get ( guid[] vocabIds )

Type and Name Description Required Rights

guid[] vocabIds

The vocabulary to get

Returns

Details of the requested vocabs

top

Get the configuration of one or more vocabularies by field

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Vocab.GetByField ( guid fieldId, guid context )

Type and Name Description Required Rights

guid fieldId

The fields to get vocab config for

guid context

The context in which to load vocabs

  • editSettings

Returns

Details of the requested vocabs

Variant 2

Vocab.GetByField ( guid[] fieldIds, guid context )

Type and Name Description Required Rights

guid[] fieldIds

The fields to get vocab config for

guid context

The context in which to load vocabs

  • editSettings

Returns

Details of the requested vocabs

top

Get resultant configuration for a vocab

This is for use in contexts where the goal is to use the vocab, rather than configure it

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Vocab.GetValues ( guid vocabId )

Type and Name Description Required Rights

guid vocabId

The vocabulary to get values for

Returns

The reqested vocabs

Variant 2

Vocab.GetValues ( guid[] vocabIds )

Type and Name Description Required Rights

guid[] vocabIds

The vocabulary to get values for

Returns

The reqested vocabs

top

Get Vocab Values that apply to the fields in one or more panels

Each panel of details is a map keyed by the ID of the field. Only fields that support vocabs will be returned (e.g. dates will not)

Scoped by catalogue, as the panels themselves may be apply in multiple contexts with different vocabs.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Vocab.GetValuesByContext ( guid panelId, contextWithDomain context[, CATALOGUE_TYPE catalogueType = 0] )

Type and Name Description Required Rights

guid panelId

The panels for which to get vocab data

contextWithDomain context

The context for which to get vocabularies

CATALOGUE_TYPE catalogueType

The type of catalogue where the panel is being used.

Returns

Variant 2

Vocab.GetValuesByContext ( guid[] panelIds, contextWithDomain context[, CATALOGUE_TYPE catalogueType = 0] )

Type and Name Description Required Rights

guid[] panelIds

The panels for which to get vocab data

contextWithDomain context

The context for which to get vocabularies

CATALOGUE_TYPE catalogueType

The type of catalogue where the panel is being used.

Returns

top

Modify the configuration of one or more vocabularies

This method supports multiple vocabs as a parameter to accomodate batch setting, however it would be more normal to modify one-by-one

Variant Information: This method has 2 variants.
Variant 1

Vocab.Set ( guid vocabId, VOCAB_SETTINGS settings )

Type and Name Description Required Rights

guid vocabId

The vocabulary to modify

  • manage

VOCAB_SETTINGS settings

The settings to apply

Returns

The updated details having been modified.

Variant 2

Vocab.Set ( guid[] vocabIds, VOCAB_SETTINGS settings )

Type and Name Description Required Rights

guid[] vocabIds

The vocabulary to modify

  • manage

VOCAB_SETTINGS settings

The settings to apply

Returns

The updated details having been modified.

Workflow top

Contents

Details

top

Perform a manual step on a workflow item. This can only be called by a responsible party while the workflow item is stopped on a manual task.

Not audit-logged

Workflow.Act ( guid itemId, guid currentTaskId, TASK_RESULT result[, string message = NULL] )

Type and Name Description Required Rights

guid itemId

ID, or GUID, of the workflow item to act upon.

  • act

guid currentTaskId

The ID or GUID of the task that we think is being acted upon. This is supplied as a sanity check to ensure that we don't act on the wrong thing.

TASK_RESULT result

The result of the manual workflow item action.

string message

The message to include with the response

Returns

top

Update the workflow item's assignee.

Not audit-logged

Workflow.Assign ( guid itemId[, guid|guid assigneeId = NULL] )

Type and Name Description Required Rights

guid itemId

Item for which to create checklist.

  • act

guid|guid assigneeId

GUID of the user to whom to assign this request.

Returns

top

Cancel a workflow.

Not audit-logged

Workflow.Cancel ( guid itemId )

Type and Name Description Required Rights

guid itemId

ID, or GUID, of the workflow item to send.

  • cancel

Returns

top

Checks whether the workflow item can start, and, if it can't, returns a reason why not.

Not audit-logged

Workflow.CheckCanAct ( guid itemId )

Type and Name Description Required Rights

guid itemId

The item to check whether can be started.

  • act

Returns

top

Checks whether the workflow item can start, and, if it can't, returns a reason why not.

Not audit-logged

Workflow.CheckCanStart ( guid itemId )

Type and Name Description Required Rights

guid itemId

The item to check whether can be started.

  • start

Returns

top

Create a new workflow item using the supplied instance.

Not audit-logged

Workflow.Create ( guid definitionId, CREATE_ITEM_DETAILS details[, guid batchId = NULL][, guid|guid assigneeId = NULL] )

Type and Name Description Required Rights

guid definitionId

ID or GUID of the workflow definition that is being created.

  • initiate

CREATE_ITEM_DETAILS details

Details to use when creating the item.

guid batchId

ID or GUID, of the workflow batch if it has one

  • edit

guid|guid assigneeId

GUID of the user to whom to assign this request.

Returns

top

Delete the supplied workflow items for the current user from their inbox. This can only done once the workflows have finished.

Not audit-logged

Workflow.Delete ( guid[] itemIds )

void

Type and Name Description Required Rights

guid[] itemIds

ID or GUIDs of the workflow items to delete.

  • delete

Returns

void

top

Get details about the requested workflow item.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Workflow.Get ( guid itemId )

Type and Name Description Required Rights

guid itemId

The ID or GUID of the workflow items of which to get the details.

Returns

Variant 2

Workflow.Get ( guid[] itemIds )

Type and Name Description Required Rights

guid[] itemIds

The ID or GUID of the workflow items of which to get the details.

Returns

top

Get the count of actionable items in a users inbox and outbox

Not audit-logged

Workflow.GetActionableItemCounts ( )

Type and Name Description Required Rights

Returns

top

Gets the Workflow Inbox for the current user.

Not audit-logged

Workflow.GetInbox ( [guid spaceId = NULL][, ITEM_FILTER_MODE filterMode = NULL][, guid|guid assigneeId = NULL] )

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

ITEM_FILTER_MODE filterMode

Mode to use when filtering the items.

guid|guid assigneeId

ID of the assignee user when using filterMode of 'SOMEONE'.

Returns

top

Get the GUIDs of the assignees on the items in the current inbox. Useful for the 'someone' filter.

Not audit-logged

Workflow.GetInboxAssigneeGUIDs ( [guid spaceId = NULL][, SUBJECT_TYPE userType = 0][, string filter = NULL] )

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

SUBJECT_TYPE userType

The type of user for which to get the list.

string filter

Optional. The string to filter based on the name the returned user. This filters based on the string being anywhere in the user's name or description.

Returns

top

Gets the Workflow Inbox for the current user as GUIDs.

Not audit-logged

Workflow.GetInboxGUIDs ( [guid spaceId = NULL][, ITEM_FILTER_MODE filterMode = NULL][, guid|guid assigneeId = NULL] )

string[]

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

ITEM_FILTER_MODE filterMode

Mode to use when filtering the items.

guid|guid assigneeId

ID of the assignee user when using filterMode of 'SOMEONE'.

Returns

string[]

GUIDs of the items in the user's workflow inbox.

top

Gets the Workflow Inbox for the current user as IDs.

Not audit-logged

Workflow.GetInboxIDs ( [guid spaceId = NULL][, ITEM_FILTER_MODE filterMode = NULL][, guid|guid assigneeId = NULL] )

int[]

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

ITEM_FILTER_MODE filterMode

Mode to use when filtering the items.

guid|guid assigneeId

ID of the assignee user when using filterMode of 'SOMEONE'.

Returns

int[]

IDs of the items in the user's workflow inbox.

top

Gets the Workflow Outbox for the current user.

Not audit-logged

Workflow.GetOutbox ( [guid spaceId = NULL][, ITEM_FILTER_MODE filterMode = NULL][, guid|guid assigneeId = NULL] )

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

ITEM_FILTER_MODE filterMode

Mode to use when filtering the items.

guid|guid assigneeId

ID of the assignee user when using filterMode of 'SOMEONE'.

Returns

top

Get the GUIDs of the assignees on the items in the current outbox. Useful for the 'someone' filter.

Not audit-logged

Workflow.GetOutboxAssigneeGUIDs ( [guid spaceId = NULL][, SUBJECT_TYPE userType = 0][, string filter = NULL] )

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

SUBJECT_TYPE userType

The type of user for which to get the list.

string filter

Optional. The string to filter based on the name the returned user. This filters based on the string being anywhere in the user's name or description.

Returns

top

Gets the Workflow Outbox for the current user as GUIDs.

Not audit-logged

Workflow.GetOutboxGUIDs ( [guid spaceId = NULL][, ITEM_FILTER_MODE filterMode = NULL][, guid|guid assigneeId = NULL] )

string[]

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

ITEM_FILTER_MODE filterMode

Mode to use when filtering the items.

guid|guid assigneeId

ID of the assignee user when using filterMode of 'SOMEONE'.

Returns

string[]

GUIDs of the items in the user's workflow inbox.

top

Gets the Workflow Outbox for the current user as IDs.

Not audit-logged

Workflow.GetOutboxIDs ( [guid spaceId = NULL][, ITEM_FILTER_MODE filterMode = NULL][, guid|guid assigneeId = NULL] )

int[]

Type and Name Description Required Rights

guid spaceId

ID of a space to use to filter the returned items.

ITEM_FILTER_MODE filterMode

Mode to use when filtering the items.

guid|guid assigneeId

ID of the assignee user when using filterMode of 'SOMEONE'.

Returns

int[]

IDs of the items in the user's workflow inbox.

top

Checks what permissions are requestable for the given content

Specifically useful for watermarked derivatives, where there may or may not be a capability to request to view the specific derivative without watermarks

Not audit-logged

Workflow.GetRequestableRights ( guid[] contentGuids )

Type and Name Description Required Rights

guid[] contentGuids

The file or folders to share

Returns

top

Mark the supplied workflow items as viewed in the inbox.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Workflow.MarkViewedInInbox ( guid itemId )

Type and Name Description Required Rights

guid itemId

The ID or GUID of the workflow items of which to get the details.

Returns

Variant 2

Workflow.MarkViewedInInbox ( guid[] itemIds )

Type and Name Description Required Rights

guid[] itemIds

The ID or GUID of the workflow items of which to get the details.

Returns

top

Mark the supplied workflow items as viewed in the outbox.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

Workflow.MarkViewedInOutbox ( guid itemId )

Type and Name Description Required Rights

guid itemId

The ID or GUID of the workflow items of which to get the details.

Returns

Variant 2

Workflow.MarkViewedInOutbox ( guid[] itemIds )

Type and Name Description Required Rights

guid[] itemIds

The ID or GUID of the workflow items of which to get the details.

Returns

top

Start the workflow process.

Not audit-logged

Workflow.Start ( guid itemId[, guid firstTaskId = NULL] )

Type and Name Description Required Rights

guid itemId

ID, or GUID, of the workflow item to send.

  • start

guid firstTaskId

Optionally provide a task to automatically progress onto. The skipped tasks must be manual.

Returns

top

Update the context of a workflow item. The workflow item must either be currently on a manual task or not actually started. Calling this with incorrect data will likely cause a workflow to fail.

Not audit-logged

Workflow.UpdateContext ( guid itemId, hash context[, guid currentTaskId = NULL] )

Type and Name Description Required Rights

guid itemId

ID, or GUID, of the workflow item to update.

  • updateContext

hash context

The new context for the workflow item as a keyed map.

guid currentTaskId

The ID or GUID of the task that we think is being acted upon. This is supplied as a sanity check to ensure that we don't act on the wrong thing. If the item isn't started, this should be supplied as null.

Returns

WorkflowBatch top

Contents

Details

top

Checks whether a batch workflow can be made from the given objects

Not audit-logged

WorkflowBatch.CheckCanCreateFromBrowseAction ( guid definitionId, guid[] assetIds )

Type and Name Description Required Rights

guid definitionId

Guid of the abstract workflow to create a batch from

guid[] assetIds

The files for the workflow

Returns

top

Creates a batch workflow from the given objects

Not audit-logged

WorkflowBatch.CreateFromBrowseAction ( guid abstractDefinitionId, CREATE_WORKFLOW_BATCH_DETAILS details, guid[] assetIds )

Type and Name Description Required Rights

guid abstractDefinitionId

Guid of the abstract workflow to create a batch from

CREATE_WORKFLOW_BATCH_DETAILS details

details of the batch workflow to create

guid[] assetIds

The files for the workflow

Returns

top

Creates a batch workflow from the given objects

Not audit-logged

WorkflowBatch.Get ( guid batchId )

Type and Name Description Required Rights

guid batchId

ID of the workflow batch.

Returns

top

This creates super limbo collection for a particular group and workflow batch, or returns one if it already exists

Not audit-logged

WorkflowBatch.GetOrCreateSuperLimboCollection ( guid batchId, context ownerId )

Type and Name Description Required Rights

guid batchId

ID of the workflow batch.

context ownerId

ID, or GUID of the user or group to create the super limbo collection for.

Returns

top

Move items into a super limbo collection.

Not audit-logged

WorkflowBatch.MoveIntoSuperLimboCollection ( guid superLimboCollectionId, guid[] arrContent )

void

Type and Name Description Required Rights

guid superLimboCollectionId

super limbo collection to move items into

guid[] arrContent

items to move into the super limbo collection

Returns

void

top

This creates a super limbo collection for a particular group and workflow batch, or returns one if it already exists

Not audit-logged

WorkflowBatch.Start ( guid batchId, guid firstTaskId )

Type and Name Description Required Rights

guid batchId

ID of the workflow batch.

guid firstTaskId

Optionally provide a task to automatically progress onto. The skipped tasks must be manual.

Returns

WorkflowCatalogue top

Contents

Details

top

Create a new concrete workflow defintion in the given catalogue.

An audit-log entry of type `WORKFLOW_CATALOGUE` will be created for this action

WorkflowCatalogue.CreateConcrete ( guid catalogueId, guid abstractDefinitionId, CREATE_CONCRETE_DEFINTION_DETAILS details )

Type and Name Description Required Rights

guid catalogueId

ID or GUID of the catalogue in which to create the concrete workflow definition.

  • edit

guid abstractDefinitionId

ID or GUID of the Abstract Definition on which to base the concrete workflow definition.

CREATE_CONCRETE_DEFINTION_DETAILS details

Details to use when creating the definition.

Returns

top

Delete the concrete definitions matching the supplied IDs and GUIDs. This doesn't completely delete the definitions, but marks them as deleted, hides them from the catalogue and prevents them being used for future workflow items.

An audit-log entry of type `WORKFLOW_CATALOGUE` will be created for this action
Variant Information: This method has 2 variants.
Variant 1

WorkflowCatalogue.DeleteConcrete ( guid definitionId )

Type and Name Description Required Rights

guid definitionId

The IDs or GUIDs of the concrete definitions to delete.

  • delete

Returns

Variant 2

WorkflowCatalogue.DeleteConcrete ( guid[] definitionIds )

void

Type and Name Description Required Rights

guid[] definitionIds

The IDs or GUIDs of the concrete definitions to delete.

  • delete

Returns

void

top

Get the details of supplied Abstract Definitions.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

WorkflowCatalogue.GetAbstract ( guid definitionId )

Type and Name Description Required Rights

guid definitionId

ID or GUID of the defintions for which to get details.

Returns

Variant 2

WorkflowCatalogue.GetAbstract ( guid[] definitionIds )

Type and Name Description Required Rights

guid[] definitionIds

ID or GUID of the defintions for which to get details.

Returns

top

Get the details of all of the available abstract workflow definitions.

Not audit-logged

WorkflowCatalogue.GetAllAbstract ( )

Type and Name Description Required Rights

Returns

top

Get the GUIDs of all of the available abstract workflow definitions.

Not audit-logged

WorkflowCatalogue.GetAllAbstractGUIDs ( )

string[]

Type and Name Description Required Rights

Returns

string[]

GUIDs of all of the abstract workflow definitions.

top

Get the IDs of all of the available abstract workflow definitions.

Not audit-logged

WorkflowCatalogue.GetAllAbstractIDs ( )

int[]

Type and Name Description Required Rights

Returns

int[]

IDs of all of the abstract workflow definitions.

top

Get the details of all of the available concrete workflow definitions.

Not audit-logged

WorkflowCatalogue.GetAllConcrete ( guid catalogueId )

Type and Name Description Required Rights

guid catalogueId

ID or GUID of the catalogue of which to get all of the concrete workflow definitions.

Returns

top

Get the GUIDs of all of the available concrete workflow definitions.

Not audit-logged

WorkflowCatalogue.GetAllConcreteGUIDs ( guid catalogueId )

string[]

Type and Name Description Required Rights

guid catalogueId

ID or GUID of the catalogue of which to get all of the concrete workflow definitions.

Returns

string[]

GUIDs of all of the concrete workflow definitions.

top

Get the IDs of all of the available concrete workflow definitions.

Not audit-logged

WorkflowCatalogue.GetAllConcreteIDs ( guid catalogueId )

int[]

Type and Name Description Required Rights

guid catalogueId

ID or GUID of the catalogue of which to get all of the concrete workflow definitions.

Returns

int[]

IDs of all of the concrete workflow definitions.

top

Get the details of supplied Concrete Definitions.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

WorkflowCatalogue.GetConcrete ( guid definitionId )

Type and Name Description Required Rights

guid definitionId

ID or GUID of the defintions for which to get details.

Returns

Variant 2

WorkflowCatalogue.GetConcrete ( guid[] definitionIds )

Type and Name Description Required Rights

guid[] definitionIds

ID or GUID of the defintions for which to get details.

Returns

top

Get details about the requested step or steps.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

WorkflowCatalogue.GetStep ( guid stepId )

Type and Name Description Required Rights

guid stepId

The ID or GUID of the step of which to get the details.

Returns

Variant 2

WorkflowCatalogue.GetStep ( guid[] stepIds )

Type and Name Description Required Rights

guid[] stepIds

The ID or GUID of the step of which to get the details.

Returns

top

Get details about the requested task or tasks.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

WorkflowCatalogue.GetTask ( guid taskId )

Type and Name Description Required Rights

guid taskId

The ID or GUID of the task of which to get the details.

Returns

Variant 2

WorkflowCatalogue.GetTask ( guid[] taskIds )

Type and Name Description Required Rights

guid[] taskIds

The ID or GUID of the task of which to get the details.

Returns

top

Get details about the requested task definition or task definitions.

Not audit-logged
Variant Information: This method has 2 variants.
Variant 1

WorkflowCatalogue.GetTaskDefinition ( guid taskDefinitionId )

Type and Name Description Required Rights

guid taskDefinitionId

The ID or GUID of the task definition of which to get the details.

Returns

Variant 2

WorkflowCatalogue.GetTaskDefinition ( guid[] taskDefinitionIds )

Type and Name Description Required Rights

guid[] taskDefinitionIds

The ID or GUID of the task definition of which to get the details.

Returns

top

Make changes to a concrete definition.

An audit-log entry of type `WORKFLOW_CATALOGUE` will be created for this action

WorkflowCatalogue.SetConcrete ( guid definitionId, SET_CONCRETE_DEFINTION_DETAILS details )

Type and Name Description Required Rights

guid definitionId

The ID or GUID of the concrete definition to update.

  • edit

SET_CONCRETE_DEFINTION_DETAILS details

Details of the new settings for concrete definition.

Returns

WorkflowChecklist top

Contents

Details

top

Get the details of the checklist.

Not audit-logged

WorkflowChecklist.Get ( guid checklistId )

Type and Name Description Required Rights

guid checklistId

ID of the checklist.

Returns

Details of the checklist.

top

Update the checkbox values for custom and metadata field entries in the checklist.

Not audit-logged

WorkflowChecklist.UpdateStatuses ( guid checklistId, hash customDataStatusByKey, hash fieldStatusById )

Type and Name Description Required Rights

guid checklistId

ID of the checklist to update

  • edit

hash customDataStatusByKey

Checkbox settings for custom checklist data

hash fieldStatusById

Checkbox setting for metadata fields (keyed by id or guid)

Returns

The updated checklist.