Base URL
All API requests should be made to:Authentication
All endpoints require authentication via API key in the request header:Available Endpoints
Pipeline Steps
Extract
POST
/extractExtract content from documents. Supports sync and async via async: true.Split
POST
/splitSplit a document into topic-based page groups.Schema
POST
/schemaApply schemas to extract structured JSON data.Utilities
Poll Job
GET
/job/{jobId}Check status and retrieve results of async jobs.Cancel Job
DELETE
/job/{jobId}Cancel a pending or processing async job.Webhooks
POST
/webhookGet portal link to configure webhook endpoints.Async Processing
Guide to using
async: true and polling for results.Deprecated Endpoints
| Endpoint | Status | Replacement |
|---|---|---|
POST /extract_async | Deprecated | Use POST /extract with async: true instead |
POST /convert | Deprecated | Use file_url parameter in /extract instead |
POST /cancel/{job_id} | Deprecated | Use DELETE /job/{jobId} instead |
Credit Usage
Pulse bills in credits. Each pipeline step is billed based on the pages (or tables) processed.| Endpoint | Cost | Formula |
|---|---|---|
/extract (model: default) | 1 credit / page | pages × 1 |
/extract (model: pulse-ultra-2) | 10 credits / page | pages × 10 |
/split | 2 credits / page | pages × 2 |
/schema | 1 credit / page | pages × 1 |
/schema (effort: true) | 4 credits / page | pages × 4 |
/tables | 0.25 credits / table | tables × 0.25 |
/tables (merge: true) | 0.50 credits / table | tables × 0.5 |
/tables (charts) | +1 credit / chart | added on top of the table cost |
API keys can have per-key credit caps configured. Requests that would exceed a key’s cap are rejected before processing.
Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid API key |
| 403 | Forbidden - Access denied |
| 404 | Not Found - Resource doesn’t exist |
| 413 | Payload Too Large - File exceeds limit |
| 429 | Too Many Requests - Rate limited |
| 500 | Internal Server Error |
| 503 | Service Unavailable |
Best Practices
Use Appropriate Endpoints
Use Appropriate Endpoints
- Use
/extractfor all extractions — it’s the primary endpoint - Set
async: truefor large documents or batch processing - Use
file_urlparameter when you have documents hosted online
Handle Errors Gracefully
Handle Errors Gracefully
- Implement retry logic with exponential backoff
- Check error codes and handle specifically
- Log errors for debugging
Optimize Performance
Optimize Performance
- Process only necessary pages
- Use schemas for structured extraction
- Cache results when possible
Security
Security
- Never expose API keys in client code
- Use environment variables
- Rotate keys regularly
- Validate file types before upload
Next Steps
Explore specific endpoints:Pipeline Overview
Learn how extract, split, and schema work together
Quickstart Guide
Get started quickly
