# insights.map.get

Read a bounded geographic map of transactions, trips, saved hotel groups and saved event venues. Filter by layers, dates, transaction types, currency, search, explicit country/region/city, bounds and zoom; group by saved city/region or geographic grids. Counts include missing-location coverage, and transaction values stay separate by currency. Only locations and sources the actor can read are included; no geocoding or model calls.

`GET | POST /api/v1/accounting/insights.map.get`

Permissions: `accounting:read` · Roles: admin, finance

MCP tool: `accounting_insights_map_get`

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `layers` | array of enum values |  | One of: `transactions`, `trips`, `stays`, `events`, `other`. 1–5 items. |
| `query` | string |  | Text to search for. 1–120 characters. |
| `from` | string |  | The first date to include, as YYYY-MM-DD. Date as YYYY-MM-DD. |
| `to` | string |  | The last date to include, as YYYY-MM-DD. Date as YYYY-MM-DD. |
| `currency` | string |  | Three-letter currency code, such as CAD or USD. |
| `entryTypes` | array of enum values |  | One of: `expense`, `income`, `income_refund`, `refund`, `transfer`, `fee`, `suspense`. 1–7 items. |
| `country` | string |  | 1–120 characters. |
| `region` | string |  | 1–120 characters. |
| `city` | string |  | 1–120 characters. |
| `bounds` | object |  | No other fields. |
| `bounds.south` | number | Yes | -90 to 90. |
| `bounds.north` | number | Yes | -90 to 90. |
| `bounds.west` | number | Yes | -180 to 180. |
| `bounds.east` | number | Yes | -180 to 180. |
| `zoom` | number |  | 0 to 22. |
| `groupBy` | enum |  | One of: `auto`, `region`, `city`, `grid`. |

## Example request

```bash
curl https://app.getoatmilk.com/api/v1/accounting/insights.map.get \
  -H "Authorization: Bearer $OATMILK_API_KEY"
```

Reference page: https://app.getoatmilk.com/docs/api/insights.map.get
