Data Types

Janrain reserves the following attributes:

Note: all primitive types can have the constraints: unique and required. For more information on constraints, please see the Constraints topic.

Data Types and Constraints

Type Primitive? JSON Type Notes
boolean Yes Boolean
date Yes String Subject to the Timestamp format. See example further down page.
dateTime Yes String Subject to the Timestamp format. See example further down page.
decimal Yes Number
id Yes Number  Not an externally usable type.
integer Yes Number
ipAddress Yes String
json Yes (any type) The JSON Type is unstructured data; it only has to be valid parseable JSON.
object No Object
password Yes String The default password encoding is bcrypt.
plural No Array Primitive child attributes of plurals can have the constraint
string Yes String
uuid Yes String Not an externally usable type.

Timestamp format

Capture accepts and renders the dateTime and date attributes in ISO 8601 format, but it also accepts many other variations.

Note that users can enter the month, day, and year of the date in any order, as long as they are unambiguous (for example, if you use 4 digits for the year or spell out the month). When they are ambiguous, registration will always interpret the order as month-date-year.

The following keywords are also accepted in dateTime and date attributes: today, yesterday, and now.

All timestamp attributes are rendered in the UTC time zone, and include the “-0000” time zone offset tag at the end of the timestamp. Attributes are accepted in any time zone, and are interpreted as UTC when no time zone is specified.


The Janrain servers interpret each of the following as the same dateTime value:

2003-01-02 6:15pm
2 Jan 03 18:15:00.00
01-02-03 6:15pm
January 2, 2003 11:15am -0700

created and lastUpdated

Every entity type includes automatic read-only created and lastUpdated attributes of type dateTime, which the database sets whenever a record is created or updated, respectively. The lastUpdated value will always increase, and so can be used to serialize updates (see Selecting Data).