Skip to main content
Horizons is self-hostable. The HTTP APIs and SDKs documented here run on your Horizons deployment, not on Synth’s hosted infrastructure.Synth-hosted Horizons is planned, but not available today.
Horizons is a general-purpose agent platform. It provides:
  • Tenant-isolated storage (Postgres, Turso/libsql, S3, Redis, Helix)
  • Event Sync (publish/subscribe, routing, retries)
  • Context Refresh (connectors that ingest external data into durable context)
  • Core Agents (agent specs, execution, action proposals, approvals)
  • Sandboxed execution (Rhodes adapter)
  • Optional: Memory, Optimization, Evaluation
This documentation describes the Horizons HTTP API (horizons_rs) and SDKs.

Built on Horizons

Horizons is used as a reusable platform layer, with apps implemented in separate repositories/workspaces.
  • OpenRevenue (public): revenue ops app with context refresh, agent sessions, approvals, and audit workflows.
  • Dhakka (private/internal): runs on Josh’s Mac mini as the local dev manager for the workspace. It pairs Gmail/Calendar/iMessage connectors with permissioned action execution to oversee local dev infrastructure, CI/CD gating, and planning workflows.
Dhakka now doubles as a service coordinator for the workspace:
  • Service discovery & orchestration — tracks the lifecycle, ports, and health of local backend services so Josh and the team can start, stop, and replace components without juggling manual scripts.
  • Git hook automation — integrates with local pre-commit/pre-push hooks to run CI suites, linting, and smoke checks before code leaves the machine.
  • Planning manager — keeps a lightweight task board, priority cues, and scheduling helpers (Linear sync or standalone notes) so planning stays close to the workspace operations it enables.
See: Built on Horizons

Concepts

Tenant headers

Most Horizons endpoints require an x-org-id header. For local dev, you can use any UUID as your org id. Horizons uses x-org-id for tenant isolation. For production, treat x-org-id as a hard tenant boundary and enforce it at the edge (gateway, auth middleware, etc.).