Eagerly publish a variant's departures from its recurrence rule
const url = 'https://quikstik-core.fly.dev/departure-materializations';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"offering_variant_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","window_start":"example","window_end":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://quikstik-core.fly.dev/departure-materializations \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "offering_variant_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "window_start": "example", "window_end": "example" }'Projects the variant’s persisted timezone-aware recurrence over a bounded, inclusive
civil-date window (max 366 days) and idempotently ensures each occurrence as a departure
(natural key per — re-running a window is a no-op). Start-times only: capacity
remains the pool’s authority. DST-gapped occurrences are refused by name in the report,
never shifted. On-demand variants refuse (on_demand_variant); an unconfigured variant
refuses distinctly (recurrence_not_configured); an unknown variant is 404.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
First civil date (YYYY-MM-DD, inclusive, in the rule’s zone).
Last civil date (YYYY-MM-DD, inclusive). Window ≤ 366 days.
Example generated
{ "offering_variant_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "window_start": "example", "window_end": "example"}Responses
Section titled “Responses”Materialization report.
object
object
E.g. dst_gap — refused by name, never shifted
Example generated
{ "created": 1, "existing": 1, "refused": [ { "civil_date": "example", "clock": "example", "reason": "example" } ]}Unknown variant in this tenant.
Refused (on-demand variant, unconfigured recurrence, or invalid window).
Backend unavailable.