Export file format
Every JSON export, and the export.json inside every ZIP archive, follows the layout
on this page. The schemaVersion at the top of the file says which layout it uses.
Versions
Version 2 is the current layout. Every record carries its id, watches and Wishlist items carry their catalog link, and photos are listed with the file each one is stored in.
A file with no schemaVersion was exported before versions existed. Read it as version
1: its wears and service records have no ids, its watches have no catalog link, and it has no photo
list.
The version changes only when a field is removed, renamed or changes meaning. New fields can appear within a version, so a script should ignore fields it doesn’t know.
What’s in the ZIP archive
export.json— everything described on this page.export.csv— your wear history, one row per wear.service-events.csv— your Service history, one row per service.watches.csv— your watches, one row per watch, including any you haven’t worn.photos/— every photo you’ve uploaded. Each entry in the photos list names its file here.
Ids
Each id is unique within your export. Ids aren’t kept on restore: a restored record gets a new id in the account it’s restored into, and the links between records — a wear’s watch, a photo’s watch — follow it to the new id. The email address in the file is never applied to the account it’s restored into.
Top level
schemaVersion· number- The layout version: 2 for files described here.
exportId· text- A random id for this export. Each download gets a new one.
exportedAt· text- When the file was made, as an ISO 8601 time in UTC.
formatUrl· text- The address of this page.
account· object- Your account settings.
watches· list- Every watch you’ve added, sold ones included.
wears· list- Every wear you’ve logged.
wishlist· list- Every Wishlist item.
serviceEvents· list- Every service in your Service history.
straps· list- Every strap you’ve added.
serviceIntervals· list- The service intervals you’ve set for your watches.
accuracyReadings· list- Every reading in your Accuracy history.
photos· list- Every photo you’ve uploaded.
account
email· text- The address you sign in with. A restore never applies it to another account.
timezone· text- Your timezone, as an IANA name such as Europe/London.
dailyReminderHour· number or null- The local hour, 0 to 23, of your daily wear-log reminder. Null when it’s off.
watches
id· text- The watch’s id.
brand· textmodel· text- As you entered them.
reference· text or null- The reference number, as you entered it.
nickname· text or nullyear· number or nullmovement· text- One of unknown, manual, automatic, quartz, spring_drive, solar, mechaquartz, kinetic or other.
status· text- One of in_rotation, stored, at_service or sold.
purchasePriceCents· number or nullsoldPriceCents· number or null- In cents, the currency’s smallest unit.
purchaseCurrency· text or null- An ISO 4217 code such as GBP.
purchaseDate· text or nullsoldDate· text or nullwarrantyDate· text or null- YYYY-MM-DD.
serialNumber· text or nullpurchasedFrom· text or nullinsurancePolicy· text or null- As you entered them.
hasBox· true, false or nullhasPapers· true, false or nullsourceUrl· text or null- The listing link an import brought in.
notes· text or nullhiddenFromShare· true or false- Whether the watch is left off your shared collection page.
tags· list of text- An empty list when there are none.
caseDiameterMm· number or nulllugWidthMm· number or null- Your own measurements in millimetres, never catalog values.
dialColor· text or nullcaliber· text or null- Your own entries, never catalog values.
estimatedValueCents· number or null- Your estimate, in cents.
estimatedValueCurrency· text or null- An ISO 4217 code.
valuedAt· text or null- The date of your estimate, YYYY-MM-DD.
catalogReferenceId· text or null- The id of the catalog entry this watch is linked to.
catalogReference· object or null- That entry’s brand, model and refNumber when the file was made, so the link still reads if the catalog changes.
dismissedNameSuggestion· text or null- A name tidy-up you turned down, so it isn’t offered again.
dismissedCatalogSuggestion· text or null- The id of a catalog link you turned down, so it isn’t offered again.
sort· number- The watch’s place in your collection order.
createdAt· number- When you added it, in milliseconds since 1970-01-01 UTC.
wears
id· text- The wear’s id.
watchId· text- The id of the watch you wore.
wornOn· text- The day you wore it, YYYY-MM-DD, in your timezone.
note· text or nulloccasion· text or null- Up to 100 characters.
strapId· text or null- The id of the strap it was on.
source· text- manual, or import for a wear an import created.
recordedAt· text or null- When the app you imported from recorded the wear, as that app wrote it.
partOfDay· text- all, morning, afternoon or evening; unspecified when no part of the day was chosen.
createdAt· number- When it was logged, in milliseconds since 1970-01-01 UTC.
wishlist
id· textcatalogReferenceId· text or null; object or nullcatalogReference· text or null; object or null- As for watches.
brand· textmodel· textreference· text or nullstatus· text- wanted or acquired.
acquiredWatchId· text or null- The id of the watch it became.
createdAt· number- When you added it.
convertedAt· number or null- When it moved into your collection.
serviceEvents
id· textwatchId· textdate· text- YYYY-MM-DD.
costCents· number or null- In cents.
watchmaker· text or nulldescription· text or nullkind· text- One of full_service, battery, regulation, pressure_test, strap or other.
createdAt· number- In milliseconds since 1970-01-01 UTC.
straps
id· textname· textmaterial· text or null- One of leather, rubber, nato, metal, fabric or other.
lugWidthMm· number or null- In millimetres.
createdAt· number- In milliseconds since 1970-01-01 UTC.
color· text or null- As you entered it.
purchasePriceCents· number or null- In cents, the currency’s smallest unit.
purchaseCurrency· text or null- An ISO 4217 code such as USD, set whenever purchasePriceCents is.
photo· object or null- The strap’s photo, or null. It has the id, file, width, height and createdAt fields of a photos entry. file is its path inside the ZIP, under photos/straps/, and is null in a standalone JSON download.
serviceIntervals
watchId· text- A watch has at most one interval per kind, so watchId and kind together identify it.
kind· text- One of full_service, battery, regulation, pressure_test or strap.
intervalMonths· number- 1 to 600.
updatedAt· number- In milliseconds since 1970-01-01 UTC.
accuracyReadings
id· textwatchId· textmeasuredAt· number- When you compared the watch, in milliseconds since 1970-01-01 UTC.
offsetSeconds· number- Seconds ahead (positive) or behind (negative) the reference clock.
createdAt· number- In milliseconds since 1970-01-01 UTC.
photos
id· textwatchId· textfile· text or null- Its path inside the ZIP archive, such as photos/omega-speedmaster-8d0b6f2e/1.webp. Null in a JSON download, which carries no photo files.
sort· number- Its place among the watch’s photos.
width· numberheight· number- In pixels.
createdAt· number- In milliseconds since 1970-01-01 UTC.