# API Route Mapping: Official → Mobile

Maps official LibreChat API route files to their mobile `*Api.kt` counterparts.

## Implemented

| Official Route | Mobile API File | Notes |
|---------------|-----------------|-------|
| `routes/auth.js` | `AuthApi.kt` | Login, register, refresh, logout, 2FA |
| `routes/oauth.js` | `AuthApi.kt` | OAuth flows (shared file) |
| `routes/config.js` | `ConfigApi.kt` | Startup config, version check |
| `routes/convos.js` | `ConversationsApi.kt` | CRUD, archive, share, fork, duplicate |
| `routes/messages.js` | `MessagesApi.kt` | Get messages by conversation |
| `routes/search.js` | `SearchApi.kt` | Conversation search |
| `routes/tags.js` | `TagsApi.kt` | Conversation tags/bookmarks |
| `routes/presets.js` | `PresetsApi.kt` | Save/load presets |
| `routes/prompts.js` | `PromptsApi.kt` | Prompts library |
| `routes/agents/` (dir) | `AgentsApi.kt` | Agent CRUD, marketplace |
| `routes/files/` (dir) | `FilesApi.kt`, `FilesExtApi.kt` | Upload, list, delete, external files |
| `routes/share.js` | `ShareApi.kt` | Shared conversation links |
| `routes/user.js` | `UserApi.kt` | Profile, delete account |
| `routes/balance.js` | `BalanceApi.kt` | Token balance check |
| `routes/banner.js` | `BannerApi.kt` | System banners |
| `routes/keys.js` | `KeysApi.kt` | User API keys |
| `routes/mcp.js` | `McpApi.kt` | MCP server management |
| `routes/memories.js` | `MemoriesApi.kt` | Memory/context management |
| N/A | `ChatApi.kt` | SSE streaming (POST + GET, not a standard route) |
| N/A | `SpeechApi.kt` | Text-to-speech |
| N/A | `ApiKeysApi.kt` | API key management |

## Gaps (no mobile counterpart yet)

| Official Route | What It Does | Priority |
|---------------|-------------|----------|
| `routes/categories.js` | Agent categories | Low — categories embedded in agent responses |
| `routes/endpoints.js` | List available endpoints | Medium — Mobile uses config response instead |
| `routes/models.js` | List available models per endpoint | Medium — Mobile uses config response instead |
| `routes/roles.js` | Role-based access control (admin) | Low — admin feature |
| `routes/settings.js` | User settings CRUD | Medium — Mobile uses local DataStore |
| `routes/actions.js` | Custom actions/plugins | Low — plugin system |
| `routes/assistants/` (dir) | OpenAI Assistants API | Low — agents supersede assistants |
| `routes/accessPermissions.js` | File access permissions | Low — admin feature |
| `routes/static.js` | Static file serving | N/A — not applicable to mobile |
