API docs

Introduction

Send SMS and email, and verify your users with one-time codes, through one API.

WeSend is a REST API for sending SMS to every Mongolian mobile operator, and email. You do not need a contract with each operator or a special number. Requests and responses are JSON.

Base URL

Send every request to this address over HTTPS.

curl https://api.wesend.mn/v1/balance \
  -H "Authorization: Bearer $WESEND_API_KEY"

Send your first message

  1. 1

    Sign up and create a project

    Credits, API keys and message history belong to a project. Your first project comes with a 7-day trial and 400 credits.

  2. 2

    Confirm your phone number

    During the trial you can send only to your own confirmed phone and email. Confirm the phone in the dashboard under Settings → My account.

  3. 3

    Create an API key

    Create one in the dashboard under API keys. The key is shown in full only once, so copy it then.

  4. 4

    Make the request

    Put the key in the WESEND_API_KEY environment variable and run the request below.

curl -X POST https://api.wesend.mn/v1/sms \
  -H "Authorization: Bearer $WESEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "99112233",
  "text": "Sain baina uu? WeSend-ees ilgeev."
}'
Response200 OK
{
  "id": "0b9c1a52-6f0e-4d8b-9a3c-2f1e5d7c8a90",
  "status": "sent",
  "channel": "sms",
  "to": "99112233",
  "parts": 1,
  "rate_multiplier": 1,
  "credits": 70,
  "batch_id": null,
  "error": null,
  "created_at": "2026-10-06T08:15:30.000Z",
  "sent_at": "2026-10-06T08:15:31.000Z",
  "balance": 330
}

Trial and production

StateWho you can reach
TrialOnly the project owner's confirmed phone and email. Anything else answers trial_recipient.
ProductionAny number or address. The owner is verified through DAN and the base fee is paid.
InactiveNothing is sent. After the trial ends or the base fee lapses, requests answer subscription_required.

1 credit = 1₮. One SMS part costs 70 credits and one email 5. Credits for a message that was not sent are refunded automatically.