Continuum Developers · API version 1

Calculations your agent can explain.

Evaluate a quote, contracting rate or retainer. Compare alternatives. Give the person making the decision an editable calculation file.

Pilot preparation: hosted access remains closed until infrastructure and payment acceptance checks pass. You can download and review an example now.

No Continuum Pro purchase required.

Hosted API access is sold separately. Pro includes the existing local workspace MCP integration; hosted calls use an API allowance. The two products use the same verified customer account and have independent trials.

Independent products and allowances
ProductAccessPayment
Continuum FreeExisting free workspace basicsFree
Continuum ProPurchased web capabilities, desktop 1.x updates, Desktop MCPExisting one-time purchase
Hosted API trial25 successful runs within 14 days of approvalFree; no Pro purchase required
Hosted API pilot500 successful runs within 30 days of provisioning€29 prepaid, manually renewed
API browser reviewerOpen, edit, recalculate and download result files locallyFree; no account or active allowance required

A run includes a baseline, up to five variants and its document bundle. Trials are once per verified account. Sign-in and requesting API access do not start the 14-day Pro trial. Existing Pro customers can request the same API trial; Pro includes no recurring hosted credits.

Verify your email through Account, then contact support to request API access. Trial approval, payment links and credentials are operator assisted. Initial capacity is at most 25 active trials and 20 paid pilots. Do not send an API key by email.

API purchase does not grant workspace Pro. Pro purchase does not add or renew hosted credits. Unused API credits expire at the disclosed end of their prepaid window; no automatic renewal or overage charges. Expiration stops new hosted calculations. Downloaded files and the free reviewer remain usable. An API refund affects API access only; a Pro refund affects Pro only. You can optionally buy Pro later to author in the full workspace.

Three models, explicit assumptions

Project quote margin

project_quote_margin

Delivery cost, profit, profit margin and the minimum quote that meets your target. Profit margin divides profit by revenue; markup divides by cost.

Example: €4,200 quote, 100 delivery hours at €25 loaded cost, €200 external costs and 30% target margin. Delivery cost: €2,700. Profit: €1,500. Margin: 35.71%. Minimum quote: €3,857.15.

Required contracting rate

contracting_hourly_rate

The existing contracting model’s income, business cost, tax assumption and working-hour semantics. Revenue target = (net income + business costs) / (1 − assumed tax rate). Required rate = target revenue / billable hours.

Retainer capacity

retainer_capacity

Monthly delivery cost, profit, margin, revenue per delivery hour and the maximum hours compatible with the target margin. Negative available hours flag external costs that already exceed the target allowance.

Supply every input explicitly, in EUR, USD or GBP. No exchange rates or external facts are fetched. Money and hours accept at most two decimal places; ratios are fractions (0.30 = 30%). Money inputs are capped at 10,000,000 and hours at 10,000. Minimum quotes and rates round upward to cents; maximum hours round downward to hundredths. Other displayed money rounds to cents; raw metrics preserve evaluator precision.

Read all definitions, formulas, bounds and assumptions. Published model and engine versions are returned with each run. Hosted runs accept registered models and overrides, without arbitrary source or executable code.

From agent to editable result

  1. Verify email, request a trial, and obtain approved credentials and the Cloudflare endpoint.
  2. Download the continuum-api skill and example request. Configure the key in your agent’s private environment.
  3. Ask for missing inputs, inspect the model and allowance, and send one bounded run. Keep a random Idempotency-Key stable across retries.
  4. Return the generated .review.json file to the person reviewing it. They can open and revise it free in the browser.
# Node 22+. Use the endpoint provided with approved access.
export CONTINUUM_API_BASE_URL="YOUR_APPROVED_HTTPS_ORIGIN"
# Configure CONTINUUM_API_KEY securely in your environment.
node continuum-api/scripts/helper.mjs models
node continuum-api/scripts/helper.mjs usage
node continuum-api/scripts/helper.mjs run quote-request.json RANDOM_UUID quote-result.json

To make a direct HTTP request, send JSON to POST /v1/runs with Authorization: Bearer …, Content-Type: application/json, and Idempotency-Key: RANDOM_UUID. Keys belong in headers. Call the approved Cloudflare origin directly.

Try the complete file workflow now: download the example bundle and open it in the free reviewer. This example is synthetic and consumes no hosted credits.

API contract and bounds

EndpointPurpose
GET /v1/modelsPublic catalog
GET /v1/models/{id}?version=1Published version 1 definition, inputs, formulas and example
POST /v1/runsAuthenticated calculation and documents
GET /v1/usageAPI allowance, expiry and limits
GET /healthBuild and environment status without a database query

The request includes model, explicit model_version, currency, baseline inputs, optional variants and selected output sections. Results include effective inputs, metrics, differences from baseline, checks, formulas, warnings and model/engine versions. The document bundle contains portable Document Recipe v1 source and preview bindings.

Limits: 16 KiB request; 64 KiB review bundle; five variants. Trial accounts: five new runs per UTC day. Paid accounts: 50. Shared ceilings: 100 trial runs, 1,000 paid runs, 5,000 authenticated dynamic requests and a conservative 25,000-row database write allocation per day. The first reached ceiling applies. Replays consume no new run credit but do use the dynamic request budget. Shared Cloudflare Free limits can also interrupt service.

Successful output is prepared before credits are atomically debited. Concurrent duplicate requests consume one credit. Retry the same input with the same key after a lost response; changing input under that key returns a conflict. Replay metadata is retained through allowance expiry plus seven days. After that, treat the key as retired.

Errors and bounded retries

Errors return {"error":{"code":"…","message":"…","field":"inputs.quote"}}; field is supplied when relevant.

The helper retries transport or temporary server failures at most twice using the original key. It does not automatically retry a launch gate or exhausted allowance. Never retry indefinitely or silently submit changed inputs.

Downloads and agent integrations

Hosted API MCP adapter

Extract the versioned ZIP, verify its SHA256 checksum, and configure your agent to launch its Node 22+ stdio adapter. The agent process must inherit CONTINUUM_API_BASE_URL and CONTINUUM_API_KEY from its private environment. This adapter exposes list_models, get_model, run_model and get_usage. It needs an approved API key, without a desktop installation or Pro.

{
  "mcpServers": {
    "continuum-hosted-api": {
      "command": "node",
      "args": ["/absolute/path/continuum-hosted-api/mcp.mjs"]
    }
  }
}

Desktop MCP

Desktop MCP setup controls your installed local Continuum workspace and follows its existing Pro/trial access rules. It consumes no hosted API credits. These are two distinct integrations.

For the skill, extract its continuum-api folder into the skill directory supported by your agent. Keep its SKILL.md, references and scripts together. The Node helper can also run independently.

Data and local review

Hosted inputs and generated documents are processed in memory. The API stores hashed credentials, verified account references, grants, payment references, counters, request digests and replay metadata. It does not persist your calculation inputs or documents. Replay metadata expires seven days after the grant; daily aggregate usage is retained for 90 days with bounded cleanup during active requests. No API background work runs while idle.

Sampled API logs exclude credentials and calculation content. Cloudflare processes requests as hosting provider. Downloaded files are your responsibility to protect. The reviewer uses local file selection or drag-and-drop, keeps files in tab memory, and sends no calculation data to the API or workspace. Local edits are marked separately from the imported result; you can download a revised bundle or source.

See privacy and terms for hosted processing and the separate prepaid offer. Questions: support@cntnm.xyz.