v1
POST
Räumliche Abfragen
Räumliche Abfragen finden Datensätze nach geografischer Position. Alle räumlichen Endpoints verwenden POST mit einem JSON-Body und erfordern mindestens den Scope read-only.
POST /v1/records/query/bbox
Datensätze innerhalb einer Bounding Box (Rechteck auf der Karte) finden.
Anfragekörper
{
"min_lng": -74.01,
"min_lat": 40.70,
"max_lng": -73.95,
"max_lat": 40.80,
"form_id": "frm_xyz",
"limit": 100
}
| Feld | Erforderlich | Beschreibung |
|---|---|---|
min_lng |
Ja | Westliche Länge |
min_lat |
Ja | Südliche Breite |
max_lng |
Ja | Östliche Länge |
max_lat |
Ja | Nördliche Breite |
form_id |
Nein | Nach Formular filtern |
project_id |
Nein | Nach Projekt filtern |
limit |
Nein | Max. Ergebnisse (Standard 50, max 500) |
Beispiel
curl -X POST \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{"min_lng": -74.01, "min_lat": 40.70, "max_lng": -73.95, "max_lat": 40.80}' \
"https://<ref>.supabase.co/functions/v1/api-gateway/v1/records/query/bbox"
POST /v1/records/query/radius
Datensätze innerhalb eines Radius (Kreis) von einem Mittelpunkt finden.
Anfragekörper
{
"lng": -73.985,
"lat": 40.758,
"radius_meters": 500,
"form_id": "frm_xyz"
}
| Feld | Erforderlich | Beschreibung |
|---|---|---|
lng |
Ja | Mittelpunkt-Länge |
lat |
Ja | Mittelpunkt-Breite |
radius_meters |
Ja | Suchradius in Metern |
form_id |
Nein | Nach Formular filtern |
project_id |
Nein | Nach Projekt filtern |
limit |
Nein | Max. Ergebnisse (Standard 50, max 500) |
Beispiel
curl -X POST \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{"lng": -73.985, "lat": 40.758, "radius_meters": 500}' \
"https://<ref>.supabase.co/functions/v1/api-gateway/v1/records/query/radius"
POST /v1/records/query/intersects
Datensätze finden, die sich mit einer beliebigen GeoJSON-Geometrie (Polygon, Linie usw.) überschneiden.
Anfragekörper
{
"geometry": {
"type": "Polygon",
"coordinates": [[
[-73.99, 40.75],
[-73.98, 40.75],
[-73.98, 40.76],
[-73.99, 40.76],
[-73.99, 40.75]
]]
},
"form_id": "frm_xyz"
}
| Feld | Erforderlich | Beschreibung |
|---|---|---|
geometry |
Ja | GeoJSON-Geometrieobjekt |
form_id |
Nein | Nach Formular filtern |
project_id |
Nein | Nach Projekt filtern |
limit |
Nein | Max. Ergebnisse (Standard 50, max 500) |
Beispiel: Datensätze in einem Polygon finden
curl -X POST \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
-d '{
"geometry": {
"type": "Polygon",
"coordinates": [[[-73.99,40.75],[-73.98,40.75],[-73.98,40.76],[-73.99,40.76],[-73.99,40.75]]]
}
}' \
"https://<ref>.supabase.co/functions/v1/api-gateway/v1/records/query/intersects"
Antwort (alle räumlichen Endpoints)
{
"ok": true,
"data": [
{
"id": "rec_abc123",
"type": "record",
"form_id": "frm_xyz",
"properties": {"inspector_name": "Jane Smith"},
"geometry": {"type": "Point", "coordinates": [-73.985, 40.758]},
"created_at": "2026-02-15T14:30:00Z",
"status": "active"
}
]
}
Anwendungsfälle
- Dashboard-Karten: Datensätze im aktuellen Kartenausschnitt mit Bounding Box laden
- Näherungswarnungen: Inspektionen im Umkreis von 1 km einer neuen Arbeitsanweisung mit Radius finden
- Zonenanalyse: Alle Datensätze innerhalb eines regulatorischen Grenzpolygons mit Schnittmenge finden
Brauchen Sie Hilfe mit der API? Kontaktieren Sie unser Support-Team.