Skip to main content
Pulse has a small set of IDs that make the platform and API feel predictable once you know what each one represents.

Core Objects

ObjectCreated byUsed for
job_idAny async requestPolling job status and retrieving async results.
extraction_id/extract with storage enabledReusing parsed content for Schema, Split, Tables, reruns, and saved results.
split_id/splitApplying per-topic schemas or table extraction to split page groups.
schema_id/schemaTracking a structured output version and downloading filled Excel templates when used.
tables_id/tablesTracking table extraction output, especially async table jobs.
Config IDsSaved presetsReusing Extract, Split, Schema, and Tables settings without inlining JSON.

Storage Defaults

Storage is enabled by default for normal workflows because downstream steps need saved extraction artifacts. If storage is disabled, Pulse can still return the immediate Extract response, but later steps may not be able to reuse that extraction.
Do not disable storage if you plan to call /schema, /split, /tables, run partial reruns, or inspect the result in the Platform.

Async Lifecycle

For longer documents or heavier steps, set async: true.
  1. The request returns quickly with a job_id.
  2. Your app polls GET /job/{jobId} or waits for a webhook.
  3. When status is completed, the job result contains the same output the sync call would have returned.
  4. Large results may include a download URL instead of embedding the entire payload.

Platform Lifecycle

In the Platform, the same lifecycle appears as a visual pipeline:
  1. Upload or select a document.
  2. Configure Extract and optional downstream steps.
  3. Run the pipeline.
  4. Inspect outputs in Markdown, Tables, Split, and Schema views.
  5. Save step presets or a full pipeline preset.
  6. Use Show Code to reproduce the pipeline from the SDK.

Production Lifecycle

A mature production workflow usually looks like this:

Chaining Steps

Learn the exact ID handoffs between Extract, Split, Schema, Tables, and Jobs.

Async Processing

Decide when to run jobs asynchronously and how to poll safely.