The largest release since launch: SMS and one-time codes, prepaid wallets in naira and shillings, a rebuilt console, referral and affiliate programmes, and a bigger Free plan.
New
- SMS. Send transactional text messages from the API, the SDKs or the console, prepaid from your wallet on every plan, with delivery status reported by webhook. Prices per country are on your Messaging settings page.
- One-time codes. Send a verification code by email or SMS and check it with two API calls. Suspicious requests are refused before a code is sent, and every step is reported by webhook.
- Sender IDs. Request your own SMS sender ID from the console and upload the documents the Nigerian networks ask for as PDFs. Your own sender ID needs Pro. A one-time registration fee is charged when we file the request and refunded if it is rejected.
- Wallet billing in naira and shillings. Teams in Nigeria and Kenya top up a prepaid wallet in their own currency, and Pro, usage and SMS are paid from the balance. Every payment has a receipt. Top-ups are not refundable.
- Package pricing. A Pricing page in the console shows prices per message by monthly volume, in your billing currency. Prices not yet listed are quoted on request.
- Journeys. Multi-step email sequences that start when a contact is added to a contact book or when you enrol one through the API, on every plan.
- Deliverability check. Campaigns, journey steps and templates are scored for spam signals before they send, and the same check is available from the API.
- One-click DNS setup for domains at DNS providers that support it.
- Referral programme. Share your team's link; when a team you referred makes its first qualifying payment, both teams receive wallet credit.
- Affiliate programme. Partners apply from the console and earn a commission on what the teams they refer pay, net of processing fees, paid out by hand.
- An API key check endpoint that tells a live key from a revoked one without sending anything.
- A PHP SDK with Laravel support, and SMS and one-time codes in the TypeScript, Python and PHP SDKs.
- Webhook events for SMS, one-time codes, journeys, campaigns and deliverability, and contact subscribe and unsubscribe events.
- Test sends to members of your own team no longer count against your limits.
Improved
- The Free plan now includes 5,000 emails a month and 200 a day, up from 3,000 and 100.
- A rebuilt console: new navigation, an Overview page, an email log with a detail panel, and redesigned domain, SMS, webhook, billing, team and developer pages.
- A redesigned marketing site and new typefaces across the site and the console.
- A message can name at most 50 recipients across to, cc and bcc, and each recipient counts as one email against your limits and your billed volume. A message naming more is refused before anything is sent.
- The SMTP relay checks your API key when you log in, so a wrong or revoked key is refused at login rather than at send, and repeated failed logins from one address are paused for a while.
- Clear size limits on sends: attachments up to 7 MB each and 10 MB per email, and up to 40 MB of attachments per batch.
- If sending is paused on your account, the console now says so.
- Free teams receive a short series of upgrade reminders, with a one-click opt-out in every one.
- New campaigns and journey emails start with an unsubscribe footer.
Fixed
- Deleting contacts in bulk through the API works; it used to answer not found.
- A contact's address is stored in one spelling, so the same person in different capitals is no longer two contacts.
- Contacts with an address no email could be delivered to are refused when they are added, including from a CSV upload.
- A From header naming more than one address is refused with a clear error.
- An invalid page number on a list, such as a negative one, is refused with a clear error instead of a server error.
- The TypeScript SDK returns the error code and message where its documentation says it does.
- A template keeps its content when it is renamed.
- Team members are no longer offered API key and campaign actions they are not allowed to take.
- Form fields in the template, campaign, journey and double opt-in editors have names screen readers can announce.
Security
- Delivery, bounce and complaint notifications from the sending provider are signature checked, so a forged notice cannot change your suppression list or usage.
- Webhook deliveries refuse private and internal network addresses.
- Send-only API keys reach only the sending endpoints, a team member can create only send-only keys, and keys are compared in constant time.
- Deleting domains, contact books and other team resources is limited to team admins.
- Email HTML from the editor is sanitised every time it is loaded.
- Security headers are served on every public Notix host.
- The SMTP relay no longer logs message content on an error and never offers a default certificate.
- Notix staff access is role based: each person sees only the areas their role needs, and changes are recorded in an audit log.
- API keys made before broadcast approval existed now ask for approval before scheduling a broadcast to more than 50 people, like every new key. Turn this off on each key under Limits if you need to.