Docs/API reference/API overview
Reference

API overview

REST over HTTPS, multipart uploads, JSON responses, X-API-Key auth, RFC 3339 timestamps, opaque string ids. Every endpoint is scoped to the key's workspace.

Base URL ​

text
https://api.us.idpforge.cloud/v1

The API endpoint card on a pipeline's Versions tab shows the full job submission URL for your workspace.

Walkthrough ​

This click-through runs a pipeline from the API Playground, then follows the result through the Jobs screen and into a document — the same path this API drives. It runs in your browser and loads nothing until you press play.

Interactive walkthrough
scribe

The API Playground, Jobs, and Documents end to end — submit a job, watch it run, and read the extracted data.

Resources ​

ResourceDescription
jobsOne file run through one pipeline. Owns processing status, per-stage progress and the result.
documentsThe documents a job produces — lifecycle, lineage, event history and extracted data.
pipelinesPipeline definitions and their versions.
webhooksOutbound endpoints bound to pipeline stages, with HMAC-signed delivery.

Errors ​

Most errors return a flat envelope. error is a stable machine-readable code; message is for humans and may change.

json
{
  "error": "PIPELINE_NOT_PUBLISHED",
  "message": "Pipeline 0191f3a1-5d2e-7c40-8b1a-2f3e4d5c6b7a has no published version — cannot submit a job against it.",
  "timestamp": "2026-09-11T06:12:44.512Z"
}

Authentication failures and job lookups nest the code instead:

json
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid API key"
  }
}

Branch on the HTTP status first, then on the code.

Billing ​

Every job reserves credits when it is submitted and settles to what it used. A submission against an insufficient balance returns 402 Payment Required and creates no job. Jobs tagged test consume credits exactly like production jobs. See Credits.

Pagination ​

GET /v1/jobs is cursor-paginated. Pass limit (1–100, default 25) and, for every page after the first, cursor set to the page.next_cursor value from the previous response. page.has_more is false on the last page.

Other list endpoints, such as GET /v1/pipelines and GET /v1/webhooks, are page-numbered with page and page_size.

Duplicate submissions ​

Job submission is not idempotent. There is no idempotency key: sending the same file twice creates two jobs and reserves credits twice. client_reference_id is stored on the job and echoed back so you can correlate it with your own records — it is not used to detect duplicates.

Rate limits ​

The API does not rate-limit job submission. There is no per-day job cap and no per-minute request throttle, on any plan.

What does bound throughput is credits: every submission reserves credits before the job is queued, and a workspace without enough credits is rejected with 402 PAYMENT_REQUIRED. See Credits.

Was this page helpful?
Last updated 11 Sept 2026