---
title: "Add dataset definition"
method: POST
path: "/api/v1/geoaware/admin/dataset-definitions"
tags: ["GeoZones Admin"]
---

# Add dataset definition

`POST /api/v1/geoaware/admin/dataset-definitions`

## Request

- Base URL: `http://localhost:8486`
- URL: `http://localhost:8486/api/v1/geoaware/admin/dataset-definitions`
- Auth: API key in header `x-auth-token`

Creates a new dataset definition

## Request body

- CreateDatasetDefinitionRequestDTO: Create dataset definition request
  - `name` string, required: Dataset definition name
  - `geographicalCoverage` string, required: Geographical coverage identifier
  - `dataSource` RemoteDataSourceDTO, required: Remote data source configuration
    - `type` 'ARCGIS_FEATURE_SERVICE' | 'OVERPASS_API' | 'LFV_DAIM' | 'OPENAIP' | 'STATIC', required: Type of remote data source
    - `converterBeanName` string, required: Name of the converter bean to use
    - `contentType` string: Content type of the data
    - `urlGeneratorParameters` object: URL generator parameters
  - `updateInterval` string: Update interval as ISO-8601 duration
  - `authorativeLevel` 'AUTHORATIVE' | 'NON_AUTHORATIVE': Authoritative level
  - `featuresIncluded` string[]: Set of feature type IDs included in this dataset

## Response `201`

Dataset definition created successfully

- DatasetDefinitionDTO: Dataset definition
  - `id` integer: Dataset definition ID
  - `version` integer: Version for optimistic locking
  - `name` string: Dataset definition name
  - `geographicalCoverage` string: Geographical coverage identifier
  - `dataSource` RemoteDataSourceDTO: Remote data source configuration
    - `type` 'ARCGIS_FEATURE_SERVICE' | 'OVERPASS_API' | 'LFV_DAIM' | 'OPENAIP' | 'STATIC', required: Type of remote data source
    - `converterBeanName` string, required: Name of the converter bean to use
    - `contentType` string: Content type of the data
    - `urlGeneratorParameters` object: URL generator parameters
  - `updateInterval` string: Update interval as ISO-8601 duration
  - `authorativeLevel` 'AUTHORATIVE' | 'NON_AUTHORATIVE': Authoritative level
  - `active` boolean: Whether the dataset definition is active
  - `featuresIncluded` string[]: Set of feature type IDs included in this dataset

## Other responses

- `400`: Invalid request data
- `403`: Access denied
- `422`: Validation failed
- `500`: Internal server error

---

[API](https://skmtc.dev/airdodge/apis/api-core.md) - [All operations](https://skmtc.dev/airdodge/apis/api-core/llms.txt) - [OpenAPI document](https://skmtc.dev/airdodge/apis/api-core/revisions/fb3c5a1055cc?raw)
