ReferenceHTTP API

Limits and quotas

Every bound the service enforces, in one table.

Routine fields

FieldBound
name3–100 characters
descriptionup to 500 characters
instructions20–20,000 characters
model1–200 characters, must exist in the directory
schedule.cron5–120 characters, exactly five fields
schedule.timezone1–100 characters, a valid IANA identifier
limits.maxSteps1–25
limits.timeoutSeconds30–1200 (20 minutes)
variablesany JSON object; only strings and numbers substitute
webhookUrla valid URL

Connection fields

FieldBound
name2–100 characters
urla valid URL, up to 2,048 characters
headersup to 50 entries
header name1–100 characters
header valueup to 4,096 characters

Organization and project fields

FieldBound
name2–100 characters

API keys

PropertyValue
Name1–80 characters
Scopesat least one, from the seven available
Formatwor_<prefix>_<secret> — 10 hex characters, then a 24-byte base64url secret
StorageSHA-256 hash only; plaintext shown once

Execution

BoundValue
Model steps per runthe routine's maxSteps, at most 25
Wall clock per runthe routine's timeoutSeconds, at most 1,200 seconds
Stored run outputtruncated at 100,000 characters
Worker concurrencybounded; runs are claimed atomically from Postgres
Operations tick intervalone minute

HTTP

BoundValue
Rate limitper credential, fixed 60-second window
Rate limit headersX-RateLimit-Limit, X-RateLimit-Remaining, Retry-After on 429
Request body1 MB on /v1
CORSthe configured UI_ORIGIN only, with credentials

The rate limit key combines the project, the credential kind, and the credential identity — so two API keys in the same project have independent budgets, and a session does not consume a key's allowance.

Webhook delivery

BoundValue
Attempts4
Backoff30 seconds, doubling per attempt, capped at 30 minutes
Jitteradded to every scheduled retry
Request timeout10 seconds
Replay window5 minutes, enforced by the receiver against the timestamp
Redirectsnot followed

OAuth

BoundValue
state life10 minutes
state usesingle use, bound to the user and the active project
PKCES256 for PostHog; GitHub OAuth apps use the client secret

On this page

Edit this page on GitHub