Vidispine

Vidispine REST API
  • Introduction and data model
    • Entities in Vidispine
      • Item
      • Shape
      • Component
      • File and storage
      • Library
      • Collection
    • RESTful API
      • Some basics in the RESTful API
    • Common elements in the API
      • Identifiers
      • Boolean operators
      • Text/plain formatting
    • Time representation
      • Time bases
      • Time codes
      • Time intervals
      • Time durations
      • Time span
    • Constants
  • Items and Metadata
    • Imports
      • Importing items
      • Steps of import operation
      • Transcoding
      • Notifications
      • Adjusting import
    • Exports
      • Exporting items
      • Export locations
    • Item metadata
      • Fields
      • Field groups
      • Metadata schema
      • Hierarchical metadata
      • Versioning
      • Structure of metadata
      • Metadata defined by the systems
    • Searching for items (and collections)
      • Searching in Vidispine
      • Search history
      • Queries
      • Filters
      • Joins
      • Highlighting
      • Sorting
      • Faceting
      • Spell checking
      • Autocompletion
    • Metadata projections
      • Projections
      • XSLT 2.0
      • Job Information
      • Auto-projection rules
      • Auto-projection using JavaScript
      • Auto-projection using XSLT
    • Metadata migrations
      • Migration operations
      • Migration definition
    • Subtitles
      • Subtitle metadata fields and groups
      • Rendering subtitles in a sequence
      • TTML support
    • Examples
      • Creating fields/groups, modifying and moving metadata
      • Defining a metadata schema
  • Collections and Libraries
    • Collections
      • Creating collections
      • Searching for collections
      • Ordering collections
      • Collections as folders
      • Representative thumbnails
    • Libraries
      • Creating libraries
      • Automatic deletion
      • Self-refreshing libraries
      • Restricting access to items
      • Storage rules on libraries
  • Shapes, Components and Transcoding
    • Item shapes
      • Shapes
      • Essence versions
      • Transcoding
      • Thumbnailing
      • Analyzing media
    • Shape tags and presets
      • Transcode presets
      • Scripting transcode presets
      • Transcode preset elements
      • Custom settings
    • Common presets
      • H264
      • AVC-Intra
      • ProRes
      • XDCAM IMX-30/40/50
      • XDCAM HD422
      • DV
      • DNxHD
      • RED
  • Storages and Files
    • Storages
      • Storages
      • Storage methods
      • Files
      • Items and storages
      • File hashing
      • Throttling storage I/O
      • Throttling transfer to and from a storage
      • Temporary storages for transcoder output
      • Storage method URIs
    • Automatic import
      • Importing with a metadata file of an external format
      • Title as metadata
      • Applying file name filters to auto import rules
      • Auto import of image sequences
    • Storage rules
      • Resolving storage rules
      • Examples
    • Filenames
      • Using a tree structure for files
      • Storage name rules
      • Naming files on storage
    • URI’s, URL’s, and Special Characters
      • File paths
      • API calls
  • Jobs and Task Definitions
    • Jobs
      • Creating jobs
      • Concurrency
      • Job problems
      • Job tasks
    • JavaScript tasks
      • The job object
      • Pausing job execution
      • Example: Update item metadata on import
      • Example: Update item metadata on import using XML
    • Task groups
      • Creating a task group
      • Task group criteria
      • Task group priority
      • Job problems
  • Notifications
    • Resources
    • Actions
    • Triggers
    • Job filtering
      • Job types
      • Job metadata
    • Filters
  • Resources
    • Transcoders
      • Adding a transcoder
      • Using multiple transcoders
      • How transcoders perform jobs
      • The transcoder’s configuration file
      • Operations overview
    • Transcoder discovery
      • Adding a transcoder directory
      • Supported URIs
    • External transcoders
      • How it works
      • Adding an external transcoder
      • Using an external transcoder
    • Thumbnail resources
      • Adding a thumbnail resource
      • Reading thumbnails
      • How thumbnails are saved on disk
    • Vidispine Server Agent
      • How to install VSA
      • Adding a share
  • Timelines and sequences
    • Projects and sequences
      • Item sequences
      • Projects and project versions
      • Project and sequence import and export
    • Sequences definitions
      • SequenceDocument
  • Users, Groups, and Access control
    • Example
    • Access control for items, libraries, collections
      • Overview
      • Access levels
      • Priority
      • Revoking access
      • Operation
    • Access control for metadata fields
      • Permission levels
    • User authentication
      • Run-As option
      • Apache Shiro Integration
    • LDAP
      • User authentication
      • User and group synchronization
      • Troubleshooting
  • Multi-site
    • Multi-site
      • Site names
      • Multi site setup
      • Site rules
      • Conflicts
  • Monitoring
    • StatsD
      • Filtering metrics
      • Tagged metrics
    • JMX
    • Metrics
      • Indexing
      • Job
      • Solr
      • Storage
      • Transfer
      • Service
      • Transcoder
  • Configuration and Integration
    • System configuration
      • Indexing configuration
      • Metrics configuration
      • FTP pool configuration
      • Database purging
      • Configuration properties
      • System properties
    • External identifiers
      • Priority
      • Example: The UUID namespace
    • License handling
      • How it works
      • Master-slave licensing
      • Slave management and monitoring
      • Redundancy and timeouts
    • Using JavaScript to extend operations
      • Common JavaScript functions
      • Debugging JavaScript
      • Interfacing with the JavaScript engine manually
      • Add generic JavaScript code
    • Archive Integration
      • Creating an archive storage
      • Amazon Glacier
      • Front Porch Diva Integration
    • S3 Event Notifications
      • Configure S3 notifications
      • Configure the storage
    • Signiant Integration
      • General system configuration
      • Storage configuration
    • Aspera Integration
      • Source storage configuration
      • Destination storage configuration
    • FileCatalyst Integration
      • Transfer type
      • Storage configuration
    • MXFserver Integration
      • Set up
      • Usage
    • EVS IP Director Integration
      • Example
    • StorNext Integration
      • Storage configuration
      • StorNext Metadata
    • Cerify integration
      • Installation
      • Usage
      • Output
    • FIMS implementation
      • Codecs and formats
  • Troubleshooting and obtaining information
    • Self test
      • Tests
      • Test results
      • Running the test
    • Error log report
      • Usage
      • Programmatically retrieving log files
  • Standalone Vidispine
    • Installing distribution-specific packages
      • Install the packages
      • Initialize the database
      • Start the services
      • Configure Vidispine
    • Quick setup
    • Service configuration
      • The vidispine service user
      • Service dependencies
      • Setting JVM options
    • Clustering
      • Quick cluster setup
    • Upgrading
      • Upgrading Vidispine
      • Upgrading from GlassFish
    • Server configuration
      • Environment variables
      • Additional settings
    • Package reference
      • Packages
      • Files
  • API Reference
    • Access controls
      • Managing access controls
      • Default access controls
      • Viewing applied access controls
    • Audit trails
      • Examining the log
    • Collections
      • Managing collections
      • Collection content
      • Collection metadata
      • Searching for collections
      • Ordering collections
      • Folder mapped collections
    • Configuration
      • Indexing settings
      • Metrics settings
      • Job pool configuration
      • FTP pool configuration
      • Configuration properties
    • Export locations
      • Managing export locations
      • Export location script
    • External identifiers
      • Managing external id namespaces
      • Managing external ids
    • Groups and roles
      • Managing groups
      • Group information
      • Group-to-group relations
      • Group-to-user relations
    • Imports
      • Importing an item
      • Placeholder imports
      • Importing sidecar files
    • Import settings
      • Managing import settings
    • Items
      • Exports
      • Items
      • Retrieving item information
      • Item locks
      • Item-to-item relations
      • Item sequences
      • Shapes
      • Shape analysis
      • Shape components
      • Thumbnails
      • Transcoding
      • Item conform
      • Timeline
    • JavaScript
      • Testing scripts
      • JavaScript sessions
    • Jobs
      • Managing jobs
      • Job problem conditions
      • Job states
      • Job types
      • Job metadata
    • Libraries
      • Managing libraries
      • Library settings
      • Library content
    • License
      • Version and license
      • Slave management and monitoring
    • Metadata
      • Auto-projection rules
      • Bulky metadata
      • Global metadata
      • Document metadata
      • Key-value metadata
      • Metadata
      • Re-indexing metadata
      • Metadata locks
      • Metadata fields
      • Metadata field access controls
      • Metadata field groups
      • Metadata migrations
      • Metadata projections
      • Metadata schema
      • TTML
    • Miscellaneous
      • Stitching images
      • Time zone
      • Troubleshooting
    • Notifications
      • Actions
      • Triggers
      • Notifications
    • Projects and versions
      • Projects
      • Project versions
      • Version definitions
      • Assets in project version definition
      • Inspecting project files
      • Importing projects and sequences
      • Exporting projects and sequences
    • Quota rules
      • Managing quota rules
    • Resources
      • Resource types
      • Resources
      • Resource status
    • Scheduling requests
      • States of scheduled requests
      • Managing scheduled requests
    • Search
      • Search items and collections
      • Search shapes
      • Search files
      • Autocompletion
      • Optimize index
    • Self tests
      • Running the test
    • Shape tags
      • Managing shape tags
      • Tags of a shape
      • Transcode preset scripts
    • Sites
      • Managing sites
    • Site rules
      • Managing site rules
    • Storages
      • Auto-import rules
      • Files
      • Storages
      • Storage groups
      • Storage name rules
      • Storage rules
    • Task definitions
      • Task definitions
      • Job graphs
    • Task groups
      • Task groups
      • Task group transcoders
      • Key-value metadata
    • Transfers
      • Overview
      • Managing transfers
    • Users
      • Managing users
      • User information
      • User credentials
      • Group-to-user relations
      • User/group visualization
    • Vidispine logs
      • Retrieving log files
    • XML Schema
      • xmlSchema.xsd
      • common.xsd
  • Release Notes
    • Prerequisites
      • Important notes
      • Limitations
    • Upgrade notes
      • General
      • Upgrading from 4.3 to 4.4
      • Upgrading from 4.2 to 4.3
      • Upgrading from 4.1 to 4.2
      • Upgrading from 4.0 to 4.1
    • 4.4
      • 4.4.1
      • 4.4
    • 4.3
      • 4.3.5
      • 4.3.4
      • 4.3.3
      • 4.3.2
      • 4.3.1
      • 4.3
    • 4.2
      • 4.2.12
      • 4.2.11
      • 4.2.10
      • 4.2.9
      • 4.2.8
      • 4.2.7
      • 4.2.6
      • 4.2.5
      • 4.2.4
      • 4.2.3
      • 4.2.2
      • 4.2.1
      • 4.2
 
Vidispine REST API
  • Docs »
  • API Reference »
  • Search

Search¶

  • Search items and collections
  • Search shapes
  • Search files
  • Autocompletion
  • Optimize index

Search items and collections¶

Items and collections be browsed and searched with a single request. This type of search essentially has the combined set of the functionality of item search and collection search.

Browse items and collections¶

GET /search¶

Browses items and collections.

Content Parameters:
 

See Retrieving item information

Matrix Parameters:
 
  • first – Integer, from resulting list of items, start return list from specified offset. Default is 1, start return list from beginning.
  • number – Integer, set a limit on maximum number of hits. Default 100.
Query Parameters:
 
  • count –
    • true (default) - Return hits in result.
    • false - Do not return hits in result, in order to produce results faster.
Produces:
  • application/xml, application/json – SearchResultDocument
Role:

_item_search

Role:

_collection_read

Search items and collections¶

PUT /search¶

Searches items and collections with a shared search query.

Note

This resource doesn’t support joint search, use PUT /item, PUT /search/shape or PUT /search/file for item, shape or file joint search respectively.

Content Parameters:
 

See Retrieving item information

Matrix Parameters:
 
  • first – Integer, from resulting list of items, start return list from specified offset. Default is 1, start return list from beginning.
  • number – Integer, set a limit on maximum number of hits. Default 100.
Query Parameters:
 
  • count –
    • true (default) - Return hits in result.
    • false - Do not return hits in result, in order to produce results faster.
Accepts:
  • application/xml, application/json – ItemSearchDocument
Produces:
  • application/xml, application/json – SearchResultDocument
Role:

_item_search

Role:

_collection_read

Example¶

PUT /search?content=metadata&field=title
Content-Type: application/xml

<ItemSearchDocument xmlns="http://xml.vidispine.com/schema/vidispine">
    <field>
        <name>title</name>
        <value>Something</value>
    </field>
</ItemSearchDocument>
<SearchResultDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <hits>3</hits>
  <entry start="-INF" end="+INF" type="Item" id="DE-42">
    <item id="DE-42" start="-INF" end="+INF">
      <metadata>
        <revision>DE-278,DE-276,DE-277</revision>
        <timespan start="-INF" end="+INF">
          <field uuid="e527b7f3-1bfa-4067-8dde-753368c09617" user="admin" timestamp="2012-03-23T10:10:42.845+01:00" change="DE-278">
            <name>title</name>
            <value uuid="38609429-67d1-4357-980c-64e7559768ff" user="admin" timestamp="2012-03-23T10:10:42.845+01:00" change="DE-278">Something</value>
          </field>
        </timespan>
      </metadata>
    </item>
    <timespan start="-INF" end="+INF"/>
  </entry>
  <entry start="-INF" end="+INF" type="Collection" id="DE-13">
    <collection>
      <id>DE-13</id>
      <metadata>
        <revision>DE-273,DE-279</revision>
        <timespan start="-INF" end="+INF">
          <field uuid="c203856a-e8e3-4d50-8287-642821941791" user="admin" timestamp="2012-03-23T10:10:57.103+01:00" change="DE-279">
            <name>title</name>
            <value uuid="f80fb9a1-1eca-479a-8b1a-11d30f93fa5d" user="admin" timestamp="2012-03-23T10:10:57.103+01:00" change="DE-279">Something</value>
          </field>
        </timespan>
      </metadata>
    </collection>
    <timespan start="-INF" end="+INF"/>
  </entry>
  <entry start="-INF" end="+INF" type="Item" id="DE-37">
    <item id="DE-37" start="-INF" end="+INF">
      <metadata>
        <revision>DE-255,DE-280,DE-256</revision>
        <timespan start="-INF" end="+INF">
          <field uuid="f1ac0198-6b8f-43a0-9caa-e8c36e80eee8" user="admin" timestamp="2012-03-23T10:11:16.849+01:00" change="DE-280">
            <name>title</name>
            <value uuid="dcd6a3bb-bf70-4cb7-8d77-e2adfe1e3b1c" user="admin" timestamp="2012-03-23T10:11:16.849+01:00" change="DE-280">Something</value>
          </field>
        </timespan>
      </metadata>
    </item>
    <timespan start="-INF" end="+INF"/>
  </entry>
</SearchResultDocument>

Search shapes¶

New in version 4.2.2.

Search shapes¶

GET /search/shape¶
PUT /search/shape¶

Searches shapes. Using GET is identical as performing a search with an empty search document.

Query Parameters:
 
  • content – Comma-separated list of the types of content to retrieve, possible values are component, metadata, essenceVersion, tag, mimeType and *.
  • count –
    • true (default) - Return hits in result.
    • false - Do not return hits in result, in order to produce results faster.
Matrix Parameters:
 
  • first – Integer, from resulting list of items, start return list from specified offset. Default is 1, start return list from beginning.
  • number – Integer, set a limit on maximum number of hits. Default 100.
Accepts:
  • application/xml, application/json – ShapeSearchDocument
Produces:
  • application/xml, application/json – ShapeListDocument
Role:

_item_shape_read

Search files¶

New in version 4.2.2.

Search files¶

GET /search/file¶
PUT /search/file¶

Searches files. Using GET is identical as performing a search with an empty search document.

Note

This resource searches the same index and will produce the same results as GET /storage/(storage-id)/file. The only difference is the syntax, that is, the query/matrix parameters versus search documents. When using a search document it is also possible to perform joins.

Query Parameters:
 
  • methodType – Return URLs with a particular methodType. By default, return URLs with empty methodType. see Storage methods.
  • scheme – URI scheme to return.
  • count –
    • true (default) - Return hits in result.
    • false - Do not return hits in result, in order to produce results faster.
Matrix Parameters:
 
  • first – Integer, from resulting list of items, start return list from specified offset. Default is 1, start return list from beginning.
  • number – Integer, set a limit on maximum number of hits. Default 100.
Accepts:
  • application/xml, application/json – FileSearchDocument
Produces:
  • application/xml, application/json – FileListDocument
Role:

_file_read

Autocompletion¶

Autocomplete text¶

Text can be autocompleted against the search index.

PUT /search/autocomplete¶
Status Codes:
  • 400 Bad request – A parameter was invalid.
Accepts:
  • application/xml, application/json – AutocompleteRequestDocument
Produces:
  • application/xml, application/json – AutocompleteResponseDocument
Role:

_search

Example¶

Assuming the user intends to type “original duration”. The user first starts typing “original”:

PUT /search/autocomplete
Content-Type: application/xml

<AutocompleteRequestDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <text>orig</text>
  <maximumSuggestions>3</maximumSuggestions>
</AutocompleteRequestDocument
<AutocompleteResponseDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <suggestion>original</suggestion>
  <suggestion>origin</suggestion>
  <suggestion>originated</suggestion>
</AutocompleteResponseDocument>

Then the user continues to start typing “duration”:

<AutocompleteRequestDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <text>original dur</text>
  <maximumSuggestions>3</maximumSuggestions>
</AutocompleteRequestDocument>
<AutocompleteResponseDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <suggestion>original duration</suggestion>
</AutocompleteResponseDocument>

Auto-complete on one metadata field¶

New in version 4.1.

Since 4.1 auto-complete on one metadata field is supported. And in order to make the auto-complete case insensitive, the metadata field should be set as <index>extend</index>.

Example:¶

A metadata field foo_bar with config:

<MetadataFieldDocument xmlns="http://xml.vidispine.com/schema/vidispine">
         <type>string-exact</type>
         <index>extend</index>
</MetadataFieldDocument>

and this filed contains multiple values: “Animal”, “Sky”, “Animal and Sky”, “animal and sky”

An auto-complete request with user input “animal a”:

PUT /search/autocomplete
Content-Type: application/xml

<AutocompleteRequestDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <field>foo_bar</field>
  <text>animal a</text>
</AutocompleteRequestDocument>

will give result:

<AutocompleteResponseDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <suggestion>Animal and Sky</suggestion>
  <suggestion>animal and sky</suggestion>
</AutocompleteResponseDocument>

Optimize index¶

New in version 4.1.

If you wish to optimize the Solr index then we recommend that this is done via this API instead of sending an optimize request to Solr directly.

Note

Solr needs twice the disk space when optimizing the index. Make sure there’s enough free space on the drive hosting the Solr index before optimizing.

Note

Solr will reject updates while optimizing, meaning that new or updated item will not appear in the search results until the optimize operation has finished.

Optimize search index¶

POST /search/optimize¶
Query Parameters:
 
  • blocking –
    • true - The request will block until the Solr optimize request has finished.
    • false (default) - Optimize will be scheduled and the request will return immediately.
  • timeout – Integer, block for maximum number of specified milliseconds. Default is 0, which means block indefinitely.
Status Codes:
  • 200 OK – If the operation finished successfully. Only if blocking=true.
  • 202 Accepted – If the operation was accepted but not yet finished.
  • 500 Internal Server Error – If an error occurs.
Role:

_administrator

Next Previous

© Copyright 2014-2015, Vidispine AB.