Control Statuz programmatically with deep links from scripts, shortcuts, and external apps
The Statuz URL Scheme API provides a powerful way to control Statuz programmatically from external applications, shell scripts, Shortcuts, and automation tools. Create posts, schedule content, manage accounts, and control the appβall via simple URL commands.
statuz://
For Debug builds, use statuz-dev://
Post to social media with a single command:
open "statuz://compose?text=Hello%20World!"
Schedule a post:
open "statuz://schedule?text=Tomorrow's%20update&date=2025-01-20T09:00:00Z"
Attach media:
open "statuz://compose?text=Check%20this%20out&media=file:///path/to/image.png"
Need to pass raw file paths instead of file:// URLs? Use the files parameter (alias for media) to send absolute paths, even with spaces, straight to Statuz.
| Action | Purpose | Learn More |
|---|---|---|
| compose | Create and publish posts | Compose Action |
| schedule | Schedule posts for later | Schedule Action |
| scheduled | Edit or delete queued posts | Scheduled Action |
| accounts | Manage social accounts | Accounts Action |
| calendar | View and navigate calendar | Calendar Action |
| settings | Open specific settings panes | Settings Action |
| license | Manage license | License Action |
| open | Bring app to foreground | Open Action |
Automate social media posting from shell scripts, cron jobs, or CI/CD pipelines:
#!/bin/bash
# Daily status update
TEXT="Daily report: All systems operational β
"
open "statuz://compose?text=$(echo "$TEXT" | jq -sRr @uri)"Create iOS/macOS shortcuts for:
Build custom workflows:
Trigger Statuz actions with custom hotkeys:
Automate based on file system events:
The URL Scheme API supports all Statuz platforms:
Platform and account selection is done in the Statuz UI when using compose action, or can be specified via parameters for schedule and scheduled actions.
Statuz respects macOS sandbox restrictions. When attaching files:
Account credentials are never exposed through the URL scheme:
Always encode parameter values:
// JavaScript
const text = 'Hello World! π';
const encoded = encodeURIComponent(text);
const url = `statuz://compose?text=${encoded}`;# Python
from urllib.parse import quote
encoded = quote("Hello World! π")
url = f"statuz://compose?text={encoded}"# Shell (with jq)
ENCODED=$(printf %s "Hello World! π" | jq -sRr @uri)
open "statuz://compose?text=$ENCODED"Use file:// URLs for local media:
statuz://compose?media=file:///Users/username/Pictures/image.png
Multiple files (comma-separated):
statuz://compose?media=file:///path/1.png,file:///path/2.jpg
Use ISO 8601 for dates:
Questions or issues with the URL Scheme API?