Skip to main content
The overview at robase.dev/app is where you send a test. It is a real send. It uses credits from the workspace balance and it goes to the phone number you type. There is no sandbox send and no free test credit. A new account starts at 0 credits. There is no free trial. Top up before the first test. The first successful top-up adds 10 bonus credits, once per account. What a test costs is the live rate on GET /v1/pricing for that destination. The overview reads that list. Do not quote a fixed price. Marketing content is blocked with 403 content_blocked. The OTP test is a one-time code. A transactional SMS test has to read as a transactional message.

Two controls on the overview

Send yourself a test message is the last setup step. It is shown until that test is delivered. You type a local number, the page builds E.164, and it sends.
  • The usual test is an OTP. The SMS text is the same production OTP text, in the workspace language, using the app name on the workspace’s first API key (or Robase when no key has a name).
  • It becomes an SMS test when the workspace’s onboarding intent is SMS and the workspace is not on the own-sender rule. New workspaces are on that rule, so their test stays an OTP until they have an approved sender ID.
  • If you choose SMS and the workspace needs its own sender ID, the screen says SMS needs your own sender ID and offers Send a test code instead.
  • The step is done when the message is delivered, not when it is merely queued. The card then leaves the overview.
Send test OTP is the smaller card under that. It stays on the overview. You type a full E.164 number and send. The hint on the page says it uses the workspace’s first API key, and that the send is charged, logged, and webhook-fired. A 6 digit code and a 10 minute TTL are what that card sends unless the delivery mode asks you to pick a channel. Both paths call the same send pipeline as the API. A refused test returns the same error.type a direct API call would, including insufficient_credits, sender_id_required, content_blocked, and kyc_required.

Before you press send

  • The number is a real handset, in E.164 (+ and country code, no spaces).
  • The balance covers the destination. If it does not, the test is refused and you top up on Billing.
  • Transactional SMS needs the workspace’s own approved sender ID. OTP uses Robase sender names.
  • OTP and transactional SMS only.

After you press send

The card shows the message id and the credit cost from the response. The row is in OTP logs or SMS logs. Webhooks fire the same way they do for API traffic. A failed first test is debugged from those logs. See SMS logs and OTP logs.