Admin (SuperFirm)
All endpoints under /api/v1/admin/* are restricted to users who belong to the SuperFirm (Firm.IsSuperFirm = true). They provide platform-wide management capabilities.
Access Control: The
[RequireSuperFirm] attribute on these controllers checks the issuperfirm JWT claim. Ordinary firm users calling these endpoints will receive 403 Forbidden.Admin — Firm Management
Route: /api/v1/admin/firm
| Method | Route | Description |
|---|---|---|
| POST | /api/v1/admin/firm/getall | Paginated list of all firms in the system |
| GET | /api/v1/admin/firm/get/{id} | Get a specific firm by ID |
POST
/api/v1/admin/firm/getall
JSON Request
{
"filter": { "searchTerm": "acme", "isActive": true },
"pageNumber": 1,
"pageSize": 20,
"sortBy": "CreatedDate Desc"
}Admin — Wallet Management
Route: /api/v1/admin/wallet
| Method | Route | Description |
|---|---|---|
| GET | /api/v1/admin/wallet/pricing-plans | List all pricing plans |
| POST | /api/v1/admin/wallet/pricing-plans | Create or update a pricing plan |
| POST | /api/v1/admin/wallet/manual-credit | Manually credit a firm's wallet |
| POST | /api/v1/admin/wallet/manual-adjust | Manually adjust a firm's wallet balance |
| POST | /api/v1/admin/wallet/apply-discount | Apply a discount to a firm's wallet |
| GET | /api/v1/admin/wallet/client-balance/{firmId} | Get a specific firm's wallet balance |
| GET | /api/v1/admin/wallet/client-summary/{firmId} | Get a firm's monthly billing summary |
| GET | /api/v1/admin/wallet/client-transactions/{firmId} | Get a firm's transaction history |
| GET | /api/v1/admin/wallet/dashboard | Admin wallet dashboard overview |
| GET | /api/v1/admin/wallet/wallets | Paginated list of all firm wallets |
| GET | /api/v1/admin/wallet/wallets/{firmId} | Detailed wallet info for specific firm |
POST
/api/v1/admin/wallet/manual-credit
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
firmId | Guid | ✓ | Target firm |
amount | decimal | ✓ | Credit amount (positive) |
reason | string | ✓ | Credit reason for audit log |
bankRef | string? | — | Bank reference number |
Admin — Role Property Management
Route: /api/v1/admin/roleproperty — Defines permission types available across the system.
| Method | Route | Description |
|---|---|---|
| POST | /api/v1/admin/roleproperty/getall | Paginated list of role properties grouped by module |
| POST | /api/v1/admin/roleproperty/create | Create permission properties for a module |
| PUT | /api/v1/admin/roleproperty/update | Update properties for a module (upsert/delete) |
| DEL | /api/v1/admin/roleproperty/delete/{moduleName} | Soft-delete all properties for a module |
POST
/api/v1/admin/roleproperty/create
JSON Request
{
"moduleName": "WhatsappChat",
"properties": [
{ "propertyName": "View", "displayName": "View Chats" },
{ "propertyName": "SendMessage", "displayName": "Send Messages" },
{ "propertyName": "SendTemplate", "displayName": "Send Templates" },
{ "propertyName": "StartConversation","displayName": "Start Conversations" }
]
}