Proyectos multi-tenant
Proyectos por usuario con Row-Level Security de Postgres. Crea tokens API por proyecto limitados a un solo tenant — las fugas nunca cruzan proyectos.
Self-hosted · Licencia MIT
Una alternativa ligera al ingress hospedado tipo QStash. Cola multi-tenant, entrega HTTP con reintentos, schedules cron y grupos de mensajes con orden estricto — todo sobre tu propio Postgres.
Seis primitivas. Un Postgres. Cero dependencias hospedadas.
Proyectos por usuario con Row-Level Security de Postgres. Crea tokens API por proyecto limitados a un solo tenant — las fugas nunca cruzan proyectos.
Bearer pk_xxx:sk_yyy, hasheado con bcrypt en reposo. Mostrado una sola vez al crearlo, revocable al instante desde el dashboard.
POST de un job HTTP: origin, path, method, headers, body, reintentos, opcional runAt o delaySeconds, opcional idempotencyKey.
Un origin + varios paths, ejecutados en orden estricto. Postgres impone el orden de hermanos al momento del claim — sobrevive a reinicios y a múltiples workers.
Expresión cron + timezone por fila. Un tick central de dispatch encola los schedules vencidos; schedule_runs deduplica workers solapados.
Los intentos fallidos pasan a pending_retry con backoff. Tras max_retries: dead. Cada intento queda registrado en delivery_attempts.
Funciona con curl, con el SDK, o con cualquier cliente HTTP.
curl -X POST https://api.passthatpayload.com/api/v1/messages \
-H "Authorization: Bearer pk_xxx:sk_yyy" \
-H "Content-Type: application/json" \
-d '{
"origin": "https://api.example.com",
"path": "/hooks/order-created",
"body": { "orderId": 42 },
"maxRetries": 5
}'Lo que de otro modo tendrías que construir tú.
Toma un evento entrante y despáchalo a muchas URLs downstream, cada una con su propia política de reintentos. No pierdas ni una entrega por una API third-party inestable.
Programa expresiones cron por fila. Un único tick central de dispatch dispara los vencidos — sin cron del SO por schedule, sin Vercel-cron por job.
¿Necesitas que el paso 2 espere al paso 1? Los grupos de mensajes garantizan el orden a nivel de base de datos — incluso entre múltiples dispatchers.
El mismo motor, dos formas de ejecutarlo.
| Característica | Hospedada | Self-host |
|---|---|---|
| Infraestructura | Corre en api.passthatpayload.com — cero ops para ti. | Un contenedor + Postgres en tu servidor. Runbook de Hetzner en el README. |
| Propiedad de los datos | Guardados en nuestro Postgres compartido, aislados por proyecto vía RLS. | Tu base de datos, tus backups, tu retención. |
| Cuotas | Tier gratuito generoso durante la beta. | Sin cuotas — solo limitado por tu Postgres y tu ancho de banda. |
| Soporte | Comunidad + best-effort. | Comunidad + issues en GitHub. |
Gratis durante la beta. Self-host gratis para siempre.
Para todos los que usan la edición hospedada durante la beta.
Ejecuta Pass That Payload en tu propio servidor.
Cuotas más altas, SLA, soporte prioritario.