Create an API token with audience:write, then POST /api/v1/audience/subscribers from your server after product signup. Pass embedPublicId to reuse an embed form's site list and segment — or siteId directly. Copy-paste examples live in the embed form editor's API tab.
What we shipped
Embed forms already let you collect subscribers on WordPress, Webflow, or any external site. The missing piece was server-side subscribe — when a user creates an account in your product and you want them on your Aveiro newsletter list without showing a separate signup form.
New endpoint
POST /api/v1/audience/subscribers accepts:
email (required)
embedPublicId — resolves the site list and default segment from an existing embed form
siteId — alternative when you do not need form defaults
Authenticate with a Bearer token that has the audience:write scope (Organization → API tokens).
Embed form editor API tab
Each embed form now has an API tab with curl and fetch examples pre-filled with that form's embedPublicId. Copy, paste into your backend, swap in your token secret.
Shared subscribe logic
The public browser endpoint (POST /api/email/subscribe) and the new v1 route share the same subscribe pipeline — same validation, segment tagging, and welcome email triggers.
Why we built it this way
Product signups and marketing lists often live in different systems. Teams duct-tape Zapier, export CSVs, or maintain duplicate lists in Mailchimp.Aveiro already had embed forms for external sites. The headless API completes the loop for first-party product backends — your signup handler calls Aveiro once, and the contact lands in the same audience tools you use for campaigns, segments, and deliverability.Using embedPublicId keeps configuration in the dashboard (list, segment, consent defaults) while your code only passes the subscriber's email and metadata.
Setup checklist
Step
Where
Create an embed form (or note a site id)
Audience → Embed forms
Create API token with audience:write
Organization → API tokens
Copy curl/fetch example from API tab
Embed form editor → API
Call POST /api/v1/audience/subscribers after signup
Your product backend
Confirm subscriber + segment in Audience
Audience → Overview
Enable welcome email if desired
Audience → Automation
Try it
Create an embed form and save it.
Open the API tab and copy the fetch example.
Create a token with audience:write and replace YOUR_API_TOKEN.
Run the request from your terminal or backend after a test signup.
Confirm the contact appears under Audience → Overview with the expected segment.