v1
OGC API - Features
Mapalyze implementa OGC API - Features (Parte 1 Core + Parte 4 Transactions).
URL base
https://<ref>.supabase.co/functions/v1/api-gateway/oapif
Autenticación
Envíe la clave API en X-API-Key:
curl -H "X-API-Key: mk_live_..." \
"https://<ref>.supabase.co/functions/v1/api-gateway/oapif/collections"
Conformance
ogcapi-features-1/1.0/conf/coreogcapi-features-1/1.0/conf/geojsonogcapi-features-4/1.0/conf/create-replace-deleteogcapi-features-4/1.0/conf/update
Endpoints
Descubrimiento
| Método | Ruta | Descripción |
|---|---|---|
| GET | /oapif/ |
Documento de inicio |
| GET | /oapif/conformance |
Declaración de conformance |
| GET | /oapif/api |
Definición OpenAPI |
Colecciones (formularios)
| Método | Ruta | Descripción |
|---|---|---|
| GET | /oapif/collections |
Listar colecciones de formularios |
| GET | /oapif/collections/{formId} |
Metadatos de colección + esquema |
Items (registros)
| Método | Ruta | Alcance | Descripción |
|---|---|---|---|
| GET | /oapif/collections/{formId}/items |
read | Listar registros como GeoJSON FeatureCollection |
| GET | /oapif/collections/{formId}/items/{recordId} |
read | Feature individual |
| POST | /oapif/collections/{formId}/items |
write | Crear Feature |
| PUT | /oapif/collections/{formId}/items/{recordId} |
write | Reemplazar Feature |
| PATCH | /oapif/collections/{formId}/items/{recordId} |
write | Actualización parcial de Feature |
| DELETE | /oapif/collections/{formId}/items/{recordId} |
write | Eliminación suave de Feature |
Parámetros de consulta (GET items)
| Parámetro | Tipo | Descripción |
|---|---|---|
limit |
int | Features por página (por defecto 100, máx 10000) |
offset |
int | Offset para paginación |
bbox |
string | minLng,minLat,maxLng,maxLat |
bbox-crs |
string | Soportado: CRS84, urn:ogc:def:crs:OGC:1.3:CRS84, o URL OGC CRS84 completa |
datetime |
string | Instante o intervalo ISO-8601 (2026-01-01T00:00:00Z/..) |
project_id |
string | Filtrar por proyecto |
f |
string | Formato de salida: json o geojson |
Un f inválido o bbox-crs no soportado devuelve 400 validation_error.
Paginación y metadatos
Las respuestas incluyen enlaces de paginación deterministas y conteos:
{
"type": "FeatureCollection",
"timeStamp": "2026-02-20T09:30:12.121Z",
"numberMatched": 78,
"numberReturned": 10,
"features": [],
"links": [
{"href": "...?limit=10&offset=0", "rel": "self"},
{"href": "...?limit=10&offset=10", "rel": "next"}
]
}
El gateway preserva los parámetros de consulta relevantes (bbox, datetime, project_id, f, bbox-crs) en los enlaces generados.
Crear un feature
curl -X POST \
-H "X-API-Key: mk_live_..." \
-H "Content-Type: application/json" \
"https://<ref>.supabase.co/functions/v1/api-gateway/oapif/collections/{formId}/items" \
-d '{
"type": "Feature",
"geometry": {"type": "Point", "coordinates": [-6.75, 37.57]},
"properties": {
"name": "New Point",
"project_id": "c328e46a-8fb9-41f1-a5f9-3dca9a894ab3"
}
}'
Notas:
- La geometría debe ser GeoJSON válido.
- El payload de geometría está limitado a 100KB.
- Si se proporciona
properties.project_id, debe pertenecer a la misma organización. - Las propiedades del sistema (
_mapalyze_*) en la entrada son ignoradas.
CRS
Las respuestas incluyen:
Content-Crs: <http://www.opengis.net/def/crs/OGC/1.3/CRS84>
Todas las coordenadas son CRS84 (WGS84 lon/lat).
Límites de tasa
Los endpoints OGC siguen los mismos límites de clave API documentados en Errores y Límites de Tasa.
¿Necesita ayuda con la API? Contacte a nuestro equipo de soporte.