Skip to content
ReputeCast Docs
Search
Ctrl
K
Cancel
GitHub
Select theme
Dark
Light
Auto
Select language
English
Tiếng Việt
Menu
Guides
Deliverability
Self-hosting
Developers
Reference
API and webhooks
Build on ReputeCast
Make your first API call
Authentication and API keys
Errors
Pagination
Rate limits
Send transactional email with the API
Receive webhooks
Connect AI agents with MCP
Build an integration
Record events and conversions
Run ReputeCast from source
Translate ReputeCast
Provider adapters
Provider adapters
Generic HTTP adapter reference
Write a community adapter
Adapter protocol v1
Contribute a built-in adapter
API reference
Overview
Workspaces
Overview
Change the name, timezone and default sender
PUT
Show or hide a section in the sidebar (members can still open it by link)
PUT
Account
Overview
Your role, permissions and scope in a workspace
GET
Overview
Overview
Subscriber growth over the period and engagement tiers with the sunset policy
GET
The next scheduled campaign with its Send Readiness, route split and estimates
GET
Each sending provider's status, rates against its limits, quota, rate, last webhook and cost
GET
The latest campaigns that went out, as the campaigns list shows them
GET
Sender health: a 0–100 score, its word and the reasons behind it
GET
Campaigns
Overview
List campaigns with status, audience, route and results
GET
Start a draft, blank or from a template or another campaign
POST
The Campaigns list's Web column: the posts of campaigns
GET
Live recipient count of an audience definition
POST
Totals across campaigns sent in the last N days
GET
Get a campaign with its content, audience, sender and route
GET
Rename a campaign or change its sender, reply-to, audience or content settings
PATCH
Run the content checks on the composer's current content
POST
Save the content as a new version (autosave)
PUT
Copy a campaign into a new draft
POST
A campaign's language versions with their status and readers
GET
Add a language version (a Draft) to a campaign
POST
Apply a source link or image change to every language version
POST
Keep every language version up to date after a source edit that needs no translating
POST
Contacts to preview a campaign as, one per language
GET
Change the language a campaign is written in (while it has one version)
PUT
Remove a campaign's language version
DELETE
Compare a language version with the source, block by block
GET
Copy a block new in the source into a language version
POST
Send the fallback to a language's readers instead, or stop doing so
PUT
Mark a Draft language version translated, so it is sent
POST
Mark an Outdated language version (or some of its blocks) up to date
POST
Remove a block the source no longer has from a language version
POST
Saved versions of a campaign's language version, newest first
GET
Render the email for one recipient (personalization, links)
POST
Contacts of the audience to preview as
GET
Send a test email of the saved content
POST
Version history, newest first
GET
One version with its content
GET
Restore a version (saved as a new version)
POST
A campaign's Web tab: whether and how it goes on the website
GET
Save a campaign's Web tab
PUT
Senders, lists, segments, personalization tokens, team and route for the composer
GET
Compile MJML to HTML on the server (gomjml, MJML 4)
POST
Templates
Overview
Starter templates, saved templates, saved sections and the last sent campaign
GET
Save a template or a reusable section
POST
Get a template with its MJML
GET
Rename a template or replace its content
PUT
Delete a template or saved section
DELETE
Media
Overview
List the images in the library
GET
Upload an image (PNG, JPEG or GIF, up to 5 MB)
POST
Remove an image from the library
DELETE
Languages
Overview
The workspace's languages, default and fallback, with their contacts
GET
Add a language to the workspace
POST
Languages that can be added, with the contacts who already have them
GET
Change the default and fallback languages
PUT
How many contacts a new fallback language moves
GET
Remove a language from the workspace
DELETE
What removing a language affects
GET
Accessibility
Overview
Apply an accessibility fix to MJML
POST
The workspace's accessibility policy
GET
Change the accessibility policy
PUT
What a policy would affect now
POST
Accessibility results of the template gallery
GET
Accessibility issues of a campaign as saved
GET
Check the composer's current content for accessibility issues
POST
Conditional content
Overview
Count the versions of an email's conditional content
POST
The version one contact gets, and why each block is hidden
POST
A contact for each version, to preview as
GET
Conditions a Visibility rule can use, with their values
GET
Conditional blocks that use a segment, list, field or tag
GET
Polls
Overview
Test answers to a campaign's polls, from test sends (never counted)
GET
Delete the test answers of a campaign's polls (logged)
DELETE
Results of a campaign's polls: answers by answer, NPS, breakdowns, the first 72 hours
GET
The fields of a contact that a poll or a survey set, and when
GET
Polls and surveys an automation can start from
GET
One poll's results
GET
Download every answer with its contact as CSV (logged)
GET
Close a poll now (logged)
POST
A poll's comments, newest first
GET
Reopen a closed poll (logged)
POST
Download a poll's results as CSV, aggregate only (logged)
GET
Surveys
Overview
Surveys, newest first, with their counts
GET
Start a survey (a draft with no questions; logged)
POST
A survey: its questions, settings and counts
GET
Delete a survey; its page stops answering (logged)
DELETE
Change a survey's name, address, questions or settings (logged)
PATCH
Download every response with its contact as CSV (logged)
GET
Close a survey: its page takes no answers (logged)
POST
Publish a survey: its page goes live (logged)
POST
A text question's answers, newest first
GET
Reopen a closed survey, with a new closing date or none (logged)
POST
Completed responses, newest first
GET
A survey's completion and per-question results
GET
Download a survey's results as CSV, aggregate only (logged)
GET
Review & send
Overview
Run Send Readiness on a campaign now
POST
The Send Readiness run in progress
GET
Review & send: the latest Send Readiness run, estimates, schedule, thresholds, test sends and approval state
GET
Change the auto-pause thresholds or the schedule
PATCH
Approvals
Overview
The approval policy and what it matches today
GET
The approval inbox: approvers see every request, authors their own
GET
An approval request with its snapshot, readiness, diff and discussion
GET
The email an approval covers
GET
Whether publishing the draft needs approval, and its latest request
GET
Live sending
Overview
The live monitor's snapshot of a send
GET
End the A/B test with a chosen winner
POST
Cancel a send, or one mailbox provider's or sending provider's share
POST
Move what is left of a sending provider's share to another provider
POST
Pause a running send
POST
Resume a paused send, or a mailbox provider or sending provider on hold
POST
Keep a held share on its provider and retry every minute
POST
Server-sent events of a send: a snapshot event at once and on every change, heartbeats as comments
GET
Reports
Overview
Campaign report: headline metrics, 72-hour engagement, click map, providers, bounces, unsubscribes, A/B
GET
What the providers said for one bounce type (no addresses)
GET
Add the bounced addresses of one type to the shared suppression list
POST
Download the report as CSV, one section per table (logged)
GET
Record a PDF export of the printable report (logged)
POST
Active read-only links of a report
GET
Create a read-only link (no sign-in needed), optionally expiring
POST
Revoke a read-only link
DELETE
The Web section of a campaign's report
GET
A campaign report's Revenue section: upgrades and conversions credited to it
GET
Digests
Overview
Which campaigns are digest issues, with their posts and what changed since the last approved issue
GET
Recurring digests: status, schedule, next issue, the last issue's human opens and the owner
GET
Create a recurring digest from a feed or a connected WordPress site
POST
Find and read the feed of a feed or page address
POST
Connected WordPress sites a digest can read, with their feeds
GET
A digest: its feed, filters, schedule, audience, route, approvals, owner and next issue
GET
Save a digest's settings
PUT
Run Send Readiness on the next issue as it would be built now
POST
The feed's newest items, each with what the digest does with it
GET
What happened since the last issue: posts that went in or were left out, issues, and who turned it on
GET
A digest's issues: sent, skipped, held, waiting and paused, each with its numbers
GET
Pause a digest: no new issues are prepared
POST
The next issue as a reader would get it now
GET
Read the digest's feed now
POST
Draw the Feed items block and the subject with a preview's posts (the composer in digest mode)
POST
Send the next issue, as it would be built now, as a test
POST
Automations
Overview
Create an email for a send step
POST
Get an email version (for previews)
GET
Save new content as the email's next version
PUT
An automation email version's language versions with their status
GET
One language version of an automation email version
GET
Write a language version of an automation email, adding it when missing
PUT
Remove an automation email's language version
DELETE
Mark an automation email's Draft language version translated, so it is sent
POST
Mark an automation email's Outdated language version up to date
POST
List automations with their 30-day performance
GET
Create a draft automation from a starter template or a blank canvas
POST
Send an API event for a contact (triggers, goals and branches listen to it)
POST
Lists, forms, fields, emails, providers, tags and events steps can use
GET
Contacts in flows now and the last N days of automation email
GET
List starter templates
GET
Get an automation with its draft graph
GET
Delete an automation; contacts in it leave (published flows need automations:publish)
DELETE
Rename an automation or change its description
PATCH
Compare two versions (live → draft by default)
GET
Save the canvas as the draft
PUT
Discard unpublished changes
DELETE
Copy an automation's draft into a new draft
POST
Pause a live automation
POST
Publish the draft as the live version (may need approval)
POST
What publishing the draft would change, for whom, and the pre-publish checks
GET
Resume a paused automation
POST
A flow's SMS steps over 30 days: sent, delivered, clicks, opt-outs, skipped and cost
GET
Live stats per step
GET
Delivery log of a webhook step
GET
Set or clear a webhook step's signing secret (write-only)
PUT
Version history
GET
Get one version's graph
GET
Make an earlier version the draft
POST
An SMS step's counter and estimated cost
POST
A WhatsApp step's templates, reach, estimated cost and preview
POST
Transactional messages
Overview
Mark a delivery alert as seen (it stays open until the numbers recover)
POST
A contact's transactional messages and category opt-outs
GET
The message log, newest first, with its numbers per status
GET
Send one message with a template's live version
POST
Send up to 100 messages, each with its own recipient and data
POST
Export the filtered log as CSV
GET
One message: summary, timeline, request and attempts
GET
A message's rendered HTML, text and headers
GET
The period's numbers, the route, alerts, incidents and the keys that can send
GET
The API's base URL, limits and errors, the keys that can send, and the SMTP relay
GET
Transactional templates
Overview
Starter templates with their variables and test data
GET
List templates with their numbers over a period
GET
Create a template: blank, from a starter, as a copy, or with imported content
POST
Get a template with its draft, variables, test data and live version
GET
Delete a draft or archived template (its messages stay in the log)
DELETE
Rename a template, change its category, or its ID before the first publish
PATCH
Archive a template: calls answer template_not_found until it is restored
POST
Run the template's checks on the draft or the editor's unsaved content
POST
Save the draft (autosave)
PUT
A template draft's language versions with their status
GET
Add a language version (a Draft) to a template's draft
POST
Remove a language version from a template's draft
DELETE
Mark a Draft translated
POST
Mark an Outdated version up to date
POST
Render the draft or a version with test data (nothing is sent)
POST
Publish the draft as the next version
POST
What publishing the draft would change
POST
Render the live version with a call's data, without sending
POST
Restore an archived template
POST
Publish an earlier version again (roll back, or undo a publish)
POST
Published versions, newest first
GET
One published version with its content
GET
Transactional settings
Overview
Categories with their templates and opt-outs
GET
Add a category
POST
Change a category (its kind is fixed while it has templates)
PUT
Delete a category without templates
DELETE
Contact linking, content retention, delivery alerts and template defaults
GET
Save Settings › Transactional
PUT
Contacts
Overview
Add tags to a contact, matched by email
POST
Create or update a contact, matched by email
POST
A contact's Website card: membership, sign-ins, sessions and the meter
GET
Add a contact to a list, single or double opt-in
POST
Audience
Overview
Counts for the Audience header and filters
GET
Tiers, tier trend, sunset policy and health per list
GET
Save the sunset policy (applies at the next nightly run)
PUT
List contacts, most recent activity first
GET
Add a contact
POST
Add to a list, add a tag, resend opt-in or suppress many contacts
POST
Erase contacts' personal data
POST
Export contacts as CSV (logged)
POST
Saved views with their counts
GET
Save the current filters as a view
POST
Delete a saved view
DELETE
Contact profile: fields, consent per list, stats
GET
Change a contact's fields and tags
PATCH
Activity timeline, including which provider delivered each email
GET
Everything stored about one contact, as JSON (GDPR, logged)
GET
Get the contact's preference center link (logged)
POST
Send the opt-in confirmation email again
POST
Put a contact's address on the suppression list
POST
Custom fields
GET
Create a custom field
POST
Delete a custom field and its values
DELETE
Change a custom field's label, options or display
PATCH
Lists with their sizes
GET
Create a list
POST
Delete a list (contacts stay; restorable for 30 days)
DELETE
Rename a list or change its opt-in setting
PATCH
What deleting a list would affect
GET
Restore a list deleted in the last 30 days
POST
Segments
Overview
List saved segments with their last counts
GET
Save a new segment
POST
Fields, operators and values the builder can use
GET
Count an unsaved segment (live count while editing)
POST
Get a segment with its definition and generated SQL
GET
Change a segment
PUT
Delete a segment
DELETE
Count a saved segment again and store the result
POST
Suppressions
Overview
The shared suppression list with reasons, sources and provider sync
GET
Add addresses to the suppression list
POST
Export the suppression list as CSV (logged)
GET
Pull existing suppressions from connected sending providers
POST
Add addresses from a CSV file
POST
Take an address off the suppression list (needs a reason, logged)
POST
Imports
Overview
Import history and the draft the wizard resumes
GET
Start an import from a source
POST
An import with its connection, progress, log and summary
GET
Discard a draft import
DELETE
Change a draft's source, options or step
PATCH
Stop an import (rows already imported stay)
POST
Check an API key and list the source's audiences
POST
Contacts per source status and what each becomes
GET
Save the consent mapping
PUT
Source fields with sample values and their mapping
GET
Save the field mapping
PUT
What a source field becomes as the contact's language, and the values that aren't languages
GET
Upload a CSV or XLSX file (first row: headers)
POST
Download the full report, skipped rows, invalid rows or unreadable file rows (logged)
GET
Dry run: duplicates, invalid and risky addresses
POST
Resume an import paused by the source's rate limit
POST
Leave out file rows with the wrong number of columns
POST
Read the selected lists' rows from the source
POST
Import the staged rows
POST
Imports running in the background and those that just ended (jobs tray)
GET
Scoring
Overview
A contact's score: its band, the breakdown by rule, the last change, the 90-day line and where it counts
GET
Scoring rules, decay and bands, how contacts spread, bands by tier, what uses the score and the latest recalculation
GET
Save the rules, decay and bands (recalculates every contact in the background when the rules change)
PUT
How an edited, unsaved set-up would move contacts between bands (nothing is saved)
POST
Start a stopped recalculation again where it stopped
POST
Growth
Overview
How a contact first joined: the source, UTM parameters and referring page
GET
Joins and departures by source, quality by source, UTM and referring pages, and cohort retention
GET
The Growth tables as CSV: totals only, no addresses (logged)
GET
The sources contacts joined through, with how many (the contacts filter)
GET
Verification
Overview
A contact's latest address check and what Verify now would use
GET
Check one contact's address now (audited)
POST
What a use would check and cost, for its dialog and notice
POST
A form's real-time address check and its 30-day numbers
GET
Turn a form's real-time address check on or off (also needs forms:edit; audited)
PUT
Send addresses to the verification service and start a job (audited)
POST
A verification job's progress and results
GET
Stop a job; the results so far are kept
POST
A job's results as CSV: addresses, so it's an export (audited)
GET
Continue a job that stopped for credits or an outage
POST
Verification services, their connections and uses
GET
Connect a verification service with the workspace's own API key
POST
Test a service's API key by reading its balance (no address is sent)
POST
One verification service
GET
Disconnect a service; results already on contacts stay
DELETE
Change a service's price per check, region and default uses
PATCH
Replace a service's API key (write-only)
PUT
A service's real-time checks by form and by day
GET
Read a connected service's balance again (no address is sent)
POST
Grow
Overview
A contact's referral link and counts, who referred them, and Grow's timeline events
GET
Readers to preview the Grow blocks as: referrers, and readers the block hides for
GET
Render the Recommendations block for the composer's canvas
POST
Render a Grow block for the composer's canvas, as a reader or a sample
POST
A milestone with its reward
GET
A milestone email for the composer's milestone mode
GET
Render a milestone email as a reader gets it
POST
Grow's overview: the last 30 days' numbers, what needs a person, and new subscribers per week by source
GET
A partner link's request log (90 days; never the addresses)
GET
Preview a Grow public page: the invite page, a referrer's hub, the leaderboard or the recommendations page
GET
What you recommend, who recommends you, where recommendations show and your partner profile
GET
The referral programs and the lists a new one can use
GET
A referral program with its settings
GET
The checks before a program turns on
GET
The milestones with their rewards, health and emails, the files and the To fulfill queue
GET
Referrers by counted referrals, with search and filters
GET
A referrer: their link, progress, referrals and rewards
GET
A program's results: the funnel, confirmed referrals over time, channels, top referrers, rewards and quality
GET
Held referrals grouped by referrer, with their evidence
GET
What a decision on held referrals would do
POST
What a change of the counting rules does to referrals not decided yet
POST
Earn
Overview
The conversions log, newest first
GET
Record a conversion: an upgrade or an order in your product, with its value
POST
Earn › Settings › Attribution: the window, the click token and the conversion API
GET
Who on a list a paid-only campaign reaches: everyone, paid members only or free subscribers only
GET
The Earn card of the workspace Overview
GET
The launch checklist: connect, a tier, member emails, the upgrade page, a test checkout, the live key
GET
The composer's paid content: tiers with their prices, the connection and the upgrade page
GET
A payment connection: the connect wizard's state
GET
A contact's paid access, for the contact profile
GET
An import of paid members: its columns, matches, choices and progress
GET
Paid members, with their counts by status
GET
Export the paid members of a filter as CSV
GET
A paid member: status, price, source and timeline
GET
Settings › Payments: the connections, their webhook, checkout and tax
GET
The payments event log: each provider event and what ReputeCast did with it
GET
Plans & offers: the tiers with their prices, members and MRR, and the upgrade page
GET
Earn › Overview: MRR and its movement, paid members, trials, conversions, cancellations and attribution
GET
Access: what happens when a payment fails, and who has access
GET
Member emails: the eight templates, their versions and when they're sent
GET
Pages: the Earn pages' addresses, terms of sale and support email
GET
The payment connection's chip: provider, account, mode and health
GET
A tier with its prices and their sync with the provider
GET
The upgrade page editor: headline, tiers and their order, FAQ, the welcome page
GET
Render the upgrade page with unsaved settings
POST
Offers
Overview
Plans & offers: the offers and what they did
GET
Create an offer, and its coupon and codes in the payment provider
POST
A new offer's editor: the tiers and periods it can apply to
GET
An offer: its rules, results, codes and its coupon in the provider
GET
Change an offer
PUT
End an offer now: its code stops working; paid members who used it keep their discount
POST
Create the offer's coupon again after it was deleted in the provider
POST
Gifts
Overview
Earn › Gifts: the numbers, the gift options and page, the gift emails and the gifts that need a look
GET
A page of the gifts bought on the gift page, the latest first
GET
Add a gift option: a tier for a period at a one-time price
POST
Change a gift option; gifts already bought keep what they were sold as
PUT
Take a gift option off the gift page; gifts already bought keep working
DELETE
Turn the gift page on or off, and set how long gift links work
PUT
Move a scheduled gift's delivery to another day and time
POST
Copy a gift's redeem link (recorded in the audit log: anyone with it can redeem the gift)
POST
Send the gift email again to a gift's recipient
POST
Sponsors
Overview
A campaign report's Sponsor section: the issue's booking and its report
GET
The Sponsor block of a campaign: its booking, creative and content
GET
A booking: its terms, creative, payment, activity and report
GET
Change a booking's sponsor, price, status, hold date or notes
PUT
Link the issue to its campaign by hand, or by list and date again
PUT
Cancel a booking, release a hold or dismiss a proposal
POST
Save the creative: logo or image, headline, text, button and link
PUT
Upload the creative's logo or image (PNG, JPEG or GIF, up to 5 MB)
POST
Mark the creative ready: the Sponsor block shows it
POST
A sent booking's report: who got the block, human opens and clicks
GET
A booking's active read-only links
GET
Share a booking's report as a read-only link, optionally expiring
POST
Revoke a sponsor report's read-only link
DELETE
Add a slot: a placement in each issue of a list
POST
Change a slot
PUT
Remove a slot without bookings to come
DELETE
An issue of a slot: its dates, price, campaign and any proposal
GET
Book an open issue for a sponsor, or hold it until a date
POST
Add a sponsor to the library
POST
The sponsor of each campaign with a booking, for the Campaigns list
GET
Upload a sponsor's logo (PNG, JPEG or GIF, up to 5 MB)
POST
Earn › Sponsors: income, a slot's issues with their bookings, the library and what needs a person
GET
Change a sponsor
PUT
Remove a sponsor without bookings to come
DELETE
Share every booking of a sponsor in one read-only report
POST
Products
Overview
Product sales credited to a campaign (its report's Revenue rows)
GET
A contact's purchases: products, each download's state and what they spent
GET
Products with their numbers, where sales came from and the payment connection
GET
Start a draft product
POST
Orders, newest first, with their download links
GET
The orders a filter shows, as CSV (they hold buyers' addresses; logged)
GET
An order: its buyer and consent, payment, delivery, downloads and activity
GET
Send a new download link, to the address on the order only
POST
Let an order's downloads work again
POST
Revoke an order's downloads
POST
Product sales over 30 days (the Earn overview's card)
GET
A product: its draft and what's live, files, publish checks and numbers
GET
Save a product's draft (a published product changes with Publish changes)
PUT
Delete a product that was never published
DELETE
Stop selling a product; its buyers keep their downloads
POST
Upload a cover image (PNG, JPEG or GIF, up to 5 MB)
POST
Remove a file from a product
DELETE
Preview a product's default page (used when it has no sales page)
GET
Publish the draft: its price in Stripe, the shop and its pages
POST
Sell an archived product again
POST
Announce a file: up to 500 MB, 2 GB per product
POST
Send the next chunk of a file
PUT
Cancel an upload; nothing is kept
DELETE
Finish an upload: the file's type is checked from its content
POST
Stores
Overview
An abandoned-checkout trigger's numbers since the automation went live, and its recovered orders
GET
Store orders credited to a campaign, one row per store
GET
Draw a product card or grid with its products now
POST
The product picker's stores, with their collections
GET
Store revenue from email in the last 30 days (Earn › Overview)
GET
The store triggers' stores, products and collections
GET
The contact's store orders and their consent in each store
GET
The connected stores, with their sync row
GET
A store's page: numbers, sync, consent, attribution, webhooks and activity
GET
The store's activity log: events and errors, kept 30 days
GET
The Checkout items block, with sample items from the store
GET
Where connecting a store stands: its step and what it shows
GET
A store's products, newest first, with their prices and availability now
GET
Forms
Overview
List signup forms with the lists, fields and branding they use
GET
Create a signup form (a draft until it's published)
POST
Get a signup form with its numbers for the last 30 days
GET
Save a signup form (Save & publish)
PUT
Delete a signup form
DELETE
Allow a site to submit a form
POST
Keep a rejected site blocked and dismiss its alert
POST
Get a signup form's copy in every language
GET
Save a signup form's text in a language
PUT
Mark a language's consent text still right
POST
Pick which language a signup form shows
PUT
Rename a signup form
POST
Pause or resume a signup form
POST
List signups whose confirmation email hasn't gone out
GET
Get a waiting signup's confirmation link to send by hand (logged)
POST
The text message terms page: its live version and the generated text
GET
Publish a new version of the text message terms (logged)
PUT
Signup forms
Overview
The file a form offers after confirmation, and its numbers
GET
How many days the confirmation page's download links work
PUT
Stop offering a download after confirmation; links already sent stop working
DELETE
Announce the file to offer: it replaces the current one once it finished
POST
Send the next chunk of the file
PUT
Cancel an upload; nothing is kept
DELETE
Finish the upload: the file's type is checked from its content, then the form offers it
POST
The pages whose signup form block uses a form
GET
Public pages
Overview
Get the public pages' branding, options, domain and Turnstile set-up
GET
List the archive's issues, hidden ones included
GET
Hide, show or retitle an archived issue
PUT
Save the public page branding
PUT
Get the public pages' copy in every language
GET
Save the public pages' own text in a language
PUT
Set the custom domain of the public pages
PUT
Check the custom domain's DNS now
POST
Get the built-in labels of a language
GET
Save the built-in labels the workspace writes for a language
PUT
Upload the publisher's logo
PUT
Remove the logo (the pages show the publisher's initial)
DELETE
Save the options of the public pages
PUT
Preview a poll's answer page as a contact sees it after answering
POST
Preview a public page as a subscriber sees it
GET
Preview a survey's page as a contact sees it
POST
Save the Cloudflare Turnstile keys
PUT
Remove the Turnstile keys
DELETE
Unsubscribes from the public pages in the last 30 days
GET
Pages
Overview
Your pages with their numbers, the shop's switch and the theme
GET
Start a page from a template, as a draft
POST
Turn the shop (/products) on or off
PUT
A page: its draft, what's live, the publish checks and its numbers
GET
Delete a page (a published one answers 410 at its address)
DELETE
The site's stylesheets, header and footer for the page builder's canvas
GET
Save the draft's blocks (autosave or Save): a new version; the live page changes only when published
PUT
What publishing would change since the live version
GET
Preview a page in the site's frame: the draft, the blocks being edited, or what's live
POST
Publish a page now, or schedule it
POST
A webinar page's reminder automation: the offer, or the flow made
GET
Make the reminder automation of a webinar page: a draft flow with a date-field trigger, the day before and an hour before
POST
Draw live blocks (products, forms, countdowns, events) as readers see them, inert
POST
Save the Page tab: title, address, visibility, header and navigation, SEO
PUT
Take back a publish within seconds (the toast's Undo)
POST
Take a page off the site, or unschedule it
POST
Version history: every saved and published version
GET
One version's blocks and settings
GET
Make an earlier version the draft again, as a new version
POST
Website
Overview
The website: its address, state, numbers and what turning it on or off does
GET
Website › Access: members, sign-up, visibility defaults, the meter and the paywall
GET
Website › Home & navigation
GET
Preview the home page with unsaved Home & navigation settings, as a visitor sees it
POST
Sent campaigns that aren't posts yet
GET
Publish sent campaigns as posts, at their send dates
POST
Website › Posts, with their 30-day numbers
GET
Start a web-only post
POST
A post: its settings, content, web checks and whether you can publish it
GET
Save a post's settings: title, address, excerpt, cover, byline, tags, visibility and SEO
PUT
Delete a post
DELETE
Autosave or save a web-only post's content
PUT
Preview a post on the web as a visitor, a free member or a paid member
POST
Publish a post now, or schedule it
POST
Change where an unpublished post's address leads
PUT
Make a campaign draft of a web-only post
POST
Take back a publish within seconds (the toast's Undo)
POST
Take a post off the site, or unschedule it
POST
The site's tags with their posts
GET
Channels
Overview
Which channels the workspace can send on: the Sending providers switch
GET
SMS campaigns
Overview
Create an SMS campaign (logged)
POST
The SMS composer: text, counter, audience, routes and cost
GET
Autosave an SMS campaign (logged)
PATCH
Cancel the texts not sent yet (logged)
POST
Copy an SMS campaign into a new draft (logged)
POST
Pause an SMS send (logged)
POST
The phone preview, as a contact and a country see it
POST
Recipients to preview as
GET
A campaign's replies: STOP, HELP and others
GET
The SMS report: delivery, failures by reason with the provider's codes, clicks, replies, cost, progress
GET
Download the SMS report by country as CSV: counts only (logged)
GET
Resume a paused SMS send (logged; needs sms:send too)
POST
Review & send: the SMS checks, routes, cost, schedule and approvals
GET
Send or schedule an SMS campaign as reviewed (logged)
POST
When the campaign goes out, pending senders, auto-pause thresholds (logged)
PUT
Text the campaign to test numbers (logged)
POST
Take a scheduled SMS campaign back to a draft (logged)
POST
Saved versions of the text
GET
SMS audience
Overview
A contact's phone and consent per list on each channel, with the evidence
GET
Set or remove a contact's phone number (logged)
PUT
Change a contact's SMS consent on a list (logged)
PUT
The SMS suppression list, numbers partly masked
GET
Put numbers on the SMS suppression list (logged)
POST
Take a number off the SMS suppression list, with a reason (logged)
POST
SMS providers
Overview
The SMS adapters, with the capabilities their manifests declare
GET
Raw provider events beside their normalized ones, and opt-out sync
GET
Texts the route tester can count
GET
One text with its timeline (a test's delivery receipt)
GET
SMS providers: health, spend, senders and routes
GET
Connect an SMS provider (logged)
POST
Disconnect a provider no route uses (logged)
DELETE
Check a provider now (Retry now during an outage)
POST
Replace a provider's credentials (logged)
PUT
The numbers in the provider's account, with their registration
GET
Import numbers from the provider's account (logged)
POST
Text a test to a member's phone through this provider (logged)
POST
Register the receipt and inbound webhooks again (logged)
POST
Which sender would text a number, at what price, and when
POST
Replace the routes by country (logged)
PUT
Routes, quiet hours, keywords and replies, the budget and guards
GET
Save the SMS rules (logged)
PUT
Add an alphanumeric sender ID with its countries (logged)
POST
Remove a sender no route uses (logged)
DELETE
Change a sender's countries (logged)
PATCH
A sender's registrations, and what the provider's form asks for
GET
Set a registration status by hand, with its date (logged)
PUT
Check the pages carriers look at: the terms page and the sign-up page
POST
Read the registration statuses from the provider now
POST
Finish the connect wizard (logged)
POST
Set the short-link domain (logged)
PUT
Check the short-link domain's DNS now
POST
Test numbers with their last test
GET
Add a member's phone for test texts (logged)
POST
Remove a test number (logged)
DELETE
Push campaigns
Overview
Make a push campaign (logged)
POST
The push composer
GET
Autosave a push campaign (logged)
PATCH
Stop a push campaign: what wasn't handed over doesn't go (logged)
POST
Copy a push campaign as a draft (logged)
POST
The push report: sent, shown, clicks, unsubscribes and expired subscriptions, by browser and site
GET
The push report as CSV, by browser and site (logged)
GET
Review & send: the push checks, schedule and approvals
GET
Send or schedule a push campaign as reviewed (logged)
POST
Choose when it goes and what quiet hours do
PUT
Take a scheduled push campaign back to a draft (logged)
POST
Push
Overview
Who a flow's push steps reach: its contacts with a linked subscription
GET
A flow's push steps over 30 days: sent, shown, clicks, skipped
GET
A contact's linked browser subscriptions
GET
End one of a contact's subscriptions (logged)
DELETE
Change the contact the push services get (logged)
PUT
Generate the keys and turn push on (logged)
POST
What the push services and the service workers reported
GET
What rotating the keys would end
GET
Make a push prompt, a form type (logged)
POST
The push prompt designer
GET
Save the prompt's draft
PUT
Delete a prompt: readers stop seeing it (logged)
DELETE
Throw the draft away
POST
Publish the prompt (logged)
POST
Pause or resume a prompt (logged)
PUT
Push setup: keys, sites, subscribers and prompts
GET
Add a site readers can turn notifications on from (logged)
POST
Change a site's label, worker and icon (logged)
PUT
Remove a site: its subscriptions end (logged)
DELETE
Fetch the site's service worker now
POST
WhatsApp campaigns
Overview
Make a WhatsApp campaign (logged)
POST
The WhatsApp composer
GET
Autosave a WhatsApp campaign (logged)
PATCH
Stop a WhatsApp campaign: what wasn't sent doesn't go (logged)
POST
Copy a WhatsApp campaign as a draft (logged)
POST
The WhatsApp report: sent, delivered, read, failed, button clicks, replies, opt-outs and cost
GET
The WhatsApp report as CSV, by country (logged)
GET
Review & send: consent, the template, quality, the messaging limit and the cost
GET
Send or schedule a WhatsApp campaign as reviewed (logged)
POST
Take a scheduled WhatsApp campaign back to a draft (logged)
POST
WhatsApp
Overview
A flow's WhatsApp steps over 30 days
GET
A contact's WhatsApp: consent per list, the customer service window and the conversation
GET
Change a contact's WhatsApp consent on a list (logged)
PUT
WhatsApp: the account, templates, consent and events
GET
Read the account from Meta now and sync the templates
POST
Who a list's WhatsApp consent reaches and what one template to them costs
GET
Meta's webhooks and what came of them
GET
The rate card costs are estimated from
GET
Sync the templates from Meta now (logged when something changed)
POST
A test message and what Meta reported
GET
Deliverability
Overview
Domain, IP and provider health, blocklists, Postmaster, SNDS, DMARC and incidents
GET
Run all checks now
POST
Progress of a check run
GET
Request delisting through HostRepute
POST
Upload a DMARC aggregate report (XML, .xml.gz or .zip)
POST
What the DMARC reports say about one sending IP
GET
Export the deliverability report as CSV
GET
Blocklist verdict used by Send Readiness (pass, warn, block or unknown)
GET
Placement tests
Overview
Campaigns, templates and transactional templates a test can send
GET
What a test would send: providers, senders, seeds, copies and cost (nothing is sent)
POST
Seed mailboxes (passwords and tokens are never returned)
GET
When copies are deleted from the seeds (audited)
PUT
Placement tests, newest first, with results per provider
GET
One placement test: its copies, the matrix and the guidance
GET
One copy: where it landed, its headers and the provider's events
GET
Sending providers
Overview
Provider events beside their normalized form
GET
Export the provider event log as CSV
GET
Connected providers with health, quota, cost, capabilities and routing
GET
Disconnect a provider no route uses, and remove the webhook ReputeCast registered there
DELETE
Change a provider's label, pricing or limits
PATCH
Pull message status from the provider's API
POST
Create the stream a provider's terms require for bulk mail
POST
Check a provider's health now
POST
Replace write-only credentials
PUT
Wait, move or cancel a broadcast share held on a provider that is down
POST
Turn off provider-side tracking or keep it
POST
Register the webhook at the provider again
POST
Self-test the webhook endpoint and ask the provider for a test event
POST
Provider summaries and workspace-wide sending defaults
GET
Save the auto-pause thresholds, throttles and sync interval
PUT
Sync of the shared suppression list with each provider
GET
Sync the shared suppression list with every provider now
POST
Provider-side open and click tracking per provider
GET
Connect a provider
Overview
Every sending adapter this build can connect, with capabilities, pricing and terms
GET
The workspace's latest provider setups, newest first
GET
Start connecting a provider (or resume the open setup)
POST
A provider setup with everything its steps show
GET
Cancel an unfinished setup
DELETE
Record the step a setup is on
PATCH
Check the credentials and connect the provider
POST
Importer sources, the provider's suppression list and the workspace's lists
GET
Set up the provider for a sending domain, or skip the step
POST
Finish the setup
POST
Set up and test the SMTP bounce mailbox
POST
Poll the provider's events API instead of webhooks
POST
Ask the provider to lift its sandbox in a region
POST
Retry the failed provisioning steps
POST
Move an SES connection to another region
PUT
Assign the provider to streams (routing)
PUT
The test send form and the delivery timeline of the latest test
GET
Send a test through the new provider
POST
Test the webhook endpoint again (optionally through a tunnel URL) and register it
POST
Routing
Overview
Routing rules, fallbacks and failover policy per stream
GET
Replace the routing of one or more streams
PUT
Which provider would send this email?
POST
Warm-up
Overview
Warm-up plans with their ramp, progress and log
GET
Start a warm-up plan for a provider or dedicated IP
POST
Change a plan's length, ordering and guards
PUT
Pause a warm-up plan
POST
Resume a paused warm-up plan
POST
Senders & domains
Overview
Add a sending domain and fetch the records every provider needs
POST
A sending domain's DNS records with their live status
GET
Delete a sending domain no sender uses
DELETE
Rename a sending domain's note or set its tracking domain
PATCH
Check a sending domain's DNS now
POST
Fetch the records a provider needs for the domain
POST
Sender identities, sending domains and sending defaults
GET
Add a sender identity on a sending domain
POST
Save the default From, reply handling, footer address and link tracking domain
PUT
Delete a sender identity
DELETE
Change a sender's name, reply-to, default streams or providers
PATCH
Adapters
Overview
Built-in and community adapters
GET
Integration API
Overview
Test connection: the key's workspace and what it can do
GET
Custom fields, for the apps' field mapping
GET
Signup forms, for the Form submitted trigger's form filter
GET
Subscribe a workflow to a trigger (REST hook); the signing secret is shown once
POST
A workflow's managed webhook, without its secret
GET
Unsubscribe: remove a workflow's managed webhook
DELETE
Lists, for the apps' dropdowns
GET
A sample payload of a trigger, for field mapping
GET
Published transactional templates and their variables, for "Send a transactional email"
GET
Integrations
Overview
Settings › Integrations: HostRepute, webhooks, MCP, Postmaster and SNDS
GET
An automation platform's page: numbers, workflows, webhooks, what it can do and its key
GET
The integrations catalog: groups, statuses and what needs attention
GET
The 7-day call log: workflow, action, target, result and duration
GET
One call with its request and response, secrets masked
GET
Whether a new key has been called yet (the connect dialog's last step)
GET
A managed webhook's dead-letter queue
GET
Disconnect HostRepute
DELETE
Connect HostRepute with an API key
POST
Add a domain, IP or hostname to HostRepute monitoring
POST
Stop monitoring one asset and monitor another instead
POST
Sync HostRepute data now
POST
Keys managed by integrations (Keys & MCP's second table)
GET
Integrations whose key a member owns (deactivate and remove dialogs)
GET
WordPress sites: health, forms, post drafts and keys
GET
WordPress plugin
Overview
Report checkouts left without an order, with their consent and recovery link
POST
Create a campaign draft from a published post, as the site's rule says
POST
The signup forms, for the block and the shortcode
GET
Report in: plugin, WordPress and PHP versions, the feed and where forms are used
POST
Webhooks
Overview
List outgoing webhook endpoints with 24-hour delivery stats
GET
Add an endpoint; the signing secret is shown once
POST
The delivery log, newest first
GET
One delivery with its payload and the endpoint's response
GET
Retry a failed delivery now, or replay one from the dead-letter queue
POST
Retry every failed delivery (of one endpoint, or all)
POST
Change an endpoint's URL, name or events
PUT
Delete an endpoint and its delivery log
DELETE
Pause an endpoint; events keep queuing
POST
Resume an endpoint and deliver what queued, in order
POST
Send a webhook.test event now and return the result
POST
API keys
Overview
List API keys with permissions, scope, creator, last use and expiry
GET
One API key with the calls rejected since it expired
GET
Delete an expired or revoked API key
DELETE
Revoke an API key immediately
POST
MCP agents
Overview
MCP server endpoint, settings, tools and what each agent may do
GET
List MCP agents with permissions, scope, creator, last use and expiry
GET
Recent MCP agent tool calls from the audit log
GET
One MCP agent with the calls rejected since it expired
GET
Delete an expired or revoked MCP agent
DELETE
Revoke an MCP agent immediately
POST
AI assistant
Overview
The AI assistant's settings: the model, the cap, this month's usage and the features
GET
The AI activity log: each request of the last 90 days, never its content
GET
The summary kept on a campaign's report (never on read-only links)
GET
A campaign's language versions translated by AI, and whether they were reviewed
GET
Team
Overview
List pending invitations
GET
List members with role, scope, sign-in methods and two-factor status
GET
Member detail: effective permissions and where each comes from, keys, approvals, activity
GET
Roles
Overview
List roles with members, and the permission catalogue
GET
Preview who gains or loses what before saving a role
POST
One role for the role editor
GET
Audit log
Overview
List audit entries with filters, newest first
GET
One audit entry with before/after values, IP, user agent and request id
GET
Export matching entries as CSV or JSON (streamed)
GET
Retention and the webhook stream of the audit log
GET
Agency
Overview
The agency managing this workspace: “Managed by”, the contact, staff among the members
GET
GitHub
Select theme
Dark
Light
Auto
Select language
English
Tiếng Việt
Developers
API reference
Roles API
Roles
Section titled “Roles”
List roles and the permission catalog, and preview who gains or loses what before a role changes.
Operations
Section titled “Operations”
GET
/api/v1/workspaces/{workspace}/roles
POST
/api/v1/workspaces/{workspace}/roles/impact
GET
/api/v1/workspaces/{workspace}/roles/{roleId}