API Commands List

API Docs

circle-info

This page was generated from the output directly from Open Brush API server. It's not always totally up to date. When you're running Open Brush then use the live commands list you get from http://localhost:40074/help/commandsarrow-up-right as that will always be current.

circle-info

The "Try It" links assume that a version of Open Brush with API support is currently running on this computer. They won't work if Open Brush isn't running. You can run a monoscopic version if you don't have a VR headset attached.

To run commands just send a request to this url with http://localhost:40074/api/v1?arrow-up-right

Commands are query string parameters. Like this: command.name=parameters

Separate multiple commands with: &

Example: http://localhost:40074/api/v1?brush.turn.y=45&brush.draw=1arrow-up-right

If you want to send a lot of commands or especially long commands (complex paths etc) then you can just http POST instead of GET. The commands should be form-encoded in the body of the request (exactly as if you submitted a html form with the form name as the command name and the form value as the command parameters)

You can also send multiple requests although because of the nature of http, these can sometimes arrive in a different order to how yousent them. We will soon support websockets which should be a better way to send realtime streams of commands.

Command List

circle-info

Correct for beta version as of Oct 21 2025)

listenfor.strokes (string url) Try itarrow-up-right

Adds the url of an app that wants to receive the data for a stroke as each one is finished

showfolder.scripts Try itarrow-up-right

Opens the user's Scripts folder on the desktop

showfolder.exports Try itarrow-up-right

Opens the user's Exports folder on the desktop

spectator.move.to (Vector3 position) Try itarrow-up-right

Moves the spectator camera to the given position

spectator.move.by (Vector3 amount) Try itarrow-up-right

Moves the spectator camera by the given amount

user.move.to (Vector3 position) Try itarrow-up-right

Moves the user to the given position

user.move.by (Vector3 amount) Try itarrow-up-right

Moves the user by the given amount

spectator.turn.y (float angle) Try itarrow-up-right

Rotates the spectator camera left or right.

spectator.turn.x (float angle) Try itarrow-up-right

Rotates the spectator camera up or down.

spectator.turn.z (float angle) Try itarrow-up-right

Tilts the angle of the spectator camera clockwise or anticlockwise.

user.turn.y (float angle) Try itarrow-up-right

Rotates the user camera left or right.

user.turn.x (float angle) Try itarrow-up-right

Rotates the user camera up or down. (monoscopic mode only)

user.turn.z (float angle) Try itarrow-up-right

Tilts the angle of the user camera clockwise or anticlockwise. (monoscopic mode only)

scene.scale.to (float scale) Try itarrow-up-right

Sets the scene scale to the given value

scene.scale.by (float amount) Try itarrow-up-right

Scales the scene by the given amount

spectator.direction (Vector3 direction) Try itarrow-up-right

Points the spectator camera to look in the specified direction. Angles are given in x,y,z degrees

user.direction (Vector3 direction) Try itarrow-up-right

Points the user camera to look in the specified direction. Angles are given in x,y,z degrees. (Monoscopic mode only)

spectator.look.at (Vector3 position) Try itarrow-up-right

Points the spectator camera towards a specific point

user.look.at (Vector3 direction) Try itarrow-up-right

Points the user camera towards a specific point (In VR this only changes the y axis. In monoscopic mode it changes all 3 axes)

spectator.mode (string mode) Try itarrow-up-right

Sets the spectator camera mode to one of stationary, slowFollow, wobble, circular

spectator.hide (string thing) Try itarrow-up-right

Hides the chosen type of elements from the spectator camera (widgets, strokes, selection, headset, panels, ui

brush.move.to (Vector3 position) Try itarrow-up-right

Moves the brush to the given coordinates

brush.move.to.hand (string hand, Boolean alsoRotate) Try itarrow-up-right

Moves the brush to the given hand (l or r

brush.move.by (Vector3 offset) Try itarrow-up-right

Moves the brush by the given amount

brush.move (float distance) Try itarrow-up-right

Moves the brush forward by 'distance' without drawing a line

brush.draw (float distance) Try itarrow-up-right

Moves the brush forward by 'distance' and draws a line

brush.turn.y (float angle) Try itarrow-up-right

Changes the brush direction to the left or right. Angle is measured in degrees

brush.turn.x (float angle) Try itarrow-up-right

Changes the brush direction up or down. Angle is measured in degrees

brush.turn.z (float angle) Try itarrow-up-right

Rotates the brush clockwise or anticlockwise. Angle is measured in degrees

brush.look.at (Vector3 direction) Try itarrow-up-right

Changes the brush direction to look at the specified point

brush.look.forwards Try itarrow-up-right

Changes the brush direction to look forwards

brush.look.up Try itarrow-up-right

Changes the brush direction to look upwards

brush.look.down Try itarrow-up-right

Changes the brush direction to look downwards

brush.look.left Try itarrow-up-right

Changes the brush direction to look to the left

brush.look.right Try itarrow-up-right

Changes the brush direction to look to the right

brush.look.backwards Try itarrow-up-right

Changes the brush direction to look backwards

brush.home.reset Try itarrow-up-right

Resets the brush position and direction

brush.home.set Try itarrow-up-right

Sets the current brush position and direction as the new home. This persists in new sketches

brush.transform.push Try itarrow-up-right

Stores the current brush position and direction on to a stack

brush.transform.pop Try itarrow-up-right

Pops the most recent current brush position and direction from the stack

debug.brush Try itarrow-up-right

Logs some info about the brush

text.add (string text) Try itarrow-up-right

Adds a text widget to the sketch

video.import (string location) Try itarrow-up-right

Imports a video given a url or a filename in Media Library\Videos

skybox.import (string location) Try itarrow-up-right

Sets the skybox from either a url or a filename in Media Library\BackgroundImages (Images loaded from a url are saved locally first)

image.import (string location) Try itarrow-up-right

Imports an image given a url or a filename in Media Library\Images (Images loaded from a url are saved locally first)

environment.type (string name) Try itarrow-up-right

Sets the current environment

panel.open (string name, float x, float y, float z) Try itarrow-up-right

Opens a given panel at the given position

panel.close (string name) Try itarrow-up-right

Closes a given panel

panel.position (string name, Vector3 position) Try itarrow-up-right

Sets position of a given panel

panel.rotation (string name, Vector3 rotation) Try itarrow-up-right

Sets rotation of a given panel

strokes.debug Try itarrow-up-right

Logs some debug info about the strokes

panel.attach (string name) Try itarrow-up-right

Attaches the given panel to the user's wand

panel.detach (string name, Vector3 position) Try itarrow-up-right

Detaches the given panel from the user's wand

layer.add Try itarrow-up-right

Adds a new layer

layer.clear (int layer) Try itarrow-up-right

Clears the contents of a layer

debug.ram (Boolean active) Try itarrow-up-right

Enable/Disable logging of RAM usage to the in-app console (Android only)

layer.delete (int layer) Try itarrow-up-right

Deletes a layer

layer.squash (int squashedLayer, int destinationLayer) Try itarrow-up-right

Move everything from one layer to another then removes the empty layer

layer.activate (int layer) Try itarrow-up-right

Make a layer the active layer

layer.show (int layer) Try itarrow-up-right

Make a layer visible

layer.hide (int layer) Try itarrow-up-right

Hide a layer

layer.toggle (int layer) Try itarrow-up-right

Toggles a layer between visible and hidden

model.select (int index) Try itarrow-up-right

Selects a 3d model by index.

model.position (int index, Vector3 position) Try itarrow-up-right

Move a 3d model to the given coordinates

model.rotation (int index, Vector3 rotation) Try itarrow-up-right

Set a model's rotation to the given angles

model.scale (int index, float scale) Try itarrow-up-right

Set a model's scale to the amount

symmetry.position (Vector3 position) Try itarrow-up-right

Move the symmetry widget to the given coordinates

symmetry.set.rotation (Vector3 rotation) Try itarrow-up-right

Sets the symmetry widget rotation

symmetry.set.transform (Vector3 position, Vector3 rotation) Try itarrow-up-right

Sets the position and rotation of the symmetry widget

brush.force.painting.on (Boolean active) Try itarrow-up-right

Turns on or off an override that paints even if the trigger is not pressed.

brush.force.painting.off (Boolean active) Try itarrow-up-right

Turns on or off an override that stops the user painting even if the trigger is pressed.

brush.new.stroke Try itarrow-up-right

Ends the current stroke and starts a new one next frame

image.select (int index) Try itarrow-up-right

Selects an image by index.

image.delete (int index) Try itarrow-up-right

Deletes an image by index.

video.delete (int index) Try itarrow-up-right

Deletes a video by index.

model.delete (int index) Try itarrow-up-right

Deletes a 3d model by index.

guide.delete (int index) Try itarrow-up-right

Deletes a guide by index.

image.position (int index, Vector3 position) Try itarrow-up-right

Move an image to the given coordinates

image.rotation (int index, Vector3 rotation) Try itarrow-up-right

Set a images rotation to the given angles

image.scale (int index, float scale) Try itarrow-up-right

Set a images scale to the amount

light.position (int index, Vector3 position) Try itarrow-up-right

Move a light to the given coordinates

light.rotation (int index, Vector3 rotation) Try itarrow-up-right

Set a light's rotation to the given angles

image.formEncode (int index) Try itarrow-up-right

Converts an image to a string suitable for use in a form

image.base64Decode (string base64, string filename) Try itarrow-up-right

Saves an image based on a base64 encoded string

scripts.initPluginScripting Try itarrow-up-right

Call this before using any HTTP endpoint that accesses plugins (including html pages that list plugins)

scripts.toolscript.activate (string scriptName) Try itarrow-up-right

Activate the given tool script

scripts.toolscript.deactivate Try itarrow-up-right

Dectivate the tool script

scripts.symmetryscript.activate (string scriptName) Try itarrow-up-right

Activate the given symmetry script

scripts.symmetryscript.deactivate Try itarrow-up-right

Dectivate the symmetry script

scripts.pointerscript.activate (string scriptName) Try itarrow-up-right

Activate the given pointer script

scripts.pointerscript.deactivate Try itarrow-up-right

Dectivate the pointer script

scripts.backgroundscript.activate (string scriptName) Try itarrow-up-right

Activate the given background script

scripts.backgroundscript.deactivate (string scriptName) Try itarrow-up-right

Dectivate the given background script

scripts.backgroundscript.activateall Try itarrow-up-right

Dectivate all background scripts

scripts.backgroundscript.deactivateall Try itarrow-up-right

Dectivate all background scripts

guide.add (string type) Try itarrow-up-right

Adds a guide to the scene (cube, sphere, capsule, cone, ellipsoid)

guide.select (int index) Try itarrow-up-right

Selects a guide by index.

guide.position (int index, Vector3 position) Try itarrow-up-right

Move a guide to the given coordinates

guide.scale (int index, Vector3 scale) Try itarrow-up-right

Sets the (non-uniform) scale of a guide

draw.paths (string jsonString) Try itarrow-up-right

Draws a series of paths at the current brush position [[[x1,y1,z1],[x2,y2,z2], etc...]]. Does not move the brush position

brush.pathsmoothing (float amount) Try itarrow-up-right

Sets the amount of smoothing applied to brush paths at corners. Default is 0.10 turns off smoothing and you'll have to ensure you create enough points or else the path may end up smoothed to nothing.

draw.path (string jsonString) Try itarrow-up-right

Draws a path at the current brush position [x1,y1,z1],[x2,y2,z2], etc.... Does not move the brush position

draw.stroke (string jsonString) Try itarrow-up-right

Draws an exact brush stroke including orientation and pressure

draw.polygon (int sides, float radius, float angle) Try itarrow-up-right

Draws a polygon at the current brush position. Does not move the brush position

draw.text (string text) Try itarrow-up-right

Draws the characters supplied at the current brush position

draw.opentypetext (string text, string fontPath) Try itarrow-up-right

Same as draw text but uses an opentype font (the font should be in a Fonts folder in your Open Brush folder)

draw.svg (string svg) Try itarrow-up-right

Draws an entire SVG document

draw.svg.path (string svgPath) Try itarrow-up-right

Draws the path supplied as an SVG Path string at the current brush position

brush.type (string brushType) Try itarrow-up-right

Changes the brush. brushType can either be the brush name or it's guid. brushes are listed in the /help screen

color.add.hsv (Vector3 hsv) Try itarrow-up-right

Adds the supplied values to the current color. Values are hue, saturation and value

color.add.rgb (Vector3 rgb) Try itarrow-up-right

Adds the supplied values to the current color. Values are red green and blue

color.set.rgb (Vector3 rgb) Try itarrow-up-right

Sets the current color. Values are red, green and blue

color.set.hsv (Vector3 hsv) Try itarrow-up-right

Sets the current color. Values are hue, saturation and value

color.set.html (string color) Try itarrow-up-right

Sets the current color. colorString can either be a hex value or a css color name.

brush.size.set (float size) Try itarrow-up-right

Sets the current brush size

brush.size.add (float amount) Try itarrow-up-right

Changes the current brush size by the given amount

draw.camerapath (int index, float step) Try itarrow-up-right

Draws along a camera path with the current brush settings

model.webimport (string url) Try itarrow-up-right

Imports a model given a url or a filename in Media Library\Models (Models loaded from a url are saved locally first)

import.webmodel (string url) Try itarrow-up-right

Same as model.webimport (backwards compatibility for poly.pizza)

model.icosaimport (string modelId) Try itarrow-up-right

Imports a model from the Icosa Gallery given a model id

model.import (string location) Try itarrow-up-right

Imports a model given a filename in Media Library\Models (Models loaded from a url are saved locally first)

model.breakapart (int index) Try itarrow-up-right

Breaks apart a model

save.overwrite Try itarrow-up-right

Save the current scene overwriting the last save if it exists

save.as (string filename) Try itarrow-up-right

Saves the current scene under a new name. (No need to include the .tilt suffix)

save.new Try itarrow-up-right

Saves the current scene in a new slot

save.selected Try itarrow-up-right

Saves the current selected strokes in a new slot

icosa.devicelogin (string code) Try itarrow-up-right

Login to the Icosa Gallery using a device code

icosa.logout Try itarrow-up-right

Logout of the Icosa Gallery

icosa.upload Try itarrow-up-right

Uploads it to the Icosa Gallery

export.all Try itarrow-up-right

Exports all the scenes in the users's sketch folder

drafting.visible Try itarrow-up-right

Shows all strokes made with the drafting brush fully opaque

drafting.transparent Try itarrow-up-right

Shows all strokes made with the drafting brush semi-transparent

drafting.hidden Try itarrow-up-right

Hides all strokes made with the drafting brush

load.user (int slot) Try itarrow-up-right

Loads the sketch from the user's sketch folder given an index (0 being most recent)

load.featured (int slot) Try itarrow-up-right

Loads the sketch in the given slot number from the featured sketch list

load.liked (int slot) Try itarrow-up-right

Loads the sketch in the given slot number from the user's liked sketches

load.drive (int slot) Try itarrow-up-right

Loads the sketch in the given slot number from the user's Google Drive

load.named (string filename) Try itarrow-up-right

Loads the sketch with the given name from the user's sketch folder

merge.named (string filename) Try itarrow-up-right

Loads the sketch with the given name from the user's sketch folder

new Try itarrow-up-right

Clears the current sketch

symmetry.mirror Try itarrow-up-right

Sets the symmetry mode to 'mirror'

symmetry.multimirror Try itarrow-up-right

Sets the symmetry mode to 'multimirror'

twohandeded.toggle Try itarrow-up-right

Toggles painting with both hands at once

straightedge.toggle Try itarrow-up-right

Toggles the straight edge tool on or off

autoorient.toggle Try itarrow-up-right

Toggles autoorientate on or off

undo Try itarrow-up-right

Undoes the last action

redo Try itarrow-up-right

Redo the last action

panels.reset Try itarrow-up-right

Reset the position of all panels

sketch.origin Try itarrow-up-right

Enables the sketch origin tool

viewonly.toggle Try itarrow-up-right

Toggles 'view only' mode on or off

spectator.toggle Try itarrow-up-right

Toggles the spectator camera

spectator.on Try itarrow-up-right

Turns the spectator camera on

spectator.off Try itarrow-up-right

Turns the spectator camera off

autosimplify.toggle Try itarrow-up-right

Toggles 'auto-simplify' mode on or off

export.current Try itarrow-up-right

Exports the current sketch to the user's Exports folder

showfolder.sketch (int index) Try itarrow-up-right

Opens the user's Sketches folder on the desktop

guides.disable Try itarrow-up-right

Toggles guides on and off

disco Try itarrow-up-right

Starts a party

selection.duplicate Try itarrow-up-right

Create a duplicate of the current selection (uses symmetry mirrors if active

selection.delete Try itarrow-up-right

Deletes the current selection

selection.group Try itarrow-up-right

Groups (or ungroups) the current selection

export.selected Try itarrow-up-right

Exports the selected strokes to the user's Media Library

camerapath.render Try itarrow-up-right

Renders the current camera path to a video

profiling.toggle Try itarrow-up-right

Toggles profiling mode on or off

settings.toggle Try itarrow-up-right

Toggles the settings panel on or off

mirror.summon Try itarrow-up-right

Summons the mirror origin to the user's position

selection.invert Try itarrow-up-right

Inverts the current selection

select.all Try itarrow-up-right

Selects all strokes and widgets on the current layer

select.none Try itarrow-up-right

Deselects all strokes and widgets on the current layer

selection.flip Try itarrow-up-right

Mirrors the current selection

postprocessing.toggle Try itarrow-up-right

Toggles post-processing effects on or off

watermark.toggle Try itarrow-up-right

Toggles the watermark on or off

camerapath.togglevisuals Try itarrow-up-right

Toggles the camera path visuals on or off

camerapath.togglepreview Try itarrow-up-right

Toggles the camera path preview on or off

camerapath.delete Try itarrow-up-right

Deletes the current camera path

camerapath.record Try itarrow-up-right

Starts recording a camera path

camerapath.setactive (int index) Try itarrow-up-right

Sets the active camera path

stroke.delete (int index) Try itarrow-up-right

Delete a stroke by index

stroke.select (int index) Try itarrow-up-right

Select a stroke by index.

strokes.select (int from, int to) Try itarrow-up-right

Select multiple strokes by index.

selection.recolor (Boolean jitter) Try itarrow-up-right

Recolors the currently selected strokes

strokes.move.to (int start, int end, Vector3 position) Try itarrow-up-right

Moves several strokes to the given position

strokes.move.by (int start, int end, Vector3 translation) Try itarrow-up-right

Moves several strokes to the given coordinates

strokes.rotate.by (int start, int end, float angle) Try itarrow-up-right

Rotates multiple brushstrokes around the current brush position

strokes.scale.by (int start, int end, float scale) Try itarrow-up-right

Scales multiple brushstrokes around the current brush position

selection.rebrush (Boolean jitter) Try itarrow-up-right

Rebrushes the currently selected strokes

selection.resize (Boolean jitter) Try itarrow-up-right

Changes the brush size the currently selected strokes

selection.trim (int count) Try itarrow-up-right

Removes a number of points from the currently selected strokes

selection.points.perlin (string axis, Vector3 scale) Try itarrow-up-right

Moves the position of all control points in the selection using a noise function

stroke.points.quantize (Vector3 grid) Try itarrow-up-right

Snaps all the points in selected strokes to a grid (buggy)

stroke.join Try itarrow-up-right

Joins a stroke with the previous one

strokes.join (int from, int to) Try itarrow-up-right

Joins all strokes between the two indices (inclusive)

stroke.add (int index) Try itarrow-up-right

Adds a point at the current brush position to the specified stroke

symmetry.type (string type) Try itarrow-up-right

Sets the custom symmetry type (Currently either 'point' or 'wallpaper'

symmetry.pointfamily (string family) Try itarrow-up-right

Sets the custom point symmetry family (Any of Cn, Cnv, Cnh, Sn, Dn, Dnh, Dnd, T, Th, Td, O, Oh, I, Ih) Replace n with a number to also set the order.

symmetry.wallpapergroup (string group) Try itarrow-up-right

Sets the custom wallpaper symmetry group (Any of p1, pg, cm, pm, p6, p6m, p3, p3m1, p31m, p4, p4m, p4g, p2, pgg, pmg, pmm, cmm)

symmetry.pointorder (int order) Try itarrow-up-right

Sets the custom point symmetry order

symmetry.wallpaperrepeats (int x, int y) Try itarrow-up-right

Sets the custom wallpaper symmetry repeats

symmetry.wallpaperscale (float x, float y) Try itarrow-up-right

Sets the custom wallpaper symmetry scale

symmetry.wallpaperskew (float x, float y) Try itarrow-up-right

Sets the custom wallpaper symmetry skew

symmetry.colorshift.hue (string mode, float amplitude, float frequency) Try itarrow-up-right

Sets the custom wallpaper color shift hue (mode is one of SineWave, SquareWave, SawtoothWave, TriangleWave, Noise)

symmetry.colorshift.saturation (string mode, float amplitude, float frequency) Try itarrow-up-right

Sets the custom wallpaper color shift saturation (mode is one of SineWave, SquareWave, SawtoothWave, TriangleWave, Noise)

symmetry.colorshift.brightness (string mode, float amplitude, float frequency) Try itarrow-up-right

Sets the custom wallpaper color shift brightness (mode is one of SineWave, SquareWave, SawtoothWave, TriangleWave, Noise)

multiplayer.join (string nickname, string roomName, Boolean isPrivate, int maxPlayers, Boolean silentRoom, Boolean viewOnlyRoom) Try itarrow-up-right

Joins a multiplayer room

multiplayer.leave Try itarrow-up-right

Leaves a multiplayer room

tool.sketchsurface Try itarrow-up-right

Activates the SketchSurface

tool.selection Try itarrow-up-right

Activates the Selection Tool

tool.colorpicker Try itarrow-up-right

Activates the Color Picker

tool.brushpicker Try itarrow-up-right

Activates the Brush Picker

tool.brushandcolorpicker Try itarrow-up-right

Activates the Brush And Color Picker

tool.sketchorigin Try itarrow-up-right

Activates the SketchOrigin Tool

tool.autogif Try itarrow-up-right

Activates the AutoGif Tool

tool.canvas Try itarrow-up-right

Activates the Canvas Tool

tool.transform Try itarrow-up-right

Activates the Transform Tool

tool.stamp Try itarrow-up-right

Activates the Stamp Tool

tool.freepaint Try itarrow-up-right

Activates the FreePaint Tool

tool.eraser Try itarrow-up-right

Activates the Eraser Tool

tool.screenshot Try itarrow-up-right

Activates the Screenshot Tool

tool.dropper Try itarrow-up-right

Activates the Dropper Tool

tool.saveicon Try itarrow-up-right

Activates the SaveIcon Tool

tool.threedofviewing Try itarrow-up-right

Activates the ThreeDofViewing Tool

tool.multicam Try itarrow-up-right

Activates the MultiCam Tool

tool.teleport Try itarrow-up-right

Activates the Teleport Tool

tool.repaint Try itarrow-up-right

Activates the Repaint Tool

tool.recolor Try itarrow-up-right

Activates the Recolor Tool

tool.rebrush Try itarrow-up-right

Activates the Rebrush Tool

tool.pin Try itarrow-up-right

Activates the Pin Tool

tool.camerapath Try itarrow-up-right

Activates the CameraPath Tool

tool.fly Try itarrow-up-right

Activates the Fly Tool

snap.angle (string angle) Try itarrow-up-right

Sets the current snapping angle. Angle must be a supported value (15, 30, 45, 60, 75 or 90)

snap.grid (string size) Try itarrow-up-right

Sets the current snapping grid. Size must be a supported value (0.1, 0.25, 0.5 ,1, 2, 3, 5

selection.snap.angles Try itarrow-up-right

Applies the current snap angle to all selected objects

selection.snap.positions Try itarrow-up-right

Applies the current snap grid to all selected objects

selection.align (string axis, string alignBy) Try itarrow-up-right

Aligns all selected objects to the given axis using their minimum, center or maximum points

Last updated