API-DOKUMENTATION

Bauen Sie auf
Mapalyze.

Die Mapalyze REST API gibt Ihnen programmatischen Zugriff auf alle Felddatensätze, Formulare, Anlagen und Exporte. Nutzen Sie sie, um Felddaten in Ihre bestehenden Systeme zu integrieren, Workflows zu automatisieren oder benutzerdefinierte Anwendungen auf unserer Plattform aufzubauen.

Basis-URL https://api.mapalyze.io/v1
REST JSON GeoJSON OAuth 2.0 Webhooks 10K req/hr

Authentifizierung

Alle API-Anfragen erfordern ein Bearer-Token im Authorization-Header. Generieren Sie Ihren API-Schlüssel im Mapalyze-Übersicht unter Einstellungen → API-Schlüssel.

Halten Sie Ihren API-Schlüssel geheim. Geben Sie ihn niemals in clientseitigem Code preis. Wenn ein Schlüssel kompromittiert wird, widerrufen Sie ihn sofort über das Dashboard.

# Pass your API key as a Bearer token
curl https://api.mapalyze.io/v1/records \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.mapalyze.io/v1/records', {
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json'
  }
});
import requests

headers = {
  'Authorization': f'Bearer {API_KEY}',
  'Content-Type': 'application/json'
}

response = requests.get('https://api.mapalyze.io/v1/records', headers=headers)

Datensätze

Felddatensätze sind die zentrale Ressource der Mapalyze API. Jeder Datensatz enthält Formulardaten, GPS-Koordinaten, Fotos und Metadaten, die im Feld erfasst wurden.

GET /v1/records Alle Felddatensätze auflisten
PARAMETER TYP ERFORDERLICH BESCHREIBUNG
form_id string optional Datensätze nach Formular-ID filtern
limit integer optional Anzahl der zurückzugebenden Datensätze (Standard: 50, Max: 500)
offset integer optional Paginierungsversatz
format string optional Antwortformat: json oder geojson (Standard: json)
since ISO 8601 optional Datensätze nach diesem Zeitstempel zurückgeben
curl 'https://api.mapalyze.io/v1/records?format=geojson&limit=10' \
  -H "Authorization: Bearer YOUR_API_KEY"
ANTWORT 200
{
  "type": "FeatureCollection",
  "total": 847,
  "features": [
    {
      "type": "Feature",
      "id": "rec_4Ks92mPq",
      "geometry": {
        "type": "Point",
        "coordinates": [-0.1278, 51.5074]
      },
      "properties": {
        "form_id": "form_GridInspection",
        "operator": "J. Martinez",
        "captured_at": "2025-03-14T09:22:11Z",
        "gps_accuracy_m": 0.8,
        "synced": true,
        "photos": ["ph_a1b2", "ph_c3d4"]
      }
    }
  ]
}
POST /v1/records Neuen Felddatensatz erstellen
BODY-PARAMETER TYP ERFORDERLICH BESCHREIBUNG
form_id string erforderlich ID des Formulars für diesen Datensatz
coordinates array erforderlich GeoJSON-Koordinaten [lng, lat] oder [lng, lat, alt]
data object erforderlich Formularfeldwerte als Schlüssel-Wert-Paare
captured_at ISO 8601 optional Erfassungszeitstempel überschreiben (Standard: jetzt)

Exporte

Exportieren Sie Ihre Felddaten als GeoJSON, CSV oder PDF-Bericht. Große Exporte werden asynchron erzeugt.

GET /v1/export/geojson Datensätze als GeoJSON FeatureCollection exportieren

Exporte mit mehr als 10.000 Datensätzen werden asynchron verarbeitet. Die API gibt eine <strong>job_id</strong> zurück; fragen Sie <code>/v1/jobs/{job_id}</code> ab, um den Status und nach Abschluss die Download-URL zu erhalten.

curl 'https://api.mapalyze.io/v1/export/geojson?form_id=form_GridInspection&since=2025-01-01' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o field_data.geojson
const res = await fetch(
  'https://api.mapalyze.io/v1/export/geojson?form_id=form_GridInspection',
  { headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const geojson = await res.json();
// Drop straight into ArcGIS, QGIS, or Mapbox

Webhooks

Erhalten Sie HTTP-Benachrichtigungen in Echtzeit, wenn Feldereignisse auftreten — Datensätze erstellt, synchronisiert oder aktualisiert werden. Ideal, um nachgelagerte Workflows genau dann auszulösen, wenn Daten eintreffen.

EREIGNISBESCHREIBUNG
record.createdEin neuer Felddatensatz wurde erstellt
record.syncedEin Offline-Datensatz wurde mit dem Rechner synchronisiert
record.updatedEin bestehender Datensatz wurde geändert
record.deletedEin Datensatz wurde gelöscht
export.completedEin asynchroner Exportauftrag ist abgeschlossen

Fehler

Mapalyze verwendet Standard-HTTP-Statuscodes. Alle Fehler geben einen JSON-Body mit Code und Nachricht zurück.

200
OK
Anfrage erfolgreich
400
BAD REQUEST
Ungültige Parameter oder Body
401
UNAUTHORIZED
Ungültiger oder fehlender API-Schlüssel
404
NOT FOUND
Ressource existiert nicht
429
RATE LIMITED
Zu viele Anfragen
500
SERVER ERROR
Bei uns ist etwas schiefgelaufen

Ratenlimits

Ratenlimits werden pro API-Schlüssel angewendet. Bei Überschreitung wird ein 429 mit Retry-After-Header zurückgegeben.

TARIF ANFRAGEN / STUNDE EXPORTGRÖSSE
Starter 1,000 10,000 Datensätze
Pro 10,000 500,000 Datensätze
Enterprise Unbegrenzt Unbegrenzt

Webhook-Zustellung: Webhooks werden bis zu 5 Mal mit exponentiellem Backoff wiederholt. Endpoints, die 72 Stunden lang durchgehend fehlschlagen, werden automatisch deaktiviert.

Web-App öffnen