Developers · Build

One call immediately before the consequential action.

Tell Check Write™ what the agent is about to do. It resolves what must be true and returns Allow, Pause, or Block. Your code still owns the action. Hosted to try. Private to run.

Free while you build · 1,000 checks/month · No sales call required to start.

Build with Check Write™

One API call before the write. Allow. Pause. Block. Your code still owns the action.

Prefer the SDK?

npm install @tekcapitol/tc-protect-sdk

Five-minute quickstart

Install → inspect source/examples → get key → call Check Write™

1 · Get Developer Key

Self-serve. No sales call. No manual approval.

  1. Get API Key (email + OTP).
  2. Copy your tc_dev_… secret once. Store it as TEKCAPITOL_API_KEY.
  3. Prefer Check Write™ Sandbox first? Check Write™ Sandbox (no key).
2 · Copy request
curl https://api.tekcapitol.com/v1/check-write \
  -H "Authorization: Bearer $TEKCAPITOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "system": "Salesforce",
    "objectType": "Opportunity",
    "objectRef": "006ABC123",
    "field": "StageName",
    "agentValue": "Closed Won",
    "authoritySource": "sales_ops",
    "authorityFound": true,
    "metadata": {
      "agent": "renewal-agent",
      "context": { "contract_signed": true }
    }
  }'
import os, requests

r = requests.post(
    "https://api.tekcapitol.com/v1/check-write",
    headers={"Authorization": f"Bearer {os.environ['TEKCAPITOL_API_KEY']}"},
    json={
        "system": "Salesforce",
        "objectType": "Opportunity",
        "objectRef": "006ABC123",
        "field": "StageName",
        "agentValue": "Closed Won",
        "authoritySource": "sales_ops",
        "authorityFound": True,
        "metadata": {
            "agent": "renewal-agent",
            "context": {"contract_signed": True},
        },
    },
    timeout=15,
)
print(r.json())
const res = await fetch("https://api.tekcapitol.com/v1/check-write", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.TEKCAPITOL_API_KEY}`,
  },
  body: JSON.stringify({
    system: "Salesforce",
    objectType: "Opportunity",
    objectRef: "006ABC123",
    field: "StageName",
    agentValue: "Closed Won",
    authoritySource: "sales_ops",
    authorityFound: true,
    metadata: {
      agent: "renewal-agent",
      context: { contract_signed: true },
    },
  }),
});
console.log(await res.json());
3 · Run

Export TEKCAPITOL_API_KEY and call the branded host: POST https://api.tekcapitol.com/v1/check-write (legacy apex path https://tekcapitol.com/api/v1/check-write remains compatible).

For protected production actions, no valid Check Write™ decision means do not execute the write. The @tekcapitol/tc-protect-sdk includes timeout and invalid-response fail-closed handling. Source and runnable examples: GitHub.

4 · Receive Allow / Pause / Block
{
  "decision": "pause",
  "reason_code": "authority_unverified",
  "reason": "Current authority could not be confirmed",
  "decision_id": "cw_…",
  "timestamp": "2026-08-20T…"
}

API values are lowercase allow | pause | block. Treat them as Allow, Pause, Block in product UX.

5 · Perform the external write only on Allow
# Pseudocode: only call Salesforce after decision == allow
# if decision != allow: exit / route to human review
decision = r.json()
if str(decision.get("decision", "")).lower() == "allow":
    update_salesforce_opportunity()  # your write
elif str(decision.get("decision", "")).lower() == "pause":
    surface_review_state(decision)   # do not write
else:
    stop_action(decision)            # BLOCK: do not write
const decision = await res.json();
if (String(decision.decision).toLowerCase() === "allow") {
  await updateSalesforceOpportunity(); // your write
} else if (String(decision.decision).toLowerCase() === "pause") {
  await surfaceReviewState(decision);  // do not write
} else {
  throw new Error(decision.reason || "blocked"); // do not write
}

Try → Build → Protect

Try · Check Write™ Sandbox at /check-write.html. No key.
Build · Free Developer API (tc_dev_). 1,000 checks/month.
Protect · TC Protect™ Production. Talk to us when you go live.

Your application still performs the write

TekCapitol decides Allow, Pause, or Block immediately before it. Only call your system of record on Allow.

Reference docs

API contracts, schemas, and integrations live under Docs. Keep this page for the first working call.

Examples

All integration examples

Integration feedback

Have a useful agent-action pattern or integration question? Contact us or email info@tekcapitol.com.