Hi André,
This is expected behaviour and not actually a bug.
Why Swagger shows “double” for Decimal in OutSystems
OpenAPI/Swagger does not have a first-class “decimal” type.
In the OpenAPI specification, all numeric types fall under:
type: numberformat: float | double
Since OutSystems Decimal is a high-precision numeric type and Swagger needs to map it to one of the available formats, it chooses double, which is the closest match available in OpenAPI.
So, what you’re seeing is simply a limitation of the Swagger/OpenAPI type system, not an error in OutSystems.
Does this affect API behaviour?
No. Even though Swagger displays double, OutSystems will still parse and handle the value as a high-precision Decimal internally. The conversion only affects the documentation, not the runtime behaviour.
If you need Swagger to explicitly show a different format
You can override it using the OpenAPI extension attributes and define a custom format such as:
type: numberformat: decimal
However, tools that consume Swagger might ignore the custom format since it’s not standard.
Let me sumup to you:
OutSystems Decimal → Swagger “double” (because Swagger has no decimal type)
Runtime precision is preserved
Documentation mapping only
Custom format is possible but not widely supported
Hope this clarifies it!
Best regards,
Miguel