Skip to main content

Base URLs

AI detection and bulk AI detection use the following base URL:
https://text.external-api.pangram.com
File uploads use the following base URL:
https://file-external.api.pangram.com
The plagiarism detection endpoint uses a separate base URL:
https://plagiarism.api.pangram.com

Authentication

All API requests must include your API key in the x-api-key header.
curl -X POST https://text.external-api.pangram.com/task \
  -H "Content-Type: application/json" \
  -H "x-api-key: <your-api-key>" \
  -d '{"text": "Your text here"}'

Async Task Flow

Submit text with POST /task, then poll GET /task/{task_id} until the returned stage is STAGE_SUCCESS or STAGE_FAILED.

Bulk Flow

Submit many texts with POST /bulk, poll GET /bulk/{bulk_id} until the returned status is succeeded, failed, or partial, then page through GET /bulk/{bulk_id}/results. Bulk completion time depends on the number and length of submitted items and current system load. Use GET /bulk/{bulk_id} to monitor progress. Bulk metadata and results are retained for 48 hours after terminal completion. Bulk created_at and completed_at values are Unix epoch seconds encoded as strings.

File Upload Flow

Submit documents as multipart/form-data to https://file-external.api.pangram.com. Include one or more files fields and set public_dashboard_link=true when you need a shareable result link.

Error Codes

Status CodeDescription
400 Bad RequestThe request body is not properly formatted.
401 UnauthorizedThe x-api-key is missing or invalid.
402 Payment RequiredThe account has insufficient credits.
403 ForbiddenThe API key does not own the requested task or bulk job.
404 Not FoundThe requested task or bulk job does not exist.
413 Payload Too LargeThe bulk request exceeds the maximum billable units.
422 Unprocessable EntityThe input text is invalid.
429 Too Many RequestsThe API key exceeds its configured rate limit.
500 Internal Server ErrorThere was an error processing the request.
If you are running into errors, please reach out at support@pangram.com.