Zeridion Flare SDKs
Zeridion Flare provides official SDKs for .NET (GA), TypeScript/JavaScript (GA), Python (Beta), Go (Beta), Java (Beta), PHP (Beta), and Ruby (Beta). All SDKs talk to the same REST API, so jobs enqueued from one language are visible and manageable from any other.
Status legend: GA = stable, semver-tracked, production-recommended · Beta = feature-complete REST client, breaking changes possible until 1.0 · Coming soon = published placeholder package only.
Install
| SDK | Package | Min runtime |
|---|---|---|
| .NET | dotnet add package Zeridion.Flare --prerelease | .NET 6 / .NET Standard 2.1 |
| TypeScript / JS | npm install @zeridion/flare | Node 20+ or modern browser |
| Python | pip install zeridion-flare | Python 3.10+ |
| Go | go get github.com/zeridion/flare-go | Go 1.22+ |
| Java | com.zeridion:flare (Maven Central) | Java 17+ (LTS) |
| PHP | composer require zeridion/flare-php | PHP 8.2+ |
| Ruby | gem install zeridion-flare | Ruby 3.1+ |
Feature parity matrix
| Feature | .NET | TypeScript / JS | Python | Go | Java | PHP | Ruby |
|---|---|---|---|---|---|---|---|
| Enqueue job | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Schedule job (delay / run-at) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cancel job | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Retry job | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Get job status | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| List jobs (filter + pagination) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Job continuations (parent→child) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Worker poll + ack | ✓ (built-in) | ✓ (manual) | ✓ (manual) | ✓ (manual) | ✓ (manual) | ✓ (manual) | ✓ (manual) |
| Built-in worker host | ✓ (IJob<T> + DI) | — | — | — | — | — | — |
Recurring jobs (IRecurringJob) | ✓ | — | pending | — | — | — | — |
| DI / IoC integration | ✓ | — | — | — | — | — | — |
| Idempotency key | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Request-id (X-Request-Id) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Custom tags | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Progress reporting | ✓ | — | pending | — | — | — | — |
| Webhook signature verification | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Alerts (webhook sink) | pending | pending | pending | pending | pending | pending | pending |
| Outbound webhooks (CRUD + deliveries) | REST only | REST only | REST only | REST only | REST only | REST only | REST only |
| Audit log export | REST only | REST only | REST only | REST only | REST only | REST only | REST only |
| Job bulk export | REST only | REST only | REST only | REST only | REST only | REST only | REST only |
| Typed error hierarchy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Legend: ✓ = available now · pending = on roadmap · — = not applicable to this SDK's model · REST only = available via direct REST call, no SDK helper yet
SDK design philosophy
.NET SDK
The .NET SDK is a fully integrated worker framework. It provides IJob<TPayload> / IRecurringJob interfaces, a built-in background worker that polls and executes jobs inside your process, DI/IoC registration via AddZeridionFlare, and a typed IJobClient for enqueueing. No external worker process needed.
Best for: ASP.NET Core apps and Worker Services that want zero-infra, in-process execution.
TypeScript / JavaScript SDK
The TypeScript SDK is a thin REST client (FlareClient). It covers the full job management API — create, get, list, cancel, retry, poll, ack — but does not include a built-in worker host or job routing framework. Bring your own worker loop.
Best for: Next.js backends, Node services, edge functions, or any frontend tool that needs to enqueue jobs.
Python SDK
The Python SDK offers the same REST client surface as the TypeScript SDK — create_job, get_job, list_jobs, cancel_job, retry_job, poll_workers, ack_worker, plus the typed error hierarchy (AuthError, QuotaError, NotFoundError, ConflictError, RateLimitError) and verify_webhook for inbound webhook signature verification. The client is synchronous (sits on top of httpx); write your own poll-and-ack loop the same way the TypeScript SDK does.
Best for: data pipelines, ML inference queues, and Django/FastAPI backends.
Go / Java / PHP / Ruby SDKs
These four share the REST client tier alongside TypeScript and Python: a single client struct/class (flare.Client, FlareClient, Zeridion\Flare\FlareClient, Zeridion::Flare::Client) that wraps every endpoint with idiomatic per-language ergonomics — context-cancellation in Go, the builder pattern in Java, PHP 8 named arguments, Ruby keyword args. All four expose the same typed error hierarchy (Auth*, Quota*, NotFound*, Conflict*, RateLimit*) and a verifyWebhook / verify_webhook / Webhook::verify helper for inbound webhook signature verification. None ship a built-in worker host — bring your own poll loop.
Best for: enqueueing jobs from Go services, Spring Boot apps, Laravel/Symfony backends, and Rails apps.
SDK reference docs
| SDK | Reference |
|---|---|
| .NET | IJob · IJobClient · IRecurringJob · JobContext · JobOptions · JobState · Exceptions · Service extensions |
| TypeScript / JS | FlareClient · Types · Errors |
| Python | Overview |
| Go | Overview |
| Java | Overview |
| PHP | Overview |
| Ruby | Overview |
REST API
All SDKs wrap the same REST API. If you need a language not covered above, or want full control, use the API directly. See the API Reference and download the Postman collection.
See also
- TypeScript client —
FlareClientmethods, types, and worker loop - Python SDK —
flarepackage quickstart and reference - IJob<T> — the .NET-flavour interface every SDK mirrors