Accurate Video Frontend Settings API

Frontend settings

Using the settings API it is possible to configure the settings sent to the frontend via /settings/frontend.js. A setting entity consists of a type, a set of metadata fields, and a possible blob of data. For frontend settings the blob is never used.

This documentation assumes familiarity with the frontend settings file. The documentation for this can be found here.

Sequenced data (collections of objects)

For collections of objects in the frontend settings block, sequence identifiers are used both to be able to target specific settings from other settings blocks, but also to represent the order of objects in the collection. This sequence identifier is a metadata field in the setting named sequence_id. Settings that are collections will be denoted as such below.

Basic settings example

Given the following frontend settings:

export default {
    licenseKey: "someLicenseKey",
    assetMinRefreshTime: 3600,
    showAssetView: true,
    endFrameInclusive: true,
    preferredVideoTags: [
        "mp4",
        "mp4-lowres",
        "original"
    ]
};

This would be expressed with the following settings in the API:

[
  {
    "type": "av_license_key",
    "metadata": [
      {
        "key": "av_license_key",
        "value": "someLicenseKey"
      }
    ]
  },
  {
    "type": "av_asset_min_refresh_time",
    "metadata": [
      {
        "key": "duration",
        "value": "3600"
      }
    ]
  },
  {
    "type": "av_end_frame_inclusive",
    "metadata": [
      {
        "key": "enabled",
        "value": "true"
      }
    ]
  },
  {
    "type": "av_show_asset_view",
    "metadata": [
      {
        "key": "enabled",
        "value": "true"
      }
    ]
  },
  {
    "type": "av_preferred_video_tags",
    "metadata": [
      {
        "key": "tag",
        "value": "mp4"
      },
      {
        "key": "tag",
        "value": "mp4-lowres"
      },
      {
        "key": "tag",
        "value": "original"
      }
    ]
  }
]

Using the settings bulk update API, all these can be updated at once by doing POST to /settings/bulk?replace=true with the payload above.

Reference

In this section all individual parts of the frontend settings will described in detail. If unsure what each setting control, check the frontend settings documentation linked in the first section of this document.

licenseKey

Settings type: av_license_key

Fields:

Field name Type Frontend setting
av_license_key String licenseKey

Example:

{
  "type": "av_license_key",
  "metadata": [
    {
      "key": "av_license_key",
      "value": "someLicenseKey"
    }
  ]
}

endFrameInclusive

Settings type: av_end_frame_inclusive

Fields:

Field name Type Frontend setting
enabled Boolean endFrameInclusive

Example:

{
  "type": "av_end_frame_inclusive",
  "metadata": [
    {
      "key": "enabled",
      "value": "false"
    }
  ]
}

assetMinRefreshTime

Settings type: av_asset_min_refresh_time

Fields:

Field name Type Frontend setting
duration Number assetMinRefreshTime

Example:

{
  "type": "av_asset_min_refresh_time",
  "metadata": [
    {
      "key": "duration",
      "value": "3600"
    }
  ]
}

showAssetView

Settings type: av_show_asset_view

Fields:

Field name Type Frontend setting
enabled Boolean showAssetView

Example:

{
  "type": "av_show_asset_view",
  "metadata": [
    {
      "key": "enabled",
      "value": "false"
    }
  ]
}

preferredVideoTags

Settings type: av_preferred_video_tags

Fields:

Field name Type Frontend setting
tag String preferredVideoTags[X]

Example:

{
  "type": "av_preferred_video_tags",
  "metadata": [
    {
      "key": "tag",
      "value": "mp4"
    },
    {
      "key": "tag",
      "value": "mp4-lowres"
    },
    {
      "key": "tag",
      "value": "original"
    }
  ]
}

authentication

Note that only parts of the authentication block can be changed via the API, some parts are only changeable in the settings.js file in the frontend (like authentication.enabled and authentication.method).

Settings type: av_authentication

Fields:

Field name Type Frontend setting
keycloak_config_url String authentication.keycloak.configUrl
query_token_parameter String authentication.query.tokenParameter
query_token_prefix String authentication.query.tokenPrefix
cookie_name String authentication.cookie.cookieName
cookie_token_prefix String authentication.cookie.tokenPrefix
cookie_delete_cookie_on_logout String authentication.cookie.deleteCookieOnLogout
unauthorized_redirect String authentication.unauthorized.redirect
unauthorized_message_title String authentication.unauthorized.message.title
unauthorized_message_content String authentication.unauthorized.message.content
unauthorized_message_action String authentication.unauthorized.message.action

Example:

{
  "type": "av_authentication",
  "metadata": [
    {
      "key": "keycloak_config_url",
      "value": "custom-keycloak.json"
    },
    {
      "key": "unauthorized_redirect",
      "value": "https://my-sso.test.com"
    },
    {
      "key": "unauthorized_message_title",
      "value": "Login"
    },
    {
      "key": "unauthorized_message_content",
      "value": "Session is expired, please login again"
    },
    {
      "key": "unauthorized_message_action",
      "value": "Go to SSO"
    }
  ]
}

eventBus

Settings type: av_event_bus

Fields:

Field name Type Frontend setting
url String eventBus.url
enabled String eventBus.enabled

Example:

{
  "type": "av_event_bus",
  "metadata": [
    {
      "key": "enabled",
      "value": "false"
    },
    {
      "key": "url",
      "value": "/eventbus"
    }
  ]
}

drm

Settings type: av_drm

Fields:

Field name Type Frontend setting Notes
server String (Multiple) drm.server The order of the server fields will be preserved in the frontend settings
file_secret_key String drm.fileSecretKey
streaming_interceptor Code drm.streamingInterceptor Must be valid javascript code in string format

Example:

{
  "type": "av_drm",
  "metadata": [
    {
      "key": "server",
      "value": "someserver"
    },
    {
      "key": "server",
      "value": "someserver2"
    },
    {
      "key": "file_secret_key",
      "value": "custom_data_xml"
    },
    {
      "key": "streaming_interceptor",
      "value": "(data) => { request.headers.customdata = \"stuff\"; }"
    }
  ]
}

apps

apps.validate

Settings type: av_apps_validate

Fields:

Field name Type Frontend setting Notes
subtitle_type String (Multiple) apps.validate.subtitleTypes The order will be preserved in the frontend settings
markers Boolean apps.validate.features.markers
virtual_tracks Boolean apps.validate.features.virtualTracks
set_language_on_files Boolean apps.validate.features.setLanguageOnFiles Makes it possible to set language on muxed audio, discrete audio files, and discrete subtitle files from the timeline
safe_areas Boolean apps.validate.features.safeAreas Disables or enables the safe areas feature
fallback_duration Integer apps.validate.fallbackDuration
video_file_display String apps.validate.videoFileDisplay
audio_file_display String apps.validate.audioFileDisplay
video_file_order String (Multiple) apps.validate.videoFileOrder
audio_file_order String (Multiple) apps.validate.audioFileOrder

Example:

{
  "type": "av_apps_validate",
  "metadata": [
    {
      "key": "subtitle_type",
      "value": "closed"
    },
    {
      "key": "subtitle_type",
      "value": "open"
    },
    {
      "key": "markers",
      "value": "true"
    },
    {
      "key": "set_language_on_files",
      "value": "true"
    },
    {
      "key": "safe_areas",
      "value": "true"
    },
    {
      "key": "video_file_display",
      "value": "%filename (%tag, %id)"
    },
    {
      "key": "audio_file_display",
      "value": "%filename (%tag, %id, %channels channels)"
    },
    {
      "key": "video_file_order",
      "value": "tag"
    },
    {
      "key": "video_file_order",
      "value": "filename"
    },
    {
      "key": "video_file_order",
      "value": "language"
    },
    {
      "key": "audio_file_order",
      "value": "tag"
    },
    {
      "key": "audio_file_order",
      "value": "filename"
    },
    {
      "key": "audio_file_order",
      "value": "channels"
    },
  ]
}

apps.poster

Settings type: av_apps_poster_room

Fields:

Field name Type Frontend setting
overlay_type String apps.poster.overlaySettings.type
overlay_active_key Boolean apps.poster.overlaySettings.activeKey
overlay_name_key Boolean apps.poster.overlaySettings.nameKey
overlay_aspect_ratio_key Boolean apps.poster.overlaySettings.aspectRatioKey
overlay_format_key Boolean apps.poster.overlaySettings.formatKey
overlay_file_id_key Boolean apps.poster.overlaySettings.fileIdKey
preset_type String apps.poster.imagePresetSettings.type
preset_active_key Boolean apps.poster.imagePresetSettings.activeKey
preset_name_key Boolean apps.poster.imagePresetSettings.nameKey
preset_aspect_ratio_key Boolean apps.poster.imagePresetSettings.aspectRatioKey
preset_format_key Boolean apps.poster.imagePresetSettings.formatKey
preset_resolution_key Boolean apps.poster.imagePresetSettings.resolutionKey

Example:

{
  "type": "av_apps_poster_room",
  "metadata": [
    {
      "key": "overlay_type",
      "value": "some_type_overlay"
    },
    {
      "key": "preset_type",
      "value": "some_type_preset"
    }
  ]
}

apps.edit

Settings type: av_apps_edit

Fields:

Field name Type Frontend setting Notes
edit_autosave Boolean apps.edit.features.autoSave
edit_autosave_debounce Integer apps.edit.features.autoSaveDebounce

Example:

{
  "type": "av_apps_edit",
  "metadata": [
    {
      "key": "edit_autosave",
      "value": "true"
    },
    {
      "key": "edit_autosave_debounce",
      "value": "5000"
    }
  ]
}

ingest

Settings type: av_ingest

Fields:

Field name Type Frontend setting Notes
preferred_video_tag String (Multiple) ingest.preferredVideoTags The order will be preserved in the frontend settings
preferred_audio_tag String (Multiple) ingest.preferredAudioTags The order will be preserved in the frontend settings
preferred_subtitle_tag String (Multiple) ingest.preferredSubtitleTags The order will be preserved in the frontend settings

Example:

{
  "type": "av_ingest",
  "metadata": [
    {
      "key": "preferred_video_tag",
      "value": "mp4"
    },
    {
      "key": "preferred_video_tag",
      "value": "original"
    },
    {
      "key": "preferred_audio_tag",
      "value": "original"
    },
    {
      "key": "preferred_subtitle_tag",
      "value": "original"
    }
  ]
}

storages

Settings type: av_storages

Fields:

Field name Type Frontend setting Notes
tag String (Multiple) storages.tags The order will be preserved in the frontend settings

Example:

{
  "type": "av_storages",
  "metadata": [
    {
      "key": "tag",
      "value": "poster"
    },
    {
      "key": "tag",
      "value": "waveform"
    },
    {
      "key": "tag",
      "value": "original"
    },
    {
      "key": "tag",
      "value": "rekognition"
    }
  ]
}

storages.awsRegions

Each setting of this type describe one object in the collection storages.awsRegions.

Settings type: av_storages_aws_region

Fields:

Field name Type Frontend setting Notes
sequence_id Integer storages.awsRegions[X] The position of the object in the collection
rekognition Boolean storages.awsRegions.rekognition
value String storages.awsRegions.value
label String storages.awsRegions.label
disabled Boolean storages.awsRegions.disabled
selected Boolean storages.awsRegions.selected

Example:

{
  "type": "av_storages_aws_region",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "3"
    },
    {
      "key": "rekognition",
      "value": "true"
    },
    {
      "key": "value",
      "value": "eu-west-1"
    },
    {
      "key": "label",
      "value": "EU Ireland"
    }
  ]
}

storages.autoIngest.manifestFormats

Each setting of this type describe one object in the collection storages.autoIngest.manifestFormats.

Settings type: av_storages_auto_ingest_manifest_format

Fields:

Field name Type Frontend setting Notes
sequence_id Integer storages.autoIngest.manifestFormats[X] The position of the object in the collection
value String storages.autoIngest.manifestFormats.value
label String storages.autoIngest.manifestFormats.label
disabled Boolean storages.autoIngest.manifestFormats.disabled
selected Boolean storages.autoIngest.manifestFormats.selected

Example:

{
  "type": "av_storages_auto_ingest_manifest_format",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "value",
      "value": ""
    },
    {
      "key": "label",
      "value": "Default"
    }
  ]
}

storages.autoIngest.ingestTemplates

Each setting of this type describe one object in the collection storages.autoIngest.ingestTemplates.

Settings type: av_storages_auto_ingest_template

Fields:

Field name Type Frontend setting Notes
sequence_id Integer storages.autoIngest.ingestTemplates[X] The position of the object in the collection
value String storages.autoIngest.ingestTemplates.value
label String storages.autoIngest.ingestTemplates.label
disabled Boolean storages.autoIngest.ingestTemplates.disabled
selected Boolean storages.autoIngest.ingestTemplates.selected

Example:

{
  "type": "av_storages_auto_ingest_template",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "value",
      "value": "ingest"
    },
    {
      "key": "label",
      "value": "Default"
    }
  ]
}

timeline.waveforms

Settings type: av_timeline_waveforms

Fields:

Field name Type Frontend setting Notes
active String timeline.waveforms.active
vidispine_shape String timeline.waveforms.vidispine.shape
vidispine_tag String timeline.waveforms.vidispine.tag
vidispine_sample_min Integer timeline.waveforms.vidispine.sampleMin
vidispine_sample_max Integer timeline.waveforms.vidispine.sampleMax
analyze_url Integer timeline.waveforms.analyze.url
analyze_url_replace_from Integer timeline.waveforms.analyze.urlReplaceFrom
analyze_url_replace_to Integer timeline.waveforms.analyze.urlReplaceTo
analyze_sample_min Integer timeline.waveforms.analyze.sampleMin
analyze_sample_max Integer timeline.waveforms.analyze.sampleMax
analyze_authentication_enabled Boolean timeline.waveforms.authentication.enabled
analyze_authentication_method String timeline.waveforms.authentication.method
analyze_authentication_query_token_parameter String timeline.waveforms.authentication.query.tokenParameter
analyze_authentication_query_token_prefix String timeline.waveforms.authentication.query.tokenPrefix
analyze_authentication_basic_username String timeline.waveforms.authentication.basic.username
analyze_authentication_basic_password String timeline.waveforms.authentication.basic.password
analyze_authentication_cookie_name String timeline.waveforms.authentication.cookie.cookieName
analyze_authentication_cookie_token_prefix String timeline.waveforms.authentication.cookie.tokenPrefix
analyze_authentication_cookie_delete_cookie_on_logout String timeline.waveforms.authentication.cookie.deleteCookieOnLogout

Example:

{
  "type": "av_timeline_waveforms",
  "metadata": [
    {
      "key": "active",
      "value": "analyze"
    },
    {
      "key": "analyze_url",
      "value": "/api/analyze"
    },
    {
      "key": "analyze_authentication_enabled",
      "value": "true"
    },
    {
      "key": "analyze_authentication_method",
      "value": "basic"
    },
    {
      "key": "analyze_authentication_basic_username",
      "value": "analyze-user"
    },
    {
      "key": "analyze_authentication_basic_password",
      "value": "analyze-password"
    }
  ]
}

imageSettings

imagesSettings.imageFormats

Each setting of this type describe one object in the collection imagesSettings.imageFormats.

Settings type: av_image_settings_format

Fields:

Field name Type Frontend setting Notes
sequence_id Integer imagesSettings.imageFormats[X] The position of the object in the collection
value String imagesSettings.imageFormats.value
label String imagesSettings.imageFormats.label
disabled Boolean imagesSettings.imageFormats.disabled
selected Boolean imagesSettings.imageFormats.selected

Example:

{
  "type": "av_image_settings_format",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "value",
      "value": "jpeg"
    },
    {
      "key": "label",
      "value": "JPG"
    }
  ]
}

imagesSettings.imagePresets

Each setting of this type describe one object in the collection imagesSettings.imagePresets.

Settings type: av_image_settings_preset

Fields:

Field name Type Frontend setting Notes
sequence_id Integer imagesSettings.imagePresets[X] The position of the object in the collection
name String imagesSettings.imagePresets.name
format String imagesSettings.imagePresets.format
aspect_ratio String imagesSettings.imagePresets.aspectRatio
resolution String imagesSettings.imagePresets.resolution

Example:

{
  "type": "av_image_settings_preset",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "name",
      "value": "Test"
    },
    {
      "key": "format",
      "value": "jpeg"
    },
    {
      "key": "aspect_ratio",
      "value": "16:9"
    },
    {
      "key": "resolution",
      "value": "1920x1080"
    }
  ]
}

aspectRatios

Each setting of this type describe one object in the collection aspectRatios.

Settings type: av_aspect_ratio

Fields:

Field name Type Frontend setting Notes
sequence_id Integer aspectRatios[X] The position of the object in the collection
name String aspectRatios.name
scale String aspectRatios.scale
ratio Integer aspectRatios.ratio
standard Boolean aspectRatios.standard

Example:

{
  "type": "av_aspect_ratio",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "name",
      "value": "16:9"
    },
    {
      "key": "scale",
      "value": "1.777"
    },
    {
      "key": "ratio",
      "value": "1"
    },
    {
      "key": "standard",
      "value": "false"
    }
  ]
}

resolutions

Each setting of this type describe one object in the collection resolutions.

Settings type: av_resolution

Fields:

Field name Type Frontend setting Notes
sequence_id Integer resolutions[X] The position of the object in the collection
name String resolutions.name
resolution String resolutions.resolution
ratio Integer resolutions.ratio
width Integer resolutions.width
height Integer resolutions.height

Example:

{
  "type": "av_resolution",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "name",
      "value": "HD"
    },
    {
      "key": "ratio",
      "value": "1"
    },
    {
      "key": "width",
      "value": "1920"
    },
    {
      "key": "height",
      "value": "1080"
    },
    {
      "key": "resolution",
      "value": "1920x1080"
    }
  ]
}

guidelineLayouts

Each setting of this type describe one object in the collection guidelineLayouts.

Settings type: av_resolution

Fields:

Field name Type Frontend setting Notes
sequence_id Integer guidelineLayouts[X] The position of the object in the collection
name String guidelineLayouts.name
predefined_layout String guidelineLayouts.predefinedLayout
horizontal_pattern Integer (Multiple) guidelineLayouts.horizontalPattern Order is preserved in the frontend settings
vertical_pattern Integer (Multiple) guidelineLayouts.verticalPattern Order is preserved in the frontend settings

Example:

{
  "type": "av_resolution",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "name",
      "value": "HD"
    },
    {
      "key": "predefined_layout",
      "value": "stuff"
    }
  ]
}

enabledApps

Settings type: av_enabled_apps

Fields:

Field name Type Frontend setting Notes
app String (Multiple) enabledApps Order is preserved in the frontend settings

Example:

{
  "type": "av_enabled_apps",
  "metadata": [
    {
      "key": "app",
      "value": "validate"
    },
    {
      "key": "app",
      "value": "poster"
    }
  ]
}

assetList

Settings type: av_asset_list

Fields:

Field name Type Frontend setting
table_thumbnails Boolean assetList.tableThumbnails

Example:

{
  "type": "av_asset_list",
  "metadata": [
    {
      "key": "table_thumbnails",
      "value": "true"
    }
  ]
}

features

Settings type: av_features

Fields:

Field name Type Frontend setting
enrich_asset Boolean features.enrichAsset
asset_status Boolean features.assetStatus

Example:

{
  "type": "av_features",
  "metadata": [
    {
      "key": "enrich_asset",
      "value": "false"
    },
    {
      "key": "asset_status",
      "value": "true"
    }
  ]
}

assetJobsSettings

Each setting of this type describe one object in the collection assetJobsSettings.

Settings type: av_asset_job_settings

Fields:

Field name Type Frontend setting Notes
sequence_id Integer assetJobsSettings[X] The position of the object in the collection
job_type String assetJobsSettings.jobType
job_status_metadata_key String assetJobsSettings.jobStatusMetadataKey
job_id_metadata_key String assetJobsSettings.jobIdMetadataKey
job_started_metadata_key String assetJobsSettings.jobStartedMetadataKey
job_title String assetJobsSettings.jobTitle

Example:

{
  "type": "av_asset_job_settings",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "job_type",
      "value": "rekognition"
    },
    {
      "key": "job_title",
      "value": "Rekognition"
    },
    {
      "key": "job_status_metadata_key",
      "value": "rekognition_status"
    },
    {
      "key": "job_id_metadata_key",
      "value": "rekognition_job_id"
    },
    {
      "key": "job_started_metadata_key",
      "value": "rekognition_started_date"
    }
  ]
}

render

Settings type: av_render

Fields:

Field name Type Frontend setting Notes
enabled_format String (Multiple) render.enabledFormats

Example:

{
  "type": "av_render",
  "metadata": [
    {
      "key": "enabled_format",
      "value": "single-file"
    },
    {
      "key": "enabled_format",
      "value": "individual-files"
    }
  ]
}

render.presets

Each setting of this type describe one object in the collection render.presets.

Settings type: av_render_preset

Fields:

Field name Type Frontend setting Notes
preset_id String render.presets[X].metadata[key=preset_id] The preset id
label String render.presets[X].label Presentation name of the preset
Y String[] render.presets[X].metadata[key=Y] Metadata object to send to backend for the preset. Multiple entries.

Example:

{
  "type": "av_render_preset",
  "metadata": [
    {
      "key": "preset_id",
      "value": "standard_h264_follow"
    },
    {
      "key": "label",
      "value": "Web (h.264, elemental)"
    },
    {
      "key": "transcoder",
      "value": "elemental"
    },
    {
      "key": "expand_timeline_from_video_track",
      "value": "true"
    }
  ]
}

crypto

Settings type: av_crypto

Fields:

Field name Type Frontend setting
public_key String crypto.publicKey

Example:

{
  "type": "av_crypto",
  "metadata": [
    {
      "key": "public_key",
      "value": "xyz"
    }
  ]
}

assetStatus

Settings type: av_asset_status

Fields:

Field name Type Frontend setting
status_metadata_field_name String assetStatus.statusMetadataFieldName
comment_metadata_field_name String assetStatus.commentMetadataFieldName
status_set_by_metadata_field_name String assetStatus.statusSetByMetadataFieldName

Example:

{
  "type": "av_asset_status",
  "metadata": [
    {
      "key": "status_metadata_field_name",
      "value": "asset_status"
    },
    {
      "key": "comment_metadata_field_name",
      "value": "asset_status_comment"
    },
    {
      "key": "status_set_by_metadata_field_name",
      "value": "asset_status_set_by"
    }
  ]
}

assetStatus.statuses

Each setting of this type describe one object in the collection assetStatus.statuses.

Settings type: av_asset_status_option

Fields:

Field name Type Frontend setting Notes
sequence_id Integer assetStatus.statuses[X] The position of the object in the collection
key String assetStatus.statuses.key
color String assetStatus.statuses.color
allow_comment Boolean assetStatus.statuses.allowComment
revokable Boolean assetStatus.statuses.revokable
label_status String assetStatus.statuses.label.status
label_assign String assetStatus.statuses.label.assign

Example:

{
  "type": "av_asset_status_option",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "key",
      "value": "in_progress"
    },
    {
      "key": "label_status",
      "value": "In Progress"
    },
    {
      "key": "label_assign",
      "value": "Set to in progress"
    },
    {
      "key": "allow_comment",
      "value": "false"
    },
    {
      "key": "revokable",
      "value": "true"
    }
  ]
}

enrich

enrich.configurations

Each setting of this type describe one object in the collection enrich.configurations.

Settings type: av_enrich_configuration

Fields:

Field name Type Frontend setting Notes
sequence_id Integer enrich.configurations[X] The position of the object in the collection
type String enrich.configurations.type
key String enrich.configurations.key
rekognition_type String enrich.configurations.rekognitionType
description String enrich.configurations.description
default_enabled Boolean enrich.configurations.defaultEnabled
default_value String enrich.configurations.defaultValue
unit String enrich.configurations.unit

Example:

{
  "type": "av_enrich_configuration",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "key",
      "value": "technical_cue"
    },
    {
      "key": "type",
      "value": "rekognition"
    },
    {
      "key": "rekognition_type",
      "value": "technical_cue"
    },
    {
      "key": "label",
      "value": "Technical Cue"
    },
    {
      "key": "unit",
      "value": "xyz"
    },
    {
      "key": "default_enabled",
      "value": "false"
    },
    {
      "key": "default_value",
      "value": "70"
    }
  ]
}

enrich.configurations.options

Each setting of this type describe one object in the collection enrich.configurations.options.

Settings type: av_enrich_configuration_option

Fields:

Field name Type Frontend setting Notes
configuration_sequence_id Integer enrich.configurations[X] Identifier of the enrich.configurations object the option belongs to
sequence_id Integer enrich.configurations.options[X] The position of the object in the collection
value String enrich.configurations.options.value
label String enrich.configurations.options.label
disabled Boolean enrich.configurations.options.disabled
selected Boolean enrich.configurations.options.selected

Example:

{
  "type": "av_enrich_configuration_option",
  "metadata": [
    {
      "key": "configuration_sequence_id",
      "value": "1"
    },
    {
      "key": "sequence_id",
      "value": "11"
    },
    {
      "key": "label",
      "value": "Some option"
    },
    {
      "key": "value",
      "value": "some"
    },
    {
      "key": "selected",
      "value": "true"
    },
    {
      "key": "disabled",
      "value": "false"
    }
  ]
}

markers

Settings type: av_marker

Fields:

Field name Type Frontend setting Notes
export_format String (Multiple) markers.exportFormats Order is preserved in the frontend settings

Example:

{
  "type": "av_marker",
  "metadata": [
    {
      "key": "export_format",
      "value": "json"
    },
    {
      "key": "export_format",
      "value": "xml"
    },
    {
      "key": "export_format",
      "value": "my_custom_format"
    }
  ]
}

markers.markerMetadataSettings

Each setting of this type describe one object in the collection markers.markerMetadataSettings.

Settings type: av_marker_metadata_setting

Fields:

Field name Type Frontend setting Notes
sequence_id Integer markers.markerMetadataSettings[X] The position of the object in the collection
match Code markers.markerMetadataSettings.match Must be valid javascript code in string format
mapping_name String markers.markerMetadataSettings.name
mapping_description String markers.markerMetadataSettings.description
mapping_trackId String markers.markerMetadataSettings.trackId
mapping_X String (Multiple) markers.markerMetadataSettings.X

Example:

{
  "type": "av_marker_metadata_setting",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "match",
      "value": "() => true"
    },
    {
      "key": "mapping_name",
      "value": "name"
    },
    {
      "key": "mapping_description",
      "value": "description"
    },
    {
      "key": "mapping_trackId",
      "value": "trackId"
    },
    {
      "key": "mapping_test",
      "value": "xyz"
    }
  ]
}

markers.tracksMetadataSettings

Each setting of this type describe one object in the collection markers.tracksMetadataSettings.

Settings type: av_marker_track_metadata_setting

Fields:

Field name Type Frontend setting Notes
sequence_id Integer markers.tracksMetadataSettings[X] The position of the object in the collection
match Code markers.tracksMetadataSettings.match Must be valid javascript code in string format
mapping_name String markers.tracksMetadataSettings.name
mapping_description String markers.tracksMetadataSettings.description
mapping_X String (Multiple) markers.tracksMetadataSettings.X

Example:

{
  "type": "av_marker_track_metadata_setting",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "match",
      "value": "() => true"
    },
    {
      "key": "mapping_name",
      "value": "name"
    },
    {
      "key": "mapping_description",
      "value": "description"
    },
    {
      "key": "mapping_test",
      "value": "xyz"
    }
  ]
}

markers.groups

Each setting of this type describe one object in the collection markers.groups.

Settings type: av_marker_group

Fields:

Field name Type Frontend setting Notes
sequence_id Integer markers.groups[X] The position of the object in the collection
match Code markers.groups.match Must be valid javascript code in string format
always_hide Code markers.groups.alwaysHide Must be valid javascript code in string format
always_show Code markers.groups.alwaysShow Must be valid javascript code in string format
allow_create_track Code markers.groups.allowCreateTrack Must be valid javascript code in string format
title Code markers.groups.title Must be valid javascript code in string format
marker_style Code markers.groups.markerStyle Must be valid javascript code in string format
order Code markers.groups.order Must be valid javascript code in string format
read_only Code markers.groups.readOnly Must be valid javascript code in string format
id Code markers.groups.id Must be valid javascript code in string format
metadata Code markers.groups.metadata Must be valid javascript code in string format
max_rows_before_collapsed Code markers.groups.maxRowsBeforeCollapsed Must be valid javascript code in string format
track_type String markers.groups.trackType

Example:

{
  "type": "av_marker_group",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "match",
      "value": "() => true"
    },
    {
      "key": "title",
      "value": "(metadata) => metadata.title"
    }
  ]
}

markers.groups.rows

Each setting of this type describe one object in the collection markers.groups.rows. The row will refer to the sequence id of the group it belongs to with the metadata field group_sequence_id

Settings type: av_marker_group_row

Fields:

Field name Type Frontend setting Notes
group_sequence_id Integer markers.groups[X] The identifier of the markers.groups object this row belongs to
sequence_id Integer markers.groups.rows[X] The position of the object in the collection
match Code markers.groups.rows.match Must be valid javascript code in string format
always_hide Code markers.groups.rows.alwaysHide Must be valid javascript code in string format
always_show Code markers.groups.rows.alwaysShow Must be valid javascript code in string format
allow_create_track Code markers.groups.rows.allowCreateTrack Must be valid javascript code in string format
title Code markers.groups.rows.title Must be valid javascript code in string format
marker_style Code markers.groups.rows.markerStyle Must be valid javascript code in string format
order Code markers.groups.rows.order Must be valid javascript code in string format
read_only Code markers.groups.rows.readOnly Must be valid javascript code in string format
track Code markers.groups.rows.track Must be valid javascript code in string format
tooltip Code markers.groups.rows.tooltip Must be valid javascript code in string format
allow_delete_track Code markers.groups.rows.allowDeleteTrack Must be valid javascript code in string format
allow_edit_track Code markers.groups.rows.allowEditTrack Must be valid javascript code in string format
max_collisions_before_collapsed Code markers.groups.rows.maxCollisionsBeforeCollapsed Must be valid javascript code in string format
tag Code markers.groups.rows.tag Must be valid javascript code in string format
names Code markers.groups.rows.names Must be valid javascript code in string format
marker_type String markers.groups.rows.markerType

Example:

{
  "type": "av_marker_group_row",
  "metadata": [
    {
      "key": "group_sequence_id",
      "value": "1"
    },
    {
      "key": "sequence_id",
      "value": "11"
    },
    {
      "key": "match",
      "value": "() => true"
    },
    {
      "key": "title",
      "value": "(metadata) => metadata.title"
    }
  ]
}

metadataFields

Each setting of this type describe one object in the collection metadataFields.

Settings type: av_metadata_field

Fields:

Field name Type Frontend setting Notes
sequence_id Integer metadataFields[X] The position of the object in the collection
av_metadata_field_id String metadataFields.id The backend entity id is used if not set
av_metadata_field_key_identifier String metadataFields.key
av_metadata_field_label String metadataFields.label
av_metadata_field_description String metadataFields.description
av_metadata_field_source String metadataFields.source
av_metadata_field_display_type String metadataFields.displayType
av_metadata_field_stored_type String metadataFields.storedType
av_metadata_field_update_date String metadataFields.updateDate The backend entity update date is used if not set

Example:

{
  "type": "av_metadata_field",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "av_metadata_field_id",
      "value": "importantTimeId"
    },
    {
      "key": "av_metadata_field_key_identifier",
      "value": "av:important:time"
    },
    {
      "key": "av_metadata_field_label",
      "value": "Important time code"
    },
    {
      "key": "av_metadata_field_description",
      "value": "The important time code"
    },
    {
      "key": "av_metadata_field_source",
      "value": "assetMetadata"
    },
    {
      "key": "av_metadata_field_display_type",
      "value": "smpte"
    },
    {
      "key": "av_metadata_field_stored_type",
      "value": "timebase"
    },
    {
      "key": "av_metadata_field_update_date",
      "value": "2020-10-10T15:00:00Z"
    }
  ]
}

metadataFields.expectedMetadata

Each setting of this type describe one object in the collection metadataFields.expectedMetadata. The expected metadata object will refer to the sequence id of the metadata field it belongs to with the metadata field av_metadata_field_sequence_id

Settings type: av_metadata_field_expected_metadata

Fields:

Field name Type Frontend setting Notes
av_metadata_field_sequence_id Integer metadataFields[X] The identifier of the metadataFields object this expected metadata belongs to
sequence_id Integer metadataFields.expectedMetadata[X] The position of the object in the collection
av_metadata_field_expected_metadata_id String metadataFields.expectedMetadata.id
av_metadata_field_expected_metadata_key_identifier String metadataFields.expectedMetadata.key
av_metadata_field_expected_metadata_source String metadataFields.expectedMetadata.source
av_metadata_field_expected_metadata_comparison_source String metadataFields.expectedMetadata.comparison.source
av_metadata_field_expected_metadata_comparison_key_identifier String metadataFields.expectedMetadata.comparison.key

Example:

{
  "type": "av_metadata_field",
  "metadata": [
    {
      "key": "av_metadata_field_sequence_id",
      "value": "1"
    },
    {
      "key":  "sequence_id",
      "value":  "11"
    },
    {
      "key":  "av_metadata_field_expected_metadata_id",
      "value":  "expectedMetadataId"
    },
    {
      "key":  "av_metadata_field_expected_metadata_key_identifier",
      "value":  "expectedMetadataKey"
    },
    {
      "key":  "av_metadata_field_expected_metadata_source",
      "value":  "assetMetadata"
    },
    {
      "key":  "av_metadata_field_expected_metadata_comparison_source",
      "value":  "assetMetadata"
    },
    {
      "key":  "av_metadata_field_expected_metadata_comparison_key_identifier",
      "value":  "comparisonKey"
    }
  ]
}

metadataViews

Each setting of this type describe one object in the collection metadataViews.

Settings type: av_metadata_view

Fields:

Field name Type Frontend setting Notes
sequence_id Integer metadataViews[X] The position of the object in the collection
av_metadata_view_id String metadataViews.id The backend entity id is used if not set
av_metadata_view_active String metadataViews.active
av_metadata_view_name String metadataViews.name
av_metadata_view_description String metadataViews.description
av_metadata_view_update_date String metadataViews.updateDate The backend entity update date is used if not set

Example:

{
  "type": "av_metadata_view",
  "metadata": [
    {
      "key": "sequence_id",
      "value": "1"
    },
    {
      "key": "av_metadata_view_id",
      "value": "someId"
    },
    {
      "key": "av_metadata_view_active",
      "value": "true"
    },
    {
      "key": "av_metadata_view_name",
      "value": "Metadata view name"
    },
    {
      "key": "av_metadata_view_description",
      "value": "Description of the metadata view"
    },
    {
      "key": "av_metadata_view_update_date",
      "value": "2020-10-10T15:00:00Z"
    }
  ]
}

metadataViews.fields

Each setting of this type describe one object in the collection metadataViews.fields. The fields object will refer to the sequence id of the metadata view it belongs to with the metadata field av_metadata_view_sequence_id

Settings type: av_metadata_view_field

Fields:

Field name Type Frontend setting Notes
av_metadata_view_sequence_id Integer metadataViews[X] The identifier of the metadataViews object this field belongs to
sequence_id Integer metadataViews.fields[X] The position of the object in the collection
av_metadata_view_field_metadata_field_id String metadataViews.fields.metadataFieldId
av_metadata_view_field_label String metadataViews.fields.label
av_metadata_view_field_expected_metadata_field_id String metadataViews.fields.expectedMetadataFieldId
av_metadata_view_field_order Integer metadataViews.fields.order

Example:

{
  "type": "av_metadata_view_field",
  "metadata": [
    {
      "key": "av_metadata_view_sequence_id",
      "value": "1"
    },
    {
      "key":  "sequence_id",
      "value":  "11"
    },
    {
      "key":  "av_metadata_view_field_metadata_field_id",
      "value":  "metadataFieldId"
    },
    {
      "key":  "av_metadata_view_field_label",
      "value":  "Custom label"
    },
    {
      "key":  "av_metadata_view_field_expected_metadata_field_id",
      "value":  "expectedMetadataFieldId"
    },
    {
      "key":  "av_metadata_view_field_order",
      "value":  "1"
    }
  ]
}
Accurate Video Settings API