Skip to main content
For more information on billing units and pricing, check our pricing page for developers.

Base URLs

AI detection and bulk AI detection use the following base URL:
File uploads use the following base URL:
The plagiarism detection endpoint uses a separate base URL:

Authentication

All API requests must include your API key in the x-api-key header.

Model Discovery

Call GET /models to retrieve the ordered model selectors available to your API key. The catalog is entitlement- and availability-aware; do not hard-code it or assume every account sees the same values. Pass one returned selector as model when creating a text or bulk job. One selector applies to the entire request. New integrations should always send it explicitly.

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

If you are running into errors, please reach out at support@pangram.com.