Contacts, topics and broadcasts
An audience you own, in the same account your product sends its receipts from. Contacts with typed properties, segments, topics people choose, and a broadcast that leaves as one ordinary email per recipient.
What an audience in Rasket is made of
Marketing mail needs a list, a reason each person is on it, and a way off it. All three are ordinary parts of the API rather than a separate product bolted alongside.
Contacts with typed properties
A contact is an address, optional names and the properties you declare. A property is a key and a type, checked on every write, and its key is also the merge variable a broadcast prints for that person.
Segments by filter, by hand, or both
A segment is a filter over your contacts, a list you added yourself, or both together. Membership is worked out when it is read and when a broadcast goes out, so a contact who starts matching is in from that moment.
Topics and a hosted preference page
Topics are the categories people subscribe to. A broadcast scoped to a topic reaches only the contacts opted in to it, and every recipient can change their choices on a page we host for you.
One-click unsubscribe on every broadcast
Broadcasts go out with the RFC 8058 headers, so a mail app can offer its own unsubscribe. A body with no unsubscribe link gets a footer carrying one, along with your postal address, and the choice is written to the consent ledger.
CSV imports with a column map
Upload a file and say which column holds which field. Columns become typed properties, an address you already have is updated or skipped as you choose, and every row is counted as created, updated, skipped or failed.
How a broadcast goes from draft to report
A broadcast is a draft until it is sent, and it has to get past a compliance check on the way out.
- 1
Draft it
Create a broadcast with a from address on one of your verified domains, a subject and a body, or point it at a published template. Merge variables print a first name, an address or any property you declared, each with a fallback.
- 2
Pass the review gate
Nothing is queued until the conditions hold: a domain verified for sending, a postal address on file, a segment that resolves and a body. The same checklist is readable before you send, so you can fix a problem without a failed attempt.
- 3
Send, then read the report
Send now or schedule it. The report lists who was sent, delivered, opened, clicked, bounced, complained or unsubscribed, and names the reason anyone was left out.
Send a broadcast with one API call
Create the draft and queue it in one call, or write the draft first and send it later. A broadcast is the same object either way, so nothing has to be rebuilt when you move from one to the other.
Queue a broadcast
curl https://api.rasket.com/broadcasts \ -H "Authorization: Bearer rk_..." \ -H "Content-Type: application/json" \ -d '{ "name": "September product update", "segment_id": "b6d24b8e-af0b-4c3c-be0c-359bbd97381e", "from": "Acme <news@send.acme.example>", "subject": "What shipped in September", "html": "<p>Hi {{{FIRST_NAME|there}}},</p>", "send": true }'Every field is documented in the broadcasts reference, with the filter language and the import format on their own pages.
Why a broadcast is just a lot of ordinary emails
There is no second sending system here. When a broadcast goes out, its recipients are resolved a page at a time and each one becomes a normal send: the same verified domain, the same suppression checks, the same delivery timeline, the same signed webhooks. A bounce from a broadcast lands on your endpoint in the shape your code already handles, and a complaint suppresses that address for everything.
That is also why the exclusions are visible. A contact who unsubscribed, opted out of the broadcast's topic, landed on the suppression list or was deleted is recorded in the report with the reason, rather than quietly missing from a count. And because consent records are written for every change, from the API, an import, the preference page or a one-click unsubscribe, you can answer the question of why somebody received something long after the fact.
The rest of the product is available to a broadcast for the same reason. Write the message once as a versioned template and a broadcast can copy its published version. Follow what happened with the same signed webhooks your transactional mail already uses. When one message to a segment is not the shape you want, an automation runs per contact instead, triggered by something your product did. Contacts and their properties have their own reference page too.
Questions about contacts and broadcasts
Is a broadcast sent differently from a transactional email?
No. A broadcast works out who it goes to and then sends one ordinary email per recipient, through the same pipeline as the rest of your mail. Suppressions, delivery events and webhooks all behave exactly as they do for a single send, and every recipient counts toward your monthly quota.
What has to be true before a broadcast can be sent?
Four things: the from address is on a domain of yours verified for sending, your team has a postal address for the footer, the segment resolves, and the broadcast has a body. A send that fails the gate creates nothing at all, and you can read the same checklist beforehand to see which condition is missing.
Can I schedule a broadcast, and can I stop one?
Yes to both. A broadcast can be scheduled between one minute and thirty days out, and a scheduled or queued one can be canceled. A cancel while it is already sending stops at the next page of recipients, and the sends already created still go out.
How do people unsubscribe?
Every broadcast carries one-click unsubscribe headers and a link to a preference page we host. The page needs no login: a contact can opt out of everything, or change the individual topics they are subscribed to. A global opt-out wins over every topic choice.
What happens to a contact I delete?
Deleting a contact is an erasure, not a hidden row. The personal data goes, and the consent records stay against a hash of the address, so an unsubscribe you honored can still be proven after the person is gone.
Can I change a segment's filter later?
You can rename a segment, but a filter never changes. A different audience is a new segment, which is what lets a report on a broadcast you sent last month keep naming the audience it actually went to.
Bring your audience over
Import your contacts, build a segment and send your first broadcast from a domain you verified yourself.