79trust / 100

Cron Next

by Schedule & Timezone Tools in Weather & location

x402 APIPassing, checked 23 min ago

Cron next-run calculator — generate future times for bounded five-field POSIX cron schedules in IANA timezones with explicit daylight-saving (DST) policies.

POST https://schedule-tools.use.x402atlas.com/cron-next

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
462 ms typical, 507 ms slowest 5%
Last check
23 min ago
Next check
in 8 min

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://schedule-tools.use.x402atlas.com/cron-next" \
  -H "content-type: application/json" \
  -d '{"after":"2024-03-28T12:00:00Z","ambiguous_time":"reject","count":5,"expression":"0 9 * * 1-5","nonexistent_time":"shift_forward","timezone":"Europe/London"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fschedule-tools.use.x402atlas.com%2Fcron-next
const res = await pay("https://schedule-tools.use.x402atlas.com/cron-next", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"after":"2024-03-28T12:00:00Z","ambiguous_time":"reject","count":5,"expression":"0 9 * * 1-5","nonexistent_time":"shift_forward","timezone":"Europe/London"}),
});
console.log(await res.json());

Example input

{
  "after": "2024-03-28T12:00:00Z",
  "ambiguous_time": "reject",
  "count": 5,
  "expression": "0 9 * * 1-5",
  "nonexistent_time": "shift_forward",
  "timezone": "Europe/London"
}

Example output

{
  "after": "2024-03-28T12:00:00Z",
  "algorithm_version": "schedule-v1",
  "ambiguous_time": "reject",
  "candidate_minutes_checked": 11460,
  "count": 5,
  "expression": "0 9 * * 1-5",
  "go_toolchain_version": "go1.26.3",
  "iana_tzdata_version": "2026a",
  "nonexistent_time": "shift_forward",
  "occurrences": [
    {
      "local": {
        "abbreviation": "GMT",
        "local_time": "2024-03-29T09:00:00+00:00",
        "offset_seconds": 0,
        "timezone": "Europe/London"
      },
      "utc": "2024-03-29T09:00:00Z"
    },
    {
      "local": {
        "abbreviation": "BST",
        "local_time": "2024-04-01T09:00:00+01:00",
        "offset_seconds": 3600,
        "timezone": "Europe/London"
      },
      "utc": "2024-04-01T08:00:00Z"
    },
    {
      "local": {
        "abbreviation": "BST",
        "local_time": "2024-04-02T09:00:00+01:00",
        "offset_seconds": 3600,
        "timezone": "Europe/London"
      },
      "utc": "2024-04-02T08:00:00Z"
    },
    {
      "local": {
        "abbreviation": "BST",
        "local_time": "2024-04-03T09:00:00+01:00",
        "offset_seconds": 3600,
        "timezone": "Europe/London"
      },
      "utc": "2024-04-03T08:00:00Z"
    },
    {
      "local": {
        "abbreviation": "BST",
        "local_time": "2024-04-04T09:00:00+01:00",
        "offset_seconds": 3600,
        "timezone": "Europe/London"
      },
      "utc": "2024-04-04T08:00:00Z"
    }
  ],
  "operation": "cron-next",
  "timezone": "Europe/London",
  "tzdata_source": "bridge-embedded",
  "warnings": []
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
23 min agoPassed402474 ms$0.005
4 h agoPassed402462 ms$0.005
7 h agoPassed402434 ms$0.005
11 h agoPassed402507 ms$0.005
15 h agoPassed402477 ms$0.005
19 h agoPassed402425 ms$0.005
22 h agoPassed402414 ms$0.005
26 h agoPassed402506 ms$0.005
29 h agoPassed402444 ms$0.005
32 h agoPassed402417 ms$0.005
37 h agoPassed402559 ms$0.005