1. Admin Dashboard
  • 01 - Overview
  • 02 - User Guide
  • 03 - Technical Guide
  • 04 - Operations
  • App
    • Get application hello response
      GET
  • Users
    • Kullanıcı profili
      GET
    • Update current user profile
      PATCH
    • Opsiyonel kimlik doğrulama
      GET
    • Tüm kullanıcıları listele
      GET
    • Get user by id (Admin)
      GET
    • Kullanıcı sil
      DELETE
    • Update user profile by id (Admin)
      PATCH
    • Update user email by id (Admin)
      PATCH
    • Update user role by id (Superadmin)
      PATCH
  • Auth
    • Token yenileme
      POST
    • Kullanıcı çıkışı
      POST
    • Request OTP (Login or Register)
      POST
    • Verify OTP (Login or Register)
      POST
    • Complete registration
      POST
    • Get registration status
      GET
  • Courses
    • Create a new course (Admin only)
      POST
    • Get all courses
      GET
    • Duplicate an existing course
      POST
    • Kurs detayını görüntüle
      GET
    • Update an existing course (Admin only)
      PATCH
    • Delete a course (Admin only)
      DELETE
  • Storage
    • Upload a file to storage
  • Proficiency Tests
    • Create a new proficiency test
    • List available proficiency tests
    • Duplicate an existing proficiency test
    • Update an existing proficiency test
    • Get test details
    • Delete proficiency test (Admin)
    • Get available target languages
    • Get detailed test result (Admin)
    • Delete test result (Admin)
    • Get all test results (Admin)
    • Get test results for a specific user (Admin)
    • Get current user results
    • Get detailed test result
    • Check if user has completed the test
    • Submit a proficiency test
  • Settings
    • Get setting by key
    • Create or update a setting (Admin)
  • Education Materials
    • Create a new education material with multiple PDFs and videos
    • List all education materials with optional locale filtering
    • Assign an education material to one or more users (Admin)
    • Get assigned education materials for current user
    • Get assigned education materials for a specific user (Admin)
    • Get detailed information about a specific education material
    • Update education material details and/or add new PDFs
    • Delete an education material
  • Contact
    • Submit a contact request
    • Get contact requests (Admin)
    • Reply to a contact request (Admin)
    • Delete a contact request (Admin)
    • Update contact status (Admin)
  • Admin Dashboard
    • Get aggregated dashboard metrics for admin panel
      GET
  • Schemas
    • UserDocument
    • BaseResponseDto
    • RequestOtpDto
    • VerifyOtpDto
    • HelloResponseDto
    • AuthResponseDto
    • UserProfileDto
    • UserProfileResponseDto
    • UserResponseDto
    • UpdateMeProfileDto
    • OptionalAuthResponseDto
    • PaginationDto
    • AdminUpdateUserProfileDto
    • AdminUpdateUserEmailDto
    • OtpResponseDto
    • UpdateUserRoleDto
    • DeleteResponseDto
    • RefreshTokenDto
    • LogoutResponseDto
    • RequestOtpUnifiedDto
    • VerifyOtpUnifiedDto
    • CompleteRegistrationResponseDto
    • CompleteRegistrationDto
    • RegistrationStatusResponseDto
    • CourseResponseDto
    • UploadFileResponseDto
    • LevelRangeResponseDto
    • ProficiencyOptionResponseDto
    • ProficiencyQuestionResponseDto
    • ProficiencyTestDetailResponseDto
    • OptionDto
    • QuestionDto
    • LevelRangeDto
    • CreateProficiencyTestDto
    • UpdateProficiencyTestDto
    • ProficiencyTestListResponseDto
    • TargetLanguagesResponseDto
    • UserTestAnswerResponseDto
    • UserTestResultUserSummaryDto
    • UserTestResultTestSummaryDto
    • UserTestResultResponseDto
    • DeleteUserTestResultResponseDto
    • UserTestResultListResponseDto
    • UserTestStatusSummaryDto
    • UserTestStatusResponseDto
    • DeleteProficiencyTestResponseDto
    • AnswerDto
    • SubmitTestDto
    • SettingValueResponseDto
    • SettingResponseDto
    • UpsertSettingDto
    • MaterialPdfResponseDto
    • MaterialVideoResponseDto
    • EducationMaterialResponseDto
    • CreateEducationMaterialDto
    • AssignEducationMaterialSummaryDto
    • AssignEducationMaterialDto
    • AssignedByResponseDto
    • AssignedEducationMaterialResponseDto
    • MyAssignedEducationMaterialsResponseDto
    • UserSummaryForAssignmentsDto
    • AdminUserAssignedMaterialsResponseDto
    • UpdateEducationMaterialDto
    • DeleteEducationMaterialResponseDto
    • ContactResponseDto
    • CreateContactRequestDto
    • ReplyContactRequestDto
    • UpdateContactStatusRequestDto
    • DashboardUsersOverviewDto
    • DashboardCoursesOverviewDto
    • DashboardTestsOverviewDto
    • DashboardContactsOverviewDto
    • DashboardMaterialsOverviewDto
    • DashboardOverviewDto
    • DashboardTrendDto
    • DashboardDistributionItemDto
    • DashboardLevelDistributionItemDto
    • DashboardLanguageDistributionItemDto
    • DashboardDistributionsDto
    • DashboardRecentContactDto
    • DashboardRecentResultDto
    • DashboardRecentActivityDto
    • AdminDashboardStatsResponseDto
  1. Admin Dashboard

Get aggregated dashboard metrics for admin panel

GET
/admin/dashboard
Returns aggregated metrics and distributions used by the admin dashboard widgets.

Request

Authorization
Query Params

Responses

🟢200
application/json
Admin dashboard statistics
Body

🟠401
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET '/admin/dashboard?months'
Response Response Example
200 - Example 1
{
    "isSuccess": true,
    "statusCode": 200,
    "data": {
        "generatedAt": "2026-02-14T08:21:20.120Z",
        "months": 6,
        "overview": {
            "users": {
                "total": 1500,
                "admins": 15,
                "registrationCompleted": 1280,
                "completionRate": 85.33,
                "newLast30Days": 54,
                "monthlyGrowthRate": 8.2
            },
            "courses": {
                "total": 42
            },
            "tests": {
                "totalTests": 28,
                "totalSubmissions": 2048,
                "averageScore": 71.2,
                "submissionsLast30Days": 176,
                "monthlyGrowthRate": 6.5
            },
            "contacts": {
                "total": 340,
                "pending": 58,
                "replied": 282,
                "replyRate": 82.94,
                "newLast30Days": 23
            },
            "materials": {
                "total": 60,
                "assignments": 812,
                "assignedUsers": 403,
                "avgAssignmentsPerUser": 2.01,
                "assignmentsLast30Days": 91
            }
        },
        "trends": [
            {
                "month": "2026-02",
                "label": "Feb 2026",
                "users": 120,
                "testSubmissions": 87,
                "contacts": 16,
                "materialAssignments": 43
            }
        ],
        "distributions": {
            "roles": [
                {
                    "key": "user",
                    "label": "User",
                    "count": 42,
                    "percentage": 66.67
                }
            ],
            "contactsByStatus": [
                {
                    "key": "user",
                    "label": "User",
                    "count": 42,
                    "percentage": 66.67
                }
            ],
            "levels": [
                {
                    "key": "user",
                    "label": "User",
                    "count": 42,
                    "percentage": 66.67,
                    "averageScore": 72.5
                }
            ],
            "languages": [
                {
                    "key": "en",
                    "label": "EN",
                    "submissions": 124,
                    "averageScore": 69.2
                }
            ]
        },
        "recentActivity": {
            "contacts": [
                {
                    "id": "67aeef90b2c7d32d4f6f4f11",
                    "fullName": "John Doe",
                    "email": "john@example.com",
                    "status": "PENDING",
                    "createdAt": "2026-02-14T08:21:20.120Z",
                    "repliedAt": "2026-02-14T08:45:10.903Z",
                    "source": "instagram"
                }
            ],
            "testResults": [
                {
                    "id": "67aeef90b2c7d32d4f6f4f12",
                    "userName": "John Doe",
                    "userEmail": "john@example.com",
                    "level": "B2",
                    "totalScore": 78,
                    "targetLanguage": "en",
                    "testTitle": "English Placement Test",
                    "completedAt": "2026-02-14T08:21:20.120Z"
                }
            ]
        }
    },
    "errors": [
        "Error messages..."
    ],
    "timestamp": "2026-02-14T09:58:22.138Z"
}
Modified at 2026-02-14 10:03:30
Previous
Update contact status (Admin)
Next
UserDocument
Built with