Docs menuAPI Reference
API Reference
TurnitPass REST API
Reference for authenticated humanization, paraphrase, detector, citation, bibliography, and API key status endpoints.
Reference console
Start with the route, payload, and response shape.
The full reference covers every endpoint below. The console shows the contract developers need first: Bearer auth, JSON input, metered output, and status checks.
fetch('/api/v1/humanize', {
method: 'POST',
headers: {
Authorization: 'Bearer tp_live_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: 'Paste the draft here',
language: 'en',
mode: 'reduce-aigc'
})
}){
"output": "The revised text...",
"words_used": 142,
"words_remaining": 2858,
"status": "succeeded"
}/api/v1/humanize/api/v1/paraphrase/api/v1/rewrite/api/v1/detect/api/v1/citation/api/v1/humanizeRevise submitted text and reduce AI-like writing signals. Modes: reduce-aigc, reduce-both, paraphrase, academic-polish.
/api/v1/paraphraseRewrite and polish text with standard, fluency, formal, academic, simple, creative, expand, or shorten modes.
/api/v1/rewriteAcademic polish endpoint for cleaner structure, tone, and sentence flow.
/api/v1/detectReturn AI-writing signal estimates, metadata, and revision notes for pasted text or extracted documents.
/api/v1/citationFormat a DOI, URL, or manual citation in APA, MLA, Chicago, IEEE, Harvard, Nature, Vancouver, ACS, AMA, GB/T, OSCOLA, or Bluebook. Responses include html, text, BibTeX, and RIS.
/api/v1/bibliographySort and format a list of citations in the requested style, with html/text output plus BibTeX and RIS exports.
/api/v1/statusCheck key label, remaining word balance, and request limits.
Parameters and options
Rate limits and request limits
Error handling
Error responses use JSON with error,code, and human-readable message fields where possible.
{
"error": "Text exceeds word limit. Maximum 1,000 words allowed.",
"code": "word_limit_exceeded",
"max_words": 1000,
"current_words": 1234
}Examples
POST /api/v1/humanize
{
"text": "Paste the AI-assisted draft you want to revise",
"language": "en",
"mode": "reduce-aigc",
"personal_terms": ["Key term"]
}
200 OK
{
"output": "The revised text...",
"words_used": 142,
"words_remaining": 2858
}POST /api/v1/paraphrase
{
"text": "Paste the draft you want rewritten",
"mode": "academic",
"synonyms_level": 60
}
POST /api/v1/detect
{
"text": "Paste the draft you want checked",
"language": "en",
"source_kind": "paste"
}
POST /api/v1/citation
{
"input": "https://example.com/article",
"style": "apa"
}
200 OK
{
"text": "Formatted citation...",
"bibtex": "@article{...}",
"ris": "TY - JOUR..."
}