← All agent quickstarts
LockMyAction · REST + MCP

Make a retryable agent action safe in five minutes.

Agent retries are normal. Duplicate invoices, emails, refunds, orders, and tickets are not. This workflow gives equivalent action attempts one stable identity, atomically reserves it, and tells the agent whether execution is safe.

Step 1 · Free · No account or key

Derive one stable action identity

Send the action name, scope, and identity-defining arguments. Object-key order does not change the fingerprint. Arguments are not stored or echoed.

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"}}'
Step 2 · Subscription

Fingerprint and reserve atomically

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"}}'
Decision rule

Execute only on an explicit yes

Proceed only when safe_to_execute is true. A retry with equivalent arguments returns the same identity and cannot acquire a second active lock.

After the external action succeeds, call complete_action with the returned key and lock_id. Release only if the external action did not happen.

Agent connection

Use the same workflow through remote MCP

Connect a Streamable HTTP MCP client to the public endpoint. Tool discovery and the free fingerprint_action allowance require no account. Subscription operations send the bearer key in the connection headers.

{
  "mcpServers": {
    "scrubmytext": {
      "url": "https://api.scrubmytext.com/mcp"
    }
  }
}

What this does—and does not—prove

LockMyAction prevents the same subscribed identity from acquiring two active locks for the same canonical action intent. It does not prove authorization, confirm that an external side effect occurred, replace the destination system's idempotency controls, or make secret arguments anonymous. Do not include passwords, API keys, or secret tokens in the action arguments.