2026 INDUSTRIAL EDITION

Turn Your Phone Into a Messaging API in 5 Minutes

Send real SMS, WhatsApp, Telegram, email, and push notifications directly from your own phone using a simple HTTPS API — from any programming language, on the mobile plan you’re already paying for. No per-message fees. No cloud lock-in. Full control.

All communication is secured via HTTPS transport.

Multi-Channel Send
Full HTTPS API
Monitoring & Logs
Send-Only & Private
Operations Teams Growth Ops Sales & Support DevOps & Automation
Phone Agent app showing connected status, channel tiles for SMS, WhatsApp, Telegram, and Email, and a recent activity feed with sent and received messages.

Get Started

Account first, then install, then scan your Config QR.

1

Sign in or create a free account

Your free plan is created automatically. This account is used later to generate the Config QR for the phone.

Sign Up / Log in
2

Plan is attached to the account

Free works immediately with limits. Upgrade later only if you need more volume. No setup code is needed in the normal flow.

View Plans
3

Install Phone Agent

Scan the Install QR with the phone. It downloads the APK; tap the downloaded file to install. Install does not configure the app.

Download App
4

Generate and scan Config QR

Open Setup while logged in, click Generate QR, then scan it with the installed app. Two things happen:

  • The app saves server, phone, key, and license values automatically.
  • The app validates the account/license at runtime before messaging.
Open Setup
5

Send your first message

POST to /api/v1/messages with your account API key as a Bearer token. Edit the curl below, copy it for your terminal, or send it straight from this page:

Editable curl — replace YOUR_CLIENT_API_KEY and to.

Put your own number in to for a self-test. See code samples for Python, Node, Go, Java, C#. Need bulk + scheduling? Business Hub.

Full HTTP API Docs

One API, every channel

Your phone delivers — you choose the channel per request.

SMS

Real carrier SMS via your SIM plan.

WhatsApp

Send through the WhatsApp app on your phone.

Telegram

Send through the Telegram app on your phone.

Email

Send transactional email via configured account.

Push Notify

Local notifications on your phone for alerts.

Why Phone Agent

Send from code, through the phone

Your code triggers the message. The Android phone sends it through SMS, WhatsApp, Telegram, email, or local notify, depending on the channel.

Useful for real systems

A site can route order updates, reminders, alerts, support messages, daily summaries, and AI-assistant actions through one connected phone.

Fan out one alert to many people

Receive one event from your system, then broadcast it to several users, for example sending the same outage alert to 10 team members.

Use your own SIM plan

No per-message SMS provider lock-in. Your existing mobile plan and phone accounts stay in control.

Send-only and private

Messages flow from your system to your phone to the recipient. The connected phone is the delivery endpoint.

Drop into any workflow

Use WebChat for manual sends, Business Hub for bulk work, or the API when your software needs to send automatically.

Built for Developers

Simple REST endpoints. Bearer-token auth. Copy/paste examples in every major language.

Tap a language to see a copy-paste example. Default URL is the hosted relay https://phonerelay.dev — override only for private deployments.

Python

import requests

requests.post(
    "https://phonerelay.dev/api/v1/messages",
    headers={"Authorization": "Bearer YOUR_CLIENT_API_KEY"},
    json={"channel": "sms", "to": "+1234567890", "text": "Hello from Phone Agent"},
)

Node.js

await fetch("https://phonerelay.dev/api/v1/messages", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_CLIENT_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    channel: "sms",
    to: "+1234567890",
    text: "Hello from Phone Agent",
  }),
});

Go

body := strings.NewReader(`{"channel":"sms","to":"+1234567890","text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://phonerelay.dev/api/v1/messages", body)
req.Header.Set("Authorization", "Bearer YOUR_CLIENT_API_KEY")
req.Header.Set("Content-Type", "application/json")
http.DefaultClient.Do(req)

Java

HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://phonerelay.dev/api/v1/messages"))
    .header("Authorization", "Bearer YOUR_CLIENT_API_KEY")
    .header("Content-Type", "application/json")
    .POST(BodyPublishers.ofString(
        "{\"channel\":\"sms\",\"to\":\"+1234567890\",\"text\":\"Hello\"}"))
    .build();
HttpClient.newHttpClient().send(req, BodyHandlers.ofString());

C# / .NET

using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", "YOUR_CLIENT_API_KEY");
var body = new StringContent(
    "{\"channel\":\"sms\",\"to\":\"+1234567890\",\"text\":\"Hello\"}",
    Encoding.UTF8, "application/json");
await http.PostAsync("https://phonerelay.dev/api/v1/messages", body);

cURL / C++ / Rust

curl -X POST https://phonerelay.dev/api/v1/messages \
  -H "Authorization: Bearer YOUR_CLIENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"channel":"sms","to":"+1234567890","text":"Hello"}'

Send to yourself, or anyone

The to: field is the recipient. Put your own number in there and your phone delivers the SMS to yourself — handy for personal alerts, trade signals, deploy notifications, or just smoke-testing the API.

Channelto: valueOther params
smsE.164 phone number, e.g. +1234567890 (your own works)
waPhone number (must be installed in WhatsApp)
tgPhone number or @username
tg_botTelegram chat_idbot_token required
emailEmail address (your own or anyone)subject required
notify(not used) — local notification on your own phoneoptional title

Channels: SMS, WhatsApp (wa), Telegram (tg), Telegram bot (tg_bot), email, and local push (notify). The notify channel is self-only by design — it shows a local Android notification on the connected phone, no carrier message sent.

Open HTTP API Docs

Download

Sign in or create a free account, install the app, then generate the Config QR.

1. Install Phone Agent

Scan the Install QR with the phone. The phone downloads phone-agent.apk; tap the downloaded file to install. Install alone does not connect the app.

Before generating the Config QR, sign in or create a free account. Keep the phone connected to the internet.

Manual Download APK

Install QR

Scan on the phone. Download starts in the phone browser. Tap the downloaded APK and allow install from this source if Android asks.

Manual download / transfer from PC

If you cannot scan the QR, click Manual Download APK, move the APK to the phone, then open it on the phone to install. Optional checksum: SHA256SUMS.txt.

Install blocked on Android?
  1. Open Google Play Store on the phone.
  2. Tap your account icon at the top-right (profile menu).
  3. Tap Play Protect.
  4. Tap the gear icon (top-right), then temporarily disable Scan apps with Play Protect.
  5. Open Settings -> Apps -> (Chrome or Files) -> Install unknown apps -> Allow, install APK, then re-enable Play Protect scan.
Seeing "App not installed"?
  • Confirm installer source is allowed: Settings -> Apps -> (Chrome or Files) -> Install unknown apps -> Allow.
  • Remove older conflicting app build, then retry.
  • Ensure enough free storage on phone.
App installed but access is blocked?
  • Re-check Install unknown apps allowance for Files/Chrome.
  • For WhatsApp/Telegram auto-send, open Settings -> Apps -> Phone Agent -> three-dot menu -> Allow restricted settings.
  • Then open Accessibility -> Installed apps and enable the Phone Agent auto-send services.
ADB install fallback (PC)

If file copy from PC is blocked, use:

adb devices
adb install -r phone-agent.apk

Optional helper aliases:

source ./phoneagent-apk-aliases.sh
pa-apk-devices
pa-apk-install phone-agent.apk
pa-apk-setup

If you get INSTALL_FAILED_UPDATE_INCOMPATIBLE:

adb uninstall com.agentphone.app
adb install phone-agent.apk

If adb devices shows nothing:

  • Enable Developer options + USB debugging on phone.
  • Accept the RSA prompt on phone.
  • Re-run adb devices.

2. Connect Phone

After Phone Agent is installed and you are signed in, open the setup page. Click Generate QR, then scan the Config QR with the phone.

Open Setup Page

Docs

Install, connect, send. Plus AI assistant integration and company private server overview.

HTTP API

Auth, request fields, status polling, and copy/paste examples (Python, C++, Node, Go, Java, C#).

Open HTTP API Docs

Business Hub

Bulk send, contact lists, scheduling, and templates — configurable from the web UI.

Open Business Hub

Private Server

Company overview: keep traffic and access control inside your infrastructure.

Open Overview

Support

Email support for setup + sending issues.

 support@phonerelay.dev

Send us a message

Mail or feedback — we save the request and send it to support.