API
Automate transfers, remotely set settings, and control licenses.
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://openUsing 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
Quit
Restart
Check for updates
Activate
key
String
Required
Deactivate
Chain Actions
The actions call allows you to pass multiple API calls in a single request:
Example
json
Array containing JSON object(s)
Required
<action>
String
An API action
<property>
String
An action property
<value>
Various
The value of the property
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.
type
Sting
Optional (sources or destinations).
Set Source
Sets a single Source or a collection of paths and applies a Label when defined.
paths
Array
Required
label
String
Optional
Terminal examples:
Call with URL encoded json= value
PowerShell examples:
Call with escaped quotes
Call with URL encoded json= value (don't escape quotes)
Set Destination
Sets a single Destination
path
Array
Required / URL encoded
Terminal examples:
Call with URL encoded json= value
PowerShell examples:
Call with escaped quotes
Call with URL encoded json= value (don't escape quotes)
Reload Presets
Reloads all presets. Call this after making changes to preset files.
Add transfers
Creates transfers for all new combinations of Sources and Destinations. Identical to pressing the Add Transfers button in OffShoot.
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
preferences
JSON Object
Required
Last updated