# Style definition blocks

### The shape of a style definition

A style in its most basic form contains a version definition but it can be extended to define how we want geometry and labels to show on the map, how the legend should look like, what information is shown in popups and the formatting used when displaying feature properties.

The table below describes which properties can be used in the style definition.

<table><thead><tr><th width="192">Field name</th><th>Description</th></tr></thead><tbody><tr><td><code>version</code></td><td>Mandatory. Defines which version this style adheres to</td></tr><tr><td><code>type</code></td><td>Optional. One of <a href="/pages/5UFembV8TweBItxmk9wx">simple</a> , <a href="/pages/OOI5SjNpmkX76Zi9y8Wi">categorical</a> , <a href="/pages/l19xNEDSN3qnKxQpzWjT">numeric</a> or <a href="/pages/hvXsaskqTHe4aJVaytZe">heatmap</a>. Defaults to simple.</td></tr><tr><td><code>config</code></td><td>Optional. A block that contains some configuration options to be used across the style. <a href="/pages/oKOUl53nPGg06x4Juhxh">Learn more</a>.</td></tr><tr><td><code>style</code></td><td>Optional. An object that defines how the data will be drawn. <a href="/pages/FCz1h2KbnMO7kJzIwKYK">Learn more.</a></td></tr><tr><td><code>label</code></td><td>Optional. An object that defines how the labels will be drawn. <a href="/pages/SP3VRafkNoLDOkMRewn2">Learn more.</a></td></tr><tr><td><code>legend</code></td><td>Optional. Defines how this layer will be shown on the layer panel. <a href="/pages/1fKJtssIMYNDGoHaGUKl">Learn more.</a></td></tr><tr><td><code>popup</code></td><td>Optional. Defines how the popup is shown and what’s included. <a href="/pages/5qsPLbZ2MQGtiV4gQH1Z">Learn more.</a></td></tr><tr><td><code>attributes</code></td><td>Optional. Defines how attributes are shown both in the popup and the table. <a href="/pages/k9QLQWI0KRfVYSsCwJjh">Learn more.</a></td></tr><tr><td><code>filters</code></td><td>Optional. A data filter definition that defines which data will be rendered. <a href="/pages/Aj7Mw36t9oq0LufZ2qet">Learn more.</a></td></tr></tbody></table>

```jsx
{
  "version": "2.1",
  "type": "simple",
  "style": {...}
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.felt.com/felt-style-language/style-definition-blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
