← All agent quickstarts
ApproveMyAction · Subscription · REST + MCP

Put an independent human before the consequence.

Create a secure decision link, send it through your existing communication channel, and keep the agent blocked until the API reports an explicit approval.

Use this workflow with a real key

Try every agent-infrastructure product for seven days

Starter includes ApproveMyAction and all 22 REST/MCP tools.

Card required. Unless canceled before the trial ends, Starter renews automatically at $15/month. No automatic overages.

Step 1 · Request approval

Explain the proposed action to the reviewer

curl https://api.scrubmytext.com/v1/approvals/request \
  -H "Authorization: Bearer smt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Refund customer $725","description":"Duplicate payment for order 82731. Confirm before issuing the refund.","expires_in_seconds":3600}'

Save the returned approval_id. Send the returned approval_url only to the intended reviewer.

Step 2 · Share outside the model

Use your normal delivery channel

ApproveMyAction creates the secure link but does not email or text it. Your application can send the URL through its existing email, chat, ticketing, or notification workflow.

Step 3 · Check the decision

Poll with the approval ID

curl https://api.scrubmytext.com/v1/approvals/check \
  -H "Authorization: Bearer smt_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"approval_id":"ama_RETURNED_ID"}'
Decision rule

Act only on status: approved

Keep the agent blocked for pending, rejected, expired, cancelled, missing, and error responses. Re-check your own authorization and business rules immediately before the external action.

MCP workflow

Use the same control from an agent

1. request_approval({"title":"Refund customer $725","description":"Duplicate payment for order 82731.","expires_in_seconds":3600})
2. Deliver the returned approval_url to the intended reviewer.
3. check_approval({"approval_id":"ama_RETURNED_ID"})
4. Proceed only if status is exactly "approved".
5. cancel_approval({"approval_id":"ama_RETURNED_ID"}) if the action is abandoned.
MCP connection guide

Limits to design around