diff --git a/lib/quby/compiler/entities/questions/float_question.rb b/lib/quby/compiler/entities/questions/float_question.rb
index 06a0a4c49b726f3ac606d97516984edb462d17eb..b3efb0ca9143c14657acc26113f047c96b971f08 100644
--- a/lib/quby/compiler/entities/questions/float_question.rb
+++ b/lib/quby/compiler/entities/questions/float_question.rb
@@ -5,6 +5,15 @@ module Quby
     module Entities
       module Questions
         class FloatQuestion < Question
+          def as_json(options = {})
+            super.merge(
+              minimum: minimum,
+              maximum: maximum,
+              step: 0.01, # fixed in v1.
+              # defaultPosition: default_position # Needs discussion, can be number or string "hidden"
+            )
+          end
+
           def size
             @size || 30
           end
diff --git a/lib/quby/compiler/entities/questions/integer_question.rb b/lib/quby/compiler/entities/questions/integer_question.rb
index e7746b6a5d3bfe6a53f8c78d654d2ba084196749..23737bfb8b0b81456cfb4d0b35ece4fd3d3e14b1 100644
--- a/lib/quby/compiler/entities/questions/integer_question.rb
+++ b/lib/quby/compiler/entities/questions/integer_question.rb
@@ -5,6 +5,15 @@ module Quby
     module Entities
       module Questions
         class IntegerQuestion < Question
+          def as_json(options = {})
+            super.merge(
+              minimum: minimum,
+              maximum: maximum,
+              step: 1, # fixed in v1.
+              # defaultPosition: default_position # Needs discussion, can be number or string "hidden"
+            )
+          end
+
           def size
             @size || 30
           end