Create Layer Endpoint
const url = 'https://example.com/layers/';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"title":"Survey Points","geometry_type":"Point","summary":"example","columns":[{"name":"example","type":"example"}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/layers/ \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "title": "Survey Points", "geometry_type": "Point", "summary": "example", "columns": [ { "name": "example", "type": "example" } ] }'Create a new empty spatial layer.
Creates a PostGIS table with a typed geometry column, runs the full post-processing pipeline (geom_4326, spatial index, reader grants), and registers the layer as a catalog dataset.
Requires editor or admin role.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Display name for the new layer
Example
Survey PointsOGC geometry type: Point, MultiPoint, LineString, MultiLineString, Polygon, or MultiPolygon
Example
Pointobject
Responses
Section titled “ Responses ”Successful Response
object
Dataset ID of the created layer
Display name
PostGIS table name in the data schema
OGC geometry type
Number of features (0 for new layers)
Visibility level: private, internal, or public
Creation timestamp
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "title": "example", "table_name": "example", "geometry_type": "example", "feature_count": 1, "visibility": "example", "created_at": "2026-04-15T12:00:00Z"}Bad request — invalid payload
Unauthorized — missing or invalid credentials
Forbidden — caller lacks write access
Not found
Conflict — resource state prevents the operation
Validation error
Too many requests — retry after the advertised interval
Headers
Section titled “Headers ”Seconds until the request may be retried
Internal server error
Service unavailable — the database could not serve the request