Jun 22, 2026
ActionStreamer
Event Presets: Trigger, Copy, and Schedule Camera Actions
Once you have devices online, event presets are the cleanest way to turn a one-off action into something reusable.
An event preset stores an action definition:
What the action does
Which device or device group it applies to
Which event type to run
Which parameters the action needs
That gives you three practical automation moves:
Trigger a preset now
Copy a preset to another device
Schedule a preset to run when a device starts up
If you are using the Python SDK, the wrapper handles request signing for you once you provide your access key and secret key. If you are calling the API directly, use the same HMAC SHA256 signing flow from the authentication post.
What You Need
An authenticated session or a signed API request
A device ID, or a device group ID if you want a shared preset
An event type that matches the action you want to run
The event parameters for that action
Start With One Preset
Use POST /v1/eventpreset to create the preset once.
Example request:
The important detail is that eventParameters is a JSON string, not a nested object. If it is empty, the API stores {}.
Use deviceID for a single camera. Use deviceGroupID when you want one preset definition to apply to a group.
Typical response fields include:
keyeventPresetNamedeviceIDdeviceGroupIDagentTypeIDeventTypeIDeventParametersprioritymaxAttemptsexpirationEpochcreationDatecreatedBy
Trigger The Preset Now
Use POST /v1/eventpreset/run/{eventPresetID} when you want to run the preset immediately.
Example request:
The data array is optional.
If you include it, you can override the target device list for that run.
If you omit it, the preset runs against the device or group already stored on the preset.
Typical response:
That EventID is the event created from the preset. You can use it with the normal event endpoints if you want to inspect status or progress later.
Copy The Preset To Another Device
Use POST /v1/eventpreset/{eventPresetID}/copy/{newDeviceID} when you want the same automation on another camera.
Example request:
This creates a new preset for the destination device with the same underlying configuration as the source preset.
That is useful when you have one working preset and want to roll it out to another camera without rebuilding the whole definition by hand.
The response is the copied preset object.
Schedule The Preset For Startup
Use the startup preset endpoints when you want a device to run the action automatically as part of startup.
The available routes are:
POST /v1/eventpreset/startupevent/online/{eventPresetID}POST /v1/eventpreset/startupevent/standalone/{eventPresetID}
Example request:
Use online for the normal connected-device flow and standalone for the standalone mode. For standalone mode, an event is sent to the device to store the startup parameters locally so it can run without a network connection.
Startup presets must target a single device. If you try to apply one to a group preset, the API rejects it.
The response includes an EventID:
For
online, the API returns0For
standalone, the API returns the event ID created to store the startup action
How The Pieces Fit Together
In practice, the workflow looks like this:
Create the preset once.
Copy it to another device if needed.
Run it immediately when you want the action now.
Attach it as a startup preset when you want the device to run it automatically later.
That gives you a clean pattern for reusable camera actions without rebuilding the request every time.
How The Python SDK Fits In
If you are using the Python SDK, you do not need to sign these requests by hand.
The SDK takes the access key and secret key in its config object, then handles signing in the wrapped calls. The preset workflow stays the same either way. The only difference is whether you build the request yourself or let the wrapper do it.
Common Mistakes
Using
eventParametersas a nested JSON object instead of a JSON stringForgetting to set
deviceIDordeviceGroupIDUsing the wrong
eventPresetIDwhen copying or running a presetTrying to attach a startup preset to a group preset
Assuming a copied preset changes the source preset
Why This Matters
Event presets are how you keep repeated camera actions consistent.
They let you:
Trigger the same action on demand
Reuse a working preset on another device
Store a startup action on the device
Keep automation logic in one place
[ Blog ]






