Developers
SMS API for developers
JSON over HTTPS, one header for authentication, clear error codes. If you can call a REST endpoint, you can send SMS.
Get a free API keySend a message
The response tells you the message id, the number of parts and the cost straight away.
curl -X POST https://jasms.dk/api/v1/send \
-H "X-Api-Key: PUBLIC:SECRET" \
-H "Content-Type: application/json" \
-d '{"to": "+4512345678",
"body": "Hej Anna, din tid er i morgen kl. 10:30",
"sender": "MinSalon"}'
{"ok": true, "message_id": 23001, "status": "queued",
"parts": 1, "cost": "0.3588", "cost_currency": "DKK"}
Endpoints
| POST | /api/v1/send |
send one SMS |
| POST | /api/v1/messages |
send many in one call |
| GET | /api/v1/messages/{id} |
status, parts and cost |
| DELETE | /api/v1/messages/{id} |
cancel a scheduled message |
| POST | /api/v1/verify/start |
one-time code (and /verify/check) |
| GET | /api/v1/rate |
price before you send |
| GET | /api/v1/prices |
your price list |
| GET | /api/v1/balance |
balance and credit |
| GET | /api/v1/lookup |
is the number valid and mobile |
| GET | /api/v1/senders |
sender names (create, default) |
| GET | /api/v1/numbers |
your numbers and requests |
| GET | /api/v1/inbound |
incoming SMS |
Webhooks
Signed callbacks for queued, sent, delivered, failed and received messages, with retries.
Idempotency
Send an Idempotency-Key and a retried request never sends twice.
Scoped keys
Limit a key to destinations, a sender or a number of parts — useful for a webshop or a single app.
EU data
Servers in the EU and a GDPR processing agreement as part of the terms.
Full documentation with your own keys after login: /portal/api-docs