🛠️ System & Developer Tools API¶
This section contains utility endpoints for developers, including cache management, API discovery, and general system diagnostics.
DevTools Controller¶
This controller exposes RimWorld's internal Debug Actions and development tools. It provides "God Mode" functionality usually reserved for the game's developer console.
Use with Caution
Actions performed here bypass standard gameplay rules. Misuse can lead to: * Corrupted save states. * Game crashes. * Broken AI behavior.
GET
/api/v1/dev/materials-atlas
¶
/api/v1/dev/materials-atlas
¶
Retrieves the development-level materials atlas data, which contains the internal mapping of material definitions to their graphical textures, shaders, and rendering properties.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/dev/materials-atlas
Response:
{
"success": true,
"data": {
"materials": [
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_CompactedMachinery_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_AncientFence_Atlas",
"Custom/CutoutComplex_Fleshmass_Atlas",
"Custom/Transparent_PowerConduit_Blueprint_Atlas",
"Custom/Transparent_Sandbags_Blueprint_Atlas",
"Custom/Transparent_Barricade_Blueprint_Atlas",
"Custom/Transparent_Wall_Blueprint_Atlas",
"Custom/Transparent_Fence_Atlas_Smooth",
"Custom/Cutout_Wall_Atlas_Smooth",
"Custom/Cutout_Wall_Atlas_Bricks",
"Custom/Cutout_Wall_Atlas_Smooth",
"Custom/Cutout_Wall_Atlas_Bricks",
"Custom/Cutout_Wall_Atlas_Bricks"
]
},
"errors": [],
"warnings": [],
"timestamp": "2025-12-11T19:15:20.9851409Z"
}
POST
/api/v1/dev/console
¶
/api/v1/dev/console
¶
A development and debugging endpoint that allows interaction with the game's internal logging system. This provides programmatic control over the developer console, allowing sending log messages, clearing console.
Example:
curl --request POST \
--url 'http://localhost:8765/api/v1/dev/console'
Request:
{
"action": "message",
"message": "hello_world"
}
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
POST
/api/v1/dev/stuff/color
¶
/api/v1/dev/stuff/color
¶
A development tool endpoint that modifies the visual color properties of a specific "stuff" material in-game. "Stuff" in RimWorld refers to the base materials that items and structures are made from (e.g., wood, steel, cloth, plasteel). This endpoint allows for real-time adjustment of a material's displayed color, primarily used for visual customization, debugging, or mod development testing.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/dev/stuff/color \
--header 'content-type: application/json' \
--data '{
"name": "WoodLog",
"hex": "aa00ff"
}'
Request:
{
"name": "WoodLog",
"hex": "aa00ff"
}
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
POST
/api/v1/dev/materials-atlas/clear
¶
/api/v1/dev/materials-atlas/clear
¶
Clears the in‑memory materials atlas cache, forcing the game to reload material textures, shaders, and rendering properties from disk on‑demand.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/dev/materials-atlas/clear
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
GET
/api/v1/dev/endpoints
¶
/api/v1/dev/endpoints
¶
Get a comprehensive list of all registered API endpoints, including their HTTP methods, paths, descriptions, categories, and tags. This is highly useful for programmatic route discovery and building automated API clients.
Example:
curl --request GET \
--url 'http://localhost:8765/api/v1/dev/endpoints'
Response:
{
"success": true,
"data": {
"endpoints": [
{
"method": "POST",
"path": "/api/v1/camera/change/zoom",
"description": "Change game camera zoom",
"category": "CameraController",
"tags": [],
"is_deprecated": false
},
{
"method": "POST",
"path": "/api/v1/camera/change/position",
"description": "Change game camera position",
"category": "CameraController",
"tags": [],
"is_deprecated": false
},
{
"method": "POST",
"path": "/api/v1/stream/start",
"description": "Start game camera stream",
"category": "CameraController",
"tags": [],
"is_deprecated": false
}
]
},
"errors": [],
"warnings": [],
"timestamp": "2026-03-28T16:45:00.0000000Z"
}
Server Cache Controller¶
Endpoints for managing the API's internal caching mechanism. Use these routes to toggle caching, monitor performance statistics (hit/miss ratios), and manually flush the cache to free memory or force data updates.
POST
/api/v1/cache/enable
¶
/api/v1/cache/enable
¶
Enable server caching for endpoint results. When enabled, valid GET requests will be stored in memory to reduce server load and improve response times.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/cache/enable
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
POST
/api/v1/cache/disable
¶
/api/v1/cache/disable
¶
Disable server caching. This forces the server to re-process every request. Useful for debugging or ensuring real-time data accuracy during development.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/cache/disable
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
GET
/api/v1/cache/status
¶
/api/v1/cache/status
¶
Retrieves the current status and performance statistics of the API's internal caching system. This endpoint provides visibility into cache utilization, effectiveness, and memory footprint, useful for monitoring and debugging API performance and optimization.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/cache/status
Response:
{
"enabled": true,
"statistics": {
"total_entries": 0,
"hits": 0,
"misses": 0,
"memory_usage_bytes": 0,
"last_cleanup": "2025-12-10T18:43:21.4353167Z",
"hit_ratio": 0.0,
"compiled_delegate_count": 0,
"compiled_delegate_hits": 0,
"compiled_delegate_misses": 0
}
}
POST
/api/v1/cache/clear
¶
/api/v1/cache/clear
¶
Manually triggers a complete flush of the caching system. This removes all stored entries and resets runtime statistics.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/cache/clear
Response:
{
"enabled": true,
"statistics": {
"total_entries": 0,
"hits": 0,
"misses": 0,
"memory_usage_bytes": 0,
"last_cleanup": "2025-12-10T18:43:21.4353167Z",
"hit_ratio": 0.0,
"compiled_delegate_count": 0,
"compiled_delegate_hits": 0,
"compiled_delegate_misses": 0
}
}
Documentation Controller¶
The Documentation Controller provides introspection capabilities for the API itself. It allows clients to dynamically discover available endpoints, schemas, and API versions without needing external references.
| Feature | Description |
|---|---|
| Discovery | List all registered routes and their parameters. |
| Health | Check the status of the API server. |
| Schema | Retrieve JSON schemas for request/response bodies. |
GET
/api/v1/core/docs/export
¶
/api/v1/core/docs/export
¶
Generates and exports comprehensive documentation for all available API endpoints. Returning documentation in requested format both in response and as file in mod_path/docs/ directory.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/core/docs/export
GET
/api/v1/docs
¶
/api/v1/docs
¶
Get documentation for all available API endpoints in requested format.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs
GET
/api/v1/docs/extensions/{extensionId}
¶
/api/v1/docs/extensions/{extensionId}
¶
Get documentation for all available API endpoints in requested format.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs/extensions/34
GET
/api/v1/docs/health
¶
/api/v1/docs/health
¶
Get documentation for all available API endpoints in requested format.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs/health
GET
/api/v1/docs/export
¶
/api/v1/docs/export
¶
Get documentation for all available API endpoints in requested format.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs/export
General Controller¶
The General Controller serves as the entry point for miscellaneous utility functions that don't fit into specific entity categories. It handles the "meta" layer of the game client.
Primary Capabilities
- Camera Control: Pan, zoom, and focus the player's view.
- UI Management: Toggle interface visibility or open specific menus.
- Time Control: Adjust game speed multiplier.