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

MethodRouteDescription
POST/api/v1/admin/firm/getallPaginated 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

MethodRouteDescription
GET/api/v1/admin/wallet/pricing-plansList all pricing plans
POST/api/v1/admin/wallet/pricing-plansCreate or update a pricing plan
POST/api/v1/admin/wallet/manual-creditManually credit a firm's wallet
POST/api/v1/admin/wallet/manual-adjustManually adjust a firm's wallet balance
POST/api/v1/admin/wallet/apply-discountApply 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/dashboardAdmin wallet dashboard overview
GET/api/v1/admin/wallet/walletsPaginated 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

ParameterTypeRequiredDescription
firmIdGuidTarget firm
amountdecimalCredit amount (positive)
reasonstringCredit reason for audit log
bankRefstring?Bank reference number

Admin — Role Property Management

Route: /api/v1/admin/roleproperty — Defines permission types available across the system.

MethodRouteDescription
POST/api/v1/admin/roleproperty/getallPaginated list of role properties grouped by module
POST/api/v1/admin/roleproperty/createCreate permission properties for a module
PUT/api/v1/admin/roleproperty/updateUpdate 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" }
  ]
}