Types

API Builder supports a rich set of primitive types common on the web. For type-safe languages, each maps to the appropriate native class — so your generated code works with real dates, decimals, and UUIDs instead of raw strings.

A Text & Identity

string

Unicode character sequence.

"This is a fox."

uuid

Universally unique identifier (string representation).

"5ecf6502-e532-4738-aad5-7ac9701251dd"

# Numbers

integer

32-bit signed integer.

10, 0, -10

long

64-bit signed integer. Use when values exceed 32-bit range.

10, 0, -10

decimal

Arbitrary-precision decimal. Ideal for currency values. Maps to BigDecimal in most languages.

10.12, 0.00, -10.12

double

Double-precision IEEE 754 floating-point number.

10.12, 0.00, -10.12

Date & Time

date-iso8601

Date in ISO 8601 format. Maps to LocalDate in Scala/Java.

"2014-04-29"

date-time-iso8601

Date-time in ISO 8601 format. Maps to DateTime / Instant in Scala/Java.

"2014-04-29T11:56:52Z"

time-iso8601

Wall-clock time of day, no timezone. Maps to LocalTime in Scala/Java and TIME in PostgreSQL.

"18:15:00"

Boolean

boolean

Standard boolean value.

true, false

{} JSON & Dynamic

json-value

Any valid JSON value. Maps to JsValue in Play/Scala, parsed Object in Ruby.

{}, [], "text", 10, null, true

object

JSON object specifically. Maps to JsObject in Play/Scala, Hash in Ruby.

{}

Binary

bytes

Represents binary data as a byte array. In JSON, encoded as a base64 string. Maps to Array[Byte] in Scala, bytea in PostgreSQL. Not allowed in URL path parameters.

"aGVsbG8="

Special

unit

Represents the absence of a value — used for responses like HTTP 204 No Content. Maps to void in Java, Unit in Scala, nil in Ruby.

Ready to define your API?

View api.json Format