Membership benefit
REST + MCP communications
Apps and supported MCP clients use the same lines as your Attune workspace. Place calls, send SMS, list lines and check recent call/SMS state; connected devices expose only the tools they advertise.
Active membership or an active 7-day membership trial is required. Non-members get HTTP 403 and an upgrade page on the console.
What you get
- REST for your own apps: list authorized lines, send SMS, place outbound calls and query recent state with Bearer ak_live_.
- MCP for supported agent clients. Tools operate on SIMs authorized to your account; recent_calls and recent_sms let the agent verify the outcome before retrying.
- Device capabilities are bounded by the connected client. Sensitive Router provisioning uses short-lived owner/admin authorization instead of exporting the website session.
Core endpoints
- GET
/v1/linesList SIMs bound to your seat - POST
/v1/messagesSend SMS - POST
/v1/callsPlace an outbound call. The reply only means dialing started. task can be omitted. - MCP
recent_callsWhether the call connected and whether it has ended. - MCP
recent_smsWhether a sent SMS was submitted. This is not a handset delivery receipt.
place_call and send_sms return before the call ends. Grok and ChatGPT then call recent_calls or recent_sms. Attune is the service name, not a contact.
Quick start
- Sign in, explicitly start the 7-day membership trial or subscribe.
- Open the developer console, create a key, copy a line id.
- Call the API with Authorization: Bearer sk_live_…
curl -sS https://www.2222503.xyz/v1/lines \
-H "Authorization: Bearer ak_live_…"
Apps, agents and device tools
A native iPhone or Android app can use HTTPS with the account key. Supported MCP clients can sign in to the MCP endpoint. Device-specific tools appear only when a connected device advertises them. If several lines are online, pass device_id from GET /v1/lines.
var request = URLRequest(url: URL(string: "https://www.2222503.xyz/v1/calls")!)
request.httpMethod = "POST"
request.setValue("Bearer ak_live_…", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try JSONSerialization.data(withJSONObject: [
"name": "联系人姓名",
"task": "要说的完整的话"
])
let (data, response) = try await URLSession.shared.data(for: request)
curl -sS -X POST https://www.2222503.xyz/v1/messages \
-H "Authorization: Bearer ak_live_…" \
-H "Content-Type: application/json" \
-d '{"to":"+15551212","body":"你好"}'
Rules
Only numbers and SIMs you are authorized to use. No bulk marketing or robocalls. Traffic still incurs carrier charges on your SoftRouter line. Acceptable use and terms apply to API traffic the same as the console.