Submission shape
POST /push.
Fields
| Field | Type | Required | Purpose |
|---|---|---|---|
input_key | string | ✓ | Object key of the source file in S3_INPUT_BUCKET. |
output_key | string | ✓ | Base prefix for all pipeline outputs in S3_OUTPUT_BUCKET. |
document_id | string | ✓ | Your own identifier. Included in events and webhook payloads. |
tasks | string[] | ✓ | One or more task names from the catalogue. |
vars | object | — | Task variables — e.g. encrypt_key. Merged with task-defined params. |
webhook | string | — | Per-job webhook URL. Combined with DEFAULT_WEBHOOK_URLS. |
tenant_id | string | — | Arbitrary tenant tag; surfaces in metrics and webhook payloads. |
Example pipelines
FDX → validated ScreenJSON
ScreenJSON → multi-format ZIP
Convert from Fountain, encrypt for distribution
How it runs
- A worker claims the job from Redis (
REDIS_INPUT_QUEUE). - It downloads
input_keyfrom object storage. - For each task in order, it invokes
greenlight.<handler>against the current working file. Outputs land in{output_key}/{task.output_dir}/{stem}.{ext}. - Results are written to
REDIS_RESULTS_QUEUEwith TTLREDIS_RESULTS_TTLhours. - Webhooks fire (per-job and defaults).
- Notifications fan out to any configured drivers.
Status and results
Track progress with:GET /results— paginated list of recent jobs.GET /results/{id}— one specific job, including per-task timings and output keys.GET /workers— live worker status.