SMS

Open SMS →

Calling it

This is your own data, so a call has to say who you are. Make a token at /token and send it as a header.

curl -H "Authorization: Bearer $MU_TOKEN" \
  https://micro.mu/api/v1/sms/history

The same method over MCP, which is what an agent speaks: sms_history. The answer is identical.

How every call behaves →

Methods

GET /api/v1/sms/history

Read the texts this account has sent and received, newest first. Both directions, which is why it is not called an inbox

Needs an account.

ArgumentTypeDescription
limitnumberHow many messages to return, newest first (default 50, max 200)
curl \
  -H "Authorization: Bearer $MU_TOKEN" \
  "https://micro.mu/api/v1/sms/history"
GET /api/v1/sms/number

The number texts are sent from, which numbers are verified as yours, and how many messages are left today

Needs an account.

curl \
  -H "Authorization: Bearer $MU_TOKEN" \
  "https://micro.mu/api/v1/sms/number"
POST /api/v1/sms/send

Message somebody from this instance's number, by text or on WhatsApp. A text is charged per 160-character segment; WhatsApp is charged per 24-hour conversation and only reaches somebody who wrote in within the last day. Capped per day either way, and the recipient can stop it with STOP

Needs an account. Changes something, so POST only. Withheld from the agent — a person or a program only.

ArgumentTypeDescription
to *stringThe number to message, in international format, e.g. +447700900123. Use contacts_find to turn a name into one
text *stringWhat to say. A text is charged per 160-character segment, so brevity is not only good manners
channelstringHow to send it: 'sms' (the default) or 'whatsapp'. WhatsApp only works with somebody who messaged this instance in the last 24 hours — reply on the channel they used
curl -X POST \
  -H "Authorization: Bearer $MU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"text","to":"to"}' \
  https://micro.mu/api/v1/sms/send
POST /api/v1/sms/verify

Claim a number as your own, so texts arriving from it reach this account. Call it with just the number to have a code texted there, then again with the code

Needs an account. Changes something, so POST only.

ArgumentTypeDescription
number *stringYour own number, in international format
codestringThe code that was texted to that number. Omit to have one sent
curl -X POST \
  -H "Authorization: Bearer $MU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"number":"number"}' \
  https://micro.mu/api/v1/sms/verify

The same methods are tools over MCP, and every service on this instance is in one reference.