ABSOLUTE VALUE OF <expr> | Natural-language rounding functions | verb-reference |
ACCOUNT COMPARE <expr> [WITH <value>] | Constant-time string comparison — safe for comparing tokens and secrets | accounts-system |
ACCOUNT DELETE <expr> | Permanently delete a user account and all its sessions | accounts-system |
ACCOUNT LOGIN <expr> [WITH <value>] | Authenticate and place the account in the current session | accounts-system |
ACCOUNT REGISTER <expr> [WITH <value>] | UID (string, permanent) or null if the email is already registered | accounts-system |
ACCOUNT REVOKE <expr> | Invalidate all sessions for a user | accounts-system |
ACCOUNT UPDATE EMAIL <expr> [TO <new email>] | Change the email address on an account | accounts-system |
ACCOUNT UPDATE PASSWORD <expr> [WITH <value>] | Change the password on an account | accounts-system |
ACCOUNT VERIFY <expr> | Mark a user account as verified (e.g. after email confirmation) | accounts-system |
ADD <expr> [TO <number>] | Natural-language addition | verb-reference |
ADD ATTENDEE <expr> [TO <event>] | Used as: ADD ATTENDEE "carol@co.com" | calendar |
ANIMATE EMPHASIS <expr> [DELAY <t>] [DURATION <t>] | "pulse" , "spin" , "grow" , "shrink" , "shake" | presentations-animations |
ANIMATE ENTER <expr> [DELAY <t>] [DURATION <t>] | "fade-in" , "fly-in-left" , "fly-in-right" , "fly-in-top" , "fly-in-bottom" , "zoom-in" , "bounce-in" , "wipe-in" | presentations-animations |
ANIMATE EXIT <expr> [DELAY <t>] [DURATION <t>] | "fade-out" , "fly-out-left" , "fly-out-right" , "fly-out-top" , "fly-out-bottom" , "zoom-out" , "wipe-out" | presentations-animations |
APPEND <expr> [AS <value>] [TO <array or object>] | Add a property via APPEND form | verb-reference |
APPLICATE TYPE <expr> [TITLE <s>] [IDENTIFIER <s>] [TO <path>] [FROM <path>] [AT <path>] [SIGN WITH <key>] | Package OQL/HTML/JS/assets into native apps — Android, Windows, macOS, iOS, Linux | verb-reference |
ASSIGN MATERIAL <expr> [TO <object>] | Used as: AFTER ?win1 ASSIGN MATERIAL ?glassMat | rendering-visualization |
BIM <expr> [LEVEL <name>] [ELEVATION <mm>] [WALL FROM <x,y>] [DOOR IN <wall>] [WINDOW IN <wall>] [COLUMN AT <x,y>] [BEAM FROM <x,y>] [TO <x,y>] [AT <offset>] [SILL <mm>] [WIDTH <mm>] [HEIGHT <mm>] [THICKNESS <mm>] [TYPE <t>] [SCHEDULE <name>] [CATEGORY <c>] [LIST] [EXPORT AS <fmt>] | Bring in a building model | 3d-import-export |
BIM OPEN <expr> | >— BIM <expr> [LEVEL <name>] [ELEVATION <mm>] [WALL FROM <x,y>] [DOOR IN <wall>] [WINDOW IN <wall>] ... | verb-reference |
BLOCK <expr> [ADD <kind>] [VALUE <n>] [AT TIME <t>] [P <n>] [I <n>] [D <n>] [NUMERATOR <a>] [DENOMINATOR <a>] [GAIN <n>] [INPUTS <list>] [SIGNS <list>] [CONNECT <from>] [TO <to>] [SIMULATE] [DURATION <s>] [STEP <s>] [PLOT <block>] [STABILITY POLES] [SAVE INTO <path>] | r> — BLOCK <expr> [ADD <kind>] [VALUE <n>] [AT TIME <t>] [P <n>] [I <n>] ... | verb-reference |
BLOCK OPEN <expr> | r> — BLOCK <expr> [ADD <kind>] [VALUE <n>] [AT TIME <t>] [P <n>] [I <n>] ... | verb-reference |
BOOK SLOT <expr> [WITH NAME <s>] [AND EMAIL <s>] [IN CALENDAR <cal>] | BOOK SLOT converts a slot into a confirmed event. | calendar |
BREAK | Exit a LOOP/WHILE or SWITCH CASE early | verb-reference |
BRIDGE CLOSE <expr> | Explicitly close a room and its signaling state (id may be any expression) | audio-video-bridge-webrtc |
BROWSER <expr> | Start a headless browser automation session | verb-reference |
BROWSER OPEN <expr> | Start a headless browser automation session | verb-reference |
CACHE GET <expr> | Read a cached value, null if expired/missing | verb-reference |
CACHE REMOVE <expr> | Delete a cached value early | verb-reference |
CACHE STORE <expr> [AS <value>] [TTL <n>] [SECONDS] [MINUTES] [HOURS] [DAYS] | Store with an expiry | verb-reference |
CAD <expr> [EDGE AT <xyz>] [FACE AT <xyz>] [RECTANGLE FROM <xy>] [CIRCLE CENTER <xy>] [ARC CENTER <xy>] [TO <xy>] [RADIUS <n>] [START <deg>] [END <deg>] [MEASURE] | Bring in CAD geometry | 3d-import-export |
CAD BOOLEAN <expr> [WITH <solid>] | xpiry CAD <expr> [EDGE AT <xyz>] [FACE AT <xyz>] [RECTANGLE FROM <xy>] [CIRCLE CENTER <xy>] [ARC CENTER <xy>] ... | verb-reference |
CAD EXPORT <expr> [TO <path>] | Send CAD geometry out | 3d-import-export |
CAD EXTRUDE <expr> [HEIGHT <n>] | Used as: AFTER CAD EXTRUDE ?sketch HEIGHT 10 SET ?bracket | parametric-surface-modeling |
CAD FILLET [EDGES <list>] [RADIUS <n>] [ON <solid>] | Used as: AFTER CAD FILLET EDGES [?edge] RADIUS 3 ON ?housing SET ?housing | verb-reference |
CAD IMPORT <expr> | Bring in CAD geometry | 3d-import-export |
CAD INSERT COMPONENT <expr> [INTO <assembly>] [AS <name>] | Used as: AFTER CAD ?asm INSERT COMPONENT ?bracket AS "bracket" SET ?c1 | parametric-surface-modeling |
CAD INTERFERENCE CHECK <expr> | Used as: AFTER CAD ?asm INTERFERENCE CHECK SET ?clashes | parametric-surface-modeling |
CAD LOFT [PROFILES <list>] | Used as: CAD LOFT PROFILES ?sections SET ?skin | parametric-surface-modeling |
CAD MATE <expr> [FACE <n>] [COINCIDENT WITH <c>] [CONCENTRIC WITH <c>] [TO FACE <n>] [OFFSET <mm>] | Used as: AFTER CAD ?asm MATE ?c1 FACE ?f1 COINCIDENT WITH ?c2 FACE ?f2 | parametric-surface-modeling |
CAD MIRROR <expr> [PLANE <p>] | Used as: AFTER CAD MIRROR ?bracket PLANE ?midPlane SET ?mirrored | parametric-surface-modeling |
CAD OPTIMIZE TOPOLOGY [OF <femesh>] [KEEPING <fraction>] [ITERATIONS <n>] [FORCE <xyz>] [FIXED SUPPORT ON FACE <xyz>] [ON FACE <xyz>] [SMOOTHING <mm>] | generative-topology | verb-reference |
CAD PATTERN <expr> [DIRECTION <v>] [COUNT <n>] [SPACING <n>] | Used as: AFTER CAD PATTERN LINEAR ?holeSolid DIRECTION 1,0,0 COUNT 4 SPACING 20 SET ?bracket | parametric-surface-modeling |
CAD REVOLVE <expr> [AXIS <a>] [ANGLE <deg>] | NEW CAD SKETCH ON PLANE "XZ" SET ?profile AFTER CAD ?profile ARC CENTER 0,0 RADIUS 20 START 0 END 180 SET ?arc AFTER CAD REVOLVE ?profile AXIS ?arc ANGLE 360 SET ?sphere | parametric-surface-modeling |
CAD SHELL <expr> [THICKNESS <n>] [REMOVE FACES <list>] | Used as: CAD SHELL ?bracket THICKNESS 1 REMOVE FACES [?topFace] SET ?bracket | verb-reference |
CAD SIMULATE MOTION <expr> [DURATION <s>] [STEP <s>] [GRAVITY <mm/s2>] | NEW CAD LINK describes one and returns it as a value — nothing is created and no document is touched. | verb-reference |
CAD SWEEP <expr> [PATH <p>] [TWIST <deg>] | Used as: AFTER CAD SWEEP ?circle PATH ?helixPath TWIST 180 SET ?spring | parametric-surface-modeling |
CAD TESSELLATE <expr> [TOLERANCE <n>] | CAD TESSELLATE ?solid TOLERANCE 0.01 SET ?mesh AFTER SIM MESH ?solid ELEMENT SIZE 2 SET ?femesh | 3d-foundation |
CAD THICKEN <expr> [THICKNESS <mm>] | Used as: AFTER CAD THICKEN ?skin THICKNESS 2 SET ?shell | parametric-surface-modeling |
CALCULATE <expr> | Evaluate a math expression — +, -, *, /, parentheses, standard precedence | verb-reference |
CALL <expr> [ON <instance>] | Invoke an instance method — THIS bound inside | verb-reference |
CAST <expr> [AS <type>] [FROM <pattern>] | Type conversion between OQL values | verb-reference |
CATCH ERROR | Capture the error from a failed statement without stopping the chain | verb-reference |
CEILING OF <expr> | CEILING OF 3.1 SET ?ans AFTER EMIT ?ans (* Output: 4 *) | strings-math |
CHAT <expr> [APPEND MESSAGE <text>] [APPEND PEER] [LIST MESSAGES] [WITH FILES <array>] [WITH FILE <path>] [FROM <peer>] [SINCE <id>] [LIMIT <n>] | Append a message. Timestamp and id are set for you | chat-system |
CHAT LIST | Every room in the namespace | chat-system |
CHAT PEER LIST <expr> | Every peer id in a room, in seat order | chat-system |
CHECK AVAILABILITY [FROM <dt>] [TO <dt>] [FOR <n>] [UNIT] | Scheduling/booking | verb-reference |
CLOSE <expr> | The body is wrapped in OPEN and CLOSE . | verb-reference |
COLLAPSE <expr> | Convert a multivariable into an ordered array | verb-reference |
COMPUTE <expr> [OF <number>] [AND <second number>] | Named single-argument computations | verb-reference |
CONFIRM BOOLEAN [LABEL <text>] | A yes/no popup, returns true or false | gather-confirm |
CONSISTENT <expr> | Keep the tid in CONSISTENT or PERSISTENT and a later script can ask after the same transfer. | verb-reference |
CONTINUE | Skip to the next LOOP/WHILE iteration | verb-reference |
CONVERT <expr> [FROM <unit>] [TO <unit>] | Timezone conversion | verb-reference |
CONVERT AUDIO <expr> [TO <format>] | Convert audio format | verb-reference |
CONVERT DOCUMENT <expr> [TO <format>] | Convert document format | verb-reference |
CONVERT IMAGE <expr> [TO <format>] | Convert image format | verb-reference |
CONVERT TIMEZONE <expr> [TO <timezone>] | Timezone conversion | verb-reference |
CONVERT VIDEO <expr> [TO <format>] | Convert video format | verb-reference |
COOKIE GET <expr> | session-cookies | verb-reference |
COOKIE REMOVE <expr> [PATH <path>] | session-cookies | verb-reference |
COOKIE SET <expr> [AS <value>] [PATH <path>] [EXPIRES <n>] [DAYS] [DOMAIN <domain>] [SECURE] [HTTPONLY] | session-cookies | verb-reference |
COUNT <expr> | Count matching rows | verb-reference |
COUNT ROWS [FROM DB <name>] [TABLE <name>] [WHERE ...] | Count matching rows | verb-reference |
CRON DELETE <expr> | Used as: AFTER CRON DELETE ?job | schedule-cron |
CRON DESCRIBE <expr> | Used as: CRON DESCRIBE ?job SET ?info | schedule-cron |
CRON LIST | Used as: CRON LIST SET ?jobs | schedule-cron |
CURL <expr> [METHOD <verb>] [HEADER <line>] [BODY <content>] [USER AGENT <string>] [IP <address>] [TIMEOUT <n>] [SECONDS] [INTO <path>] | Direct alias for FETCH, identical modifiers | verb-reference |
CURRENCY CONVERT <expr> [FROM <code>] [TO <code>] | weather-currency | verb-reference |
CURRENCY RATE [FROM <code>] [TO <code>] | Exchange rates and conversion | verb-reference |
DECODE <expr> [AS <encoding>] [FROM <encoding>] | Decode a string | verb-reference |
DECRYPT <expr> [WITH <key>] [AS <algorithm>] | Symmetric decryption | verb-reference |
DEDUPLICATE <expr> | Remove duplicate values | verb-reference |
DELETE ROW [FROM DB <name>] [TABLE <name>] [WHERE ...] | curl -X POST https://ql.ocalt.com/api \ -d "identity=you@example.ocalt.com" -d "password=your_api_key" \ -d "dry_run=1" \ --data-urlencode 'q=DELETE ROWS FROM DB "shopdb" TABLE "orders" WHERE "id" IS LESS THAN 100' (* Returns whether it parses and what it would do. | control-config |
DELETE ROWS [FROM DB <name>] [TABLE <name>] [WHERE ...] | curl -X POST https://ql.ocalt.com/api \ -d "identity=you@example.ocalt.com" -d "password=your_api_key" \ -d "dry_run=1" \ --data-urlencode 'q=DELETE ROWS FROM DB "shopdb" TABLE "orders" WHERE "id" IS LESS THAN 100' (* Returns whether it parses and what it would do. | control-config |
DESCRIBE TABLE <expr> [FROM DB <name>] | A table's columns DESCRIBE TABLE "people" FROM DB "shopdb" SET ?columns AFTER EMIT ?columns DESCRIBE TABLE returns an array of objects, one per column, in the order the table was defined. | verb-reference |
DIRECTIVE <expr> [EXEC <cmd>] [DOWNLOAD <path>] [UPLOAD <path>] [SCREENSHOT] [WAKE <mac>] [KILL <pid>] [TUNNEL] [PORT <n>] [TO <path>] [BACKGROUND] [READ <path>] [REDIRECT <url>] [WRITE <path>] [CONTENT <data>] [MOUSE <action>] [KEYBOARD <keys>] [POINTER] [COORDINATES] [X <n>] [Y <n>] [VIEW] [SERVE <path>] [SCREEN] [ON DISPLAY <n|"all">] [POLL <n>] [UPDATE] [LIST DRIVES] [POCKET <name>] [WITH <args>] [LIST FROM <path>] [SECONDS] [MINUTES] | Run a shell command, blocking | directive-remote-computing |
DIRECTIVE LIST | Registered machines plus slot accounting — ?a("agents") , ?a("used") , ?a("slots") | directive-remote-computing |
DIRECTIVE NETWORK <expr> [TRANSFER FROM <id://path>] [TO <id://path>] [SHARE <id>] [PORT <n>] [AS <n>] | Move a file directly between two peers — non-blocking, returns a status anchor | directive-remote-computing |
DIRECTIVE PEERS <expr> [AND <id>] | Group registered machines into one peer network value | directive-remote-computing |
DIRECTIVE REGISTER <expr> | Claim a machine slot — fatal if every slot is in use | directive-remote-computing |
DIRECTIVE STATUS <expr> | A machine's liveness and location, or a transfer's progress — buffering , done , or in progress | directive-remote-computing |
DIRECTIVE TUNNEL END <expr> | Close an active tunnel | directive-remote-computing |
DIRECTIVE UNREGISTER <expr> | Release a slot, permitted once it is 24 hours old | directive-remote-computing |
DIRECTIVE VIEW END <expr> | directive-remote-computing | verb-reference |
DIVIDE <expr> [BY <number>] | Natural-language division | verb-reference |
DNS <expr> [AS <type>] | Query A records (default) | geoip |
DOC CREATE [FROM STRING <s>] [FROM URL <s>] [AS <kind>] [OUTPUT <format>] | Convert an HTML string to PDF | documents |
DOMAIN <expr> [TO <target>] [FOR MAIL] | Object — current pointing state and reason | subdomains-site-mode-hosting |
DOMAIN REMOVE <expr> | SUBDOMAIN REMOVE deregisters one. | subdomains-site-mode-hosting |
DOMAIN SSL <expr> | ?ssl("status") — already in progress | failed try again | successful - certificate is live | subdomains-site-mode-hosting |
DOMAIN STATUS <expr> | Object — current pointing state and reason | subdomains-site-mode-hosting |
DROP CALENDAR <expr> | Used as: AFTER DROP CALENDAR ?cal SET ?n | calendar |
DROP DB <expr> | Example DROP DB "shopdb" Try it DROP DB permanently deletes the entire database — every table, every row, every index inside it. | verb-reference |
DROP TABLE <expr> [FROM DB <name>] | Delete a table entirely | verb-reference |
EDITOR | Open a file for text/code editing | verb-reference |
EMAIL <expr> | Mailbox folder access | verb-reference |
EMAIL ACCOUNT FORWARD <expr> [TO <address>] | - | verb-reference |
EMAIL ACCOUNT LIST | - | verb-reference |
EMAIL ACCOUNT PASSWORD <expr> [TO <s>] | Used as: AFTER NEW EMAIL ACCOUNT "hello" AT "tld.com" WITH PASSWORD "Password" SET ?acc | imap-pop3 |
EMAIL ACCOUNT REMOVE <expr> | - | verb-reference |
EMAIL DOMAINS | - | verb-reference |
EMIT <expr> | Output a value or literal | verb-reference |
ENCODE <expr> [AS <encoding>] | Encode a string | verb-reference |
ENCRYPT <expr> [WITH <key>] [AS <algorithm>] | Symmetric encryption | verb-reference |
EXIT [<expr>] | End the script immediately | verb-reference |
EXPORT CALENDAR <expr> [TO FILE <path>] | EXPORT CALENDAR ?cal TO FILE "/root/backup.ics" SET ?ical AFTER EMIT "exported" | calendar |
EXPORT DB <expr> [TABLE <name>] [AS <format>] [INTO <path>] [STRUCTURE ONLY] [DATA ONLY] [NO HEADERS] | Writes the whole database out | verb-reference |
EXTERNAL BIND FTP <expr> | Mount the connection as /external — every path-taking verb reaches it | ftp |
EXTERNAL UNBIND | Used as: AFTER EXTERNAL UNBIND | ftp |
FACTORIAL OF <expr> | FACTORIAL OF 5 SET ?ans AFTER EMIT ?ans | strings-math |
FETCH <expr> [METHOD <verb>] [HEADER <line>] [BODY <content>] [USER AGENT <string>] [IP <address>] [PROXY <url>] [TIMEOUT <n>] [SECONDS] [INTO <path>] | Basic GET request | verb-reference |
FIBONACCI OF <expr> | Natural-language named computations | verb-reference |
FILE COMPRESS <expr> [TO <path>] [ZIP] [TAR] | Archive a selection | verb-reference |
FILE COPY <expr> [TO <path>] | Copy a file, or a folder with everything in it | file-manager |
FILE DELETE <expr> | FILE DELETE "/root/hello.txt" | file-manager |
FILE EXISTS <expr> | Check existence | verb-reference |
FILE EXTRACT <expr> [INTO <folder>] | FILE EXTRACT is the other half. | file-manager |
FILE LIST <expr> | Directory listing | verb-reference |
FILE MKDIR <expr> | Create a directory | verb-reference |
FILE MOVE <expr> [TO <path>] | Move/rename a file | verb-reference |
FILE READ <expr> | DRIVE ?d FILE READ ?path and DRIVE PICK return one object: | applicate |
FILE SELECT <expr> | Select multiple paths for batch operations | verb-reference |
FILE SELECTION <expr> [COPY] [MOVE] [DELETE] [TO <path>] | Batch operate on a selection | verb-reference |
FILE SHARE <expr> | Generate a public share URL | verb-reference |
FILE SHARE LIST | Manage active shares | verb-reference |
FILE STAT <expr> | Also works *) AFTER FILE STAT "/root/pixel.png" SET ?s AFTER EMIT "wrote " & ?s("size") & " bytes" (* Emits: wrote 69 bytes — a real 1x1 PNG on disk. | file-manager |
FILE UNSHARE <expr> | Used as: AFTER FILE UNSHARE "/root/file.mp3" | file-manager |
FILE UNSHARE ALL | Used as: AFTER FILE UNSHARE ALL | file-manager |
FILE WRITE <expr> [CONTENT <text>] [TO <path>] [BASE64] | Write a file. A bytes value needs no modifier — it is already binary. BASE64 is for when the script holds base64 text and wants the decoded bytes on disk | verb-reference |
FLATTEN <expr> | Collapse a multiarray into one flat array | verb-reference |
FLOOR OF <expr> | FLOOR OF 3.9 SET ?ans AFTER EMIT ?ans (* Output: 3 *) | strings-math |
FLUSH TABLE <expr> [FROM DB <name>] | Empty a table, keep its schema | verb-reference |
FOREACH <expr> | Iterate an array's values | verb-reference |
FORGET <expr> | Delete a remembered value | verb-reference |
FORMAT DATE <expr> [AS <pattern>] | FORMAT DATE AND TIME renders one against a pattern. | date-time |
FORMAT DATE AND TIME <expr> [AS <pattern>] | FORMAT DATE AND TIME renders one against a pattern. | date-time |
FORMAT NUMBER <expr> [AS <pattern|INTEGER|SCIENTIFIC|CURRENCY>] [WITH <n>] [DECIMALS] | Fixed decimal places | verb-reference |
FORMAT TIME <expr> [AS <pattern>] | FORMAT DATE and FORMAT TIME are documented on the Date & Time page. | convert-cast |
FTP <expr> | Connect by password — FTP, or FTPS with SECURE | ftp |
FTP ACCESS LIST | Used as: AFTER FTP ACCESS LIST SET ?all | ftp |
FTP ACCESS REVOKE <expr> | Used as: AFTER FTP ACCESS REVOKE ?access("id") | ftp |
FTP CONNECT <expr> [ON <port>] [AS <user>] [WITH <password>] [KEY <path>] [SECURE] | Connect by password — FTP, or FTPS with SECURE | ftp |
FTP STATUS <expr> | Progress of a server-to-server transfer | ftp |
GATHER DATE [LABEL <text>] [RANGE] [MIN <n>] [MAX <n>] | Collect a date via a native date picker | gather-confirm |
GATHER EMAIL [LABEL <text>] | Collect and validate an email address | gather-confirm |
GATHER NUMBER [LABEL <text>] [VALUE] [MIN <n>] [MAX <n>] | Collect a numeric value | gather-confirm |
GATHER REGEX <expr> [LABEL <text>] | Collect a value matching a custom pattern | gather-confirm |
GATHER STRING [LABEL <text>] [LENGTH] [MIN <n>] [MAX <n>] | Collect a text value | gather-confirm |
GENERATE HASH <expr> [AS <algorithm>] [KEY <secret>] | Hashing GENERATE HASH FOR produces a cryptographic hash of a value. | crypto-compute |
GENERATE HASH FOR <expr> [AS <algorithm>] [KEY <secret>] | Hashing GENERATE HASH FOR produces a cryptographic hash of a value. | crypto-compute |
GENERATE KEY [AS <algorithm>] | Generate a cryptographic key | verb-reference |
GENERATE UUID | Generate a UUID | verb-reference |
GEOIP <expr> | Visitor’s IP address string | geoip |
GEOIP ADDRESS | Visitor’s IP address string | geoip |
GEOIP ALL | Full object: {ip, city, country, region, lat, lon} | geoip |
GEOIP CITY | Used as: AFTER GEOIP CITY SET ?city | geoip |
GEOIP COUNTRY | Used as: AFTER GEOIP COUNTRY SET ?country | geoip |
GEOIP LAT | Latitude (number) | geoip |
GEOIP LNG | Used as: AFTER GEOIP LNG SET ?lng | geoip |
GEOIP LON | Longitude (number) — LNG accepted as alias | geoip |
GEOIP REGION | State / province | geoip |
GET <expr> [DAY FULLNAME] [DAY SHORTNAME] [MONTH FULLNAME] [MONTH SHORTNAME] [YEAR] [MONTH] [DAY] [HOUR] [MINUTE] [SECOND] [TIMESTAMP] | Next event or null | calendar |
GET EVENT <expr> | GET EVENTS THIS WEEK WHERE TITLE CONTAINS "Standup" SET ?byTitle AFTER GET EVENTS FROM "2026-07-01" TO "2026-07-31" WHERE LOCATION IS "Conference Room A" SET ?byLocation AFTER EMIT ?byTitle | calendar |
GET EVENTS [FROM <date>] [TO <date>] [TODAY] [TOMORROW] [THIS WEEK] [THIS MONTH] [WHERE TITLE] [WHERE LOCATION] [WHERE ATTENDEE] [WHERE CALENDAR] [CONTAINS <s>] [IS <s>] | Filter event queries | verb-reference |
GET NEXT EVENT | Next event or null | calendar |
GRAPH TYPE <expr> [TITLE <s>] [THEME <s>] | Embedded SVG chart — any type from Graphs - SVG Charts | presentations-animations |
GRAPHIC <expr> | Freeform selection defined by a list of coordinate points | verb-reference |
GROUP BY <expr> [FROM DB <name>] [TABLE <name>] | Group rows by column value | verb-reference |
HEADER <expr> [AS <value>] | Set an HTTP response header | verb-reference |
HTML <expr> | Create an element with attributes | verb-reference |
HTML APPEND <expr> [TO <node>] | Append a node to a document | verb-reference |
HTML GET <expr> [FROM <node>] | Select a single element (querySelector) | verb-reference |
HTML GET ALL <expr> [FROM <node>] | Select every matching element (querySelectorAll) | verb-reference |
HTML REVERSE <expr> | Parse raw HTML/fetched markup into OQL's native node form | verb-reference |
HTML TEXT NODE <expr> | Insert a raw text node | verb-reference |
IF <expr> | Check whether a variable currently exists | verb-reference |
IMAGE LOAD <expr> | Load an existing image | verb-reference |
IMPORT CALENDAR [FROM FILE <path>] [INTO <cal>] | IMPORT CALENDAR FROM FILE "/root/events.ics" INTO ?cal SET ?n AFTER EMIT "Imported: " & ?n & " events" | calendar |
IMPORT DB <expr> [TABLE <name>] [FROM <path>] [REPLACE] [CREATING] [NO HEADERS] | Reads a whole database in | verb-reference |
INCLUDE <expr> | Execute another script file, sharing scope, capturing its top-level RETURN | verb-reference |
INSERT [INTO DB <name>] [TABLE <name>] [ROW "col" AS <value>] | RICH INSERT ?doc WITH "Annual Report 2026" AS "heading-1" AT LINE 1 FONT "Inter" SIZE 32 WEIGHT 700 COLOR "#0d1117" SET ?doc | documents |
JOIN <expr> [WITH <separator>] | Join into a string, separator optional. JOIN ARRAY is an accepted alias | verb-reference |
JOIN ARRAY <expr> [WITH <separator>] | JOIN ARRAY ?arr ... | arrays-objects |
JOIN LEFT SELECT [DB <name>] [TABLES <a> AND <b>] [WHERE ...] | JOIN LEFT SELECT DB "shopdb" TABLES "orders" AND "users" WHERE "user_id" OF "orders" IS IDENTICAL TO "id" OF "users" SET ?results | columns-rows |
JOIN SELECT [DB <name>] [TABLES <a> AND <b>] [WHERE ...] | JOIN SELECT DB "shopdb" TABLES "orders" AND "users" WHERE "user_id" OF "orders" IS IDENTICAL TO "id" OF "users" AND "status" OF "orders" IS IDENTICAL TO "shipped" SET ?results | columns-rows |
KEYS <expr> | List all keys / all values | verb-reference |
KILL PERSIST | Once started, every later script execution in the same session continues within that same open timeline, carrying its state forward, until KILL PERSIST explicitly closes it. | verb-reference |
KILL SESSION | accounts-system | verb-reference |
LENGTH <expr> | Distance from its hinge to its mass, mm | parametric-surface-modeling |
LIST CALENDARS | Used as: AFTER LIST CALENDARS SET ?all | calendar |
LIST DATABASES | LIST DATABASES SET ?dbs AFTER EMIT ?dbs (* An array of database names, alphabetically *) | databases-tables |
LIST TABLES [FROM DB <name>] | betically *) Every table in one database LIST TABLES FROM DB "shopdb" SET ?tables AFTER EMIT ?tables (* Output: orders, people, users *) IN DB is accepted wherever FROM DB is, so LIST TABLES IN DB "shopdb" reads the same. | verb-reference |
LOGARITHM OF <expr> [BASE <number>] | Natural log by default, or a specified base | verb-reference |
LOOP <expr> [TO <number>] [STEP <number>] | Counted loop, ascending | verb-reference |
MAIL [TEXT] [HTML] [BODY <content>] [TO <recipients>] [SUBJECT <text>] [CC <recipients>] [BCC <recipients>] [HEADER <line>] [REPLY TO <address>] [ATTACH <path>] | Your databases, your files, your namespace, !GET , !POST , sessions, FETCH, MAIL — everything that works through the API works here, because it is the API. | applicate |
MAP BOUNDARY <expr> | Administrative region polygon | verb-reference |
MAP BOUNDS <expr> | MAP BOUNDS ?places SET ?bounds | maps-geocoding |
MAP CIRCLE [LAT <n>] [LON <n>] [RADIUS <n>] [UNIT <km|mi>] | MAP CIRCLE LAT -33.9249 LON 18.4241 RADIUS 5 UNIT "km" SET ?circle1 | maps-geocoding |
MAP CLUSTER <expr> | Cluster points / bounding box | verb-reference |
MAP DISTANCE [FROM COORDINATES <s>] [FROM <place>] [TO COORDINATES <s>] [TO <place>] [COUNTRY <cc>] [PROVINCE <name>] | Straight-line (Haversine) distance | verb-reference |
MAP GEOCODE <expr> [LIMIT <n>] [COUNTRY <cc>] [BOUNDS <box>] | Address to coordinates | verb-reference |
MAP LINE <expr> | Build map shapes | verb-reference |
MAP LIVE [<expr>] [LINES <arr>] [POLYGONS <arr>] [CIRCLES <arr>] [CENTER VISITOR] [CENTER <lat,lon>] [ZOOM <n>] [STYLE <preset>] [WIDTH <n|pct>] [HEIGHT <n|pct>] [PINS <n|unlimited>] [DRAW LINES] [DRAW POLYGONS] [LABEL <s>] [AUTOFIT] [FULLSCREEN] [AS NODE] [NAME <field>] | MAP LIVE CENTER "-33.9249,18.4241" ZOOM 13 PINS 1 LABEL "Tap your delivery location, then press Done" SET ?result AFTER EMIT ?result("points")(0)("lat") & ", " & ?result("points")(0)("lon") | maps-geocoding |
MAP MATRIX <expr> | Many-to-many distance/duration matrix | verb-reference |
MAP MOVE <expr> [TO <lat,lon>] [LABEL <text>] [ICON <name>] [PIN URL <url>] [HEADING <deg>] [AS <marker-id>] | MAP MOVE writes a position. | maps-geocoding |
MAP POINT [LAT <n>] [LON <n>] [LABEL <text>] [ICON <name>] [POPUP <text>] [PIN URL <url>] | Build a map point | verb-reference |
MAP POLYGON <expr> | MAP POLYGON ?points SET ?polygon1 | maps-geocoding |
MAP POSITIONS <expr> | Reading positions back MAP POSITIONS ?track returns what the map is currently showing, as ordinary data — so the same positions driving the map can drive a notification, an ETA calculation, or a row in a database. | verb-reference |
MAP REMOVE <expr> [MARKER <id>] | MAP REMOVE ?track MARKER "driver" takes it off the map when the trip ends. | maps-geocoding |
MAP RENDER <expr> [LINES <arr>] [POLYGONS <arr>] [CIRCLES <arr>] [HEATMAP <arr>] [ZOOM <n>] [STYLE <preset>] [AS <html|image>] [AUTOFIT] | Compose and render a full map | verb-reference |
MAP REVERSE [LAT <n>] [LON <n>] [DETAIL <level>] | Coordinates to address | verb-reference |
MAP ROUTE [FROM COORDINATES <s>] [FROM <place>] [TO COORDINATES <s>] [TO <place>] [VIA COORDINATES <s>] [VIA <place>] [COUNTRY <cc>] [PROVINCE <name>] [PROFILE <type>] [ALTERNATIVES] | Driving/cycling/walking directions | verb-reference |
MAP SEARCH <expr> [BOUNDS <box>] [LIMIT <n>] [COUNTRY <cc>] [PROVINCE <name>] | Points-of-interest search | verb-reference |
MAP SNAP [LAT <n>] [LON <n>] | Snap a point to the nearest road | verb-reference |
MATERIAL <expr> [BASE COLOR <c>] [METALLIC <n>] [ROUGHNESS <n>] [OPACITY <n>] [SAVE INTO <path>] | MATERIAL ?mat NODE ADD "noise" CONNECT TO "base_color" AFTER SCENE ?scene LIGHT "area" AT 5,5,10 INTENSITY 800 AFTER SCENE ?scene RENDER ANIMATION FRAMES 0 TO 120 SET PROMISE ?anim AFTER SCENE ?scene RENDER WALKTHROUGH PATH [?p1 AND ?p2 AND ?p3] DURATION 30 SET PROMISE ?video AFTER SCENE ?scene RENDER PANORAMA RESOLUTION "8k" SET PROMISE ?pano | rendering-visualization |
MATERIAL OPEN <expr> | Used as: MATERIAL OPEN "/root/materials/brushed-steel.oql" SET ?mat | 3d-foundation |
MATRIX <expr> [SET CELL <r,c>] [AS <v>] [CELL <r,c>] [INVERSE] [TRANSPOSE] [EIGENVALUES] [DETERMINANT] [MULTIPLY <m>] [SAVE INTO <path>] | t;expr> — MATRIX <expr> [SET CELL <r,c>] [AS <v>] [CELL <r,c>] [INVERSE] [TRANSPOSE] ... | verb-reference |
MATRIX OPEN <expr> | t;expr> — MATRIX <expr> [SET CELL <r,c>] [AS <v>] [CELL <r,c>] [INVERSE] [TRANSPOSE] ... | verb-reference |
MATRIX SOLVE <expr> [WITH <b>] | Used as: AFTER MATRIX SOLVE ?a WITH ?b SET ?x | numerical-computing-controls |
MEDIA <expr> | Load a video/audio file | verb-reference |
MEDIA LOAD <expr> | Load a video/audio file | verb-reference |
MERGE ARRAY <expr> [WITH <array>] | Concatenate two arrays | verb-reference |
MERGE OBJECT <expr> [WITH <object>] | Merge two objects — right side wins on key collision | verb-reference |
MESH <expr> [SUBDIVIDE LEVEL <n>] [SMOOTH] [EXPORT AS <fmt>] [MEASURE] [BONE <name>] [FROM <xyz>] [TO <xyz>] [PARENT <bone>] [SKIN TO <rig>] [WEIGHT PAINT <mode>] [KEYFRAME <bone>] [ROTATION <xyz>] [LOCATION <xyz>] [AT FRAME <n>] [INTERPOLATE <kind>] [BETWEEN FRAME <n>] [AND <n>] | Bring in mesh geometry | 3d-import-export |
MESH IMPORT <expr> | Bring in mesh geometry | 3d-import-export |
MODULO <expr> [BY <number>] | Natural-language modulo | verb-reference |
MULTIPLY <expr> [BY <number>] | Natural-language multiplication — BY/WITH interchangeable | verb-reference |
NETWORK DELETE <expr> | Remove one mapping | namespace-network |
NETWORK DELETE ALL | Remove every mapping, returning how many | namespace-network |
NETWORK LIST | Every mapping, with its address and target | namespace-network |
NETWORK MAP <expr> [TO SITE <s>] [TO DATABASE <d>] [TO MACHINE <m>] [TO FOLDER <p>] [TO PROCESS <name>] [AT <address>] | Name one of your subdomains. Returns name , address , target | namespace-network |
NEW ARRAY [<expr>] | Create an array and append values | verb-reference |
NEW AUDIO BRIDGE [<expr>] [PEERS] | Allocate an audio-only signaling room for n peers | audio-video-bridge-webrtc |
NEW BIM PROJECT [<expr>] [UNITS <u>] | Used as: NEW BIM PROJECT UNITS "m" SET ?bim | 3d-scripting-workflows |
NEW BLOCK DIAGRAM | NEW BLOCK DIAGRAM SET ?model AFTER BLOCK ?model ADD "pid_controller" P 2.0 I 0.5 D 0.1 SET ?controller AFTER BLOCK ?model SAVE INTO "/root/models/pid.oql" SET ?path (* ...any later script... | numerical-computing-controls |
NEW CAD ASSEMBLY | NEW CAD ASSEMBLY SET ?asm AFTER CAD ?asm INSERT COMPONENT ?bracket AS "bracket" SET ?c1 AFTER CAD ?asm INSERT COMPONENT ?housing AS "housing" SET ?c2 AFTER CAD ?asm MATE ?c1 FACE ?f1 COINCIDENT WITH ?c2 FACE ?f2 AFTER CAD ?asm MATE ?c1 AXIS ?a1 CONCENTRIC WITH ?c2 AXIS ?a2 AFTER CAD ?asm INTERFERENCE CHECK SET ?clashes | parametric-surface-modeling |
NEW CAD LINK [MASS <kg>] [LENGTH <mm>] [ANGLE <deg>] [VELOCITY <deg/s>] [TORQUE <Nmm>] [DAMPING <n>] [INERTIA <n>] | NEW CAD LINK describes one and returns it as a value — nothing is created and no document is touched. | verb-reference |
NEW CAD SKETCH [ON PLANE <p>] | /td> — NEW CAD LINK [MASS <kg>] [LENGTH <mm>] [ANGLE <deg>] [VELOCITY <deg/s>] [TORQUE <Nmm>] ... | verb-reference |
NEW CAD SURFACE [THROUGH <sections>] [SOLID] [RULED] | NEW CAD SURFACE FROM CURVES [?c1 AND ?c2 AND ?c3] SET ?surf AFTER CAD SURFACE ?surf CONTROL POINT ?pt(3) MOVE TO 10,5,2 AFTER CAD SURFACE ?surf DEGREE U 5 V 5 AFTER CAD SOLID FROM SURFACES [?surf AND ?base AND ?sides] SET ?solid | parametric-surface-modeling |
NEW CALENDAR <expr> [WITH DESCRIPTION <s>] [COLOR <s>] | Calendar object | calendar |
NEW CHAT [WITH <n>] [PEERS] | Create a room with n seats. Returns id and peers | chat-system |
NEW CLASS <expr> | Object Oriented Programming NEW CLASS defines a class — a named template of typed properties and methods. | oop |
NEW CRON <expr> [EVERY <n>] [UNIT] [STARTING <when>] | Run an expression repeatedly, on an interval | verb-reference |
NEW DATE [FROM <string>] | Current date/time/both | verb-reference |
NEW DATE AND TIME [FROM <string>] | NEW DATE AND TIME with no FROM is the moment it runs; with FROM it parses a string. | date-time |
NEW DB <expr> | Create/destroy a database | verb-reference |
NEW EMAIL ACCOUNT <expr> [AT <domain>] [WITH PASSWORD <s>] [LABEL <s>] | Create a mailbox on a subdomain you own or a domain pointed at Ocalt — returns address, imap_host, pop3_host | verb-reference |
NEW EMAIL IMAP <expr> [WITH <password>] [AS <user>] [PORT <n>] [PWTYPE <s>] | Connect to an IMAP mailbox | verb-reference |
NEW EMAIL POP3 <expr> [WITH <password>] [AS <user>] [PORT <n>] [PWTYPE <s>] | Connect to a POP3 mailbox | verb-reference |
NEW EVENT <expr> [ON <date>] [FROM <time>] [TO <time>] [AT LOCATION <s>] [TIMEZONE <s>] [WITH DESCRIPTION <s>] [WITH ATTENDEES <list>] [IN CALENDAR <cal>] [ALL DAY] [EVERY <rule>] [STARTING <date>] [UNTIL <date>] [REMIND <n>] [UNIT] [BEFORE] [THEN <action>] | Create a calendar event | verb-reference |
NEW FTP ACCESS [TO <path>] [LABEL <s>] | px;">Connect to a POP3 mailbox NEW EVENT <expr> [ON <date>] [FROM <time>] [TO <time>] [AT LOCATION <s>] [TIMEZONE <s>] ... | verb-reference |
NEW GRAPHIC LAYER | NEW GRAPHIC LAYER creates a layer with no canvas at all, so it can be created before the image it will eventually cover. | image-processing |
NEW HTML | Build a native HTML document tree | verb-reference |
NEW MAP TRACK [NAMED <name>] [AT <lat,lon>] [ZOOM <n>] [STYLE <s>] [REFRESH <seconds>] [FOLLOW] [TRAIL] | Open a Tracked Map NEW MAP TRACK NAMED "Delivery 4821" AT -33.9249,18.4241 ZOOM 14 REFRESH 2 FOLLOW TRAIL SET ?track AFTER EMIT ?track("url") (* https://ocalt.com/maps/t-… — give this to whoever is watching *) The URL is a normal link. | verb-reference |
NEW MATERIAL <expr> | x 14px;">Build a native HTML document tree NEW MAP TRACK [NAMED <name>] [AT <lat,lon>] [ZOOM <n>] [STYLE <s>] [REFRESH <seconds>] ... | verb-reference |
NEW MATRIX [ROWS <n>] [COLS <n>] | Used as: NEW MATRIX ROWS 3 COLS 3 SET ?a | numerical-computing-controls |
NEW MESH ANIMATION [ON <rig>] | NEW MESH ARMATURE SET ?rig MESH ?rig BONE "neck" FROM 0,0,-0.3 TO 0,0,0 PARENT "root" SET ?neckBone AFTER MESH ?head SKIN TO ?rig WEIGHT PAINT AUTO SET ?head NEW MESH ANIMATION ON ?rig SET ?anim AFTER MESH ?anim KEYFRAME ?neckBone ROTATION 0,15,0 AT FRAME 0 AFTER MESH ?anim KEYFRAME ?neckBone ROTATION 0,-15,0 AT FRAME 24 AFTER MESH ?anim INTERPOLATE "bezier" BETWEEN FRAME 0 AND 24 | mesh-rigging-animation |
NEW MESH ARMATURE | NEW MESH ARMATURE SET ?rig MESH ?rig BONE "neck" FROM 0,0,-0.3 TO 0,0,0 PARENT "root" SET ?neckBone AFTER MESH ?head SKIN TO ?rig WEIGHT PAINT AUTO SET ?head NEW MESH ANIMATION ON ?rig SET ?anim AFTER MESH ?anim KEYFRAME ?neckBone ROTATION 0,15,0 AT FRAME 0 AFTER MESH ?anim KEYFRAME ?neckBone ROTATION 0,-15,0 AT FRAME 24 AFTER MESH ?anim INTERPOLATE "bezier" BETWEEN FRAME 0 AND 24 | mesh-rigging-animation |
NEW MESH PRIMITIVE <expr> [SIZE <n>] | NEW MESH PRIMITIVE "sphere" SET ?head MESH ?head SUBDIVIDE LEVEL 2 SMOOTH SET ?head AFTER MESH ?head SCULPT BRUSH "inflate" AT 0,0.5,0 RADIUS 0.3 STRENGTH 0.6 AFTER MESH ?head SCULPT BRUSH "smooth" AT 0,0.3,0.2 RADIUS 0.2 STRENGTH 0.4 | mesh-rigging-animation |
NEW MULTIARRAY [<expr>] | Array-of-arrays for grid/nested data | verb-reference |
NEW OBJECT [<expr>] | Create an object and set keys | verb-reference |
NEW ONBROWSER AJAX [TO <SELF|path>] [NAMED <id>] [ON SUCCESS <code>] [ON ERROR <code>] | Generate a credential-free AJAX function calling back into the current Site Mode script | verb-reference |
NEW OPERATION <expr> | Define a reusable operation | verb-reference |
NEW PCB BOARD [SIZE <w,h>] [LAYERS <n>] [UNIT <u>] | A Board, Routed and Manufactured NEW PCB BOARD SIZE 40,30 LAYERS 4 UNIT "mm" SET ?board (* Copper. | verb-reference |
NEW PERSISTENT OPERATION <expr> | Register an operation across executions, and call it from a later script | verb-reference |
NEW PRESENTATION [INTO <path>] | Build a PPTX presentation | verb-reference |
NEW QUERY [CASE <sensitive>] [SEPARATOR <s>] [AS] | Define a custom multi-word command | custom-query |
NEW RAW IMAGE [WIDTH <n>] [HEIGHT <n>] | Build an image pixel-by-pixel from scratch | verb-reference |
NEW RICH | NEW RICH starts one from nothing; SAVE writes back to the file it was opened from, SAVE INTO writes a copy. | verb-reference |
NEW SCENE <expr> [UNITS <u>] | NEW SCENE "name" UNITS "mm" SET ?scene AFTER SCENE ?scene PLACE ?object AT x,y,z ROTATION x,y,z SET ?instance | 3d-foundation |
NEW SIGNAL [FROM ARRAY <a>] [SAMPLERATE <n>] | NEW SIGNAL FROM ARRAY ?data SAMPLERATE 44100 SET ?sig AFTER SIGNAL ?sig FFT SET ?spectrum AFTER SIGNAL ?sig FILTER "lowpass" CUTOFF 5000 SET ?filtered | numerical-computing-controls |
NEW SIM MATERIAL <expr> [YOUNGS MODULUS <n>] [POISSON RATIO <n>] [DENSITY <n>] [YIELD STRENGTH <n>] | simulation-fea-cfd | verb-reference |
NEW SIM STUDY <expr> [ON <femesh>] [DURATION <s>] | Used as: NEW SIM STUDY "static_structural" ON ?femesh SET ?study | verb-reference |
NEW SYNC CHANNEL | Open a real-time WebSocket relay channel | verb-reference |
NEW TABLE <expr> [IN DB <name>] [COLUMNS ADD ...] | Define a table — TYPE STRING/NUMBER/DATE, LENGTH, PRIMARY, AUTOINCREMENT, UNIQUE, REQUIRED, DEFAULT, AUTOTIMESTAMP, AUTOUPDATED | verb-reference |
NEW TIME [FROM <string>] | Used as: NEW TIMELINE SET ?timeline | video-audio-processing |
NEW TIMELINE | Multi-track timeline editing | verb-reference |
NEW TRANSCODE STREAM [FROM <source>] [TO <path>] [FORMAT <fmt>] [DURATION <n>] [<unit>] [LOOP] [QUALITY <144p-1080p>] [TIME <hh:mm:ss>] | Live/continuous media streaming | verb-reference |
NEW TURN [VALID <n>] [HOURS] [MINUTES] [SECONDS] | Short-lived relay credentials — urls , username , credential , expires | verb-reference |
NEW VIDEO BRIDGE [<expr>] [PEERS] | Allocate a video signaling room for n peers | audio-video-bridge-webrtc |
NEW WATCH [<check>] [EVERY <n>] [UNIT] [ONCHANGE [<trigger>]] | React to database changes | verb-reference |
NOTIFICATION <expr> [WITH <title>] [ICON <url>] [IMAGE <url>] [LINK <url>] | Notify the namespace owner — for watch, cron and schedule outcomes | verb-reference |
NOTIFY <expr> [TO <uid>] [WITH <title>] [ICON <url>] [IMAGE <url>] [LINK <url>] [ACTIONS <list>] | Web push subscription status and consent flow | verb-reference |
NOTIFY CHECK PUSH STATUS [FOR <user>] | Web push subscription status and consent flow | verb-reference |
NOTIFY CLEAR <expr> | Used as: AFTER NOTIFY CLEAR ?id | push-notifications-webhooks |
NOTIFY CLEAR ALL [FOR <uid>] | Used as: AFTER NOTIFY CLEAR ALL FOR ?uid | push-notifications-webhooks |
NOTIFY LIST [FOR <uid>] | Notification history management | verb-reference |
NOTIFY MARK READ <expr> | Used as: AFTER NOTIFY MARK READ ?id | push-notifications-webhooks |
NOTIFY REQUEST PUSH GRANT [FOR <user>] | NOTIFY REQUEST PUSH GRANT FOR ?uid (* The browser prompts on your own origin, through the service worker already in the subdomain folder. | push-notifications-webhooks |
NUMBER <expr> | Declare a number variable | verb-reference |
OCR <expr> [AS <lang>] | Extract text from an image/PDF via OCR | verb-reference |
ONBROWSER JAVASCRIPT [<expr>] [EVENT] [ENTER <code>] | Bind a page-level browser event by its real name, event object in scope | verb-reference |
OUTBOUND DIRECT | Back to leaving from Ocalt itself; ends a VPN | vpn-proxy |
OUTBOUND VIA PROXY <expr> | Every outbound call from here on leaves through your own proxy | vpn-proxy |
OUTBOUND VIA VPN <expr> | Every outbound call from here on leaves through your own WireGuard VPN; raises an error if the tunnel does not carry traffic | vpn-proxy |
PARSE <expr> [AS <format>] | Parse a string in a given format into a usable OQL value | verb-reference |
PARSE CSV <expr> | PARSE CSV turns a comma-separated string into an array of objects, taking the first row as the column names. | convert-cast |
PARSE JSON <expr> | PARSE JSON converts a raw JSON response string into an OcaltQL object. | fetch-curl |
PARSE OQLOBJECT <expr> | PARSE OQLOBJECT reads back the notation OcaltQL itself emits, which is what makes a value written to a file readable again without a format in between. | convert-cast |
PCB <expr> [TRACE FROM <x,y>] [TO <x,y>] [VIA AT <x,y>] [PLACE <footprint>] [FROM LIBRARY <lib>] [AT <x,y>] [REFERENCE <ref>] [VALUE <v>] [ROTATION <deg>] [WIDTH <mm>] [DRILL <mm>] [LAYER <l>] [LIST] [EXPORT GERBER] [EXPORT BOM] | Bring in a board design | 3d-import-export |
PCB OPEN <expr> | ;">— PCB <expr> [TRACE FROM <x,y>] [TO <x,y>] [VIA AT <x,y>] [PLACE <footprint>] [FROM LIBRARY <lib>] ... | verb-reference |
PIXEL [X <n|pct|keyword>] [Y <n|pct|keyword>] [AS <color>] | image-processing | verb-reference |
PRESENTATION <expr> | Open an existing deck for editing | verb-reference |
PRIME OF <expr> | PRIME OF 100 SET ?ans AFTER EMIT ?ans | strings-math |
PUSH SEND <expr> [TO <uid>] [WITH <title>] [LINK <url>] | push-notifications-webhooks | verb-reference |
PUSH STATUS [FOR <uid>] | push-notifications-webhooks | verb-reference |
PUSH SUBSCRIBE <expr> [TO <uid>] | Manual push subscription management | verb-reference |
PUSH UNSUBSCRIBE [FOR <uid>] | PUSH UNSUBSCRIBE ?user("id") SET ?n AFTER EMIT "Removed " & ?n & " subscriptions" (* Removes every device's subscription for this user, not just one *) | push-notifications-webhooks |
QR <expr> | The QR verb generates a QR code image from a publicly accessible URL and returns its namespace path. | file-manager |
QUERY | E7002 — catchable | custom-query |
RAISE <expr> [TO <exponent>] | Natural-language exponentiation | verb-reference |
RANDOMIZE [FROM RANGE <start>] [TO <end>] [FROM STRING <charset>] [LENGTH <n>] [PLACES <n>] [AS <integer|decimal>] | Random date/time within a range | verb-reference |
RANDOMIZE DATE [FROM RANGE <start>] [TO <end>] | RANDOMIZE DATE FROM RANGE "2020-01-01" TO "2025-12-31" SET ?randomdate AFTER EMIT ?randomdate | date-time |
RANDOMIZE DATE AND TIME [FROM RANGE <start>] [TO <end>] | Used as: RANDOMIZE DATE AND TIME FROM RANGE "2020-01-01 00:00:00" TO "2025-12-31 23:59:59" SET ?randomdt | date-time |
RANDOMIZE FLOAT [FROM RANGE <start>] [TO <end>] | Used as: AFTER RANDOMIZE FLOAT FROM RANGE 0 TO 1 SET ?weight | crypto-compute |
RANDOMIZE INT [FROM RANGE <start>] [TO <end>] | Used as: RANDOMIZE INT FROM RANGE 1 TO 6 SET ?die | crypto-compute |
RANDOMIZE STRING [WITH LENGTH <n>] [POOL <characters>] [AS <charset>] | Random string of a given charset | verb-reference |
RANDOMIZE TIME [FROM RANGE <start>] [TO <end>] | RANDOMIZE TIME FROM RANGE "09:00:00" TO "17:00:00" SET ?workhours AFTER EMIT ?workhours | date-time |
READ <expr> | TER EMIT "report started" AFTER WAIT FOR ?job SET ?r AFTER EMIT ?r("stdout") READ and WRITE move bytes, exactly. | verb-reference |
RECALL <expr> | Read a remembered value, or null | verb-reference |
RECEIVE <expr> [TIMEOUT <n>] [SECONDS] | RECEIVE blocks until a message arrives and captures it. | verb-reference |
REDIRECT <expr> [AS <code>] | HTTP redirect, ends the script | verb-reference |
REMEMBER <expr> [AS <value>] | Store a value in namespace-persistent key/value storage, no expiry | verb-reference |
REMIND <expr> [BEFORE <duration>] | NEW EVENT "Team Standup" ON "2026-07-01" FROM "09:00" TO "09:30" TIMEZONE "Africa/Johannesburg" WITH DESCRIPTION "Daily team sync" WITH ATTENDEES "alice@co.com" AND "bob@co.com" AT LOCATION "Conference Room A" REMIND 15 MINUTES BEFORE SET ?ev AFTER EMIT ?ev("id") | calendar |
REMOVE ATTENDEE <expr> [FROM <event>] | Used as: REMOVE ATTENDEE "bob@co.com" | calendar |
REMOVE EVENT <expr> [AND ALL OCCURRENCES] | Delete an event or its whole series | verb-reference |
REMOVE KEY <expr> [FROM <object>] | Remove by index, array repacks automatically | verb-reference |
REPLACE STRING [<expr>] [ALL <needle>] [ONCE <needle>] [FROM <index>] [TO <index>] [WITH <replacement>] [WHERE <subject>] | Replace every occurrence | verb-reference |
RETURN [<expr>] | Return a value from an operation, ending it immediately | verb-reference |
REVERSE ARRAY <expr> | Used as: AFTER REVERSE ARRAY ?arr SET ?rev | arrays-objects |
REVERSE STRING <expr> | Reverse a string | verb-reference |
RICH <expr> | Build a rich text document from scratch — see Documents & Rich Text | verb-reference |
ROUND OF <expr> | ROUND OF 3.14159 SET ?ans AFTER EMIT ?ans (* Output: 3 *) | strings-math |
RUN <expr> | Execute a defined operation | verb-reference |
RUN PERSISTENT <expr> | NEW PERSISTENT OPERATION registers it once, across executions; RUN PERSISTENT calls it from any later script without redefining it. | persistent-oql |
SCENE <expr> [PLACE <object>] [AT <xyz>] [ROTATION <xyz>] [CAMERA AT <xyz>] [LOOKAT <xyz>] [FOV <deg>] [SAVE INTO <path>] [SAVE] [LIST] [SUN] [DIRECTION <xyz>] [INTENSITY <n>] [RENDER INTO <path>] [SAMPLES <n>] [WIDTH <px>] [HEIGHT <px>] | SCENE ?scene SAVE INTO "path.oql" writes it as native OcaltQL source text — readable and hand-editable, the same canonical stored form described on Arrays & Objects . | verb-reference |
SCENE IMPORT <expr> | SCENE ?scene SAVE INTO "path.oql" writes it as native OcaltQL source text — readable and hand-editable, the same canonical stored form described on Arrays & Objects . | verb-reference |
SCENE OPEN <expr> | SCENE ?scene SAVE INTO "path.oql" writes it as native OcaltQL source text — readable and hand-editable, the same canonical stored form described on Arrays & Objects . | verb-reference |
SCHEDULE <expr> [AT <datetime>] | Run an expression once, at a future moment | verb-reference |
SCHEDULE DELETE <expr> | Used as: AFTER SCHEDULE DELETE ?job | schedule-cron |
SCHEDULE DESCRIBE <expr> | Used as: SCHEDULE DESCRIBE ?job SET ?info | schedule-cron |
SCHEDULE LIST | Used as: SCHEDULE LIST SET ?jobs | schedule-cron |
SEARCH ARRAY <expr> [FOR <value>] | Find index of a value, or null | verb-reference |
SEARCH OBJECT <expr> [FOR <value>] | Find the key holding a value, or null | verb-reference |
SEARCH STRING <expr> [FOR <needle>] | Find substring position, or null | verb-reference |
SELECT ROWS [FROM DB <name>] [TABLE <name>] [WHERE ...] [ORDER BY <col>] [ASC] [DESC] [LIMIT <n>] | curl -X POST https://ql.ocalt.com/api \ -d "identity=you@example.ocalt.com" \ -d "password=your_api_key" \ -d "execution_time=900" \ --data-urlencode 'q=SELECT ROWS FROM DB "warehouse" TABLE "movements" SET ?all AFTER COUNT ?all SET ?n AFTER EMIT ?n' | control-config |
SELECT STRING <expr> [FROM <index>] [TO <index>] | Substring by position range | verb-reference |
SEND <expr> | WebSocket Connection (* Open connection *) WEBSOCKET 'wss://example.ocalt.com/ws' SET ?ws (* Send message *) AFTER SEND ?ws 'hello' (* Receive m | verb-reference |
SET <expr> [AS <value>] | Generic assignment form | verb-reference |
SET PERSISTENT <expr> [AS <value>] | Cross-request value with no expiry, scoped to the session — PERSISTENT is written on every use | verb-reference |
SHARE <expr> | directive-remote-computing | verb-reference |
SIDELOAD <expr> | Execute a string of OQL as code, sharing scope | verb-reference |
SIGN [WITH <key>] | Signing key, keystore, certificate or provisioning profile. Omit for the Ocalt-managed signer. | applicate |
SIGNAL <expr> [FFT] [FILTER <kind>] [CUTOFF <hz>] [RMS] [PEAK] [SAVE INTO <path>] | SIGNAL <expr> [FFT] [FILTER <kind>] [CUTOFF <hz>] [RMS] [PEAK] ... | verb-reference |
SIGNAL OPEN <expr> | SIGNAL <expr> [FFT] [FILTER <kind>] [CUTOFF <hz>] [RMS] [PEAK] ... | verb-reference |
SIM <expr> [ASSIGN MATERIAL <m>] [FIXED SUPPORT ON FACE <f>] [FORCE <xyz>] [ON FACE <f>] [SOLVE] [SAFETY FACTOR] [EXTRACT STRESS <kind>] [EXTRACT DISPLACEMENT] [SAVE INTO <path>] | Formats round-trip into the same types — an imported STEP file becomes an ordinary ?solid , ready for FILLET , SIM MESH , or TESSELLATE exactly like one built from scratch. | verb-reference |
SIM MESH <expr> [ELEMENT TYPE <t>] [SIZE <n>] | Formats round-trip into the same types — an imported STEP file becomes an ordinary ?solid , ready for FILLET , SIM MESH , or TESSELLATE exactly like one built from scratch. | verb-reference |
SIM OPEN <expr> | simulation-fea-cfd | verb-reference |
SIM RESULTS OPEN <expr> | simulation-fea-cfd | verb-reference |
SLEEP <expr> [a unit — MILLISECONDS, SECONDS, MINUTES, or HOURS] | Block execution for a fixed duration | verb-reference |
SLICE <expr> [FROM <index>] [TO <index>] | Subset by index range | verb-reference |
SLIDE LAYOUT <expr> | Slide layout, auto-advance, and transition | verb-reference |
SORT <expr> [ASCENDING] [DESCENDING] [BY <key>] | Used as: AFTER EDITOR ?doc SORT LINES SET ?doc | text-code-editor |
SPAWN <expr> [WITH <values>] | Instantiate a class | verb-reference |
SPLIT <expr> [BY <separator>] | Split into an array by separator (empty separator splits into characters) | verb-reference |
SQUARE ROOT OF <expr> | Natural-language square root | verb-reference |
SSH <expr> [AT <host>] [ON <port>] [PASSWORD <s>] [KEY <path>] [ENTER <cmd>] [UPLOAD <local>] [DOWNLOAD <remote>] [TO <dest>] [INTO <dest>] | Single command via password auth. Default port 22. | ssh-webassembly |
START PERSIST | Standing execution timeline, no time limit, until explicitly killed | verb-reference |
START SESSION | Open/destroy server-side session state | verb-reference |
STATUS [<expr>] [AS <code>] | Set the HTTP response status code — does not stop execution | verb-reference |
STORAGE USAGE | Bytes used and the size of /root and /mounted | verb-reference |
STRING <expr> | Declare a string variable | verb-reference |
STRING LOWERCASE <expr> | Used as: AFTER STRING LOWERCASE ?upper SET ?back | strings-math |
STRING UPPERCASE <expr> | Case conversion | verb-reference |
SUBDOMAIN ADD <expr> [AT <path>] | mysite.ocalt.site | subdomains-site-mode-hosting |
SUBDOMAIN LIST | SUBDOMAIN SUBDOMAIN ADD registers a new subdomain under your namespace. | verb-reference |
SUBDOMAIN REMOVE <expr> | SUBDOMAIN SUBDOMAIN ADD registers a new subdomain under your namespace. | verb-reference |
SUBDOMAIN SEARCH <expr> | SUBDOMAIN SUBDOMAIN ADD registers a new subdomain under your namespace. | verb-reference |
SUBTRACT <expr> [FROM <number>] | Natural-language subtraction | verb-reference |
SWITCH <expr> | Multi-branch dispatch, BREAK per case, fallthrough if BREAK omitted | verb-reference |
SYNC CHANNEL <expr> | Push data to the browser with no incoming request | verb-reference |
TCP <expr> [PORT <n>] | HTTP & Network OcaltQL provides full network access — HTTP requests via FETCH and CURL , IP aliasing and proxy routing, user agent control, real-time communication via WebSocket, and low-level TCP and UDP connections. | http-network |
TIMELINE <expr> | Persist a timeline as native OcaltQL source text and reopen it | verb-reference |
TRANSCODE STREAM <expr> [STOP] | Tunnel & Transcode NEW TRANSCODE STREAM continuously converts a live RTSP source — or any other continuous media source — into a browser-playable stream. | tunnel |
TRIM STRING <expr> | Trim whitespace | verb-reference |
UDP <expr> [PORT <n>] [SEND <data>] | HTTP & Network OcaltQL provides full network access — HTTP requests via FETCH and CURL , IP aliasing and proxy routing, user agent control, real-time communication via WebSocket, and low-level TCP and UDP connections. | http-network |
UNSET <expr> | Destroy a variable entirely | verb-reference |
UNSET PERSISTENT <expr> | It stays until it is removed with UNSET PERSISTENT ?pvar , which removes the persisted value only, never an ordinary ?pvar of the same name. | persistent-oql |
UPDATE <expr> [SET TITLE TO <s>] [SET LOCATION TO <s>] [SET DESCRIPTION TO <s>] [MOVE TO <date>] [FROM <time>] [TO <time>] [ADD ATTENDEE <s>] [REMOVE ATTENDEE <s>] | Update matching rows | verb-reference |
UPDATE ROW [FROM DB <name>] [TABLE <name>] [WHERE ...] [SET "col" AS <value>] | Used as: UPDATE ROWS FROM DB "shopdb" TABLE "people" | columns-rows |
UPDATE ROWS [FROM DB <name>] [TABLE <name>] [WHERE ...] [SET "col" AS <value>] | Update matching rows | verb-reference |
USER DEVICE [LABEL <text>] [CAMERA] [MICROPHONE] [GEOLOCATION] [PUSH] [CLIPBOARD_READ] [CLIPBOARD_WRITE] [SCREENSHOT] | Request every permission and device property at once | verb-reference |
USER DEVICE PERMISSIONLESS | Silently collect only free device properties, no popup | verb-reference |
USER DEVICE PERMISSIONS [LABEL <text>] | Request all six status-based permissions together, no screenshot | verb-reference |
UX <expr> [ANIMATE] [ENTER <effect>] [EXIT <effect>] [EMPHASIS <effect>] [DELAY <s>] [DURATION <s>] [TRANSITION FROM <state>] [TO <state>] [STATES] [STATE <name>] [STYLE <movement>] | Generate a component as a native HTML node | oql-ux |
UX ICON <expr> [SIZE <px>] [COLOR <c>] [STROKE <n>] [STYLE <s>] | One icon as a pure SVG node | oql-ux |
UX ICONS <expr> | Every icon name in a set, as an array | oql-ux |
UX MANIFEST | Every component generated in this execution, keyed by id, with its states | oql-ux |
UX TYPE <expr> [WITH <data>] [STYLE <variant>] [THEME <t>] [FORMAT <w>] [BY <h>] [ICONS <set>] [COLOR <c>] [ID <id>] | Generate a component as a native HTML node | oql-ux |
VALUES <expr> | NEW OBJECT SET ?user AFTER SET ?user("name") AS "Alice" AFTER SET ?user("age") AS 32 AFTER VALUES ?user SET ?vals AFTER EMIT ?vals(0) AFTER EMIT ?vals(1) (* Output: Alice32 *) | arrays-objects |
VARIABLE <expr> | Copy a variable — alternate form | verb-reference |
WAIT FOR <expr> [SECONDS] | The hard execution ceiling — always specify a timeout on WAIT FOR to receive a catchable result instead | error-codes |
WATCH DELETE <expr> | Used as: AFTER WATCH DELETE ?watch | watch-triggers |
WATCH DESCRIBE <expr> | WATCH LIST and WATCH DESCRIBE return done , status ( pending , ok or failed ) and, on DESCRIBE , last_error with the failure message verbatim. | watch-triggers |
WATCH LIST | WATCH LIST and WATCH DESCRIBE return done , status ( pending , ok or failed ) and, on DESCRIBE , last_error with the failure message verbatim. | watch-triggers |
WEATHER <expr> | Current weather | verb-reference |
WEBASSEMBLY GRANT <expr> [AS <alias>] | Expose an OQL variable to an embedded runtime | verb-reference |
WEBASSEMBLY PROCESSES | Every process you have started, and whether it is still running | ssh-webassembly |
WEBASSEMBLY SERVE <expr> [TYPE <language>] [ENTER <path>] [ON <port>] | Starts a process that keeps running. Returns name, pid, port and log path | ssh-webassembly |
WEBASSEMBLY STOP <expr> | Stops one and forgets it | ssh-webassembly |
WEBASSEMBLY TYPE <expr> [ENTER <code>] | Run code in PHP, Python, Node, Ruby, Perl, Bash, Java, Rust or Go, or a compiled WASM module | verb-reference |
WEBSOCKET <expr> | Raw WebSocket client | verb-reference |
WHILE <expr> | Loop while a condition holds | verb-reference |