Dalet Galaxy five exposes a GraphQL-based web service that provides an interface into Dalet operations and data.
Getting Started
The application server WebService3 publishes this GraphQL API and is available for deployment from Dalet Galaxy Remote Admin inventory. It comes with configurable SSL options and endpoint port.
The link to the WebService3 server's welcome web page is available from the Settings page in the application server in Remote Admin inventory.
The following resources are available on the welcome web page of WebService3:
The GraphQL endpoint of the GraphQL API.
The GraphiQL Web client. This interactive GraphQL client allows you to use the web service and activate its queries, mutations and subscriptions, via a web browser. It also includes built-in documentation for each operation describing methods’ inputs and outputs and other relevant information.
A user guide PDF document.
To get familiar with GraphQL technology, you can start by reading the following documentation:
Then you can use the GraphiQL Web client to experiment with GraphQL operations against your Dalet site. Note that any operation executed with this web client will be performed against your Dalet site, so you can retrieve real data and update it.
Security
SSL
WebService3 provides the option to access the service via https and to establish a secure connection with standard SSL certificates encryption.
This option is available when configuring the server, and requires:
The WebService3 server works with OAuth2 authentication, every operation performed against the service requires a JWT token to be passed in the request.
To acquire a token, first perform a login request. The token is valid for 4 hours.
The login mutation does not require previous authentication, while all other operations do.
On providing valid username/password to the login mutation, you will receive a JWT token that you must provide in all future operations.
For regular http requests such as Query and Mutation, you must provide this token in the HTTP header called “Authorization”
with the prefix “Bearer “:
Authorization: Bearer eyj0...mTnG
For Subscription over websocket, when connecting, the payload of the “connection_init” message must be a map with at least one key “Authorization” where the value is the JWT token with the prefix “Bearer “:
Retrieve information about assets matching the supplied filter.
Assets can be filtered by their ids, itemCodes, assetTypesWith, metadata, metadataSerchMode and categories.
The retrieved assets are an intersection of all filter fields.
In order to retrieve an asset, user should have View rights to its primary category.
Queries to retrieve information about assets from outputs of other operations.
AssetUsage assetMetadataUsage: sub query to retrieve the assets that reference the current asset as metadata bundlesUsage: sub query to retrieve the bundle assets that have the current asset listed inside them clipsUsage: sub query to retrieve the clip assets that have the current asset as parent edlsUsage: sub query to retrieve the EDL assets that have the current asset listed inside them groupsUsage: sub query to retrieve the group assets that have the current asset listed inside them patternsUsage: sub query to retrieve the pattern assets that have the current asset listed inside them storiesUsage: sub query to retrieve the story assets that have the current asset embedded inside them
BundleAsset mediaAssets: sub query to retrieve the media assets listed in the current bundle asset trackStackAssets: sub query to retrieve the trackstack assets associated to the current bundle asset versionAssets: sub query to retrieve the TXVersion assets associated to the current bundle asset
Category assets: sub query to retrieve assets inside a Category
GroupAsset items: sub query to retrieve items inside a Group
VideoAsset cgToVideoAssociations: sub query to retrieve the CG assets associated to the current asset subtitlesToVideoAssociations: sub query to retrieve the subtitles assets associated to the current asset
Example: Retrieve the first five assets that reference the asset with id 17392 as metadata
Retrieve the assets that reference the current asset as metadata.
Assets can be filtered by their ids, itemCodes, assetTypesWith, metadata, metadataSerchMode and categories.
The retrieved assets correspond to the supplied filter.
In order to retrieve an asset, user should have View rights to its primary category.
Retrieve the bundle assets that have the current asset listed inside them.
Bundle assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved bundle assets correspond to the supplied filter.
In order to retrieve a bundle asset, user should have View rights to its primary category.
Retrieve the clip assets that have the current asset as parent.
Clip assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved clip assets correspond to the supplied filter.
In order to retrieve a clip asset, user should have View rights to its primary category.
Retrieve the EDL assets that have the current asset listed inside them.
EDL assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved EDL assets correspond to the supplied filter.
In order to retrieve an EDL asset, user should have View rights to its primary category.
Retrieve the group assets that have the current asset listed inside them.
Group assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved group assets correspond to the supplied filter.
In order to retrieve a group asset, user should have View rights to its primary category.
Retrieve the pattern assets that have the current asset listed inside them.
Pattern assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved pattern assets correspond to the supplied filter.
In order to retrieve a pattern asset, user should have View rights to its primary category.
Retrieve the story assets that have the current asset embedded inside them.
Story assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved story assets correspond to the supplied filter.
In order to retrieve a story asset, user should have View rights to its primary category.
Retrieve the media assets listed in the current bundle asset.
Media assets can be filtered by their ids, itemCodes, assetTypesWith, metadata, metadataSerchMode and categories.
The retrieved media assets match the supplied filter.
In order to retrieve a media asset, user should have View rights to its primary category.
Retrieve the track stack assets listed in the current bundle asset.
Track stack assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved track stack assets match the supplied filter.
In order to retrieve a track stack asset, user should have View rights to its primary category.
Retrieve the version assets listed in the current bundle asset.
Version assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved version assets match the supplied filter.
In order to retrieve a version asset, user should have View rights to its primary category.
Retrieve information about assets associated to the given category.
Assets can be filtered by their ids, itemCodes, assetTypesWith, metadata and metadataSerchMode.
The retrieved assets match the supplied filter.
In order to retrieve an asset, user should have View rights to its primary category.
Retrieve items contained in the current group asset.
Group items can be filtered by their groupItemIds.
The retrieved group items match the supplied filter.
Retrieve the CG assets associated to the current asset.
CG assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved CG assets match the supplied filter.
There can be at most one CG asset per CG channel.
In order to retrieve an asset, user should have View rights to its primary category.
Retrieve the subtitles assets associated to the current asset.
Subtitles assets can be filtered by their ids, itemCodes, metadata, metadataSerchMode and categories.
The retrieved subtitles assets match the supplied filter.
There can be at most one subtitles asset per subtitles channel.
In order to retrieve an asset, user should have View rights to its primary category.
Example: Add 2 asset segments to a group. The first will start at the beginning of the media's duration and will finish after 10:15 minutes, and the second will start 05:00 minutes before the end of the media's duration and will finish at the end of the media's duration
Add a list of items to a specific group.
Items provided as part of ItemsToGroupInput must not be of type group assets.
In order to add items to group assets, user should have Insert and Remove rights on the category of the group asset and View rights on the category of the asset that he wants to add to the group.
The asset type of the item that is added to the group must correspond with the group channels configuration.
Copy information from one asset to another.
In order to copy information from one asset to another, user should have View rights on the category of the source asset and Insert and Remove rights on the category of the target asset.
List of inputs that defines the audio assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the bundle assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the CG assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
Create associations between CG assets and video assets.
Creating a CG to video asset association with tcIn matching existing association on same channel will overwrite the CG asset id and tcOut values of the existing association. The association id will not change. There is no limitation of the number of associations per channel for a video asset.
In order to associate a CG asset with a video asset, user should have Insert and Remove rights on the category of the video asset and View rights on the category of the CG asset.
List of inputs that defines the clip assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the extended assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
Example: Create a group asset with status "Approved" in category with id 0 and a specified metadata value
mutation{createGroupAssets(input:{assets:{assetName:"GroupAsset"categoryId:"0"status:{name:"Approved"}itemCode:"ITEMCODE"metadata:{field:{name:"Title End Date"},value:"2022-08-12T10:10:10.100"}}}){assets{id}}}
Create a list of group assets with the given parameters.
In order to create an asset, user should have Insert rights on the category.
List of inputs that defines the group assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the image assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the story assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
Create associations between subtitles assets and video assets.
Creating a subtitles to video association with tcIn matching existing association on same channel will overwrite the subtitles asset id and tcOut values of the existing association. The association id will not change. There is no limitation of the number of associations per channel for a video asset.
In order to associate a subtitles asset with a video asset, user should have Insert and Remove rights on the category of the video asset and View rights on the category of the subtitles asset.
Create a list of trackstack assets that are added to a bundle asset.
In order to create a track stack asset, user should have Insert and Remove rights on the category of the Bundle Asset.
List of inputs that defines the trackstack assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the TXVersion assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
List of inputs that defines the video assets to create Default values: The following depends on the site policy: recordDate, startDate, endDate, killDate, keepDate
By setting purgeMedia to true, the associated files will be deleted. The delete files process is asynchronous and there is no confirmation or notification when it is done. Default values: false
Link a list of assets to a list of categories.
In order to link an asset to a category, user should have Insert rights on the category and View rights on the category of the asset.
Link an asset to a running order category.
The mutation will not return empty even if the asset is already linked to the category in the same sequence.
In order to link an asset to a running order category, user should have Insert rights on the category and View rights on the category of the asset.
The index position in the Running Order Category that the Asset will be linked to. If sequence input is not supplied, the asset will be linked to the end of the category
Remove items from group assets matching the supplied filter.
In order to remove items from group assets, user should have Insert and Remove rights on the category of the group asset.
Remove links between assets and categories matching the supplied filter.
All links to secondary categories can be deleted from an asset if no category is selected.
Update a list of assets' fields with the given parameters.
In order to update an asset, user should have Insert and Remove rights on the category of the asset.
Subscribe to notifications about assets.
In order to get the notifications for an asset, user should have View rights to its primary category.
Notifications of type DELETED will be emmited regardless of user rights.
Retrieve information about categories matching the supplied filter.
Categories can be filtered by their ids, fullNames, codes, parentIds, system and runningOrder.
The retrieved categories are an intersection of all filter fields.
In order to retrieve a category, user should have View rights on the category.
Retrieve categories that the current asset is linked to.
In order to retrieve a category, user should have View rights on the category.
See here categories
subquery children
Retrieve information about sub categories matching the supplied filter.
In order to retrieve a category, user should have View rights to the category and View rights to the parent category.
Example: Retrieve information about children sub-query in category
Create a new shot list with the given parameters.
A shot list is a category with code UPCLB, runningOrder set to true and parent set to clipBin folder of the current user.
In order to create a shot list, user should have View rights on the clipBin category and Insert rights on the user's clipBin category.
The date after which this shotlist (category) will be a candidate for automatic purge. The date is computed as: Now() + KillDateOffset() Default value: 365
Update Category information with the given parameters.
In order to update a category, user should have View rights on the category and full rights on the parent category.
Retrieve information about asset statuses matching the supplied filter.
Asset statuses can be filtered by their ids, names, and abbreviations.
The retrieved asset statuses are an intersection of all filter fields.
Retrieve information about block templates matching the supplied filter.
Block templates can be filtered by their ids and names.
The retrieved block templates are an intersection of all filter fields.
Retrieve information about CG types matching the supplied filter.
CG types can be filtered by their ids and names.
The retrieved CG types are an intersection of all filter fields.
Example: Retrieve information about data fields with names: "Task Assignee", "Task Created Time"
query{dataFields(input:{where:{names:["Task Assignee","Task Created Time"]}}){totalCountdataFields{idnameinheritedreadOnly}}}
Retrieve information about data fields matching the supplied filter.
Data fields can be filtered by their ids, tag names and names.
The retrieved data fields are an intersection of all filter fields.
Retrieve information about deployed SolR indexes matching the supplied filter.
Deployed SolR indexes can be filtered by their ids and names.
The retrieved deployed SolR indexes are an intersection of all filter fields.
Retrieve information about extended asset types matching the supplied filter.
Extended asset types can be filtered by their ids and names.
The retrieved extended asset types are an intersection of all filter fields.
Retrieve languages information matching the supplied filter.
Languages can be filtered by their ids, names, codes and the usedOnSite and default flags.
The retrieved languages are an intersection of all filter fields.
Retrieve information about locator families matching the supplied filter.
Locator families types can be filtered by their ids and names.
The retrieved locator families are an intersection of all filter fields.
Retrieve information about locator types matching the supplied filter.
Locator types types can be filtered by their names, familyNames and system.
The retrieved locator types are an intersection of all filter fields.
Retrieve information about media formats matching the supplied filter.
Media formats can be filtered by their ids, names, types and usedOnSite.
The retrieved media formats are an intersection of all filter fields.
Retrieve information about media pack templates matching the supplied filter.
Media pack templates can be filtered by their ids and names.
The retrieved media pack templates are an intersection of all filter fields.
Retrieve information about migration policies matching the supplied filter.
Migration policies can be filtered by their ids and usedOnSite.
The retrieved migration policies are an intersection of all filter fields.
Retrieve information about stations matching the supplied filter.
Stations can be filtered by their ids, names, codes and types.
The retrieved stations are an intersection of all filter fields.
Retrieve information about storage units matching the supplied filter.
Storage units can be filtered by their ids, types and protocolTypes.
The retrieved storage units are an intersection of all filter fields.
Retrieve information about story templates matching the supplied filter.
Story templates can be filtered by their ids and names.
The retrieved story templates are an intersection of all filter fields.
Retrieve information about studio channels matching the supplied filter.
Studio channels can be filtered by their ids, names, types and languageIds.
The retrieved studio channels are an intersection of all filter fields.
Retrieve information about studios matching the supplied filter.
Studios can be filtered by their ids, names, and types.
The retrieved studios are an intersection of all filter fields.
Retrieve information about subtitle types matching the supplied filter.
Subtitle types can be filtered by their ids and names.
The retrieved subtitle types are an intersection of all filter fields.
Retrieve information about track stack templates matching the supplied filter.
Track stack templates types can be filtered by their ids and names.
The retrieved track stack templates types are an intersection of all filter fields.
List of track stack templates matching the input filter
query userTaskTypes
Example: Retrieve information about user task type with name "API User Task"
query{userTaskTypes(input:{where:{names:"API User Task"}}){totalCountuserTaskTypes{idnamedefaultDueDateOffsetassociatedTitleField{name}inputFields{name}outputFields{name}taskResults{value}}}}
Retrieve information about user task types matching the supplied filter.
User task types types can be filtered by their ids and names.
The retrieved user task types types are an intersection of all filter fields.
In order to get a user task type, user should have View rights to the user task.
Describes operations to create, retrieve and delete locators.
Updating locators can be done by updateObjectsMetadata mutation.
Locator is a Dalet object and is used to add information at specific times in an object (Feed or Media).
query locators
Example: Retrieve all locators of type NLP-NER in asset with id 17392
Retrieve information about locators matching the supplied filter.
Locators can be filtered by their ids, assetIds, typeNames, familyNames and ranges.
The retrieved locators are an intersection of all filter fields.
In order to retrieve information, user should have View rights to the locator type and View rights to the category of the locator’s asset.
Retrieve information about locators matching the supplied filter.
Locators can be filtered by their ids, typeNames, familyNames and ranges.
The retrieved locators are an intersection of all filter fields.
In order to retrieve information, user should have View rights to the locator type and View rights to the category of the locator’s asset.
Create new locators on an asset with the given parameters.
In order to create a locator on an asset, user should have full rights to the locator type, and Insert rights to the category of the asset.
Delete locators from an asset.
If no locator matches the supplied filters or if user rights are missing, nothing will be deleted and no error will be thrown.
In order to delete a locator from an asset, user should have full rights to the locator type, and Insert and Remove rights to the category of the locator’s asset.
Subscribe to notifications about locators.
The filter of familyNames refers to the configuration at the time of subscription. If the configuration is changed then a re-subscription is required.
The filter of ranges will be ignored for notification type DELETED.
In order to get a notification for a locator, the user should have view rights to the locator type and the asset.
The notifications about the locators matching the input filter
Media
Describes operations to create, retrieve, update and delete media info.
Media info is the information about a single media object associated to an asset.
query mediaInfo
Example: Retrieve all media infos with format id 663
Retrieve information about media info matching the supplied filter.
Media infos can be filtered by their ids, assetIds, formatIds, storageUnitIds and mediaProcessStatuses.
The retrieved media infos are an intersection of all filter fields.
Create media info on an asset with the given parameters.
If the mediaProcessStatus is set to OFFLINE or not provided, the value provided for duration will be ignored and set to 0.
In order to create media info, user should have Insert and Remove rights to the category of the asset.
Example: Update all media infos inside asset with id 17392 to be with new base file name "new media name"
mutation{updateFileMediaInfo(input:{mediaInfoWith:{assetMediaInfoWith:{assetId:"17392"}}baseFilename:"new media name"}){mediaInfo{id}}}
Update media info on an asset with the given parameters.
If media process status is set to OFFLINE the duration will be ignored and set to 0.
In order to update file media info, user should have Insert and Remove rights to the category of the asset.
The notifications about the media infos matching the input filter
Metadata
Describes operations to create, retrieve, update and delete metadata for assets, categories, contacts, locators, glossary values, planning events and rundowns.
Metadata Values
Type
Description
Id
Id represented as a string, for example: "ID123"
String
String value, for example: "TitleName"
TimeCode
Timecode represented as a string, for example: "P10:0:0.000S"
TimeCodeDate
TimecodeDate represented as a string, for example: "2005-01-18T10:0:0.000 PAL". If not specified, the timezone used for the value is UTC
subqueries
Queries to retrieve information about metadata from outputs of other operations.
AssetIfc metadata: sub query to retrieve metadata from assets
Category metadata: sub query to retrieve metadata from categories
Items metadata: sub query to retrieve the group item metadata
Locator metadata: sub query to retrieve metadata from locators
subquery metadata
Example: Retrieve the metadata value of "Title Duration" in assets with id 35059
Retrieve information about the assets, categories or locators metadata matching the supplied filter, depending on the operation that called the sub query.
Metadata can be filtered by data field id, name and tagName.
The retrieved metadata is the intersection of all filter fields results.
Retrieve the information about group item metadata matching the supplied filter.
Group item metadata can be filtered by their fields (pre-defined list of fields that can be retrieved).
Add a new row to a specific table metadata.
When adding new rows, invalid metadata is ignored and a new row is created without the invalid metadata.
In order to add rows to table metadata, user should have Insert and Remove rights to the category of the asset.
Delete rows from table metadata by providing a list of row ids.
If the inserted row ids are wrong or user rights are missing, nothing will be deleted and no error will be thrown.
In order to delete rows of table metadata, user should have Insert and Remove rights to the category of the asset.
Update a list of fields for items inside a group asset with the given parameters.
The item id used is the one displayed in Galaxy, for example: "1:1:1".
In order to update metadata for Group items, user should have Insert and Remove rights to the category of the Group asset.
Example: Apply several metadata updates on asset with id 366231: set new item code, append two values to a multi-cardinality data field, and remove the second value from the multi-cardinality data field
Update metadata of several objects with the given parameters.
SET overrides the existing value of a field, and APPEND and REMOVE can be used only on multi-cardinality fields.
In order to update metadata of objects, user should have Insert and Remove rights to the category of the object.
Update rows of table metadata with new metadata input.
When updating rows, invalid metadata is ignored and the rows are updated without the invalid metadata.
In order to update rows of table metadata, user should have Insert and Remove rights to the category of the asset.
Subscribe to notifications about metadata.
The subscription can be on objects thus subscribing to all metadata on those objects, or by data fields directly.
In order to get a notification for an object, the user should have View rights for it.
Retrieve information about user groups matching the supplied filter.
User groups can be filtered by their ids, names and userIds.
The retrieved user groups are an intersection of all filter fields.
Retrieve information about users matching the supplied filter.
Users can be filtered by their ids, logins and userGroupIds.
The retrieved users are an intersection of all filter fields.
Retrieve information about users matching the supplied filter.
Users can be filtered by their ids, logins and userGroupIds.
The retrieved users are an intersection of all filter fields.
Update user with the given parameters.
Null parameters will be ignored.
The password is updated only if it is supplied and if it respects the password policy.
Position of the added item inside the group. If the supplied position exceeds the number of items currently in the group, the item will be added to the end of the group
The offset specifying the beginning of the segment. If the supplied offset is greater than the duration of the asset, tcIn is set to the tcIn of the end of the asset
Full path of the category in the cateogries tree separated by "/", for example: "CATEGORIES/To review". The total length of the full name must be less than 255 chars. Each name in the path must be less than 32 chars
Naming conventions for media files exported from Dalet
AssetIfc
Example: Retrieve the id and name of assets with ids 17392, 2772, 355789 and additional information for different types of assets using different implementations
The display color for this asset status in the GUI
AssetTypeIfc
Example: Retrieve the id and name of the asset types of assets with ids 2002, 34056, 356770. Retrieve additional information for different types of asset types using different implementations
The behavior when an asset of this type is dragged from the base browser into a story or rundown
To retrieve the extended information available inside the AssetTypeIfc output, use the syntax: ...on UserTaskType{ taskResults { value } } (see example on the right)
BlockTemplate
BlockTemplate is an implementation of AssetTypeIfc.
There are no specific fields for BlockTemplate implementation.
CgType
CgType is an implementation of AssetTypeIfc.
There are no specific fields for CgType implementation.
ExtendedAssetType
ExtendedAssetType is an implementation of AssetTypeIfc.
There are no specific fields for ExtendedAssetType implementation.
MediaPackTemplate
MediaPackTemplate is an implementation of AssetTypeIfc.
In addition, MediaPackTemplate has the following specific fields:
Corresponds to the path from the root of all categories separated by "/". The total length of the full name must be less than 255 chars. Each name in the path must
Example: Retrieve the names of "UserInGroup" and "Acceptance" data fields and additional information for different data field types using different implementations
To retrieve the extended information available inside the DataFieldTypeIfc output, use the syntax: ...on EnumDataFieldType{ values } (see example on the right)
EnumDataFieldType
EnumDataFieldType is an implementation of DataFieldTypeIfc.
In addition, EnumDataFieldType has the following specific fields:
RelationSelectionDataFieldType is an implementation of DataFieldTypeIfc.
In addition, RelationSelectionDataFieldType has the following specific fields:
Query to retrieve the asset metadata matching the supplied filter
GroupItemMetadataIfc
Example: Retrieve the metadata fields "ITEM_HOLD" and "ITEM_SCHEDULED_DURATION" and their values in the first item in group with id 354890 using different implementations
To retrieve the extended information available inside the GroupItemMetadataIfc output, use the syntax: ...on BooleanGroupItemMetadata{ value } (see example on the right)
BooleanGroupItemMetadata
BooleanGroupItemMetadata is an implementation of GroupItemMetadataIfc.
In addition, BooleanGroupItemMetadata has the following specific fields:
TimecodeDateGroupItemMetadata is an implementation of GroupItemMetadataIfc.
In addition, TimecodeDateGroupItemMetadata has the following specific fields:
UnsupportedGroupItemMetadata is an implementation of GroupItemMetadataIfc.
There are no specific fields for UnsupportedGroupItemMetadata implementation.
To retrieve the extended information available inside the MediaFormatIfc output, use the syntax: ...on AudioMediaFormat{ availableForEditing } (see example on the right)
AudioMediaFormat
AudioMediaFormat is an implementation of MediaFormatIfc.
In addition, AudioMediaFormat has the following specific fields:
To retrieve the extended information available inside the MediaInfoIfc output, use the syntax: ...on AudioMediaInfo{ duration } (see example on the right)
AudioMediaInfo
AudioMediaInfo is an implementation of MediaInfoIfc.
In addition, AudioMediaInfo has the following specific fields:
Flag to indicate whether movRef files associated to media files will be copied together with the media when copying media to the target storage unit. The flag is set on the target storage unit
Flag to indicate whether tcd files associated to media files will be copied together with the media when copying media to the target storage unit. The flag is set on the target storage unit
Flag to indicate whether idx files associated to media files will be copied together with the media when copying media to the target storage unit. The flag is set on the target storage unit
Flag to indicate whether vol files associated to media files will be copied together with the media when copying media to the target storage unit. The flag is set on the target storage unit
The YouTube Social Media Account created in Dalet Galaxy associated to the YouTube RSU. This is not necessarily the same as the account name in YouTube
Enum
AmazonS3StorageClass
Value
Description
STANDARD
STANDARD_INFREQUENT_ACCESS
REDUCED_REDUNDANCY
GLACIER
DEEP_ARCHIVE
INTELLIGENT_TIERING
ONEZONE_INFREQUENT_ACCESS
AssetMediaType
Value
Description
VIDEO
AUDIO
STORY
IMAGE
CG
OTHER
AssetNotificationType
Value
Description
CREATED
Notifications about creation of assets
MODIFIED
Notifications about modification of assets
DELETED
Notifications about deletion of assets
LINKED_TO_CATEGORY
Notifications about links of assets to a category
REMOVED_FROM_CATEGORY
Notifications about removal of assets links from a category
ALL
All types of notifications triggered by changes in assets on site
CategoryNotificationType
Value
Description
CREATED
Notifications for creation of categories
MODIFIED
Notifications about modification of categories definitions
DELETED
Notifications about deletion of categoies
ALL
All types of notifications triggered by changes in categories on site
CopyAssetDataType
Value
Description
GENEALOGY
Copies the genealogy metadata from source asset to a target asset
INHERITABLE_LOCATORS
Copies all inheritable locators from source asset to a target asset
INHERITABLE_METADATA
Copies all inheritable metadata from source asset to target asset
DataFieldCardinality
Value
Description
SINGLE
MULTI
DivaMediaType
Value
Description
DEFAULT
Corresponds to the default DIVA storage configuration as configured in DIVA
GROUP
A named group of tapes. Can be configured in DIVA or created from the Dalet Admin
DISK_ARRAY
A collection of disks, as configured in DIVA. Each disk is known to DIVA through its physical path and capacity
FormatMediaType
Value
Description
VIDEO
AUDIO
IMAGE
SUBTITLES
MISC
FtpEncryption
Value
Description
PLAIN_FTP
EXPLICIT_FTPS
IMPLICIT_FTPS
GroupItemDataField
Value
Description
ITEM_COMPUTED_DURATION
ITEM_COMPUTED_START_TIME
ITEM_SCHEDULED_DURATION
ITEM_USE_SCHEDULED_DURATION
ITEM_HOLD
ITEM_CUSTOM_1
ITEM_CUSTOM_2
ITEM_CUSTOM_3
ITEM_CUSTOM_4
ITEM_CUSTOM_5
ITEM_CUSTOM_6
ITEM_CUSTOM_7
ITEM_CUSTOM_8
ITEM_CUSTOM_9
ITEM_CUSTOM_10
ITEM_CUSTOM_11
ITEM_CUSTOM_BOOLEAN_1
ITEM_CUSTOM_BOOLEAN_2
ITEM_CUSTOM_BOOLEAN_3
ITEM_CUSTOM_BOOLEAN_4
ITEM_CUSTOM_BOOLEAN_5
Invalid Input Reasons
Value
Description
TOO_SHORT
Value too short
WRONG_FORMAT
Value of wrong format
NEGATIVE
Negative value
TOO_LONG
Value too long
FORBIDDEN_CHARACTERS
Forbidden characters
MULTIPLE_VALUES
Mutliple values
EMPTY_OR_NULL
Value empty or null
WRONG_TYPE
Value of wrong type
UNSUPPORTED_NOTIFICATION_TYPE
Unsupported notification type
UNSUPPORTED_OBJECT_TYPE
Unsupported object type
MISSING_VALUE
Missing value
ALREADY_EXISTS
Value already exists
INVALID_VALUE
Invalid value
MISMATCH
Value mismatch
LengthRangeUnit
Value
Description
CHARACTERS
WORDS
PAGES
LocatorInheritance
Value
Description
NONE
Locators will not be inherited when a clip is rendered from the source material
PARTIAL
Locators will be inherited when a clip is rendered from the source material even if only a portion of the source locator is included in the clip
FULL
Locators will be inherited when a clip is rendered from the source material ONLY if the complete source locator is included in the clip
LocatorNotificationType
Value
Description
CREATED
Notifications about creation of locators
MODIFIED
Notifications about modification of locators definitions
DELETED
Notifications about deletion of locators
ALL
All types of notifications triggered by changes in locators on site
LocatorSubType
Value
Description
RANGE
Locator type that includes a period of time and has time code in and time code out
SINGLE
Locator type that represents a single point and only has time code in
TABLE
Locator type that allows to arrange metadata in tables in Asset Manager forms
MediaNotificationType
Value
Description
MODIFIED
Notifications about modification of media infos definitions
CREATED
Notifications about creation of media infos
DELETED
Notifications about deletion of media infos
ALL
All types of notifications triggered by changes in media infos on site
MediaProcessStatus
Value
Description
NEAR_ONLINE
ONLINE
PREPARE_COPY
COPYING
PREPARE_RECORD
RECORDING
CHANGING_BY_OTHER
OFFLINE
MetadataNotificationType
Value
Description
MODIFIED
Notifications about modification of metadata
ALL
All types of notifications triggered by changes in metadata
MetadataSearchMode
Value
Description
ALL_MATCH
Selected objects will match all provided metadata (AND operator)
AT_LEAST_ONE_MATCH
Selected objects will match at least one provided metadata (OR operator)
MetadataValueType
Value
Description
TEXT
Base type of a data field that expects a String as value
NUMBER
Base type of a data field that expects an Int as value
PERIOD
Base type of a data field that expects a Period as value
TIME_DATE
Base type of a data field that expects TimeDate as value
TIMECODE
Base type of a data field that expects a TimeCode as value
TIMECODE_DATE
Base type of a data field that expects a TimeCodeDate as value
OBJECT
Base type of a data field that expects an objectValueTypes as value
CALCULATED
Base type of a data field that expects a value other than the above, such as Usage or Genealogy. Fields of this type are read only
ObjectType
Value
Description
ASSET
CATEGORY
CONTACT
GLOSSARY_VALUE
LOCATOR
PLANNING_EVENT
PLAYOUT
RECORDING_JOB
RUNDOWN
WEBLINK
WORKFLOW_INSTANCE
USER
USER_GROUP
ObjectTypeWithMetadata
Value
Description
ASSET
CATEGORY
CONTACT
GLOSSARY_VALUE
LOCATOR
PLANNING_EVENT
RUNDOWN
ObjectValueTypes
Value
Description
CategoryType
ItemType
BroadcastItemType
ClockType
UserType
UserGroupType
StationType
StorageType
StudioType
FormatType
UsersInGroupType
JobType
Precondition
Value
Description
MEDIA_ALREADY_EXISTS
MUST_NOT_BE_PRIMARY_MEDIA
MUST_NOT_BE_PRIMARY_CATEGORY
CLIP_MEDIA_INFO
MEDIA_INFO_MUST_BE_ATTACHED_TO_TITLE
CATEGORY_MUST_BE_EMPTY
CATEGORY_MUST_NOT_BE_IN_THE_RECYCLE_BIN
CATEGORY_MUST_NOT_BE_GLOSSARY_FOLDER
CATEGORY_MUST_NOT_BE_RUNDOWN_FOLDER
ASSETS_MUST_NOT_BE_LINKED_TO_CATEGORY
ASSET_MUST_NOT_BE_USED_BY_OTHER_ASSETS
MUST_MATCH_ANY_GROUP_CHANNEL
INVALID_LOGIN
DATA_FIELD_MUST_BE_WRITABLE
DATA_FIELD_MUST_BE_MULTI_CARDINALITY
DATA_FIELD_MUST_BE_TABLE
USER_MUST_HAVE_CLIP_BIN_CATEGORY
USER_MUST_NOT_BE_LOGGED
CANNOT_REMOVE_USER_FROM_PUBLIC_GROUP
MUST_BE_A_VIDEO_ASSET_TYPE
MUST_BE_A_CG_ASSET_TYPE
MUST_BE_A_SUBTITLES_ASSET_TYPE
MUST_BE_AN_EXTENDED_ASSET_TYPE
MUST_BE_AN_TRACK_STACK_ASSET_TYPE
MUST_BE_A_STORY_ASSET_TYPE
MUST_BE_A_GROUP_ASSET_TYPE
MUST_BE_A_CATEGORY
STUDIO_CHANNEL_MUST_ACCEPT_THE_TITLE_TYPE
ResourceType
Value
Description
DATA_FIELD
DATA_FIELD_TYPE
DATA_FIELD_TYPE_KIND
TABLE_DATA_FIELD_ROW
LOCATOR
LOCATOR_SUB_TYPE
LOCATOR_INHERITANCE
LOCATOR_TYPE
LOCATOR_FAMILY
LANGUAGE
ASSET
ASSET_TYPE
ASSET_STATUS
CG_TO_VIDEO_ASSOCIATION
SUBTITLES_TO_VIDEO_ASSOCIATION
DIVA_MEDIA_TYPE
MEDIA_INFO
MEDIA_INFO_TYPE
MEDIA_PROCESS_STATUS
MEDIA_TYPE
REUSE_ACTION
MEDIA_RESOURCE
MEDIA_RESOURCE_TYPE
CG_TYPE
MEDIA_FORMAT
OBJECT_TYPE
SOCIAL_MEDIA_ACCOUNT
SOLR_INDEX
SOLR_INDEX_STATUS
SOLR_DATA_FIELD_BASE_TYPE
SOLR_DATA_FIELD_TYPE
SOLR_VERSION
LENGTH_RANGE_UNIT
STUDIO
STUDIO_TYPE
STUDIO_CHANNEL
STUDIO_CHANNEL_TYPE
ENCRYPTION
AUTHENTICATION_MODE
STORAGE_UNIT
STORAGE_UNIT_PROTOCOL
STORAGE_UNIT_DOMAIN
AMAZON_S3_STORAGE_CLASS
TEMPLATE_TRACK_TYPE
USER_TASK_PRIORITY
SOLR_DATA_FIELD_USAGE
USER
USER_GROUP
GROUP_ITEM
GROUP
CATEGORY
FOLDER
NOTIFICATION_TYPE
CONTACT
GLOSSARY_VALUE
PLANNING_EVENT
PLAYOUT
RECORDING_JOB
RUNDOWN
WEBLINK
WORKFLOW_INSTANCE
UNKNOWN
ReuseAction
Value
Description
COPY
Creates a copy of the inserted asset with a new asset id
LINK
Creates a link to the inserted asset with the same asset id
SecureFtpAuthenticationMode
Value
Description
PASSWORD
PUBLIC_PRIVATE_KEYS
SelectorType
Value
Description
ID
LOGIN
NAME
TYPE
TAG_NAME
ABBREVIATION
SolrIndexStatus
Value
Description
NEW
READY
BLOCKED
SolrFieldBaseType
Value
Description
NUMBER
TEXT
DATE_TIME
OTHER
SolrFieldCardinality
Value
Description
SINGLE
MULTI
SolrFieldUsage
Value
Description
SEARCH_BY_TERM
Returns objects that include part of the value in the search query
SEARCH_BY_RANGE
Returns objects that match the range of values in the search query
SEARCH_BY_EXACT_VALUE
Returns objects which exactly match the value in the search query
SORT
Sorts search results according to the metadata field with this usage. If this usage is not configured for a field, you cannot sort search results based on this metadata field
HIGHLIGHT
Returns highlighted matches and snippets which show the context in which the value of your query appears in the metadata of your search results
FACET_SEARCH_RESULT
Breaks up search results into multiple categories and displays a count for returned facets
FULLTEXT
Makes the selected field available for full text search
PHONETIC
Returns objects that match the value in the search query phonetically
SolrVersion
Value
Description
SOLR_4_6
SOLR_7_5
StationType
Value
Description
PLAYOUT
RECORDING
StorageUnitProtocolType
Value
Description
UNC
HTTP
FTP
SECURE_FTP
DIVA
MASSTECH
ARCHIVE
QUANTEL
AMAZON_S3
BLACKPEARL
AVID
YOUTUBE
OEMBED
StorageUnitType
Value
Description
LOCAL
REMOTE
EXTERNAL
StudioChannelType
Value
Description
PLAYLIST
CARTS
INGEST
PLANNING_AREA
StudioType
Value
Description
PLAYOUT
RECORDING
TemplateTrackType
Value
Description
TT_VIDEO
TT_AUDIO
TT_SUBTITLES
UpdateMetadataActionType
Value
Description
SET
Override the existing value of a field
APPEND
Add a value to a multi-cardinality field
REMOVE
Remove a value from a multi-cardinality field
UserNotificationType
Value
Description
MODIFIED
Notifications about modification of users definitions
ADDED_TO_GROUP
Notifications about addition of users to user groups
REMOVED_FROM_GROUP
Notifications about removal of users from user groups
CREATED
Notifications about creation of users
DELETED
Notifications about deletion of users
ALL
All types of notifications triggered by changes in users on site
UserTaskPriority
Value
Description
LOW
MEDIUM
HIGH
Scalar
ID
The ID scalar type represents a unique identifier, often used to refetch an object or as a key for a cache.
The ID type appears in a JSON response as a String; however, it is not intended to be human-readable.
When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
String
The String scalar type represents textual data, represented as UTF-8 character sequences.
The String type is most often used by GraphQL to represent free-form human-readable text.
Boolean
The Boolean scalar type represents true or false.
TimeCode
Time code is a combination of frame, rate and scale, presented as hours/minutes/seconds/milliseconds.
For example: 14:14:36.279 PAL
TimeCodeDate
Time code date is a combination of time code and date. If not specified, the timezone used for the value is UTC.
For example: 2005-01-18T14:14:36.279 PAL
TimeDate
A date and time in ISO format.
If not specified, the timezone used for the value is UTC, for example: "P10:0:0.000S"
Color
A color specified in Hexadecimal Code RGB, for example for red: #FF0000.
Int
The Int scalar type represents non-fractional signed whole numeric values.
Int can represent values between -(2^31) and 2^31 - 1.
Period
A duration in ISO format that represent a period of time, for example: PT10S.
PageLength
Page length Should be between 1 to 1000
Errors
This section specifies the types of errors that are supported in WebService3.
General structure of an error message contains:
message - A detailed message containing specific values and an error description.
locations - The exact line and column of the part of the call that failed.
path - Identifies the operation that failed.
extensions - Additional information about the error and the cause.
{"errors":[{"message":"Input name [name] with value [] is invalid with [Missing Value] reason. Error details: Must not be empty","locations":[{"line":2,"column":3}],"path":["createAudioAssets"],"extensions":{"reason":"MISSING_VALUE","name":"name","errorCode":"InvalidInput","value":"","classification":"ValidationError"}}],"data":{"createAudioAssets":{"assets":[]}}}
Indicates that an input value is not valid.
Extensions
errorCode - The error type: "InvalidInput"
reason - The error reason. See here possible values
{"errors":[{"message":"User with id [26] does not have access rights to perform operation type [Create] for resource type [Asset]","locations":[{"line":2,"column":3}],"path":["createAudioAssets"],"extensions":{"errorCode":"NoAccessRightsException","resourceSelectorType":null,"operationType":"CREATE","resourceSelector":null,"userId":26,"resourceType":"ASSET","classification":"ValidationError"}}],"data":{"createAudioAssets":{"assets":[]}}}
Indicates that a user has insufficient rights to perform the requested operation.
Extensions
errorCode - The error type: "NoAccessRightsException"
resourceType - The type of resource that caused the error. See here possible values
resourceSelectorType - The type of resource attribute that caused the error. See here possible values
resourceSelector - The value of the resource attribute that caused the error
operationType - The type of operation that failed
userId - The user that has no access to perform the operation
{"errors":[{"message":"Resource with [Id: 1000, Type: Category] does not exist","locations":[{"line":2,"column":3}],"path":["createAudioAssets"],"extensions":{"errorCode":"ResourceDoesNotExist","resourceSelectorType":"ID","resourceSelector":"1000","resourceType":"CATEGORY","classification":"DataFetchingException"}}],"data":{"createAudioAssets":{"assets":[]}}}
Indicates that one of the objects (storage unit, media info, format, asset etc.) being accessed does not exist.
Extensions
errorCode - The error type: "ResourceDoesNotExist"
resourceType - The type of resource that caused the error. See here possible values
resourceSelectorType - The type of resource attribute that caused the error. See here possible values
resourceSelector - The value of the resource attribute that caused the error
{"errors":[{"message":"Resource with [Id: 2266, Type: Asset] does not satisfy the precondition [Must Be A Group Asset Type]","locations":[{"line":2,"column":3}],"path":["addItemsToGroups"],"extensions":{"errorCode":"ResourcePreconditionViolation","resourceSelectorType":"ID","resourceSelector":"2266","precondition":"MUST_BE_A_GROUP_ASSET_TYPE","resourceType":"ASSET","classification":"ValidationError"}}],"data":{"addItemsToGroups":{"groupItems":[]}}}
Indicates that one of the values supplied for an object is not as expected (for example: empty or null datafieldId).
Extensions
errorCode - The error type: "ResourcePreconditionViolation"
resourceType - The type of resource that caused the error. See here possible values
resourceSelectorType - The type of resource attribute that caused the error. See here possible values
resourceSelector - The value of the resource attribute that caused the error
precondition - The precondition that was not satisfied. See here possible values
{"errors":[{"message":"Cannot create asset with name [AudioAsset] in category with id [-1] using user [UnauthorizedUser].","locations":[{"line":2,"column":3}],"path":["createAudioAssets"],"extensions":{"errorCode":"UnexpectedError","classification":"ExecutionAborted"}}],"data":{"createAudioAssets":{"assets":[]}}}
Indicates a failure to filter or retrieve the requested information.
Dalet Galaxy API documentation
Revision: 1.0
Creation: 2020-06-04
This API document explains the use of the Dalet Galaxy GraphQL API to manipulate elements of a Dalet Galaxy site.
(c) 2020, Dalet, all rights reserved
THIS API SPECIFICATION IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE API OR THE USE OR OTHER DEALINGS IN THE API.