Automation

Preview a trigger schedule

Validate a schedule and preview up to five future firing times.

Validate a schedule and preview up to five future firing times. The timezone is validated and a readable description is returned, without creating a trigger or run.

POST /automation/v1/triggers/preview

Authentication

Authorization: Bearer $PRAXIS_API_KEY

Request fields

ParameterTypeDescription
header: Accept-Languagestringoptional; Language for the readable description; supports Chinese (default) and English by language quality preference.

application/json

no additional fields.

FieldTypeDescription
scheduleobject / object / objectrequired; Choose a five-field cron (L/W/# supported), every of at least one minute, or at with a timezone. Uses the same validation as creation; at must be between now and one year ahead; every must resolve to positive integer milliseconds no longer than 366 days.
schedule (variant 1).cronstringrequired; Five fields; supports L, W, #. DST gaps skip the day and overlaps run once.
schedule (variant 2).everystring / objectrequired; A duration: an ISO 8601 string such as PT5M, or an object with days, hours, minutes, seconds and milliseconds. It must convert to a whole number of milliseconds between 60000 and 31622400000 (1 minute to 366 days).
schedule (variant 2).every (variant 2).daysintegeroptional; Number of days, a non-negative integer. minimum: 0
schedule (variant 2).every (variant 2).hoursintegeroptional; Number of hours, a non-negative integer. minimum: 0
schedule (variant 2).every (variant 2).minutesintegeroptional; Number of minutes, a non-negative integer. minimum: 0
schedule (variant 2).every (variant 2).secondsintegeroptional; Number of seconds, a non-negative integer. minimum: 0
schedule (variant 2).every (variant 2).millisecondsintegeroptional; Number of milliseconds, a non-negative integer. minimum: 0
schedule (variant 3).atstringrequired; One-time firing instant with a Z or ±HH:MM timezone, between the request time and one calendar year later. Replace the example with a future instant in that range. pattern: "(Z|[+-]\d\d:\d\d)$"; format: "date-time"
timezonestringoptional; IANA timezone, default UTC. DST gaps are skipped and repeated local times fire once.

Examples

curl --fail-with-body -X POST "https://api.deepraxis.ai/automation/v1/triggers/preview" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "schedule": {
    "cron": "0 9 * * *"
  },
  "timezone": "UTC"
}'
import { createAutomationClient } from '@deepraxis/sdk/automation';

function env(name: string): string {
  const value = process.env[name];
  if (!value) throw new Error(`Set ${name}`);
  return value;
}
const automation = createAutomationClient({
  apiKey: env('PRAXIS_API_KEY'),
  baseUrl: 'https://api.deepraxis.ai',
  maxRetries: 0,
  timeoutMs: 90_000,
});
const result = await automation.triggers.preview({
  "body": {
    "schedule": {
      "cron": "0 9 * * *"
    },
    "timezone": "UTC"
  }
});
console.log(result);

Response

HTTP 200

Success

application/json

FieldTypeDescription
descriptionstringrequired; Human-readable description of the rule; common cron expressions are spelled out and others echo the expression. The language follows Accept-Language, Chinese by default.
next_fire_timesstring[]required; Up to the next 5 firing times for the rule and time zone (RFC 3339 UTC). maxItems: 5

Measured response

HTTP 200

{
  "description": "每天 09:00 · UTC",
  "next_fire_times": [
    "2026-10-13T09:00:00.000Z",
    "2026-10-14T09:00:00.000Z",
    "2026-10-15T09:00:00.000Z",
    "2026-10-16T09:00:00.000Z",
    "2026-10-17T09:00:00.000Z"
  ]
}

Errors

HTTPCodes and description
400INVALID_PARAMS: Invalid request parameters, path, cursor, or body format. SCHEDULE_INVALID: The schedule or time boundaries are invalid. TIMEZONE_INVALID: The timezone is not a valid IANA timezone. INTERVAL_TOO_SHORT: The schedule interval is shorter than one minute.
defaultRFC 9457 automation problem. 429 includes Retry-After.

Authentication and common errors · Retain the X-Request-Id response header for troubleshooting.

Export

On this page