Skip to content
Wire2AirWire2Air

Scheduling messages

Send a message later with DeliveryDateTime, in UTC, and convert local times correctly.

Last updated

Every send endpoint takes an optional delivery time. Leave it out to send now.

EndpointParameterTime zoneFormat (as documented)
REST: send a messageDeliveryDateTimeUTCMM/DD/YYYY HH:MM:SS
HTTP API: send SMSDeliveryDateTimeUTCMM/DD/YYYY HH:MM:SS
HTTP API: send MMSDeliveryDateTimeUTCMM/DD/YYYY HH:MM:SS
HTTP API: send invitationDELIVERYDATETIMEEastern Timefor example 1/1/2014 4:00 pm

Convert local time to UTC

Work out the UTC time in code rather than by hand: daylight saving time moves the offset twice a year.

For example, to deliver at 9:00 AM New York time on October 14, 2026 (Eastern Daylight Time, UTC−4), send:

DeliveryDateTime
10/14/2026 13:00:00

The same 9:00 AM on December 14, 2026 is Eastern Standard Time (UTC−5), so it is 12/14/2026 14:00:00.

Python 3
from datetime import datetime, timezone
from zoneinfo import ZoneInfo

local = datetime(2026, 10, 14, 9, 0, tzinfo=ZoneInfo("America/New_York"))
print(local.astimezone(timezone.utc).strftime("%m/%d/%Y %H:%M:%S"))  # 10/14/2026 13:00:00

Errors

Send MMS returns ERR:307: Invalid delivery date time. for a time it cannot read. Send invitation returns Err:722:The Delivery Date Time should be now or in the future for a time in the past.