---
title: "Add Feature To Layer"
method: POST
path: "/api/v1/table/{layer_id}/features"
tags: ["table"]
---

# Add Feature To Layer

`POST /api/v1/table/{layer_id}/features`

Add a complete GeoJSON feature to a layer.

## Request body

- FeatureAddRequest — Lightweight request for adding GeoJSON features.
  - `type` 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon', required
  - `coordinates` unknown[], required
    - unknown
  - `properties` object
  - `layer_id` string, uuid, required
  - `source_feature_id` string, nullable

## Response `200`

Successful Response

- FeatureAddResponse — Response model for adding a feature. ``data_version`` is the layer's new version after a successful add (bumped in the same transaction). None on failure since a failed create does not bump. The FE uses this to rotate the tile URL's ``?v=``.
  - `success` boolean, required
  - `data_version` integer, nullable
  - `feature_id` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/maia-analytics/apis/maia-api.md) · [All operations](https://skmtc.net/maia-analytics/apis/maia-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maia-analytics/maia-api/versions/c5094ff58a23/schema)
