AVAILABLE
Scheduling
Timezone & Schedule Guard
Resolve local wall times, convert absolute instants, validate schedule windows, and expose IANA offset transitions without geolocation or natural-language guessing.
CONTRACT
Predictable for agents. Legible for reviewers.
- REST
POST /v1/time/resolve-local- MCP tool
resolve_local_time- Inputs
- An explicit local datetime and IANA zone, one RFC 3339 instant plus up to 20 target zones, or a bounded schedule/transition interval depending on the operation.
- Returns
- Unique, ambiguous, or nonexistent local-time resolution; zone conversions; exact and wall-clock durations; or one-second offset-transition evidence with a CLEAR, REVIEW_REQUIRED, or BLOCKED decision.
- Latency
- Synchronous
- Usage unit
- Time operation
The focused suite also exposes /v1/time/convert, /v1/time/window-check, and /v1/time/transition-check plus the separate /mcp/time server. It supports 1970 through 2100 using the pinned tzdata package, stores no payload, infers no zone from a city, IP, locale, or abbreviation, and never silently shifts a nonexistent time or chooses an ambiguous fold.
AGENT-READABLE EXCEPTIONS
LOCAL_DATETIME_INVALIDTIME_ZONE_NOT_FOUNDLOCAL_TIME_AMBIGUOUSLOCAL_TIME_NONEXISTENTINSTANT_RFC3339_REQUIREDSCHEDULE_WINDOW_NOT_FORWARDSCHEDULE_WALL_DURATION_DIFFERSOFFSET_TRANSITION_IN_WINDOWHTTP request
POST /v1/time/resolve-local
Authorization: Bearer apc_...
Content-Type: application/json
{
"local_datetime": "2026-11-01T01:30:00",
"time_zone": "America/New_York",
"disambiguation": "EARLIER"
}cURL (bash)
curl --request POST \
--url 'https://api-production-9502.up.railway.app/v1/time/resolve-local' \
--header 'Authorization: Bearer ${AP_CONTROL_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
"local_datetime": "2026-11-01T01:30:00",
"time_zone": "America/New_York",
"disambiguation": "EARLIER"
}'Representative response
{
"status": "COMPLETED",
"decision": "CLEAR",
"resolution": "AMBIGUOUS",
"local_datetime": "2026-11-01T01:30:00",
"time_zone": "America/New_York",
"disambiguation": "EARLIER",
"candidates": [
{
"fold": 0,
"instant_utc": "2026-11-01T05:30:00Z",
"local_datetime": "2026-11-01T01:30:00-04:00",
"utc_offset": "-04:00",
"utc_offset_seconds": -14400,
"abbreviation": "EDT",
"is_dst": true
},
{
"fold": 1,
"instant_utc": "2026-11-01T06:30:00Z",
"local_datetime": "2026-11-01T01:30:00-05:00",
"utc_offset": "-05:00",
"utc_offset_seconds": -18000,
"abbreviation": "EST",
"is_dst": false
}
],
"chosen": {
"fold": 0,
"instant_utc": "2026-11-01T05:30:00Z",
"local_datetime": "2026-11-01T01:30:00-04:00",
"utc_offset": "-04:00",
"utc_offset_seconds": -14400,
"abbreviation": "EDT",
"is_dst": true
},
"gap_seconds": null,
"fold_0_offset_seconds": -14400,
"fold_1_offset_seconds": -18000,
"tzdata_package_version": "2026.3",
"issues": [
{
"code": "LOCAL_TIME_AMBIGUITY_RESOLVED",
"severity": "INFO",
"message": "The duplicated wall time was resolved using the caller's explicit policy.",
"next_action": "Use the chosen absolute instant and retain the disambiguation policy with the schedule.",
"evidence": {
"selected": "EARLIER",
"chosen_instant": "2026-11-01T05:30:00Z"
}
}
],
"input_sha256": "95ef...",
"next_action": "Use the chosen absolute instant and preserve the explicit fold policy."
}Use Timezone & Schedule Guard through RapidAPI.
Choose a capped marketplace plan, copy the generated request, and route the structured result through your own authorized workflow.