Deterministic text integrity and agent infrastructure.
Forty-nine stable API and MCP operations cover ten text-integrity capabilities and thirty-nine external control, readiness, and trust-evidence operations for agent actions, readiness, quorum, veto windows, deadlines, review capacity, escalation, budgets, authority, coordination, and provenance.
Endpoints
REST base URL
https://api.scrubmytext.com
Remote MCP
https://api.scrubmytext.com/mcp
Free API access covers scrub_text, inspect_text, and stateless fingerprint_action up to 500 shared calls per public IP per UTC month. Selected premium text tools also include 3 trial calls per public IP per UTC month. After the trial, those stateless text tools can use either a subscription API key or x402 pay-per-call when x402 is enabled. Stateful agent-infrastructure tools require a subscription API key.
Text products and API tools
Ten deterministic capabilities. Product names follow the SomethingMySomething convention; the stable technical operation names remain in code.
scrub_text
Normalize hidden/control characters and formatting artifacts.
POST /v1/scrubinspect_text
Inspect exact Unicode, invisible characters, normalization, and mixed-script anomalies.
POST /v1/inspectscan_untrusted_text
Return structural and heuristic risk signals for untrusted text.
POST /v1/scanredact_sensitive_text
Pattern-based redaction of common credentials and identifiers.
POST /v1/redactcompare_text
Exact comparison and standard-scrub equivalence analysis.
POST /v1/comparedetect_secrets
Find likely credentials without echoing secret values.
POST /v1/detect-secretsvalidate_output
Parse JSON and validate common JSON Schema rules.
POST /v1/validate-outputsanitize_agent_context
Normalize and optionally redact untrusted context before model ingestion.
POST /v1/sanitize-contextprepare_for_agent
One-call preprocessing pipeline with agent-ready text and a structured report.
POST /v1/prepare-for-agentrework_text
Deterministically rework wording and selected sentence structures without an LLM.
POST /v1/reworkAgent infrastructure
Twenty-three MCP/API control tools across fourteen product families.
fingerprint_action
Derive a stable action fingerprint and idempotency key from structured JSON without storing or echoing the arguments.
POST /v1/actions/fingerprintlock_action_intent
Fingerprint and atomically lock a structured action in one call.
POST /v1/actions/lock-intentlock_action
Atomically claim an existing action key and receive a lock_id.
POST /v1/actions/lockcheck_action
Inspect action-key state without reserving it.
POST /v1/actions/checkcomplete_action
Mark the current lock completed and preserve idempotency state.
POST /v1/actions/completerelease_action
Release an uncompleted lock.
POST /v1/actions/releasecreate_signal
Create a temporary webhook inbox.
POST /v1/signals/createget_signal_events
Retrieve events received by a signal inbox.
POST /v1/signals/eventsdelete_signal
Delete the inbox and stored event bodies.
POST /v1/signals/deleterequest_approval
Create a secure human approval link.
POST /v1/approvals/requestcheck_approval
Check pending/approved/rejected/expired/cancelled status.
POST /v1/approvals/checkcancel_approval
Cancel a pending approval request.
POST /v1/approvals/cancelmanage_action_challenge
Create, inspect, consume, or cancel a cooling-off and bearer-veto window.
POST /v1/challenges/managereserve_action_budget
Atomically reserve integer units under a period-scoped ceiling.
POST /v1/budgets/reserverecord_action_receipt
Record or inspect a timestamped action-outcome digest.
POST /v1/receipts/recordverify_signed_signal
Verify HMAC authenticity, freshness, and first nonce use.
POST /v1/signals/verifymanage_resource_lease
Acquire, inspect, or release an exclusive expiring resource lease.
POST /v1/leases/managemanage_authority_delegation
Issue, use, inspect, or revoke a narrow capability token.
POST /v1/delegations/managemanage_agent_stop
Set, inspect, or clear durable fail-closed stop state.
POST /v1/stops/managemanage_task_handoff
Create, claim, inspect, complete, or cancel a task handoff.
POST /v1/handoffs/managemanage_action_reconciliation
Track and resolve expected-versus-observed outcome digests.
POST /v1/reconciliations/manageanchor_context_trace
Anchor or inspect digest-based context provenance.
POST /v1/context-traces/anchormanage_task_contract
Manage digest-bound technical task commitment state.
POST /v1/task-contracts/manageNo account. No API key. Try it first.
scrub_text, inspect_text, and fingerprint_action share a public allowance of 500 calls/month per public IP.
curl -X POST https://api.scrubmytext.com/v1/scrub \
-H "Content-Type: application/json" \
-d '{"text":"Hello world","mode":"standard"}'Paid requests use Authorization: Bearer smt_live_....
Derive a stable key
curl https://api.scrubmytext.com/v1/actions/fingerprint \
-H "Content-Type: application/json" \
-d '{"action":"send_invoice","scope":"production","arguments":{"invoice_id":"inv_42","customer_id":"customer_7"}}'Object-key order does not affect the result. Inputs are not echoed or stored.
Fingerprint and lock in one call
curl https://api.scrubmytext.com/v1/actions/lock-intent \
-H "Authorization: Bearer smt_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"action":"send_invoice","scope":"production","arguments":{"invoice_id":"inv_42","customer_id":"customer_7"}}'Perform the external action only when safe_to_execute is true, then call complete_action with the returned key and lock_id.
Try first. Subscribe or pay per call.
Selected premium text tools receive 3 unauthenticated trial calls per public IP each UTC month. After that, developers can continue with a normal smt_live_... subscription key. x402-capable agents can instead pay per request in USDC without creating a ScrubMyText account when x402 is enabled on the API.
Dedicated x402 routes: prefix the normal premium text route with /x402. For example, POST /x402/v1/rework. These routes always use the HTTP 402 flow and do not consume the free trial.
POST /x402/v1/rework → 402 Payment Required + PAYMENT-REQUIRED header → agent signs payment → retry with PAYMENT-SIGNATURE → 200 result + PAYMENT-RESPONSE
Initial pay-per-call price is configured server-side. Check GET https://api.scrubmytext.com/health for whether x402 is enabled, its network, and the current per-call price.
Usage accounting
Every subscription-authenticated REST tool request or MCP tools/call counts as one subscription call. Trial and x402 calls are accounted for separately. A prepare_for_agent request counts as one call even though it runs several internal checks. CatchMySignal counts each incoming external event as one additional call. Public human decisions on ApproveMyAction links and public ChallengeMyAction veto calls are not metered.
State and retention defaults
- LockMyAction: active lock 5 minutes; completed action protected 30 days by default. Completion retention can be set from 1 hour to 1 year.
- CatchMySignal: inbox 24 hours by default, maximum 7 days; 25 events by default, maximum 100; 64 KB UTF-8 payload per event.
- ApproveMyAction: approval link 24 hours by default, maximum 7 days. Decision records are retained for a cleanup period after the request expires.
- ChallengeMyAction: veto window 5 minutes by default, maximum 7 days; execution window 1 hour by default, maximum 24 hours. Technical state is retained for a cleanup period after the execution window.
Remote MCP
The MCP endpoint supports the stable 2025-11-25 Streamable HTTP protocol and the 2026-07-28 stateless draft. Both support cacheable tools/list, tools/call, and protocol-version response headers; the draft also supports server/discover and requires matching method/name headers. Subscription MCP clients send the same bearer token in the Authorization header. Selected premium text tools can also return HTTP 402 after the trial is exhausted so x402-aware MCP clients can pay and retry automatically.
https://api.scrubmytext.com/mcp
Official Registry name: com.scrubmytext/tools
Machine-readable discovery
OpenAPI 3.1 · llms.txt · llms-full.txt · MCP server.json · product catalog · guide catalog · sitemap.xml
For decision-shaped integration questions, use the agent answers and comparisons library. Every guide identifies the matching product, decision rule, limitations, and a working starting point.
ReworkMyText API + MCP
REST: POST /v1/rework · MCP tool: rework_text · Paid
Inputs: text and optional mode (light, standard, or deep). The result includes reworked_text, change metrics, transformation counts, protected-item checks, and warnings. No language model is used.
curl -X POST https://api.scrubmytext.com/v1/rework \
-H "Authorization: Bearer smt_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"In order to finish, the team utilized several tools.","mode":"standard"}'Agent discovery: Dedicated /x402/v1/... endpoints advertise x402 Bazaar discovery metadata so compatible agents can discover the paid text operations after successful settlement indexing.
