MQTT.Agent - open protocol for AI agents

REST API Bridge

One POST Request,
Instant MQTT

Publish to any MQTT topic with a single HTTP call. No connections to manage, no libraries to install.

Serverless Native
Zero Connection Overhead
Fire & Forget
~100ms
Avg. latency
0
Connections to manage
Scale on demand
Your Backend
Lambda, Cron, API Server
POST
CloudSignal REST Bridge
HTTP to MQTT translation
Mobile App
Web Client
IoT Device
// That's it. One request.
await fetch ( 'api.cloudsignal.app/v1/publish' , {...})

When to Use REST API vs MQTT

Choose the right approach for your architecture.

Use REST API When...

  • Your backend doesn't need to stay online continuously
  • You're using serverless functions (Lambda, Vercel, Workers)
  • You can't install MQTT client libraries
  • You only need to publish, not subscribe
  • You want to avoid connection management complexity
  • Cost efficiency matters more than latency

Use Direct MQTT When...

  • You need to subscribe and receive messages in real-time
  • Your app maintains long-running connections (web apps, mobile)
  • Sub-second latency is critical
  • You're building a browser app with WebSocket support
  • You need QoS 2 exactly-once delivery
  • Bidirectional communication is required
Learn about MQTT Pub/Sub

Built for Simplicity

Everything you need to publish MQTT messages via HTTP.

Simple HTTP Publishing

Publish MQTT messages with a single POST request. No persistent connections, no MQTT client libraries.

Secure by Default

API key authentication and HTTPS encryption. Scoped permissions per key.

Serverless Native

Stateless API calls work perfectly with AWS Lambda, Vercel, Cloudflare Workers, and cloud functions.

JSON Native

Send structured JSON payloads directly. Automatic serialization, no encoding hassles.

No Connection Overhead

No handshakes, no keepalives, no reconnection logic. Fire and forget.

Scoped API Keys

Create keys with specific topic permissions. Fine-grained access control per integration.

API Endpoints

A simple, RESTful interface to your MQTT broker.

POST
/api/v1/publish
POST
/api/v1/publish/batch
GET
/api/v1/topics/:topic/retained

Quick Examples

Drop these into a serverless function or any HTTP client.

Publish a Message

publish.js
// Publish via REST API, no MQTT client needed
const response = await fetch('https://api.cloudsignal.app/v1/publish', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    topic: 'devices/sensor-1/data',
    payload: {
      temperature: 23.5,
      humidity: 65,
      timestamp: Date.now()
    },
    qos: 1
  })
})

const result = await response.json()
// { success: true, messageId: "msg_abc123" }

Batch Publish

batch.js
// Batch publish: multiple messages in one request
const response = await fetch('https://api.cloudsignal.app/v1/publish/batch', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    messages: [
      { topic: 'alerts/system', payload: { type: 'info', msg: 'Backup complete' }},
      { topic: 'metrics/daily', payload: { users: 1250, revenue: 4500 }},
      { topic: 'notifications/user-123', payload: { title: 'Order shipped' }}
    ]
  })
})

// { success: true, published: 3, messageIds: [...] }

Real-World Use Cases

How teams use the REST API Bridge to simplify their architecture.

Scheduled Notifications

Cron job sends daily digest

A scheduled Lambda function runs at 8am, fetches user data, and publishes personalized notifications to each user's topic. No server running 24/7.

Zero infrastructure cost between runs

Database Triggers

Supabase Edge Function on row insert

When a new order is created in the database, an edge function fires and publishes to the relevant device topics to trigger UI updates.

Event-driven, scales automatically

CI/CD Pipeline Alerts

GitHub Action on deploy

After each deployment, a GitHub Action publishes build status to a team channel topic. Connected dashboards update in real-time.

Simple curl command, no dependencies

Form Submissions

Webhook from Typeform or Tally

When a customer fills out a support form, the webhook triggers a serverless function that publishes to an agent's queue topic.

Connect any HTTP webhook to MQTT

Included in Pro & Scale

The REST API Bridge is bundled with Pro and Scale plans. Free Starter users can add it for $7/month.

Pro Plan
Included
50,000 calls / month
Overage: $0.50 / 1k
  • HTTP POST publish
  • Batch up to 100 msgs
  • 30-day logs
Scale Plan
Included
200,000 calls / month
Overage: $0.25 / 1k
  • HTTP POST publish
  • Batch up to 100 msgs
  • 30-day logs
  • Priority processing
Starter Add-on
$7 /mo
10,000 calls / month
Overage: $0.50 / 1k
  • HTTP POST publish
  • JSON payloads
  • 7-day logs

Enterprise plans include unlimited REST API calls at no additional cost.

View full pricing details

Publish Your First Message

Get your API key and start publishing in under 5 minutes. No MQTT knowledge required.