Primitive Data Types

This page describes data types whose definitions may not be commonly recognized. Unless otherwise stated, these are expressed as strings in the JSON content traversing the Lightroom APIs.

Lowercase UUID

A universally-unique identifier where the hex digits are represented using lower case letters and the hyphens are omitted. Used to identify virtually all objects in the Lightroom cloud.

User-visible string

A user-visible string is interpreted to mean any string that is valid in JSON, with the following exceptions:

ISO 8601 date stamps

An ISO 8601 date stamp, unless otherwise specified, is a timestamp in the W3C-specific subset of the ISO 8601 format.

Cleansing Invalid Datetime Values

The datetime values provided by clients in some model payloads have validation rules. A datetime might come from metadata generated by a camera or a third party application which may be using nonstandard formatting that does not pass the validation rules. It is recommended that clients check payload values for validity before sending the data to the cloud. Specifically for datetime values, if the value does not pass validation it is recommended that clients attempt some simple fixes to the datetime to retain as much information as possible and to get to a valid value.

Validating dates locally before sending to the cloud is preferred. If the cloud rejects a date as invalid, it is recommended to remove the date or come up with a suitable replacement for required dates as detailed below, in order to avoid bugs involving confusion and disagreement between the cloud and client on the correct values, which sometimes triggers looping behavior where the client attempts to send the same data to the cloud repeatedly, in some cases thousands of times.

Reasonable file/folder path name

A reasonable file or folder path is a UTF-8 string designed to comply with the typical file naming rules on MacOS and Windows without unexpected side effects.