> ## Documentation Index
> Fetch the complete documentation index at: https://docs.relayos.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# RelayOS: WhatsApp Messaging API for Developers

> RelayOS is a REST API for sending transactional WhatsApp messages via Meta's official Cloud API, billed in BRL with automatic retry and real-time webhooks.

RelayOS is a REST API that lets you send transactional WhatsApp messages through Meta's official Cloud API. Whether you're sending appointment reminders, order confirmations, or account alerts, RelayOS handles the infrastructure — authentication, queuing, retries, and delivery tracking — so your team can focus on your product. It is built for developers and businesses in Brazil who need a reliable, compliant, and locally billed messaging channel.

## What RelayOS does

RelayOS sits between your application and Meta's WhatsApp Cloud API. You make a single `POST /v1/messages` request with a recipient, a pre-approved template name, and any template variables. RelayOS queues the message, forwards it to Meta, tracks its status through every delivery stage, and notifies your server via webhook when something changes.

You never touch the Meta API directly. You do not need to manage access token refresh cycles, handle Meta-side rate limits, or build retry logic. RelayOS abstracts all of that behind a clean, predictable REST interface.

## Who it is for

RelayOS is aimed at:

* **SaaS products** that need to notify users about activity inside their application
* **E-commerce and logistics platforms** that send order and shipment updates
* **Healthcare and scheduling services** that send appointment reminders
* **Fintech products** that deliver payment receipts and security alerts
* Any team that wants a WhatsApp channel without taking on the operational burden of running a direct Meta integration

## Key differentiators

<CardGroup cols={2}>
  <Card title="Official Meta Cloud API" icon="shield-check">
    RelayOS sends every message through Meta's official WhatsApp Cloud API. There are no unofficial gateways or third-party SIM farms, which means zero risk of your WhatsApp Business Account being banned.
  </Card>

  <Card title="BRL billing, no FX risk" icon="dollar-sign">
    All usage is billed in Brazilian reais. You pay a predictable local price and never absorb exchange-rate swings when the dollar moves.
  </Card>

  <Card title="Automatic retry with exponential backoff" icon="arrows-rotate">
    When a delivery attempt fails — because of a transient Meta error or a downstream network issue — RelayOS retries automatically using exponential backoff. Your code does not need to implement retry logic.
  </Card>

  <Card title="Real-time webhooks" icon="bolt">
    Every status transition (sent, delivered, read, failed) triggers a webhook POST to your `callbackUrl`. Your system stays in sync with actual delivery state without polling.
  </Card>
</CardGroup>

## How the API is structured

The RelayOS API is organized around three primary resources:

* **Projects** — the top-level container for your configuration, Meta credentials, and API keys
* **Messages** — individual WhatsApp message requests with full lifecycle tracking
* **API keys** — scoped bearer tokens you create and revoke per environment or service

All requests go to `https://api.relayos.com.br` and are authenticated with a bearer token in the `Authorization` header.

## Next steps

<Steps>
  <Step title="Sign up and create your first project">
    Call `POST /v1/projects` with your project name and email address. The response includes your initial API key — copy it somewhere safe because it is shown only once.
  </Step>

  <Step title="Configure your Meta credentials">
    Call `PUT /v1/projects/me/meta-credentials` to attach your WhatsApp Business Phone Number ID, your Meta access token, and an optional webhook callback URL to your project.
  </Step>

  <Step title="Send your first message">
    Call `POST /v1/messages` with a recipient phone number (E.164 format), a Meta-approved template name, and the template language code. RelayOS queues the message immediately and returns a message ID.
  </Step>
</Steps>

Ready to get going? Head over to the [Quickstart](/quickstart) for complete curl examples and expected responses for each step.
