Text Reuse Detection


POST/api/apiServices/Paraphrase

Check text reuse detection.

Parameters

original(string*)

Original Text in Urdu

paraphased(string*)

Paraphrased Text in Urdu

Response

Success Response

{
  "result": true,
  "output": {
    "class": "WD",
    "url": "https://urduplagdetect.vercel.app/Services/Report/ID_HERE"
  }
}

Failure Response

{
  "result": true,
  "error": "Error Message"
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 const axios = require('axios'); const checkPlagiarism = async (original, paraphased) => { const response = await axios.post('https://urduplagdetect.vercel.app/api/apiServices/Plagarisim', { original: original, paraphased: paraphased }, { headers: { 'Authorization': 'Bearer YOUR_API_HERE' } }); return response.data; };

Check Plagiarism


POST/api/apiServices/Plagarisim

Generate Plagiarism Report of input text

Parameters

content(string*)

Content to check

sensitivity(string*)

sensitivity Level (L,M,H)

Response

Success Response

{
  "result": true,
  "output": {
    "data": {
      "Score": 0,
      "Results": []
    },
    "url": "http://localhost:3000/report/6872a5e0f7a7bd3c4d0e05a7"
  }
}

Failure Response

{
  "result": true,
  "error": "Error Message"
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 const axios = require('axios'); const paraphraseText = async (original, paraphased) => { const response = await axios.post('https://urduplagdetect.vercel.app/api/apiServices/Paraphrase', { original: original, paraphased: paraphased }, { headers: { 'Authorization': 'Bearer YOUR_API_HERE' } }); return response.data; };

Get History


GET/api/apiServices/History

Retrieve history of API requests with optional filtering

Parameters

limit(number)

Maximum number of records to return (max: 50, default: 10)

type(string)

Filter by type: "plagiarism", "paraphrase", or leave empty for all

Response

Success Response

{
  "result": true,
  "data": [
    {
      "_id": "6872a4c3f7a7bd3c4d0e0594",
      "user_id": "674a0d780f556dfe48c4e606",
      "original": "this is original",
      "generated": "this is paraphased",
      "class": "WD",
      "score": 0,
      "type": "API",
      "createdAt": "2025-07-12T18:09:07.718Z",
      "updatedAt": "2025-07-12T18:09:07.718Z",
      "__v": 0
    }
  ],
  "count": 1,
  "type": "paraphrase",
  "limit": 1,
  "fromDate": null,
  "toDate": null
}

Failure Response

{
  "error": "Rate limit exceeded. Please wait 4 seconds before making another request.",
  "result": false
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 const axios = require('axios'); const getHistory = async (limit = 10, type = null) => { const params = new URLSearchParams(); if (limit) params.append('limit', limit); if (type) params.append('type', type); const response = await axios.get('https://urduplagdetect.vercel.app/api/apiServices/History', { headers: { 'Authorization': 'Bearer YOUR_API_HERE' }, params: params }); return response.data; };

Health Check


GET/api/health

Check the health status of the API and website services

Parameters

Response

Success Response

{
  "title": "Urdu Back Translation Text Reuse Detection API Health Status",
  "status": "healthy",
  "timestamp": "2025-01-12T18:09:07.718Z",
  "uptime": {
    "seconds": 3600,
    "minutes": 60,
    "hours": 1,
    "days": 0
  },
  "version": "1.0.0",
  "environment": "production",
  "services": {
    "database": "connected",
    "api": "operational",
    "authentication": "operational"
  },
  "rateLimit": {
    "requestsPerMinute": 5,
    "windowMs": 60000,
    "maxRequests": 5
  },
  "endpoints": {
    "paraphrase": "/api/apiServices/Paraphrase",
    "plagiarism": "/api/apiServices/Plagarisim",
    "history": "/api/apiServices/History"
  }
}

Failure Response

{
  "status": "error",
  "message": "Rate limit exceeded. Please wait 1 minute before making another request.",
  "retryAfter": 60
}
1 2 3 4 5 6 const axios = require('axios'); const checkHealth = async () => { const response = await axios.get('https://urduplagdetect.vercel.app/api/health'); return response.data; };