Data Definitions and Standards

Text encoding

APIs should represent all texts in the UTF-8arrow-up-right encoding.

JSON

Primitive values MUST be serialized to JSON following the rules of RFC8259arrow-up-right and, as stated in the standard, JSON text MUST be encoded using UTF-8 RFC3629arrow-up-right.

JSON can represent four primitive types strings, numbers, booleans, and null and two structured types objects and arrays. Concepts like Date and Time need to be represented using these types.

National identifier

Icelandic individuals are uniquely identified by a national identifier called kennitala. When referring to this identifier in URIs, requests, or responses, APIs should use the name nationalId. Its value is usually represented to users in the form ######-#### but APIs should use the form ########## at all times.

Language and currency

Date and time

Date and time values should be represented in a string, as described in the RFC3339arrow-up-right proposed standard. The standard defines a profile of ISO 8601arrow-up-right for use in Internet protocols. See: Section 5.6arrow-up-right for Date/Time Format.

Summary for date and time

Date and time should be represented as a string using the format yyyy-MM-ddThh:mm:ss.sssZ. Where

  • yyyy represents year, (four-digits).

  • MM represents month, (two-digits 01 - 12).

  • dd represents day of month, (two-digits 01 - 31).

  • hh represents hour, (two digits 00 - 23).

  • mm represents minute, (two digits 00 - 59).

  • ss represents second, (two digits 00 - 59).

  • sss represents a decimal fraction of a second, (one or more digits).

  • Z represents a time zone offset specified as Z (for UTCarrow-up-right) or either + or - followed by a time expression hh:mm.

Icelandic local time can be represented with Z because Iceland follows the UTCarrow-up-right +00:00 all year round, which is the same as GMTarrow-up-right.

Examples:

  • 1985-04-12T23:20:50.52Z represents 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTCarrow-up-right.

  • 1996-12-19T16:39:57-08:00 represents 39 minutes and 57 seconds after the 16th hour of December 19th, 1996 with an offset of -08:00 from UTCarrow-up-right (Pacific Standard Time). Note that this is equivalent to 1996-12-20T00:39:57Z in UTC.

Timestamp data

All returned data should contain the field createdTimestamp and it's value should be the date and time when the data was created. This is important because of different caching rules and different viewpoints on when data should be considered obsolete.

Last updated

Was this helpful?