Create an API key
Use a scoped bearer key for each integration, tenant, or backend service.
Add proofreading, language editing, peer review, similarity analysis, and plagiarism checks to your product through one reliable developer platform.
curl -X POST \
"https://api.p-editor.ir/v1/services/proofreading/requests/" \
-H "Authorization: Bearer $PEDITOR_API_KEY" \
-F "title=My manuscript" \
-F "file=@paper.docx"
{
"success": true,
"data": {
"tracking_id": "2026-08101230421",
"status": "processing",
"service": "proofreading"
}
}
The workflow is predictable for backend jobs, journal platforms, and institutional portals.
Use a scoped bearer key for each integration, tenant, or backend service.
Post a manuscript to a service endpoint and save the returned tracking ID.
Check status until processing finishes, then download the final result file.
curl -X POST "https://api.p-editor.ir/v1/services/proofreading/requests/" \
-H "Authorization: Bearer $PEDITOR_API_KEY" \
-F "title=My manuscript" \
-F "abstract=Short abstract" \
-F "file=@paper.docx"
Use the complete workflow or integrate only the services your product needs.
Improve grammar, punctuation, consistency, and manuscript readability.
POST/services/proofreading/requests/
Refine sentence flow, terminology, clarity, and academic tone.
POST/services/language-editing/requests/
Generate a structured scientific report for manuscript readiness.
POST/services/article-review/requests/
Compare multiple documents and return a packaged similarity report.
POST/services/article-similarity/requests/
Submit a source file and retrieve report artifacts after processing.
POST/services/plagiarism-check/requests/
Run short synchronous language editing or paraphrasing requests.
POST/text/language-edit/
Store the tracking ID, poll the status endpoint, and download the result when it is ready.
Every async job returns stable links your backend can use later.
{
"success": true,
"data": {
"tracking_id": "2026-08101230421",
"service": "proofreading",
"status": "processed",
"result_available": true,
"links": {
"status": "https://api.p-editor.ir/v1/requests/2026-08101230421/",
"download": "https://api.p-editor.ir/v1/requests/2026-08101230421/download/"
}
}
}
Use the same flow from backend workers or editorial systems.
import requests
headers = {
"Authorization": "Bearer YOUR_API_KEY"
}
status = requests.get(
"https://api.p-editor.ir/v1/requests/TRACKING_ID/",
headers=headers,
timeout=30,
)
status.raise_for_status()
data = status.json()["data"]
Consistent resource paths for service discovery, submission, status, and result files.
| Method | Path | Purpose |
|---|---|---|
| GET | /services/ | Available services, limits, credit costs, and subscription state. |
| POST | /services/{service_code}/requests/ | Create an async document request. |
| GET | /requests/ | List recent authenticated requests. |
| GET | /requests/{tracking_id}/ | Check job status and result links. |
| GET | /requests/{tracking_id}/download/ | Download the processed result file. |
| POST | /text/language-edit/ | Edit short text synchronously and optionally return diff HTML. |
| POST | /text/paraphrase/ | Paraphrase text synchronously. |
Keep product integrations separate from p-editor dashboard subscriptions with independent quotas and credit.
Bring editing and manuscript-readiness services into the systems researchers already use.
Talk to us about API quotas, service mix, and private integration workflows.