Repository navigation
Interfaces
Greg Wilkins edited this page Oct 21, 2026
·
2 revisions
The plugin's REST endpoints and PUT handlers, what it reads from Signal K, and what it fetches from the internet.
-
REST (read):
GET /signalk/v1/api/nemesis/snapshot,/tracks?periodS=&toT=&sinceT=,/user,/course(the course, resolved),/course/waypointsand/course/routes(what the Course tab can add), and for the CYCA tracker/cyca(poll state),/cyca/races(?refresh=1reads the feed first) and/cyca/mapping(also at/plugins/signalk-nemesis/*, which is admin only when security is on). -
PUT handlers (write, need read/write access):
navigation.racing.nemesis.setNemesis{id, nemesis},.setTcf{id, tcf}(idselfis our boat),.setStartTime{startTime: RFC 3339 | null},.setCycaRace{raceId | null},.setCycaLink{name: CYCA boat name, mmsi | null},.setCycaNoAis{entryId, noAis},.setCourse{marks: [{name, waypointId?, lat?, lon?}]}or{routeId}. As REST:PUT /signalk/v1/api/vessels/self/navigation/racing/nemesis/setTcfwith body{"value": {...}}. -
Consumed: other vessels' AIS position, COG, SOG and name; our position, COG, SOG,
heading; our true wind direction (
environment.wind.directionTrue, for Upwind and Downwind); the Course API and waypoint/route resources; NMEA next point (navigation.courseRhumbline|courseGreatCircle.nextPoint.*); signalk-racer'snavigation.racing.startTime; our vessel name (to find our own CYCA entry). -
Fetched (only with a CYCA race picked):
https://feeds.cycaracing.com/v2/..., the race list when the CYCA tab asks for it, the race's fleet every 10 minutes while it runs, and a nemesis boat's track when its history has a gap. - Published to the data model: nothing yet.
All values are SI on the wire (radians, m/s, metres, epoch ms); the webapp converts to knots, degrees and nm.