Date and time formats used in Everhour API requests and responses, including timezone handling and duration encoding.
The Everhour API uses a small set of fixed string formats for all date and time values. None of these formats are ISO 8601 extended format, and Unix timestamps are not accepted or returned.
Do not use ISO 8601 extended format or Unix timestamps — the API will reject or misparse the value.
Use YYYY-MM-DD for all date parameters such as date, from, and to. Use YYYY-MM-DD HH:MM:SS for datetime fields. Use HH:MM for time-of-day fields.Date range parameters are inclusive on both ends. A request with from=2026-05-01&to=2026-05-31 returns records for every day from May 1 through May 31 inclusive.
Datetime fields such as createdAt and updatedAt are returned as YYYY-MM-DD HH:MM:SS with no timezone suffix. Treat all such values as UTC.Date-only fields are returned as YYYY-MM-DD.
The user object includes a timezone field that contains the user’s UTC offset as a float representing hours — for example, -5, 5.5, or 0. Values are restricted to whole and half hours. This is not an IANA timezone name.No timezone conversion is applied to datetime values in API responses. All datetimes are UTC-naive; apply the user’s timezone offset locally if you need to display times in the user’s local time.
amount fields on expenses and invoices are integers in the smallest currency unit (cents for USD/EUR). For example, 1500 represents $15.00. quantity fields are floats.
Fields that accept the DateTimeResettable type treat an empty string "" as a signal to clear the stored value rather than a parse error. This is the only way to unset such a field via the API.