Data types

All API endpoints are expecting a data input of application/json and the responses will also always be in application/json.

The Upodi API use several different data types. Data types will follow these policies:

Data typeDescriptionExample
currenciesAll currencies are handled as floats. They are formatted by US numeric standard, with up to three digits.490.281,900
date and timeDate and time is expected to be in UTC timezone ("yyyy-MM-ddTHH:mm:ssZ"). Be sure to correct your local inputs to UTC timezone.2024-06-15T13:45:30
numbersAll numbers (integers, doubles, and floats) are formatted by US numeric standard.3.390.281,90
guidAll IDs are guid (UUID) formatted using 128 bit. Use online tool0f9aeed3-7c54-4cae-976a-dc35ed4f09ce

Date and Time

When you provide dates via the API, they should be in UTC (Coordinated Universal Time) and DST (Daylight Saving Time) corrected format. We do not alter or correct these dates.

However, when Upodi processes the data you enter via the API (for example a subscription renewal), it takes into account the timezone configuration set by your tenant settings. The processed dates are then stored in UTC only.

Daylight Savings Time

Timezones and dates are often leading to issues in conjunction with Daylight Savings Time (DST).

Remember that Upodi will never correct your dates and times. We basically keep the original date and time intact according to your tenant timezone. When you input UTC 2024-06-15T13:45:30 we store that directly.

In addition, if you have chosen a timezone which uses DST we will correct the dates we calculate going forward to the correct new date and time depending on your DST. This typically involves subtracting and detracting a specific amount of hours, depending on your timezone.

DST Example:

If you are operating from the CET (Central European Time) which is also UTC+1, then your local time for start of day would naturally be 2024-02-15T00:00:00.000 but corrected to UTC it would have to be corrected to 2024-02-14T23:00:00.000 (-1 hour) in order to achieve a local start date of start of day. If you proceed to just input 2024-02-15T00:00:00.000 directly that would translate to 2024-02-15T01:00:00.000 in your local time.

On the contrary, when we move across the DST into summer time 2024-04-18T00:00:00.000 as an example would have to be corrected to 2024-04-17T22:00:00.000 (-2 hours).

👍

Did you know?

Businesses tend to align their dates towards the start of day in order for subscriptions to start processing immediately at the switch of day.

In Upodi, however, you don't have to do that. You can input any date and time and we will continue to respect the choice of billing time. This could be in the case where your usage data comes in at the last minute before midnight.