Open source · Postgres-native · Free during beta, no card

Schedule anything.

HTTP jobs that fire on time, every time. POST a URL and a fire time — a one-off job, a cron schedule, or an ordered buffer — and Fliq schedules, retries, and rate-limits it, survives crashes, and keeps every attempt on record. No queues to run. No workers to babysit.

100,000 executions free, every single day

jobs picked up in under 2 seconds

nothing gets lost — every attempt retried & recorded

nothing to run — no queues, brokers, or cron boxes

Why Fliq

Stop rebuilding the same plumbing.

The cron box that became a pet.
The retry table with hand-rolled backoff.
A token bucket per third-party API.
Heartbeats, reapers, dead-letter queues.
The job dashboard nobody finished.

Fliq replaces the lot with one REST API — and shows you every attempt it ever made.

Three primitives

Jobs. Schedules. Buffers.

Everything is plain HTTP in, plain HTTP out. Pick the shape that fits, and Fliq handles execution, retries, ordering, and history.

01 / JOBS

Fire-and-forget HTTP

POST /jobs

POST a URL, method, headers, body, and a time. Fliq executes it on the dot, retries with exponential backoff and jitter, and records every attempt — status code, duration, error. Cancel it, query it, or get a webhook when it completes.

idempotency keys · per-job timeouts up to 1h · webhook callbacks

02 / SCHEDULES

Cron without the box

POST /schedules

Standard five-field cron expressions that fire real jobs. Pause and resume on demand, trace every run back to its schedule, and forget thundering catch-up bursts after downtime — missed runs skip, by design.

5-field cron · pause / resume · per-run job history

03 / BUFFERS

Outbound rate limiting

POST /buffers/:id/items

Point a buffer at a rate-limited API and push as fast as you like. Fliq delivers in strict submission order, at your configured rate, one item in flight at a time — and honors Retry-After when the target pushes back.

strict FIFO · 1–1000 req/s · retries that don’t break order

One call

If you can curl, you can ship it.

No SDK required, no infrastructure to stand up. One authenticated request and your job is durable, retried, and auditable.

  • Idempotent by default — pass an idempotency key and re-POST safely.
  • Webhook callbacks — get notified on completion or final failure.
  • Signed requests — optional HMAC-SHA256 so your endpoint can verify origin.
terminal — fliq
# pay an invoice tomorrow at 9am, retry up to 5 times
$ curl -X POST https://api.fliq.sh/jobs \
    -H "Authorization: Bearer fliq_sk_live_…" \
    -d '{
      "url": "https://api.stripe.com/v1/invoices/in_1JX/pay",
      "method": "POST",
      "scheduled_at": "2026-06-12T09:00:00Z",
      "max_retries": 5,
      "backoff": "exponential",
      "webhook_url": "https://you.dev/hooks/fliq"
    }'
 
201 Created
{ "id": "job_8f2…", "status": "pending" }
Buffers

Never get 429’d again.

Create a buffer with a target URL and a rate — say 5 req/s. Push ten thousand items. Fliq delivers them in submission order, at most that fast, one in flight at a time. Failures retry in place without breaking order, and a 429’s Retry-After is honored without burning the item’s retry budget.

strict FIFO ordering token bucket per buffer stable X-Fliq-Delivery-Id webhook on completion
buffer: stripe-invoices 5 req/s
429 — honoring Retry-After
your
API

queueing items…

Reliability

Guarantees you can audit, not a slogan.

Fliq is young, so we don’t quote invented uptime numbers — we show our live production status and design for failure instead.

At-least-once delivery

Every call carries a stable X-Fliq-Delivery-Id across retries and crash recovery — dedupe on your side with one header.

Crash recovery in ~30s

Workers heartbeat every 10 seconds. A reaper notices the silence, rescues the job, and retries it. Your job outlives our process.

Sub-2s pickup

Pending jobs are claimed within about two seconds of their fire time — indexed polling, no batch windows.

Backoff with jitter

Exponential 30s → 1h cap with ±25% jitter, or linear — your choice, per job. Retries that don’t stampede your target.

Signed requests

Optional X-Fliq-Signature (HMAC-SHA256 over timestamp, method, URL, body) so your endpoint can verify every request’s origin.

Full attempt history

Every execution is recorded — worker, status code, duration, error — and queryable per job. When something fails at 3am, you can see exactly why.

Architecture

No Redis. No Kafka. Just Postgres.

Job claiming is FOR UPDATE SKIP LOCKED. The rate limiter is a token bucket stored in a row, refilled in the same atomic UPDATE that claims the next item — correct across replicas, with no coordinator to operate. One database. Boring, the way infrastructure should be.

Pricing

A dollar goes a stupidly long way.

One credit per execution attempt. Retries included in the math, so the bill is never a surprise. See full pricing →

Free
$0
  • 100,000 executions every day
  • Jobs, schedules, and buffers — all of it
  • Refreshes daily at UTC midnight
  • No card required
Start free
Pay as you go
$1 / 100,000 executions
  • 1 credit = 1 attempt, retries included
  • Top up via Stripe, any amount
  • Immutable transaction ledger
  • Credits never expire
Get started

Free during the beta — generous limits, real production API.

FAQ

Questions, answered straight.

What counts as one execution?

One attempt to call your target URL. Retries count as separate executions — one credit each, no hidden multipliers. $1 buys 100,000 executions, and the free tier refreshes 100,000 every day at UTC midnight.

What are the delivery guarantees?

At-least-once. Every call carries a stable X-Fliq-Delivery-Id header that survives retries and crash recovery, so your endpoint can deduplicate safely. Buffers additionally guarantee strict submission order with one item in flight at a time.

What happens if a worker crashes mid-job?

Workers heartbeat every 10 seconds while executing. A reaper process detects the silence within about 30 seconds, rescues the orphaned job, and retries it with the same delivery ID. Nothing is lost and nothing fires twice without you being able to detect it.

How do buffers handle a 429 from my target?

Fliq honors the Retry-After header and waits exactly as long as the API asked — without burning the item’s retry budget and without breaking submission order. Successors wait their turn; nothing is reordered or dropped.

Can my endpoint verify a request really came from Fliq?

Yes. Enable request signing and every outbound call includes X-Fliq-Timestamp and X-Fliq-Signature headers — an HMAC-SHA256 over the timestamp, method, URL, and body. Rotate the secret any time via the API.

Is Fliq open source?

Yes — the Go backend and the dashboard are open source at github.com/fliq-sh. Fliq is free during the beta: 100,000 executions a day, no card required.

Can AI agents use Fliq?

Yes. Fliq ships an MCP server, so agents can schedule jobs and rate-limit their own outbound API calls in natural language — useful for agents that talk to Stripe, Shopify, or LLM providers without tripping rate limits.

Ship the job. Skip the infrastructure.