Base URLs
AI detection and bulk AI detection use the following base URL:Authentication
All API requests must include your API key in thex-api-key header.
- cURL
- Python
- JavaScript
Async Task Flow
Submit text withPOST /task, then poll GET /task/{task_id} until the returned stage is STAGE_SUCCESS or STAGE_FAILED.
Bulk Flow
Submit many texts withPOST /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 asmultipart/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 Code | Description |
|---|---|
400 Bad Request | The request body is not properly formatted. |
401 Unauthorized | The x-api-key is missing or invalid. |
402 Payment Required | The account has insufficient credits. |
403 Forbidden | The API key does not own the requested task or bulk job. |
404 Not Found | The requested task or bulk job does not exist. |
413 Payload Too Large | The bulk request exceeds the maximum billable units. |
422 Unprocessable Entity | The input text is invalid. |
429 Too Many Requests | The API key exceeds its configured rate limit. |
500 Internal Server Error | There was an error processing the request. |