Hedge
  • Welcome 👋
  • Arctic
    • Requirements
    • Upgrades
    • Releases
    • Questions
    • Need help?
  • Canister
    • Installation
      • macOS
      • Windows
    • Tape Media
    • Features
      • Formatting
      • Archiving
      • Spanning
      • Retrieving
      • Queuing
      • Catalogs
      • Tape Library Manager
      • Connect
      • Logs & Manifests
    • Licensing
    • Firmware
    • Releases
    • Requirements
    • Troubleshooting
    • Questions
    • Beta Track
    • Need help?
  • Connect
  • EditReady
    • Installing
    • Supported Formats
    • Getting Started
    • Previewing Files
    • Metadata
    • Converting Media
      • Additional Features
      • Custom Presets
      • Trimming Clips
      • Joining Files
      • Naming Your Files
      • Rewrapping
    • Connect
    • Settings
      • General
      • Advanced
    • Automation
    • Upgrades
    • Requirements
    • Releases
    • Questions
      • How can EditReady prep my source media for immediate use in Media Composer?
    • Need help?
  • EditReady Server
    • Releases
  • FoolCat
    • Overview
    • Color Conversion
    • Supported Formats
    • Automation
    • Offload Report Creator
    • Questions
    • Requirements
    • Releases
  • Hedge
    • Releases
    • Moving From Hedge to OffShoot
  • Mimiq
    • Getting Started
    • Bin Locking
    • Workspaces
      • Installing macFUSE
    • Deployment Options
    • Media Composer & Mojave
    • Requirements
      • Avid's Requirements
    • Releases
    • Troubleshooting
    • Questions
    • Beta Track
    • Need help?
  • OffShoot
    • Overview
    • Features
      • Verification
      • Ingest Browser
      • Labels
      • Elements
      • Organization
      • Duplicate Detection
      • Queuing
      • Stop & Resume
      • Cascading Copies
      • S3 Transfers
        • Configuring Connections
      • Logging
      • Connect
      • Date & Time
      • Floating Licenses
      • Automation
        • Scripting
          • Event Log
          • Events
            • OffShoot Started
            • Disk Added
            • Disk Removed
            • Disk Busy
            • Disk Idle
            • Disks Idle
            • Transfers Added
            • File Copy Completed
            • Verification Issue
        • API
        • OffShoot Helper
          • Set Window Layout
        • Example Scripts
          • Transfer Reports
          • Move Transfer Logs
          • Move Foolcat PFD reports
          • Auto-set Destinations
          • Auto-set Preferences
          • Automated Transfers
          • Delete MHL files
          • Slack Notifications
          • Send Email Notifications
          • ZCAM video stitcher
          • Cascading copy
          • Watch Folder
          • Set Finder Tags
    • Integrations
      • Codex
      • EditReady
      • Finder & Explorer
      • FoolCat
      • Frame.io
      • iconik
      • ParaShoot
      • ProGrade
      • Scratch
    • Requirements
    • Releases
    • Questions
    • Need help?
    • Beta Track
    • Solo
  • PostLab
    • Getting Started
    • Supported Apps
    • Supported Storage
    • Features
      • Team Bundles
      • Collections
      • Versioning
    • Requirements
    • Releases
    • Troubleshooting
    • Questions
    • Need help?
    • Beta Track
  • ScopeBox
    • Installing
    • Application Overview
    • Sources
    • ScopeLink
      • Installation and Configuration
      • Troubleshooting
    • Palette Overview
    • Palette Types
      • Audio Meters
      • Channel Plot
      • CIE Plot
      • HML Balance
      • Luma and RGB TimeTrace
      • Luma Histogram
      • Preview
      • RGB Histogram
      • RGB Parade
      • Surround Meters
      • Timecode
      • Vectorscope
      • Waveform
      • YCbCr Parade
    • Stills and Targets
    • Layouts
    • Licensing
    • Upgrades
    • Releases
    • Questions
  • General
    • Downloads
    • Trials
    • Demo Mode
    • Purchasing
      • Students and Non Profits
      • Quotes, POs, and Invoices
      • Refunds
      • Professional Services
    • Licenses
      • The License Manager
      • License Types
      • Local License Server
      • Activating
      • Deactivating
      • Extending
      • Merging
      • OS Updates
      • Licensee Changes
      • VMs & Hypervisors
      • Root Certificates
      • Network Adapters
      • Network Requirements
      • Questions
    • Hedge Funds
    • Certifications
    • Policies
      • Sharing Files
    • Company Details
      • Terms & Conditions
      • Privacy Policy
      • EULA
    • Press
  • Need help?
Powered by GitBook
On this page
  • OffShoot API calls
  • Open
  • Quit
  • Restart
  • Check for updates
  • Activate
  • Deactivate
  • Chain Actions
  • Reset Disks
  • Set Source
  • Set Destination
  • Add transfers
  • Set Preferences
Export as PDF
  1. OffShoot
  2. Features
  3. Automation

API

Automate transfers, remotely set settings, and control licenses.

Last updated 5 months ago

This feature requires an OffShoot Pro license. Upgrade via the , or via OffShoot > Settings > License. Check out all Pro features .

You can tell OffShoot to do something by calling this URL – offshoot://. You can call this from any app or script that can open an URL.

Using Hedge? Then use hedge:// instead of offshoot://

Using a browser

Copy/paste the URL below in a web browser, press Enter, and OffShoot will open.

offshoot://open

Using a shell

Copy/paste the command below in a shell, press Enter, and OffShoot will open.

Using Terminal

open 'offshoot://open'

Using PowerShell

start 'offshoot://open'

Using a script

AppleScript:

do shell script ("open 'offshoot://open'")

Python:

import os
os.system("open 'offshoot://open'")

Python

import os
os.system("start 'offshoot://open'")

The result of an API call is logged in a text file.

Location: ~/Library/Logs/Hedge/urlSchemeResponseLog.txt

This log will contain a single line with either a success or fail state. It's empty when OffShoot starts, then emptied after each call.

Location: C:\Users\$username\AppData\Roaming\Hedge\HedgeCallback.log

This is a multi-line log. It's emptied on app start and after each call.

$time | $id | $arguments_passed

$time | $id | $call_result

OffShoot API calls

Control OffShoot's application state.

Open

offshoot://open

Quit

offshoot://quit

Restart

offshoot://restart

Check for updates

offshoot://update

Activate

offshoot://activate?key=xxxx-xxxx-xxxx-xxxx
URL Parameter
Type
Description

key

String

Required

Deactivate

offshoot://deactivate

Chain Actions

The actions call allows you to pass multiple API calls in a single request:

offshoot://actions?json=[{"<action>":{"<property>": "<value>"},},{"<action>":{"<property>": "<value>"}}]
URL Parameter
Type
Description

json

Array containing JSON object(s)

Required

<action>

String

An API action

<property>

String

An action property

<value>

Various

The value of the property

offshoot://deactivate
offshoot://activate?key=xxxx-xxxx-xxxx-xxxx
offshoot://actions?json=[{"deactivate":{}},{"activate":{"key":"xxxx-xxxx-xxxx-xxxx"}}]

API Call not working? URL encode the JSON string.

Actions without properties are passed as {}.

Chained Actions can create timing issues. Keep this in mind when debugging. If you run into timing issues, cut up your chained action into multiple calls and proceed based on timers/OffShoot Events or logging output.

Reset Disks

Removes disks from Sources and/or Destinations dropzones. Existing transfers are not affected. If type is not defined, both Sources and Destinations are reset.

offshoot://reset?type=sources
URL Parameter
Type
Description

type

Sting

Optional (sources or destinations).

Set Source

Sets a single Source or a collection of paths and applies a Label when defined.

offshoot://setSource?paths=["/Volumes/UNTITLED"]&label=Clips
URL Parameter
Type
Description

paths

Array

Required

label

String

Optional

Terminal examples:

open 'offshoot://actions?json=[{"setSource":{"paths":["/Volumes/Untitled/The Clips"],"label":"test"}}]'

Call with URL encoded json= value

open 'offshoot://actions?json=%5B%7B%22setSource%22%3A%7B%22paths%22%3A%5B%22%2FVolumes%2FUntitled%2FThe%20Clips%22%5D%2C%22label%22%3A%22test%22%7D%7D%5D

PowerShell examples:

Call with escaped quotes

start 'offshoot://actions?json=[{\"setSource\":{\"paths\":[\"G:\The Clips\"],\"label\":\"test\"}}]'

Call with URL encoded json= value (don't escape quotes)

start 'offshoot://actions?json=[{"setSource":{"paths":["G:\The Clips"],"label":"test"}}]'
start 'offshoot://actions?json=%5B%7B%22setSource%22%3A%7B%22paths%22%3A%5B%22G%3A%5CThe%20Clips%22%5D%2C%22label%22%3A%22test%22%7D%7D%5D'

Set Destination

Sets a single Destination

offshoot://setDestination?path=/Volumes/BACKUP
URL Parameter
Type
Description

path

Array

Required / URL encoded

Terminal examples:

open 'offshoot://actions?json=[{"setDestination":{"path":"/Volumes/Untitled/The Project"}}]'

Call with URL encoded json= value

open 'offshoot://actions?json=%5B%7B%22setDestination%22%3A%7B%22path%22%3A%22%2FVolumes%2FUntitled%2FThe%20Project%22%7D%7D%5D'

PowerShell examples:

start "offshoot://setDestination?path=SSD"
start "offshoot://setDestination?path=H:\"

Call with escaped quotes

start 'offshoot://actions?json=[{\"setDestination\":{\"path\":\"G:\The Clips\"}}]'

Call with URL encoded json= value (don't escape quotes)

start 'offshoot://actions?json=[{"setSource":{"paths":["G:\The Clips"],"label":"test"}}]'
start 'offshoot://actions?json=%5B%7B%22setSource%22%3A%7B%22paths%22%3A%5B%22G%3A%5CThe%20Clips%22%5D%2C%22label%22%3A%22test%22%7D%7D%5D'

Add transfers

Creates transfers for all new combinations of Sources and Destinations. Identical to pressing the Add Transfers button in OffShoot.

offshoot://addTransfers

Set Preferences

Sets a specific preference to a specific value. A complete list of all key names is available here: /Applications/OffShoot.app/Contents/Resources/SFIDefaults.plist

Not sure which key name to use? Try changing the setting in OffShoot, then verifying the modified values in: ~/Library/Preferences/nl.syncfactory.Hedge.Mac.plist

offshoot://setPreferences?preferences={"SFIDefaultsAutoSources":"0"}
URL Parameter
Type
Description

preferences

JSON Object

Required

The SetPreferences action is for macOS only.

On Windows, you can set the corresponding keys and values in the Windows Registry under <current-user>\Software\Hedge.

License Manager
here