Programmatic Access to Signups (REST / WP-CLI)
If you’re a developer integrating the waitlist with other systems — a CRM, a custom dashboard, an export job — this article covers how to read the signup data today and where the current limits are.
State of play: there is no dedicated REST endpoint, WP-CLI command, or action hook for signups yet. The supported integration surface is the
wp_sscs_signupsdatabase table. A REST/CLI API and an after-signup hook are tracked as enhancements (see the end).
Table of Contents
The data contract
Everything is in one table, {$wpdb->prefix}sscs_signups:
| Column | Type | Meaning |
|---|---|---|
id |
BIGINT UNSIGNED |
Primary key. |
email |
VARCHAR(255) |
Subscriber email (unique). |
mailerlite_id |
VARCHAR(255) |
MailerLite subscriber ID (blank if MailerLite not configured). |
referrer_id |
VARCHAR(255) |
Referring subscriber’s MailerLite ID, if any. |
wp_user_id |
BIGINT UNSIGNED |
Logged-in user at signup, if any. |
created_at |
TIMESTAMP |
When they signed up. |
This schema is stable and safe to depend on. (Remember: products using Super Speedy Emails store signups in SSE, not here — this table reflects MailerLite- powered products only.)
Reading signups in PHP
Use $wpdb directly:
global $wpdb;
$table = $wpdb->prefix . 'sscs_signups';
// Most recent 100 signups
$rows = $wpdb->get_results(
"SELECT email, mailerlite_id, referrer_id, created_at
FROM {$table}
ORDER BY created_at DESC
LIMIT 100"
);
// Signups for analysis: top referrers
$top = $wpdb->get_results(
"SELECT referrer_id, COUNT(*) AS referrals
FROM {$table}
WHERE referrer_id <> ''
GROUP BY referrer_id
ORDER BY referrals DESC"
);
Always use $wpdb->prepare() when interpolating any user-supplied value into a
query.
Reading signups from the command line
There’s no custom command, but WP-CLI’s generic database access works well (see Viewing & Exporting Your Signups for more):
wp db query "SELECT email, created_at FROM wp_sscs_signups ORDER BY created_at DESC LIMIT 50"
For a quick one-off using bootstrapped WordPress:
wp eval 'global $wpdb; echo $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}sscs_signups");'
Current limits (and planned enhancements)
- No REST endpoint. To expose signups over REST, you’d register your own route
(
register_rest_route) that reads the table — gate it behind an appropriate capability and authentication. - No WP-CLI command. Use
wp db query/wp evalas above, or register your own command. - No after-signup hook. The plugin doesn’t yet fire a
do_action()when a signup succeeds, so you can’t cleanly trigger your own code (push to a CRM, send a Slack ping) on each signup without intercepting thesscs_ajax_signupAJAX action or polling the table. Ado_action( 'sscs_after_signup', $email, $product_id, $mailerlite_id )hook is tracked as an enhancement — see the Developer Hooks & Reference guide.
If any of these would help your integration, let us know so they can be prioritised.
- Viewing & Exporting Your Signups — query/export recipes for the same table.
- Developer Hooks & Reference — the data contract, filters, and planned hooks.
- Architecture — how signups are written (Developers).