> For the complete documentation index, see [llms.txt](https://docs.specifyapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.specifyapp.com/reference/sdtf-engine.md).

# SDTF Engine

## Instances

The SDTF Engine can be accessed in:

* the `@specifyapp/sdk` package, by using the `specifyClient.getRepositoryTokenTree` method.
* the `@specifyapp/specify-design-token-format` package, by using the exported `createSDTFEngine` function.

## Public API

```
sdtfEngine.[method]
```

### Query methods

The [Query API](/reference/sdtf-engine/query-api.md) provides methods for locally accessing and iterating the token tree.

### Query runner

The [SDTF Query Language](/reference/sdtf-engine/sdtf-query-language.md) is used into the `sdtfEngine.query.run(query: SDTFQuery)`

### Mutation methods

The [Mutation API](/reference/sdtf-engine/mutation-api.md) provides methods for locally mutating the token tree.

### Top level

#### `renderJSONTree`

Get the JSON representation of the token tree.

```typescript
function renderJSONTree(param: {
  renderOptions:
    | {
        resolveAliases: true;
        allowUnresolvable?: AllowUnresolvable;
        targetMode?: TargetMode;
      }
    | { resolveAliases: false };
}): JSON;
```
