New to iOS 12, Apple introduced the Shortcuts app. This app not only allows you to automate various parts of iOS, but it can also talk to third party apps, including Just Timers. Using the Shortcuts app, you can create new timers entirely using your voice. This document will provide download links for various Shortcuts available, as well outline the functionality provided by the Just Timers API so you can create your own Shortcuts.
The Just Timers Shortcuts API is intended to allow control of most functions from the Shortcuts app. Overall it's pretty simple, you just need to create a URL with whatever actions and parameters, then open it with the "Open URLs" function in Shortcuts.
If you haven't already, I highly recommend downloading the New Timer Shortcut to use as an example
The basic URL scheme is justtimers://x-callback-url/[action]/?[parameter]=[value] for individual timers. To control all timers simultaneously you use the "all" modifier as such: justtimers://x-callback-url/[action]/all
Keep in mind you may need to URL encode values that get passed into the parameters, as things like spaces or special characters may cause problems
Examples:
justtimers://x-callback-url/new/?name=Tea&duration=2%20minutes
justtimers://x-callback-url/delete/?name=Tea
justtimers://x-callback-url/restart/all
To create a new timer, two parameters are required. You must always provide a name, and you can specify the duration either as a sentence like "2 minutes and 20 seconds" or entirely in seconds as a number without words. Optionally, you can specify whether the timer should be active when created. By default it will start running on creation.
Name can contain spaces, and Shortcuts will typically handle URL encoding the value if there are spaces, but keep this in mind if you run into problems
To specify the duration as a sentence (this is specifically intended for use with the dictation feature of Shortcuts) use the "duration" parameter, for seconds as a number only, use the "seconds" parameter.
New timers will be active by default. To pause a new timer instead, use the parameter "active" and the value "false".
Examples:
justtimers://x-callback-url/new/?name=Tea&duration=2%20minutes
justtimers://x-callback-url/new/?name=Tea&seconds=120&active=false
Deleting timers can be handled in two ways. You can provide the name of a timer to delete, or you can delete all timers simultaneously.
Examples:
justtimers://x-callback-url/delete/?name=Tea
justtimers://x-callback-url/delete/all
Pausing timers can be handled in two ways. You can provide the name of a timer to pause, or you can pause all timers simultaneously.
Examples:
justtimers://x-callback-url/pause/?name=Tea
justtimers://x-callback-url/pause/all
Reseting timers can be handled in two ways. You can provide the name of a timer to reset, or you can reset all timers simultaneously.
Examples:
justtimers://x-callback-url/reset/?name=Tea
justtimers://x-callback-url/reset/all
Restarting timers can be handled in two ways. You can provide the name of a timer to restart, or you can restart all timers simultaneously.
Examples:
justtimers://x-callback-url/restart/?name=Tea
justtimers://x-callback-url/restart/all
Resuming timers can be handled in two ways. You can provide the name of a timer to resume, or you can resume all timers simultaneously.
Examples:
justtimers://x-callback-url/resume/?name=Tea
justtimers://x-callback-url/resume/all