Rootless

Automate iOS, iPadOS, and macOS using plain JavaScript. Build custom widgets and interact directly with native APIs.

Download on the App Store
Rootless app interface

Plain JavaScript

Supports ES6. Scripts are stored as plain .js files on your disk.

Native APIs & Documentation

Integrate directly with iOS native APIs. Fully documented, available offline.

Siri Shortcuts

Trigger scripts via Siri. Present tables, websites, and custom HTML natively.

System Integration

Run from the Share Sheet, process inputs, and manage local files via Files.app.

x-callback-url

Communicate seamlessly and trigger workflows with other apps on your device.

Customizable & Ready

Tailor the code editor to your liking. Includes several example scripts to start immediately.

Documentation

Also inside the app, or as rootless.json.

HttpResponse

What a request returns

Returned by every Http call. text and json read the body; ok is true for a 2xx status.

Properties

okBoolean

True if status 200-299

statusNumber

HTTP status code

textString

Body as string

jsonAny

Parsed JSON or null

headersAny

Response headers (lowercase keys)

urlString

Final URL (after redirects)

staleBoolean

True if from stale cache

mimeTypeString

Response MIME type

errorString

Why the request failed, or absent when it did not: "timeout", "network_error" or "server_error". Http never throws for a transport failure. Check ok and branch on this.