{"uid":"cap_nzqL6Ki81bDxxIdbUVlfD","slug":"402utils-cron-next-occurrences-b15a0a7d","name":"402utils Cron Next Occurrences","description":"Next occurrences of a cron expression in any IANA time zone, DST-aware via the runtime's ICU tzdb (times skipped by DST shift forward by the gap; ambiguous times fire once). Dialect (croner): 5-7 fields with optional seconds and year, ranges, steps, lists, JAN-DEC/SUN-SAT names, L, W, #, ? and @daily-style aliases. Each occurrence is returned as local ISO with offset plus UTC. Bad expression → 400 naming the offending field.","url":"https://402utils.com/v1/cron-next","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["expr"],"properties":{"tz":{"type":"string","description":"IANA zone for evaluation (default UTC)."},"expr":{"type":"string","description":"Cron expression, e.g. */15 9-17 * * 1-5."},"from":{"type":"string","description":"ISO 8601 start instant, exclusive (default now). Without an offset it is wall time in `tz`."},"count":{"type":"integer","description":"Occurrences to return, 1-50 (default 5)."}},"description":"Query params. `expr` is required; the rest have defaults."}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["expr","timezone","from","count","occurrences"],"properties":{"expr":{"type":"string"},"from":{"type":"string","description":"The start instant in `timezone`, ISO with offset."},"note":{"type":"string","description":"Present when fewer occurrences exist than requested."},"count":{"type":"integer","description":"Number of occurrences actually returned."},"timezone":{"type":"string"},"occurrences":{"type":"array","items":{"type":"object","required":["local","utc"],"properties":{"utc":{"type":"string"},"local":{"type":"string","description":"ISO in `timezone`, with offset."}}}}},"additionalProperties":false}}}}},"responseSchema":{"type":"json","example":{"expr":"*/15 9-17 * * 1-5","from":"2026-07-03T18:50:00+02:00","count":2,"timezone":"Europe/Paris","occurrences":[{"utc":"2026-07-06T07:00:00.000Z","local":"2026-07-06T09:00:00+02:00"},{"utc":"2026-07-06T07:15:00.000Z","local":"2026-07-06T09:15:00+02:00"}]}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8rIj6B7990d6nMXF93o1O","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns the next N occurrences of a cron expression in a specified IANA time zone, with DST-aware scheduling and full ISO 8601 timestamps.","exampleAgentPrompt":"What are the next 10 times that the cron expression '0 9 * * 1-5' will fire, starting now, in the America/New_York timezone?","exampleUseCases":null,"resultDescription":"A JSON object containing the echoed expression, timezone, start instant, occurrence count, and an array of occurrences each with a local ISO timestamp (with UTC offset) and a UTC ISO timestamp. If fewer occurrences exist than requested, a note field is included.","failureModes":["Invalid cron expression → 400 error naming the offending field","Unsupported or misspelled IANA timezone → 400 error","count out of range (below 1 or above 50) → 400 error","Malformed ISO 8601 'from' parameter → 400 error","Missing required 'expr' query parameter → 400 error"],"whenToPreferThis":"Use this endpoint when you need to preview, debug, or schedule based on a cron expression and require DST-aware results in a specific IANA timezone. It supports the extended croner dialect (5-7 fields, seconds, year, L/W/# modifiers, named months/days, @aliases), making it more expressive than basic 5-field cron parsers. Prefer it over general-purpose scheduling APIs when you only need occurrence calculation without side effects.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-16T00:53:27.569Z","isFirstParty":false}