Skip to main content

Custom WebService Support

ยท 2 min read
David Marmont
Developer
KairosEye v1 only

Custom WebService support was available in v1 and has been removed in v2. This post is kept for reference.

KairosEye now lets you connect your watchface to your own webservice โ€” any URL that returns a JSON response becomes a data source for your wrist.


How It Worksโ€‹

In the settings, enter a valid URL pointing to your personal webservice. The watch performs regular GET requests and displays the response as a custom message on the watchface, in place of the first calendar event. The response format is simple:

{
"ttl": 900,
"txt": ["๐Ÿ’ง Drink", "glass of water"]
}
  • ttl (Time To Live): delay in seconds before the next request
  • txt: an array of strings to display on the watchface That's it. No SDK, no authentication protocol, no complex integration. If your server can return JSON over HTTPS, it works with KairosEye.

What You Can Buildโ€‹

The simplicity of the format is intentional โ€” it opens the door to almost anything:

  • Personal reminders โ€” hydration alerts, medication schedules, break timers
  • Smart home integration โ€” display the temperature at home, or whether you left the lights on
  • Custom weather โ€” pull data from a hyper-local weather station or personal sensor
  • Fitness goals โ€” show custom metrics from your own tracking system
  • Work notifications โ€” deployment status, server health, CI build results
  • Anything else your server can generate and serialize as JSON The watchface becomes a display for whatever matters to you โ€” not just what we decided to include.

Technical Detailsโ€‹

  • Uses standard GET requests with no custom headers
  • Timeout: ~5 seconds per request
  • If the request fails or returns invalid data, the watch retries automatically
  • HTTPS required โ€” ensure your SSL certificate is valid and up to date. An expired certificate can cause connection hangs.

Platform Limitationsโ€‹

Garmin imposes a limit of one web request every 6 minutes (360 seconds). Since KairosEye also needs to fetch calendar and weather data, we recommend setting your ttl to at least 900 seconds (15 minutes) to avoid conflicts.


Privacy-Firstโ€‹

The watch only connects to your webservice if you explicitly configure a URL. No external tracking, no third-party servers โ€” you control the data, the endpoint, and the frequency. โ€” The KairosEye Team