# Mini Game Types

## Get all mini game types

> Retrieve all mini game types for the authenticated app. Optionally filter by name.

```json
{"openapi":"3.0.0","info":{"title":"Meshmap API v1","version":"1.0.0"},"servers":[{"url":"/api/v1","description":"API v1 base URL"}],"security":[{"AppAPIKey":[]}],"components":{"securitySchemes":{"AppAPIKey":{"type":"apiKey","in":"header","name":"x-app-api-key","description":"App API key in format: <key>"}},"schemas":{"GetMiniGameTypesList":{"type":"object","required":["miniGameTypes"],"properties":{"miniGameTypes":{"type":"array","items":{"$ref":"#/components/schemas/MiniGameTypeSchema"}}}},"MiniGameTypeSchema":{"type":"object","required":["id","name","description","createdAt"],"properties":{"id":{"type":"string","description":"Unique mini game type identifier"},"name":{"type":"string","description":"Mini game type name"},"description":{"type":"string","description":"Mini game type description"},"imageUrl":{"type":"string","nullable":true,"description":"Mini game type image URL"},"createdAt":{"type":"string","format":"date-time","description":"Creation timestamp"}}},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"oneOf":[{"type":"string","description":"Error message"},{"type":"array","items":{"type":"object","required":["code","message","path"],"properties":{"code":{"type":"string","description":"Error code"},"message":{"type":"string","description":"Error message"},"path":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"}]},"description":"Error path"}}}}]}}}}},"paths":{"/apps/minigame-types":{"get":{"summary":"Get all mini game types","description":"Retrieve all mini game types for the authenticated app. Optionally filter by name.","tags":["Mini Game Types"],"parameters":[{"name":"miniGameTypeName","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by mini game type name"}],"responses":{"200":{"description":"Mini game types retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetMiniGameTypesList"}}}},"401":{"description":"Unauthorized - invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Create a new mini game type

> Create a new mini game type for the authenticated app. Mini game type names must be unique per app.

```json
{"openapi":"3.0.0","info":{"title":"Meshmap API v1","version":"1.0.0"},"servers":[{"url":"/api/v1","description":"API v1 base URL"}],"security":[{"AppAPIKey":[]}],"components":{"securitySchemes":{"AppAPIKey":{"type":"apiKey","in":"header","name":"x-app-api-key","description":"App API key in format: <key>"}},"schemas":{"CreateMiniGameTypeRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Mini game type name (must be unique per app)"},"description":{"type":"string","description":"Mini game type description","default":""},"imageUrl":{"type":"string","format":"uri","nullable":true,"description":"Optional image URL for the mini game type"}}},"MiniGameTypeSchema":{"type":"object","required":["id","name","description","createdAt"],"properties":{"id":{"type":"string","description":"Unique mini game type identifier"},"name":{"type":"string","description":"Mini game type name"},"description":{"type":"string","description":"Mini game type description"},"imageUrl":{"type":"string","nullable":true,"description":"Mini game type image URL"},"createdAt":{"type":"string","format":"date-time","description":"Creation timestamp"}}},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"oneOf":[{"type":"string","description":"Error message"},{"type":"array","items":{"type":"object","required":["code","message","path"],"properties":{"code":{"type":"string","description":"Error code"},"message":{"type":"string","description":"Error message"},"path":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"}]},"description":"Error path"}}}}]}}}}},"paths":{"/apps/minigame-types":{"post":{"summary":"Create a new mini game type","description":"Create a new mini game type for the authenticated app. Mini game type names must be unique per app.","tags":["Mini Game Types"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMiniGameTypeRequest"}}}},"responses":{"201":{"description":"Mini game type created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MiniGameTypeSchema"}}}},"400":{"description":"Invalid request data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```
