Requests and responses Required
Send dates as RFC 3339 with a time zone
Write every moment in time as an RFC 3339 string with a zone or offset. Write a calendar date with no time as YYYY-MM-DD.
How to do it
Store and send instants in UTC, such as 2026-11-03T09:00:00Z. Send the user's IANA time zone as a separate field when it matters, such as Europe/Stockholm. Never send local times without an offset, or numbers that might be seconds or milliseconds.
Example
{ "deliveredAt": "2026-11-03T09:00:00Z", "deliveryDate": "2026-11-03", "timeZone": "Europe/Stockholm" }
How to check
Turn on format checks in the validator. A JSON Schema with format: date-time validates every response in the contract tests, and no timestamp lacks Z or an offset.
For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers api design playbook: https://agentwranglers.se/playbook/api-design/requests-and-responses/dates-and-times.