{
  "app": "Offer Letter Automation API",
  "routes": [
    "/static/<path:filename> (GET) -> static",
    "/scheduler (GET) -> scheduler.get_scheduler_info",
    "/scheduler/pause (POST) -> scheduler.pause_scheduler",
    "/scheduler/resume (POST) -> scheduler.resume_scheduler",
    "/scheduler/start (POST) -> scheduler.start_scheduler",
    "/scheduler/shutdown (POST) -> scheduler.shutdown_scheduler",
    "/scheduler/jobs (POST) -> scheduler.add_job",
    "/scheduler/jobs/<job_id> (GET) -> scheduler.get_job",
    "/scheduler/jobs (GET) -> scheduler.get_jobs",
    "/scheduler/jobs/<job_id> (DELETE) -> scheduler.delete_job",
    "/scheduler/jobs/<job_id> (PATCH) -> scheduler.update_job",
    "/scheduler/jobs/<job_id>/pause (POST) -> scheduler.pause_job",
    "/scheduler/jobs/<job_id>/resume (POST) -> scheduler.resume_job",
    "/scheduler/jobs/<job_id>/run (POST) -> scheduler.run_job",
    "/onboarding/processes (GET) -> onboarding.get_processes",
    "/onboarding/processes (GET) -> onboarding.get_processes",
    "/candidate_types (GET) -> candidate_type.list_candidate_types",
    "/candidate_types/<int:type_id> (GET) -> candidate_type.get_candidate_type",
    "/candidate_types (POST) -> candidate_type.create_candidate_type",
    "/candidate_types/<int:type_id> (PUT) -> candidate_type.update_candidate_type",
    "/candidate_types/<int:type_id> (DELETE) -> candidate_type.delete_candidate_type",
    "/ (GET) -> index",
    "/auth/login (POST) -> auth.login",
    "/auth/register (POST) -> auth.register",
    "/auth/logout (POST) -> auth.logout",
    "/auth/google/login (GET, POST) -> auth.google_login",
    "/auth/google/callback (GET, POST) -> auth.google_callback",
    "/auth/google/verify-token (POST) -> auth.google_verify_token",
    "/files/upload-zip (POST) -> files.upload_zip",
    "/files/employees (GET) -> files.get_employees",
    "/files/headers (GET) -> files.get_headers",
    "/files/dashboard-offerletter (GET) -> files.get_recruiter_employees",
    "/files/<filename> (GET) -> files.get_file",
    "/email/trigger-offers/<identifier> (POST) -> email.trigger_offers",
    "/email/trigger-offers (POST) -> email.trigger_offers_legacy",
    "/offer/accept/<token> (GET) -> offer.accept_offer",
    "/offer/reject/<token> (GET, POST) -> offer.reject_offer",
    "/offer/update-status (PUT) -> offer.update_offer_status",
    "/onboarding/processes/export (GET) -> onboarding.export_processes",
    "/onboarding/scheduler (GET) -> onboarding.get_schedulers",
    "/scheduler/export (GET) -> scheduling.export_schedulers",
    "/onboarding/doj (POST) -> onboarding.save_doj",
    "/onboarding/edit_doj (PUT) -> onboarding.edit_doj",
    "/onboarding/edit_candidate_details (PUT) -> onboarding.edit_candidate_details",
    "/employee/soft-delete (POST) -> employee.soft_delete",
    "/onboarding/add-processes (POST) -> scheduling.add_processes",
    "/scheduling/email-types (GET) -> scheduling.get_email_types",
    "/onboarding/create_scheduler (POST, PUT) -> scheduling.create_scheduler",
    "/onboarding/create_scheduler/<int:id> (PUT) -> scheduling.update_scheduler",
    "/onboarding/delete_scheduler/<int:id> (DELETE) -> scheduling.delete_scheduler",
    "/dashboard/stats (GET) -> dashboard.stats",
    "/dashboard/process-stats (GET) -> dashboard.process_stats",
    "/dashboard/process-distribution (GET) -> dashboard.process_distribution",
    "/users/list (GET) -> users.list_users",
    "/users/create (POST) -> users.create_user",
    "/users/<int:user_id>/assign-role (PUT) -> users.assign_role",
    "/users/<int:user_id>/assign-permissions (POST) -> users.assign_permissions",
    "/users/<int:user_id>/edit_user_rp (PUT) -> users.edit_user_rp",
    "/users/<int:user_id>/update-password (PUT) -> users.update_user_password",
    "/users/<int:user_id>/hierarchy (GET) -> users.get_user_hierarchy",
    "/users/roles/permissions/<int:role_id> (PUT) -> users.update_role_permissions",
    "/rbac/metadata (GET) -> rbac.get_rbac_metadata",
    "/rbac/roles (POST) -> rbac.create_role",
    "/rbac/permissions (POST) -> rbac.create_permission",
    "/employee/export (GET) -> employee_export.export_employee_data",
    "/face-recognition/upload-zip (POST) -> face_recognition.upload_zip",
    "/face-recognition (GET) -> face_recognition.get_records",
    "/face-recognition/live-capture/<token> (POST) -> face_recognition.live_capture",
    "/face-recognition/trigger-whatsapp (POST) -> face_recognition.trigger_whatsapp",
    "/face-recognition/verify-approver (POST) -> face_recognition.verify_approver",
    "/kyc/pan_verification (POST) -> kyc.pan_verification",
    "/kyc/aadhar_verification (POST) -> kyc.aadhar_verification",
    "/kyc/bank_verification (POST) -> kyc.bank_verification",
    "/kyc/dl_verification (POST) -> kyc.dl_verification",
    "/kyc/upload (POST) -> kyc.upload_excel",
    "/kyc/file-summary/<int:batch_id> (GET) -> kyc.file_summary",
    "/kyc/export/<int:batch_id> (GET) -> kyc.export",
    "/batch/upload (POST) -> batch.upload",
    "/batch/list (GET) -> batch.list",
    "/batch/download/<int:batch_id> (GET) -> batch.download",
    "/batch/retry-stale (POST) -> batch.retry_stale",
    "/hierarchy/upload (POST) -> hierarchy.upload",
    "/candidate_types (GET) -> candidate_types.list",
    "/candidate_types (GET) -> candidate_types.list",
    "/kyc/data (GET) -> kyc.get_data",
    "/candidate_types/<int:type_id> (GET) -> candidate_types.get",
    "/candidate_types (POST) -> candidate_types.create",
    "/candidate_types/<int:type_id> (PUT) -> candidate_types.update",
    "/candidate_types/<int:type_id> (DELETE) -> candidate_types.delete",
    "/candidate_type/edit-ct-mail-content (POST, PUT) -> candidate_type.edit_ct_mail_content",
    "/candidate_type/edit-ct-mail-content/<int:candidate_type_id> (POST, PUT) -> candidate_type.edit_ct_mail_content_by_id",
    "/designation/create (POST) -> designation.create",
    "/designation/export (GET) -> designation.export"
  ],
  "version": "1.0.0"
}
