New Contacts
Start an iMessage conversation with someone who has never written to your sender: how to send the first message, what it may contain, pacing, warm-up and how to keep your sender safe
A sender you order through Zernio can message people who have never written to it. It is the most powerful thing an iMessage sender does and the easiest way to lose one: Apple shows a stranger's message with a Report Junk button, and reports can get a sender blocked for good. A blocked sender is not refundable. Zernio enforces the provider's rules for you so a send that would put the sender at risk is refused before it goes out.
If you can, let the contact write first with an opt-in link. A conversation the contact opens needs no pacing, has no content rules and records their consent.
Send the first message
Use POST /v1/inbox/conversations with the sender's accountId, the recipient in participantId and the text in message:
{
"accountId": "68b2…",
"participantId": "+15551234567",
"message": "Hi Sarah, this is Derek from Acme. You asked for a demo on our site. Is it okay if I text you here? Just reply stop if not."
}The recipient is a phone number in international format with the leading +, or an iMessage email address. The response returns the new conversationId; the contact's reply lands in that same thread.
From the dashboard, open Inbox, press New message, pick the iMessage sender under From and enter the phone number or email.
If you already have a thread with that contact because they wrote to you before, the same call simply sends a normal message in it, with none of the rules below.
What the first message may contain
The first message must be a short personal note from a real person, with a concrete reason for writing and room for a reply. It must not contain:
- links or bare domains (
example.com) - email addresses
- phone numbers
- prices or currency amounts
- attachments, voice notes, location pins or a contact card
- marketing, promotions, junk, phishing or scams
Zernio checks the first four with fixed rules and then has every first message reviewed for marketing and spam before it is sent. A message that fails either check is not sent and returns 400 with code invalid_content and a reason you can act on.
Good first messages:
- Hello, this is John from Acme Corp. Is it okay that I texted you?
- Hi Jack, I'm Bill. You requested a demo on our website, could you confirm it's still relevant? Or just let me know if you changed your mind.
- Hi Helen, Derek from Cool Stuff Inc. You filled out our home-buying form: what area are you looking in?
Once the contact replies, the thread is an ordinary conversation: links, attachments and everything else in the inbox work.
One message until they reply
Until the contact writes back, the thread accepts only that first message. A follow-up returns 409 with code recipient_must_message_first. Senders are judged on their reply rate (keep it above roughly 30%), and a second unanswered message to a stranger is exactly what gets reported.
Pacing and warm-up
Each sender may open one new conversation every 15 minutes, and a new sender warms up over its first three weeks:
| Days since the sender went live | New conversations per 24 hours |
|---|---|
| Days 1 to 2 | 2 |
| Days 3 to 4 | 5 |
| Days 5 to 7 | 10 |
| Days 8 to 14 | 20 |
| Days 15 to 21 | 30 |
| After day 21 | 50 |
The 24 hours roll: a slot frees up 24 hours after the start it was used for. A send over either limit is not sent and returns 429 with code new_contact_limit; the error message says when the next one is allowed. A first message that was refused or failed does not use up a slot.
The warm-up counts from when a number ordered through Zernio went live. Senders you registered from your own provider account are not warmed up by Zernio, but the 15-minute spacing still applies.
Contacts who have gone quiet
The same care applies to people who wrote to you before but not recently. Messages to contacts who have not written in the last 24 hours are spaced at least 2 minutes apart per sender; a send inside that window returns 429 with new_contact_limit and the time to retry. Replies to contacts who wrote within the last day are never paced, even when many arrive at once.
Errors
| Status | Code | Meaning | What to do |
|---|---|---|---|
400 | invalid_content | The first message breaks the content rules or reads as marketing or spam | Rewrite it as a short personal note; the error says what to change |
429 | new_contact_limit | The sender is inside the 15-minute or 2-minute spacing, or at its warm-up cap for the day | Retry after the time in the error, or spread contacts across senders |
409 | recipient_must_message_first | You already sent the first message and the contact has not replied, or the sender has no ability to message new contacts (a sender registered from your own provider account without that add-on) | Wait for the reply, or share an opt-in link |
409 | recipient_opted_out | The contact opted out of this sender | Wait for their START or an opt-in link tap |
400 | The recipient is not a + international phone number or an email | Fix the recipient |