Rumicat Docs
By Rumicat
Using the Rumicat APIApr 9, 2026EmbeddingFeb 5, 2026Email Delivery for IT AdminsFeb 5, 2026DeliverabilityFeb 5, 2026Moving from SubstackFeb 5, 2026ExportingFeb 5, 2026Co-authorsFeb 5, 2026SettingsFeb 5, 2026CustomizationFeb 5, 2026AnalyticsFeb 5, 2026
1 of 2

Using the Rumicat API

Apr 9, 2026

The Rumicat API has two parts. A public endpoint for collecting subscribers, and a private API for managing newsletters. Both work with simple HTTP requests.


Public API

The subscribe endpoint is public. No API key needed. Use it to connect signup forms on your website, Shopify store, or anywhere else.

Subscribe

Add a subscriber to your publication.

POST https://www.rumicat.com/api/subscribe/{your-publication-slug}

Body:

{"email": "reader@example.com"}

Your publication slug is the last part of your Rumicat URL. You can find it in Settings.

The endpoint always returns {"success": true}. It does not tell you whether the email is new or already on your list. This is a privacy decision.

After subscribing, the subscriber gets a confirmation email. Submitting the same email again re-sends the confirmation link. This is intentional. Someone might forget they already subscribed, or they might not have seen the first email. Either way, they just typed in their email and expect something to happen. Re-sending makes sure they're not left confused.

The welcome email only sends once, on first confirmation. Even if someone submits their email multiple times and confirms again, they won't get a second welcome. Nobody wants duplicate emails in their inbox.

For custom integrations (like Shopify), you can embed this in your form handler. The endpoint supports CORS, so it works from any domain.


Private API

The private API requires an API key. Use it to create newsletters, send them, and look up subscriber data.

Get Your API Key

Go to rumicat.com/settings/api and click "Generate new key." Give it a name (like the tool you're connecting), copy the key, and store it somewhere safe. You won't see it again.

Your key looks like this: rumi_a1b2c3d4...

Include it in every request as a header:

Authorization: Bearer rumi_your_key_here

Create a Newsletter

Send your content as HTML. We convert it to our editor format automatically. Images from external URLs are downloaded and hosted on our CDN.

POST https://app.rumicat.com/api/v1/newsletters

Body:

{"title": "Your Newsletter Title", "content": "<h3>Hello</h3><p>Your content here.</p>"}

The response includes a dashboard_url that links directly to the editor where you can review the draft. It also includes a web_url the public archive link, which shows up after sending if your publication has the archive enabled.

Send It

Once your draft is ready, send it to all subscribers:

POST https://app.rumicat.com/api/v1/newsletters/{id}/send

Or schedule it for later by including a body:

{"scheduled_at": "2026-04-15T09:00:00Z"}

Sending runs the same checks as the dashboard: content moderation, email verification, spam check. If something's flagged, you'll get a clear error telling you what to fix.

Preview First

Want to see what it looks like before sending? Send a test email to your own inbox:

POST https://app.rumicat.com/api/v1/newsletters/{id}/preview

No body needed. The preview goes to the email address of the publication owner.

Look Up a Subscriber

Check the status of a subscriber by email.

GET /api/v1/subscribers?email=reader@example.com

If the email is not on your list:

{"found": false}

If they exist:

{"found": true, "subscriber": {"id": "...", "email": "...", "confirmed": true, "subscribed": true, "subscribed_at": "...", "unsubscribed_at": null, "created_at": "..."}}

The confirmed field tells you if they completed double opt-in. The subscribed field tells you if they are currently receiving emails.

Other Endpoints

GET /api/v1/newsletters List your newsletters. Filter by status: draft, sent, scheduled.

GET /api/v1/newsletters/{id} Check the status and details of a specific newsletter.

DELETE /api/v1/newsletters/{id} Delete a draft you no longer need. Only works on drafts.

Supported HTML

Keep it simple. These tags work:

  • Paragraphs, headings (h2–h4)

  • Bold, italic, underline

  • Links

  • Images (external URLs are re-hosted on our CDN automatically)

  • Ordered and unordered lists

  • Horizontal rules and line breaks

Everything else gets stripped. The result looks identical to creating content in the editor.

Errors

All errors return a JSON object with a code and a message. Common ones:

  • 401 Bad or missing API key

  • 404 Newsletter not found

  • 409 Newsletter already sent or currently sending

  • 422 Missing fields, content flagged, or no subscribers

That's It

If you run into anything, reach out at rumicat@nternet.company.

Rumicat Docs

Using the Rumicat API

Apr 9, 2026

The Rumicat API has two parts. A public endpoint for collecting subscribers, and a private API for managing newsletters. Both work with simple HTTP requests.


Public API

The subscribe endpoint is public. No API key needed. Use it to connect signup forms on your website, Shopify store, or anywhere else.

Subscribe

Add a subscriber to your publication.

POST https://www.rumicat.com/api/subscribe/{your-publication-slug}

Body:

{"email": "reader@example.com"}

Your publication slug is the last part of your Rumicat URL. You can find it in Settings.

The endpoint always returns {"success": true}. It does not tell you whether the email is new or already on your list. This is a privacy decision.

After subscribing, the subscriber gets a confirmation email. Submitting the same email again re-sends the confirmation link. This is intentional. Someone might forget they already subscribed, or they might not have seen the first email. Either way, they just typed in their email and expect something to happen. Re-sending makes sure they're not left confused.

The welcome email only sends once, on first confirmation. Even if someone submits their email multiple times and confirms again, they won't get a second welcome. Nobody wants duplicate emails in their inbox.

For custom integrations (like Shopify), you can embed this in your form handler. The endpoint supports CORS, so it works from any domain.


Private API

The private API requires an API key. Use it to create newsletters, send them, and look up subscriber data.

Get Your API Key

Go to rumicat.com/settings/api and click "Generate new key." Give it a name (like the tool you're connecting), copy the key, and store it somewhere safe. You won't see it again.

Your key looks like this: rumi_a1b2c3d4...

Include it in every request as a header:

Authorization: Bearer rumi_your_key_here

Create a Newsletter

Send your content as HTML. We convert it to our editor format automatically. Images from external URLs are downloaded and hosted on our CDN.

POST https://app.rumicat.com/api/v1/newsletters

Body:

{"title": "Your Newsletter Title", "content": "<h3>Hello</h3><p>Your content here.</p>"}

The response includes a dashboard_url that links directly to the editor where you can review the draft. It also includes a web_url the public archive link, which shows up after sending if your publication has the archive enabled.

Send It

Once your draft is ready, send it to all subscribers:

POST https://app.rumicat.com/api/v1/newsletters/{id}/send

Or schedule it for later by including a body:

{"scheduled_at": "2026-04-15T09:00:00Z"}

Sending runs the same checks as the dashboard: content moderation, email verification, spam check. If something's flagged, you'll get a clear error telling you what to fix.

Preview First

Want to see what it looks like before sending? Send a test email to your own inbox:

POST https://app.rumicat.com/api/v1/newsletters/{id}/preview

No body needed. The preview goes to the email address of the publication owner.

Look Up a Subscriber

Check the status of a subscriber by email.

GET /api/v1/subscribers?email=reader@example.com

If the email is not on your list:

{"found": false}

If they exist:

{"found": true, "subscriber": {"id": "...", "email": "...", "confirmed": true, "subscribed": true, "subscribed_at": "...", "unsubscribed_at": null, "created_at": "..."}}

The confirmed field tells you if they completed double opt-in. The subscribed field tells you if they are currently receiving emails.

Other Endpoints

GET /api/v1/newsletters List your newsletters. Filter by status: draft, sent, scheduled.

GET /api/v1/newsletters/{id} Check the status and details of a specific newsletter.

DELETE /api/v1/newsletters/{id} Delete a draft you no longer need. Only works on drafts.

Supported HTML

Keep it simple. These tags work:

  • Paragraphs, headings (h2–h4)

  • Bold, italic, underline

  • Links

  • Images (external URLs are re-hosted on our CDN automatically)

  • Ordered and unordered lists

  • Horizontal rules and line breaks

Everything else gets stripped. The result looks identical to creating content in the editor.

Errors

All errors return a JSON object with a code and a message. Common ones:

  • 401 Bad or missing API key

  • 404 Newsletter not found

  • 409 Newsletter already sent or currently sending

  • 422 Missing fields, content flagged, or no subscribers

That's It

If you run into anything, reach out at rumicat@nternet.company.