{"message":"RefreshES API","version":"1.0.0","status":"running","docs":"/docs","endpoints":{"refresh":{"POST /refresh/article/{article_id}":"Refresh single article","POST /refresh/social/{social_feed_id}":"Refresh single social feed","POST /refresh/article/batch":"Refresh multiple articles","POST /refresh/social/batch":"Refresh multiple social feeds"},"sync":{"POST /sync/client":"Sync client data","POST /sync/client/cbcp":"Sync CBCP data (async)","POST /sync/client/cponline":"Sync CPOnline data (async)","GET /sync/client/{client_id}/status":"Get sync status"},"charts":{"POST /charts/validate/social":"Validate social Excel file","POST /charts/validate/print":"Validate print Excel file","POST /charts/upload/social":"Upload social chart data","POST /charts/upload/print":"Upload print chart data","GET /charts/upload/status/{job_id}":"Get upload job status"},"boolean_translator":{"POST /boolean/upload":"Upload boolean query JSON data","POST /boolean/upload-wildcard":"Upload wildcard keywords per language to ES (doc id: companyId_wildcard)","GET /boolean/company/{company_id}":"Get company boolean query","DELETE /boolean/company/{company_id}":"Delete company boolean query","POST /boolean/espreview/query":"Execute boolean query using esPreview","POST /boolean/espreview/query/file":"Execute query from JSON file","POST /boolean/espreview/company/{company_id}":"Execute company query","GET /boolean/espreview/companies":"List available companies","GET /boolean/espreview/health":"Check esPreview health"},"backtracking":{"POST /backtracking/run":"Start backtracking job (queued if worker enabled, else immediate) - Worker mode processes jobs automatically from queue","GET /backtracking/job/{job_id}":"Get backtracking job status","GET /backtracking/jobs":"List all backtracking jobs (use ?status_filter=running to check active jobs)","DELETE /backtracking/job/{job_id}":"Cancel a backtracking job","GET /backtracking/health":"Check backtracking system health","GET /backtracking/status/{checkpoint_file}":"Get checkpoint status (filesystem)","GET /backtracking/checkpoint/{checkpoint_id}":"Get checkpoint status (MongoDB)","POST /backtracking/resume":"Resume backtracking from checkpoint (returns immediately with job_id)"},"elastic_tagging":{"POST /tagging/tag":"Tag an article and get company/keyword matches","POST /tagging/tag/company-keywords":"Get keywords for a specific company from article content","GET /tagging/health":"Check elasticTagging system health"}},"boolean_translator_available":true,"backtracking_available":true,"elastic_tagging_available":true}