GET /game-systems List game systems

Returns the available game systems for dropdowns and catalog browsing.

Query

ParameterTypeNotes
isActivebooleanOptional. Filter active systems.

Response format

{
  "data": [
    {
      "id": 1,
      "name": "Dungeons & Dragons",
      "slug": "dungeons-and-dragons",
      "is_active": true
    }
  ]
}
GET /forms List forms

Returns forms without prompt fields or timestamps. Dropdown field options are included in the nested field payloads.

Query

ParameterTypeNotes
categorystringOptional. Example: character.
isActivebooleanOptional. Filter active forms.
isFeaturedbooleanOptional. Filter featured forms.

Response format

{
  "data": [
    {
      "id": 1,
      "key": "dnd_character_generator",
      "name": "Character Generator",
      "category": "character",
      "keywords": ["new", "popular", "fantasy"],
      "fields": []
    }
  ]
}
GET /forms/:identifier Get one form with fields

Returns the form metadata plus a fields array. Dropdown fields include nested options arrays.

Response format

{
  "data": {
    "id": 1,
    "key": "dnd_character_generator",
    "name": "Character Generator",
    "category": "character",
    "keywords": ["new", "popular", "fantasy"],
    "fields": [
      {
        "id": 11,
        "key": "class",
        "field_type": "dropdown",
        "options": [
          { "id": 101, "value": "fighter", "label": "Fighter" }
        ]
      }
    ]
  }
}
GET /forms/:identifier/fields List form fields

Returns the fields for a form. Dropdown fields include nested lookup values as options.

Response format

{
  "data": [
    {
      "id": 11,
      "form_id": 1,
      "key": "class",
      "field_type": "dropdown",
      "options": [
        { "id": 101, "value": "fighter", "label": "Fighter" }
      ]
    }
  ]
}
GET /art-styles List art styles

Returns art styles without prompt fields or timestamps.

Query

ParameterTypeNotes
isActivebooleanOptional. Filter active styles.
isFeaturedbooleanOptional. Filter featured styles.

Response format

{
  "data": [
    {
      "id": 1,
      "key": "fantasy-oil-painting",
      "name": "Fantasy Oil Painting",
      "is_active": true,
      "is_featured": false
    }
  ]
}
GET /art-styles/:identifier Get one art style

Returns a single art style by numeric id or key.

Response format

{
  "data": {
    "id": 1,
    "key": "fantasy-oil-painting",
    "name": "Fantasy Oil Painting",
    "is_active": true,
    "is_featured": false
  }
}
GET /lookup-groups List lookup groups

Returns lookup groups used by dropdown fields.

Query

ParameterTypeNotes
gameSystemIdnumberOptional. Filter by game system.

Response format

{
  "data": [
    {
      "id": 5,
      "game_system_id": 1,
      "key": "character_class",
      "name": "Character Class"
    }
  ]
}
GET /lookup-groups/:identifier/values List lookup values

Returns values for a lookup group by id or key, ordered by sort order.

Response format

{
  "data": [
    {
      "id": 101,
      "lookup_group_id": 5,
      "value": "fighter",
      "label": "Fighter",
      "is_active": true
    }
  ]
}

Use the Rest Client files under .http/catalog/ for copy-ready local test requests.