# org.lichess.puzzle.getThemes

> Published by [pds.dad](https://lexicon.garden/identity/did:plc:rnpkyqnmsw4ipey6eotbdnnf)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:rnpkyqnmsw4ipey6eotbdnnf/org.lichess.puzzle.getThemes)
- [Documentation](https://lexicon.garden/lexicon/did:plc:rnpkyqnmsw4ipey6eotbdnnf/org.lichess.puzzle.getThemes/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:rnpkyqnmsw4ipey6eotbdnnf/org.lichess.puzzle.getThemes/examples)

## Definitions

### `org.lichess.puzzle.getThemes`

**Type**: `query`

List all puzzle themes with their display names and descriptions. The keys returned here are the values accepted by the getRandom themes filter.

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `themes` | `array` | Yes | all known puzzle themes. |

## Raw Schema

```json
{
  "id": "org.lichess.puzzle.getThemes",
  "defs": {
    "main": {
      "type": "query",
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "themes"
          ],
          "properties": {
            "themes": {
              "type": "array",
              "items": {
                "ref": "org.lichess.puzzle.defs#themeView",
                "type": "ref"
              },
              "description": "all known puzzle themes."
            }
          }
        },
        "encoding": "application/json"
      },
      "description": "List all puzzle themes with their display names and descriptions. The keys returned here are the values accepted by the getRandom themes filter."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
