p-editor Developer API Reference

P-editor API

Swagger UI assets could not be loaded, so this built-in reference is shown instead. The OpenAPI JSON is available at https://api.p-editor.ir/v1/schema.json.

GET List available services for the authenticated user. /services/
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'array', 'items': {'type': 'object'}}}}]}
GET List authenticated user's requests. /requests/
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object'}}}]}
GET Get request status and result links. /requests/{tracking_id}/
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object'}}}]}
GET Download the processed result file. /requests/{tracking_id}/download/
POST Edit short text synchronously. /text/language-edit/
{'text': {'type': 'string', 'maxLength': 8000, 'description': 'Plain text to edit.', 'example': 'This paper present a new method.'}, 'return_diff': {'type': 'boolean', 'default': True, 'description': 'Return an HTML diff between original and edited text.'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'service': {'type': 'string', 'example': 'text-language-edit'}, 'words': {'type': 'integer'}, 'charged_credit': {'type': 'string'}, 'remaining_credit': {'type': 'string'}, 'original': {'type': 'string'}, 'edited': {'type': 'string'}, 'diff_html': {'type': 'string'}}}}}]}
POST Paraphrase text synchronously. /text/paraphrase/
{'text': {'type': 'string', 'maxLength': 20000, 'description': 'Plain text to paraphrase.', 'example': 'This paragraph should be rewritten in a clearer academic style.'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'service': {'type': 'string', 'example': 'text-paraphrase'}, 'original': {'type': 'string'}, 'paraphrased': {'type': 'string'}, 'diff_html': {'type': 'string'}}}}}]}
POST Estimate Language Editing cost and limits. /services/language-editing/estimate/

Submit a manuscript for academic language editing.

{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'$ref': '#/components/schemas/ApiSuccess'}
POST Create a Language Editing request. /services/language-editing/requests/

Submit a manuscript for academic language editing.

{'field': 'file', 'formats': ['doc', 'docx'], 'max_files': 1, 'min_files': 1}
{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'links': {'type': 'object', 'properties': {'status': {'type': 'string', 'format': 'uri'}, 'download': {'type': 'string', 'format': 'uri'}}}, 'title': {'type': 'string'}, 'status': {'enum': ['processing', 'processed', 'failed'], 'type': 'string'}, 'service': {'type': 'string'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'tracking_id': {'type': 'string'}, 'internal_status': {'type': 'string'}, 'result_available': {'type': 'boolean'}}}}}]}
POST Estimate Plagiarism Check cost and limits. /services/plagiarism-check/estimate/

Upload one document and receive an async plagiarism scan report.

{'file': {'type': 'string', 'format': 'binary'}, 'mode': {'type': 'string', 'default': 'full'}}
{'$ref': '#/components/schemas/ApiSuccess'}
POST Create a Plagiarism Check request. /services/plagiarism-check/requests/

Upload one document and receive an async plagiarism scan report.

{'field': 'file', 'aliases': ['source_file', 'source_pdf'], 'formats': ['pdf', 'docx', 'txt'], 'max_files': 1, 'min_files': 1}
{'file': {'type': 'string', 'format': 'binary'}, 'mode': {'type': 'string', 'default': 'full'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'links': {'type': 'object', 'properties': {'status': {'type': 'string', 'format': 'uri'}, 'download': {'type': 'string', 'format': 'uri'}}}, 'title': {'type': 'string'}, 'status': {'enum': ['processing', 'processed', 'failed'], 'type': 'string'}, 'service': {'type': 'string'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'tracking_id': {'type': 'string'}, 'internal_status': {'type': 'string'}, 'result_available': {'type': 'boolean'}}}}}]}
POST Estimate Proofreding cost and limits. /services/proofreading/estimate/

Submit a manuscript for scientific proofreading with tracked result files.

{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'$ref': '#/components/schemas/ApiSuccess'}
POST Create a Proofreding request. /services/proofreading/requests/

Submit a manuscript for scientific proofreading with tracked result files.

{'field': 'file', 'formats': ['doc', 'docx', 'pdf', 'tex'], 'max_files': 1, 'min_files': 1}
{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'links': {'type': 'object', 'properties': {'status': {'type': 'string', 'format': 'uri'}, 'download': {'type': 'string', 'format': 'uri'}}}, 'title': {'type': 'string'}, 'status': {'enum': ['processing', 'processed', 'failed'], 'type': 'string'}, 'service': {'type': 'string'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'tracking_id': {'type': 'string'}, 'internal_status': {'type': 'string'}, 'result_available': {'type': 'boolean'}}}}}]}
POST Estimate Article Similarity cost and limits. /services/article-similarity/estimate/

Upload two or more documents and receive an async similarity report.

{'files': {'type': 'array', 'items': {'type': 'string', 'format': 'binary'}, 'minItems': 2}, 'compare_mode': {'type': 'string', 'default': 'multi_documents'}}
{'$ref': '#/components/schemas/ApiSuccess'}
POST Create a Article Similarity request. /services/article-similarity/requests/

Upload two or more documents and receive an async similarity report.

{'field': 'files', 'aliases': ['multi_files'], 'formats': ['pdf', 'docx', 'txt'], 'min_files': 2}
{'files': {'type': 'array', 'items': {'type': 'string', 'format': 'binary'}, 'minItems': 2}, 'compare_mode': {'type': 'string', 'default': 'multi_documents'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'links': {'type': 'object', 'properties': {'status': {'type': 'string', 'format': 'uri'}, 'download': {'type': 'string', 'format': 'uri'}}}, 'title': {'type': 'string'}, 'status': {'enum': ['processing', 'processed', 'failed'], 'type': 'string'}, 'service': {'type': 'string'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'tracking_id': {'type': 'string'}, 'internal_status': {'type': 'string'}, 'result_available': {'type': 'boolean'}}}}}]}
POST Estimate Article Review cost and limits. /services/article-review/estimate/

Submit a manuscript for structured scientific peer review.

{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'$ref': '#/components/schemas/ApiSuccess'}
POST Create a Article Review request. /services/article-review/requests/

Submit a manuscript for structured scientific peer review.

{'field': 'file', 'formats': ['doc', 'docx', 'pdf', 'tex'], 'max_files': 1, 'min_files': 1}
{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'links': {'type': 'object', 'properties': {'status': {'type': 'string', 'format': 'uri'}, 'download': {'type': 'string', 'format': 'uri'}}}, 'title': {'type': 'string'}, 'status': {'enum': ['processing', 'processed', 'failed'], 'type': 'string'}, 'service': {'type': 'string'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'tracking_id': {'type': 'string'}, 'internal_status': {'type': 'string'}, 'result_available': {'type': 'boolean'}}}}}]}
POST Estimate Humanizer Audit cost and limits. /services/humanizer/estimate/

Submit a manuscript for humanizer audit and receive an async report with AI-detection signals, section-level findings.

{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'$ref': '#/components/schemas/ApiSuccess'}
POST Create a Humanizer Audit request. /services/humanizer/requests/

Submit a manuscript for humanizer audit and receive an async report with AI-detection signals, section-level findings.

{'field': 'file', 'formats': ['doc', 'docx', 'pdf', 'tex'], 'max_files': 1, 'min_files': 1}
{'file': {'type': 'string', 'format': 'binary'}, 'title': {'type': 'string', 'maxLength': 255}, 'abstract': {'type': 'string'}}
{'allOf': [{'$ref': '#/components/schemas/ApiSuccess'}, {'type': 'object', 'properties': {'data': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'links': {'type': 'object', 'properties': {'status': {'type': 'string', 'format': 'uri'}, 'download': {'type': 'string', 'format': 'uri'}}}, 'title': {'type': 'string'}, 'status': {'enum': ['processing', 'processed', 'failed'], 'type': 'string'}, 'service': {'type': 'string'}, 'created_at': {'type': 'string', 'format': 'date-time'}, 'updated_at': {'type': 'string', 'format': 'date-time'}, 'tracking_id': {'type': 'string'}, 'internal_status': {'type': 'string'}, 'result_available': {'type': 'boolean'}}}}}]}