For Developers
Integrate Turnitin reports into your product.
Managed API keys use REST API plus SSE event streams. Uploads, quotes, and submissions share the customer quota and durable submission record; create requests require an Idempotency-Key.
API overview
Upload, quote, submit, and read reports.
| Method | Path | Description |
|---|---|---|
POST | /v1/uploads | Upload a PDF, DOCX, or TXT file and receive an owner-scoped upload_id |
POST | /v1/submissions/quote | Freeze the report set, route, and credit cost |
POST | /v1/submissions | Create a submission with Idempotency-Key and quote_id |
GET | /v1/submissions/:id | Read submission status, report availability, and score summaries |
GET | /v1/submissions/:id/events | SSE stream: submission_status and job_event |
GET | /v1/submissions/:id/report | Read JSON report metadata and structured content |
GET | /v1/submissions/:id/report/file | Download a Similarity or AI report file |
Failure codes
Provider-side failures have a clear fallback.
Turnitin-side exceptions are classified so your product can decide whether to retry or show processing status. Treat the submission terminal state and report availability as authoritative; terminal provider failures refund the original allocation.
| Code | Meaning |
|---|---|
login_failed | Our provider account could not log in; the job is retried automatically |
turnitin_blocked | Turnitin triggered temporary protection; the job is re-queued |
upload_failed | The document failed during upload |
report_timeout | Report polling timed out after the configured window |
system_error | Internal unclassified error |
Institutional buying
Bulk redeem codes and API access.
Platforms can generate single-use redeem codes for students, reviewers, or customers. Monthly reconciliation and invoicing are not currently available.
Need API access, bulk codes, or custom SLA? Emailsupport@njbejm.cn. We usually reply within one business day.