canonical: https://jentic.com/apis/miataru.com/miataru

# Miataru

Miataru is an open location-tracking API that lets clients post a device's location, retrieve another device's last known location, and read short-range location history. It supports GeoJSON output for direct rendering on maps and is designed for privacy-respecting tracking - locations are stored only as long as the publisher allows. The API is JSON-over-HTTP and exposes five endpoints under a versioned /v1 path.

## For AI agents

Publish device location updates and look up another device's recent or current location, returning JSON or GeoJSON suitable for map rendering.

## Scope

Does not handle geocoding, routing, places search, or long-term location archiving - use for device location publishing and short-range lookup only.

## Capabilities

- Publish a device location update with timestamp and accuracy via POST /UpdateLocation
- Retrieve the last known location for one or more devices via POST /GetLocation
- Read recent location history for a device via POST /GetLocationHistory
- Stream a device's current location as GeoJSON via GET `/GetLocationGeoJSON/{deviceID}` for direct map embedding
- List the visitors that have queried a given device via POST /GetVisitorHistory

## Use cases

### Privacy-Respecting Personal Location Sharing

Individuals using Miataru clients publish their own locations to a Miataru server and share only their device ID with people they trust. Friends and family can call POST /GetLocation to read the most recent position without a centralised account, and POST /GetVisitorHistory exposes who has asked - giving the publisher full transparency.

Example prompt: Call POST /UpdateLocation for device 'phone-42' with current GPS coordinates and an accuracy of 15 metres.

### Lightweight Asset and Bicycle Tracking

Bike-share operators and small fleets use Miataru as a low-overhead alternative to a full IoT platform - devices push positions on a configurable interval, and dashboards or agents poll POST /GetLocation for one or many devices to render the fleet view. POST /GetLocationHistory provides recent breadcrumbs without long-term storage commitments.

Example prompt: Call POST /GetLocation with an array of device IDs for the active bike fleet and return their latest coordinates.

### GeoJSON for Direct Map Rendering

Web map developers using Leaflet or Mapbox can call GET `/GetLocationGeoJSON/{deviceID}` and feed the response straight into a layer without writing transformation code. The endpoint emits a Feature with the device's latest position so the map can show a live marker that updates as new posts arrive.

Example prompt: Call GET `/GetLocationGeoJSON/phone-42` and return the resulting Feature for placement on a Leaflet map.

### Agent-Driven Location Lookups

An autonomous agent helping a user find a friend or asset can call Miataru through Jentic. The agent searches by intent, loads POST /GetLocation, and executes with the device ID. Because Miataru is unauthenticated by design, Jentic standardises the call signature and lets the agent reuse the same flow it uses for authenticated APIs.

Example prompt: Search Jentic for 'get a device location', load POST /GetLocation, and execute with the device ID supplied by the user.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/UpdateLocation` | Publish a device's current location |
| POST | `/GetLocation` | Get the last known location for one or more devices |
| POST | `/GetLocationHistory` | Retrieve recent location history for a device |
| GET | `/GetLocationGeoJSON/{deviceID}` | Get a device's location as a GeoJSON Feature |
| POST | `/GetVisitorHistory` | List the clients that queried a device |

## Key resources

- **Location** — Publish, retrieve, and history endpoints for device locations
- **Visitor** — Read the audit trail of which clients have queried a device

## Why Jentic

- **Setup:** Wiring Miataru by hand means implementing its POST-based location protocol against the service host and passing device IDs through each request yourself, even though the spec declares no token scheme. Through Jentic you install once, import Miataru from the API Directory, store the device IDs it needs once as configuration, and your agent calls it.
- **Permission scoping:** Miataru identifies a device in the URL path for GeoJSON reads (`/GetLocationGeoJSON/{deviceID}`) and in the request body elsewhere, so limit the agent to the operations it needs, such as fetching a location. You choose which operations it may call, so publishing a location update is not included unless you add it.
- **Credential handling:** Miataru requires no token, but device IDs act as soft secrets, so they are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a device location' or 'publish a location update', and Jentic returns the matching Miataru operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HERE Maps** — Maps and geolocation platform with positioning APIs
- **LocationIQ** — Geocoding and reverse geocoding service
- **Geocodio** — Geocode addresses and reverse geocode coordinates

## FAQ

### What authentication does the Miataru API use?

Miataru is intentionally unauthenticated - clients identify devices by an opaque device ID. Privacy is enforced by keeping device IDs secret rather than by API tokens. Through Jentic the device ID is treated as configuration rather than as a credential.

### Can I track the history of multiple devices in one call?

POST /GetLocation accepts a list of device IDs and returns the most recent location for each. For richer history per device use POST /GetLocationHistory, which is invoked one device at a time.

### What are the rate limits for the Miataru API?

Miataru deployments do not publish a fixed rate limit - limits depend on the operator running the server. The protocol is request-for-comment status, so client implementations should back off conservatively and consider running their own server for high-volume use.

### How do I render a device on a map through Jentic?

Search Jentic for 'get a device location as GeoJSON', load GET `/GetLocationGeoJSON/{deviceID}`, and pass the device ID. The resulting Feature can be plugged directly into a Leaflet or Mapbox layer without further transformation.

### Is the Miataru API free?

Yes - the public Miataru server at service.miataru.com is free, and the protocol is openly published so anyone can run their own server. There are no per-call charges.

### Does Miataru store location history long-term?

No - POST /GetLocationHistory returns only short-range recent history, and the publisher's client controls how long updates are retained. There is no built-in long-term archive.

### Can I limit what my agent is allowed to do with the Miataru API?

Yes. Because Jentic One is self-hosted, you decide which Miataru operations your agent may call, so you can restrict it to read-only lookups like POST /GetLocation or GET `/GetLocationGeoJSON/{deviceID}` and leave out POST /UpdateLocation so the agent can never publish a device's position. Miataru identifies devices in the URL path for GeoJSON reads and in the request body elsewhere, and the device IDs are stored as configuration on your own instance rather than passed through the agent. Your own rules control both which endpoints run and which device IDs and credentials each call may use.
