{"openapi":"3.1.0","info":{"title":"Navixy (BYOK) API","version":"0.1.0","description":"Navixy (BYOK) lets an AI assistant read your own Navixy data through the Navixy API with a key you supply (Navixy API key (sent as 'Authorization: NVX <key>')). Read-only: 12 tools (list_trackers, get_tracker_state, list_vehicles, list_service_tasks, list_tracks, get_tracker_mileage, get_tracker_engine_hours, get_tracker_fuel, get_tracker_diagnostics, list_tracker_groups, list_depots,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-navixy.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-navixy/docs"},"termsOfService":"https://connectorbay.com/byok-navixy/terms"},"servers":[{"url":"https://byok-navixy.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-navixy/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_trackers":{"post":{"operationId":"list_trackers","summary":"List the account's GPS trackers with id, label, group, device model, blocked flag, tariff and phone-less source details.","description":"List the account's GPS trackers with id, label, group, device model, blocked flag, tariff and phone-less source details. Use for \"Which trackers are registered in my Navixy account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"}},"required":["region"],"title":"list_trackersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker_state":{"post":{"operationId":"get_tracker_state","summary":"Get the current state of one tracker: GPS position, speed and heading, connection status, movement status (moving, stopp","description":"Get the current state of one tracker: GPS position, speed and heading, connection status, movement status (moving, stopped, parked), ignition, GSM signal and battery level. Use for \"Is Navixy tracker 123456 moving and where is it\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"tracker_id":{"description":"Navixy tracker id (the 'id' from list_trackers).","maximum":1000000000000,"minimum":1,"title":"Tracker Id","type":"integer"}},"required":["region","tracker_id"],"title":"get_tracker_stateArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_vehicles":{"post":{"operationId":"list_vehicles","summary":"List vehicles with label, linked tracker, type, model, plate, VIN, year, fuel type, tank size, depot and status. Support","description":"List vehicles with label, linked tracker, type, model, plate, VIN, year, fuel type, tank size, depot and status. Supports a text filter and paging. Use for \"Which vehicles are in my Navixy account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many items to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":10000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip, for paging.","title":"Offset"},"filter":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Text filter on VIN, plate number or label (up to 100 characters).","title":"Filter"}},"required":["region"],"title":"list_vehiclesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_service_tasks":{"post":{"operationId":"list_service_tasks","summary":"List vehicle service works (maintenance jobs) across vehicles: description, status (created, notified, expired, done), r","description":"List vehicle service works (maintenance jobs) across vehicles: description, status (created, notified, expired, done), repeat flag, cost, completion date and start and current mileage or engine hours. Use for \"Which Navixy vehicle service works are overdue\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"only_unplanned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to list only unplanned service works.","title":"Only Unplanned"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":10000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip, for paging.","title":"Offset"}},"required":["region"],"title":"list_service_tasksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tracks":{"post":{"operationId":"list_tracks","summary":"List a tracker's trips over a period with start and end time, length in km, maximum and average speed and norm fuel cons","description":"List a tracker's trips over a period with start and end time, length in km, maximum and average speed and norm fuel consumed, plus totals. Addresses are left out unless asked for; GPS points are not requested. Use for \"What trips did Navixy tracker 123456 make last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"tracker_id":{"description":"Navixy tracker id (the 'id' from list_trackers).","maximum":1000000000000,"minimum":1,"title":"Tracker Id","type":"integer"},"from_time":{"description":"Start of the period, 'YYYY-MM-DD HH:MM:SS' in the account time zone.","maxLength":19,"title":"From Time","type":"string"},"to_time":{"description":"End of the period, 'YYYY-MM-DD HH:MM:SS' in the account time zone; must be after the start.","maxLength":19,"title":"To Time","type":"string"},"omit_addresses":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"True (default) leaves out start and end addresses of trips; False includes them.","title":"Omit Addresses"}},"required":["region","tracker_id","from_time","to_time"],"title":"list_tracksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker_mileage":{"post":{"operationId":"get_tracker_mileage","summary":"Get mileage in km per day for one tracker over a period. A day without data is null, not zero. Use for \"How many km did ","description":"Get mileage in km per day for one tracker over a period. A day without data is null, not zero. Use for \"How many km did Navixy tracker 123456 drive each day last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"tracker_id":{"description":"Navixy tracker id (the 'id' from list_trackers).","maximum":1000000000000,"minimum":1,"title":"Tracker Id","type":"integer"},"from_time":{"description":"Start of the period, 'YYYY-MM-DD HH:MM:SS' in the account time zone.","maxLength":19,"title":"From Time","type":"string"},"to_time":{"description":"End of the period, 'YYYY-MM-DD HH:MM:SS' in the account time zone; must be after the start.","maxLength":19,"title":"To Time","type":"string"}},"required":["region","tracker_id","from_time","to_time"],"title":"get_tracker_mileageArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker_engine_hours":{"post":{"operationId":"get_tracker_engine_hours","summary":"Get engine hours (time the engine was on) for one tracker over a period. Trackers without an ignition input answer with ","description":"Get engine hours (time the engine was on) for one tracker over a period. Trackers without an ignition input answer with an error. Use for \"How many engine hours did Navixy tracker 123456 log last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"tracker_id":{"description":"Navixy tracker id (the 'id' from list_trackers).","maximum":1000000000000,"minimum":1,"title":"Tracker Id","type":"integer"},"from_time":{"description":"Start of the period, 'YYYY-MM-DD HH:MM:SS' in the account time zone.","maxLength":19,"title":"From Time","type":"string"},"to_time":{"description":"End of the period, 'YYYY-MM-DD HH:MM:SS' in the account time zone; must be after the start.","maxLength":19,"title":"To Time","type":"string"}},"required":["region","tracker_id","from_time","to_time"],"title":"get_tracker_engine_hoursArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker_fuel":{"post":{"operationId":"get_tracker_fuel","summary":"Get the current fuel level of the tracker's tanks from its fuel sensors, with units and update time. Use for \"How much f","description":"Get the current fuel level of the tracker's tanks from its fuel sensors, with units and update time. Use for \"How much fuel is left in Navixy tracker 123456\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"tracker_id":{"description":"Navixy tracker id (the 'id' from list_trackers).","maximum":1000000000000,"minimum":1,"title":"Tracker Id","type":"integer"}},"required":["region","tracker_id"],"title":"get_tracker_fuelArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_tracker_diagnostics":{"post":{"operationId":"get_tracker_diagnostics","summary":"Get the last CAN-bus and OBD readings of a tracker (engine values, odometer and similar) with labels, units and the time","description":"Get the last CAN-bus and OBD readings of a tracker (engine values, odometer and similar) with labels, units and the time of the last update. Use for \"What CAN and OBD readings does Navixy tracker 123456 report\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"tracker_id":{"description":"Navixy tracker id (the 'id' from list_trackers).","maximum":1000000000000,"minimum":1,"title":"Tracker Id","type":"integer"}},"required":["region","tracker_id"],"title":"get_tracker_diagnosticsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tracker_groups":{"post":{"operationId":"list_tracker_groups","summary":"List tracker groups (the default group 0 is not listed) with title and color. Use for \"What tracker groups do I have in ","description":"List tracker groups (the default group 0 is not listed) with title and color. Use for \"What tracker groups do I have in Navixy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"}},"required":["region"],"title":"list_tracker_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_depots":{"post":{"operationId":"list_depots","summary":"List depots (garages) with organization name and address; people's names are not returned. Use for \"Where are my Navixy ","description":"List depots (garages) with organization name and address; people's names are not returned. Use for \"Where are my Navixy depots\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"}},"required":["region"],"title":"list_depotsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tasks":{"post":{"operationId":"list_tasks","summary":"List field tasks (jobs assigned to tracked units) with label, status (unassigned, assigned, done, failed, delayed, arriv","description":"List field tasks (jobs assigned to tracked units) with label, status (unassigned, assigned, done, failed, delayed, arrived), time window, assigned tracker, arrival time and stay duration. Locations are left out. Use for \"Which Navixy tasks were due this week and did they get done\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Navixy platform region of the account: eu (api.eu.navixy.com), us (api.us.navixy.com) or me (api.me.navixy.com). White-label domains are not supported.","enum":["eu","us","me"],"title":"Region","type":"string"},"from_time":{"anyOf":[{"maxLength":19,"type":"string"},{"type":"null"}],"default":null,"description":"Only tasks that are actual after this time, 'YYYY-MM-DD HH:MM:SS'.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":19,"type":"string"},{"type":"null"}],"default":null,"description":"Only tasks that are actual before this time, 'YYYY-MM-DD HH:MM:SS'.","title":"To Time"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many items to return (1 to 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":10000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many items to skip, for paging.","title":"Offset"}},"required":["region"],"title":"list_tasksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}