Skip to main content

Base URL

All API requests should be made to:
https://api.runpulse.com

Authentication

All endpoints require authentication via API key in the request header:
x-api-key: YOUR_API_KEY
Get your API key from the Pulse Console.

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

The following endpoints are deprecated and will be removed in a future version.
EndpointStatusReplacement
POST /extract_asyncDeprecatedUse POST /extract with async: true instead
POST /convertDeprecatedUse file_url parameter in /extract instead
POST /cancel/{job_id}DeprecatedUse DELETE /job/{jobId} instead

Credit Usage

Pulse bills in credits. Each pipeline step is billed based on the pages (or tables) processed.
EndpointCostFormula
/extract (model: default)1 credit / pagepages × 1
/extract (model: pulse-ultra-2)10 credits / pagepages × 10
/split2 credits / pagepages × 2
/schema1 credit / pagepages × 1
/schema (effort: true)4 credits / pagepages × 4
/tables0.25 credits / tabletables × 0.25
/tables (merge: true)0.50 credits / tabletables × 0.5
/tables (charts)+1 credit / chartadded 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

CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid API key
403Forbidden - Access denied
404Not Found - Resource doesn’t exist
413Payload Too Large - File exceeds limit
429Too Many Requests - Rate limited
500Internal Server Error
503Service Unavailable

Best Practices

  • Use /extract for all extractions — it’s the primary endpoint
  • Set async: true for large documents or batch processing
  • Use file_url parameter when you have documents hosted online
  • Implement retry logic with exponential backoff
  • Check error codes and handle specifically
  • Log errors for debugging
  • Process only necessary pages
  • Use schemas for structured extraction
  • Cache results when possible
  • 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