{"openapi":"3.1.0","info":{"title":"Claw Messenger","summary":"Give an AI agent a real iMessage and SMS phone line.","description":"Claw Messenger gives an AI agent a working phone line. Messages send over iMessage where the recipient supports it, and fall back to RCS or SMS otherwise. No Mac, no phone hardware, and no Apple hardware is required — the line is managed for you.\n\nPlans are prepaid 30-day message buckets, bought with x402. They differ in included message volume and in how many phone numbers you may register.","contact":{"name":"Claw Messenger","url":"https://www.clawmessenger.com/","email":"support@clawmessenger.com"},"version":"0.1.0","x-guidance":"Buy a 30-day prepaid plan, then send and receive messages over a WebSocket.\n\nHow to buy: POST to a subscribe endpoint with no payment. You receive HTTP 402 with payment requirements. Retry the same request with the payment header attached. The response body returns `api_key` and `ws_url`. Connect to `ws_url?key=<api_key>` to send and receive messages. Save the API key — it is returned only in that response.\n\nHow to renew: call the same endpoint again with `api_key` set in the request body. That extends your window for another 30 days and returns `renewed: true`, instead of provisioning a second account.\n\nWhat you get: a shared sending number is assigned automatically. You do not get a dedicated or reserved phone number, and the number may differ between messages. Inbound replies are routed to you only for phone numbers you have registered on your account. How many numbers you may register depends on the plan: 1 on base, 5 on growth, 20 on plus, 50 on pro. Group chats need at least two registered numbers, so base cannot open one.\n\nQuota and expiry: the message bucket covers both inbound and outbound messages. It expires 30 days after purchase, does not roll over, and is not refundable. Reactions, typing indicators, and read receipts do not count against it.\n\nAcceptable use: this is a conversational messaging service, not a bulk or broadcast tool. Sending is subject to per-account limits on how many distinct recipients you contact, and to anti-abuse review. Accounts that trip review may be throttled or suspended, which forfeits the remaining balance."},"servers":[{"url":"https://api.clawmessenger.com"}],"paths":{"/x402/subscribe/base":{"post":{"tags":["x402"],"summary":"Subscribe — Base plan ($5.00 / 250 messages)","description":"Buy the Base plan: $5.00 for 250 messages over 30 days.\n\nSend this request with no payment to receive a 402 carrying payment requirements, then retry it with the payment header. The response returns an API key and a WebSocket URL; connect to `ws_url?key=<api_key>` to send and receive messages. To renew, call the same endpoint again with `api_key` set — that extends the window instead of provisioning a second account.","operationId":"subscribeBase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeResponse"}}}},"402":{"description":"Payment required — retry with the payment header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"5.000000"}}}},"/x402/subscribe/growth":{"post":{"tags":["x402"],"summary":"Subscribe — Growth plan ($15.00 / 2,000 messages)","description":"Buy the Growth plan: $15.00 for 2,000 messages over 30 days.\n\nSend this request with no payment to receive a 402 carrying payment requirements, then retry it with the payment header. The response returns an API key and a WebSocket URL; connect to `ws_url?key=<api_key>` to send and receive messages. To renew, call the same endpoint again with `api_key` set — that extends the window instead of provisioning a second account.","operationId":"subscribeGrowth","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeResponse"}}}},"402":{"description":"Payment required — retry with the payment header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"15.000000"}}}},"/x402/subscribe/plus":{"post":{"tags":["x402"],"summary":"Subscribe — Plus plan ($25.00 / 6,000 messages)","description":"Buy the Plus plan: $25.00 for 6,000 messages over 30 days.\n\nSend this request with no payment to receive a 402 carrying payment requirements, then retry it with the payment header. The response returns an API key and a WebSocket URL; connect to `ws_url?key=<api_key>` to send and receive messages. To renew, call the same endpoint again with `api_key` set — that extends the window instead of provisioning a second account.","operationId":"subscribePlus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeResponse"}}}},"402":{"description":"Payment required — retry with the payment header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"25.000000"}}}},"/x402/subscribe/pro":{"post":{"tags":["x402"],"summary":"Subscribe — Pro plan ($50.00 / 15,000 messages)","description":"Buy the Pro plan: $50.00 for 15,000 messages over 30 days.\n\nSend this request with no payment to receive a 402 carrying payment requirements, then retry it with the payment header. The response returns an API key and a WebSocket URL; connect to `ws_url?key=<api_key>` to send and receive messages. To renew, call the same endpoint again with `api_key` set — that extends the window instead of provisioning a second account.","operationId":"subscribePro","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeResponse"}}}},"402":{"description":"Payment required — retry with the payment header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"50.000000"}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PaymentRequiredResponse":{"properties":{"x402Version":{"type":"integer","title":"X402Version","default":1},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"accepts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Accepts"}},"type":"object","title":"PaymentRequiredResponse","description":"Body returned by the x402 middleware when payment is missing or invalid.\n\nDeclared so the published discovery document carries a real schema for the\n402 response, which AgentCash requires on every payable operation."},"SubscribeRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"}},"type":"object","title":"SubscribeRequest"},"SubscribeResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"ws_url":{"type":"string","title":"Ws Url"},"plan":{"type":"string","title":"Plan"},"messages_limit":{"type":"integer","title":"Messages Limit"},"expires_at":{"type":"string","title":"Expires At"},"renewed":{"type":"boolean","title":"Renewed","default":false}},"type":"object","required":["ws_url","plan","messages_limit","expires_at"],"title":"SubscribeResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}