API

API Reference

A single REST API for SpreadSpace, covering borrowers, loans, document packages, extractions, and embed sessions.

The SpreadSpace API is organized by resource. Pick a group from the sidebar to see its endpoints, request and response schemas, and copy-paste examples in cURL and every official SDK.

Base URL

Every request goes to one base URL. The API key prefix (not the URL) selects the environment:

https://api.spreadspace.app
  • ss_live_… operates on live workspace data.
  • ss_test_… routes to the isolated developer sandbox (test mode), where uploads return premade sample extractions at no charge.

Authentication

Every request carries a bearer token in the Authorization header:

$curl https://api.spreadspace.app/api/borrowers \
> -H "Authorization: Bearer ss_live_..."

Key management, prefixes, and secret handling: Authentication.

Versioning

The API surface is versioned with date stamps. Pin one per request with the optional SpreadSpace-Version header; omit it to get the latest. Resolution order, supported versions, and drift detection: Versioning. What changed on the public surface, by day: Changelog.

Idempotency

Mutating calls accept an optional Idempotency-Key header so retries never double-apply an operation: Idempotency.

Request IDs

Every response carries an X-Request-ID header: yours echoed back if you sent one, otherwise minted server-side as req_<24 hex chars>. Quote it in support tickets so we can find the request’s logs.

SDKs

Prefer a typed client? The SDKs wrap the core integration surface (borrowers, loans and attributes, jobs, documents, exports, webhooks, embed sessions) with retries, cursor pagination, idempotency, and webhook verification.

Resources

  • OpenAPI spec: https://api.spreadspace.app/v1/openapi.json is the public surface, the same 71 paths and 82 operations these reference pages are generated from. Download it:

    $curl -sS https://api.spreadspace.app/v1/openapi.json -o spreadspace-openapi.json
  • Postman: a collection with one request per public operation, grouped by resource, and a test mode environment. Import both, select the environment, and paste an ss_test_ key into its apiKey variable.

  • Status: spreadspace.app/status shows the result of a live probe of GET https://api.spreadspace.app/health (which answers 200 with the plain-text body Healthy when the API is up), the version stamp the API resolved for it, and, when available, the trailing successful request rate.

  • SDK packages: @spreadspace/sdk 0.4.0 (npm), spreadspace 0.4.0 (PyPI), SpreadSpace 0.4.0 (NuGet), @spreadspace/react 0.1.2 (npm), @spreadspace/embed 0.1.3 (npm).

  • Agents: https://docs.spreadspace.app/llms.txt indexes every page, and any page is served as Markdown when you append .md to its URL, for example https://docs.spreadspace.app/api/versioning.md. A coding agent can follow Agent-assisted integration.

  • Changelog: what changed on the public surface, by day: Changelog.

  • Support: support@spreadspace.ai, the contact the spec itself declares. Quote the X-Request-ID of the request in question.