# FlockStack > The affordable newsletter for the agentic era: a newsletter app where you pay for the emails you send, not for dormant subscribers, for a fraction of what other platforms charge. Write and schedule issues, send them to your list and publish them on the web from the dashboard, or let an AI agent do it: everything a customer does in the dashboard also works through a REST API and an MCP server, with the same checks and limits. REST API: https://eu.flockstack.io/api/v1, with Authorization: Bearer . MCP server (Streamable HTTP): https://eu.flockstack.io/mcp, same key, or OAuth for apps like ChatGPT, Claude and Grok Bot. ## Docs - [Getting started](https://eu.flockstack.io/docs): Make a first request and connect an AI assistant. - [Authentication](https://eu.flockstack.io/docs/authentication): API keys, their two levels and the rate limits. - [Tags, segments and automations](https://eu.flockstack.io/docs/audiences): Tags and custom fields, merge tags, saved segments and automations. - [Errors](https://eu.flockstack.io/docs/errors): The error shape and every code. - [MCP](https://eu.flockstack.io/docs/mcp): The MCP server, its tools and setup for ChatGPT, Claude, Grok Bot, Claude Code, Codex and Cursor. - [RSS feed](https://eu.flockstack.io/docs/rss): Each newsletter's feed: where it is and what it contains. - [Export your data](https://eu.flockstack.io/docs/export): One click or one call takes everything: contacts, issues, pictures and settings in ZIP files. - [Referrals](https://eu.flockstack.io/docs/referrals): The referral program: links, rewards, what counts and what doesn't. - [Selling](https://eu.flockstack.io/docs/selling): Digital products and paid subscriptions, paid to your own Stripe account with no cut for FlockStack. - [Regions](https://eu.flockstack.io/docs/regions): The United States and European Union regions: where each kind of data is stored and what leaves the region. - [API reference](https://eu.flockstack.io/docs/api): Every endpoint with its parameters and an example. - [OpenAPI document](https://eu.flockstack.io/api/v1/openapi.json): the API as OpenAPI 3.1. - [Full reference](https://eu.flockstack.io/llms-full.txt): every endpoint and MCP tool in Markdown. ## Endpoints ### Overview - [Get the overview](https://eu.flockstack.io/docs/api#get-overview): GET /api/v1/overview (MCP tool get_overview) ### Newsletters - [List newsletters](https://eu.flockstack.io/docs/api#list-newsletters): GET /api/v1/newsletters (MCP tool list_newsletters) - [Get a newsletter](https://eu.flockstack.io/docs/api#get-newsletter): GET /api/v1/newsletters/{id} (MCP tool get_newsletter) - [Create a newsletter](https://eu.flockstack.io/docs/api#create-newsletter): POST /api/v1/newsletters (MCP tool create_newsletter) - [Update a newsletter](https://eu.flockstack.io/docs/api#update-newsletter): PATCH /api/v1/newsletters/{id} (MCP tool update_newsletter) - [Check a slug](https://eu.flockstack.io/docs/api#check-newsletter-slug): GET /api/v1/newsletters/slugs/{slug} (MCP tool check_newsletter_slug) - [Send a test of the welcome email](https://eu.flockstack.io/docs/api#send-welcome-test-email): POST /api/v1/newsletters/{id}/welcome-test (MCP tool send_welcome_test_email) ### Campaigns - [List campaigns](https://eu.flockstack.io/docs/api#list-campaigns): GET /api/v1/campaigns (MCP tool list_campaigns) - [Get a campaign](https://eu.flockstack.io/docs/api#get-campaign): GET /api/v1/campaigns/{id} (MCP tool get_campaign) - [Get a campaign's report](https://eu.flockstack.io/docs/api#get-campaign-report): GET /api/v1/campaigns/{id}/report (MCP tool get_campaign_report) - [Create a draft campaign](https://eu.flockstack.io/docs/api#create-campaign): POST /api/v1/campaigns (MCP tool create_campaign) - [Update a draft campaign](https://eu.flockstack.io/docs/api#update-campaign): PATCH /api/v1/campaigns/{id} (MCP tool update_campaign) - [Delete a draft campaign](https://eu.flockstack.io/docs/api#delete-campaign): DELETE /api/v1/campaigns/{id} (MCP tool delete_campaign) - [Duplicate a campaign](https://eu.flockstack.io/docs/api#duplicate-campaign): POST /api/v1/campaigns/{id}/duplicate (MCP tool duplicate_campaign) - [Send a test email](https://eu.flockstack.io/docs/api#send-test-email): POST /api/v1/campaigns/{id}/test (MCP tool send_test_email) - [Schedule a campaign](https://eu.flockstack.io/docs/api#schedule-campaign): POST /api/v1/campaigns/{id}/schedule (MCP tool schedule_campaign) - [Cancel a scheduled send](https://eu.flockstack.io/docs/api#unschedule-campaign): POST /api/v1/campaigns/{id}/unschedule (MCP tool unschedule_campaign) - [Send a campaign now](https://eu.flockstack.io/docs/api#send-campaign): POST /api/v1/campaigns/{id}/send (MCP tool send_campaign) - [Send a campaign to more contacts](https://eu.flockstack.io/docs/api#send-campaign-to-more): POST /api/v1/campaigns/{id}/send-more (MCP tool send_campaign_to_more) - [Pause a campaign](https://eu.flockstack.io/docs/api#pause-campaign): POST /api/v1/campaigns/{id}/pause (MCP tool pause_campaign) - [Resume a paused campaign](https://eu.flockstack.io/docs/api#resume-campaign): POST /api/v1/campaigns/{id}/resume (MCP tool resume_campaign) - [Update a campaign's archive page](https://eu.flockstack.io/docs/api#update-campaign-archive): PATCH /api/v1/campaigns/{id}/archive (MCP tool update_campaign_archive) - [Preview the list cleanup of a send](https://eu.flockstack.io/docs/api#preview-campaign-cleanup): GET /api/v1/campaigns/{id}/cleanup-preview (MCP tool preview_campaign_cleanup) - [Preview who a campaign goes to](https://eu.flockstack.io/docs/api#preview-campaign-recipients): GET /api/v1/campaigns/{id}/recipients (MCP tool preview_campaign_recipients) ### Contacts - [List contacts](https://eu.flockstack.io/docs/api#list-contacts): GET /api/v1/contacts (MCP tool list_contacts) - [Get a contact](https://eu.flockstack.io/docs/api#get-contact): GET /api/v1/contacts/{id} (MCP tool get_contact) - [Add a contact](https://eu.flockstack.io/docs/api#add-contact): POST /api/v1/contacts (MCP tool add_contact) - [Unsubscribe or reactivate a contact](https://eu.flockstack.io/docs/api#update-contact-status): PATCH /api/v1/contacts/{id} (MCP tool update_contact_status) - [Delete a contact](https://eu.flockstack.io/docs/api#delete-contact): DELETE /api/v1/contacts/{id} (MCP tool delete_contact) - [Import contacts](https://eu.flockstack.io/docs/api#import-contacts): POST /api/v1/contacts/import (MCP tool import_contacts) - [Export contacts](https://eu.flockstack.io/docs/api#export-contacts): GET /api/v1/contacts/export (MCP tool export_contacts) ### Referrals - [Get referral settings](https://eu.flockstack.io/docs/api#get-referral-settings): GET /api/v1/referrals/settings (MCP tool get_referral_settings) - [Update referral settings](https://eu.flockstack.io/docs/api#update-referral-settings): PATCH /api/v1/referrals/settings (MCP tool update_referral_settings) - [List referrals](https://eu.flockstack.io/docs/api#list-referrals): GET /api/v1/referrals (MCP tool list_referrals) - [Get the referral leaderboard](https://eu.flockstack.io/docs/api#get-referral-leaderboard): GET /api/v1/referrals/leaderboard (MCP tool get_referral_leaderboard) ### Tags and fields - [List tags](https://eu.flockstack.io/docs/api#list-tags): GET /api/v1/tags (MCP tool list_tags) - [Add a tag to a contact](https://eu.flockstack.io/docs/api#add-tag): POST /api/v1/contacts/{id}/tags (MCP tool add_tag) - [Remove a tag from a contact](https://eu.flockstack.io/docs/api#remove-tag): DELETE /api/v1/contacts/{id}/tags (MCP tool remove_tag) - [Delete a tag](https://eu.flockstack.io/docs/api#delete-tag): DELETE /api/v1/tags (MCP tool delete_tag) - [List custom fields](https://eu.flockstack.io/docs/api#list-custom-fields): GET /api/v1/custom-fields (MCP tool list_custom_fields) - [Create a custom field](https://eu.flockstack.io/docs/api#create-custom-field): POST /api/v1/custom-fields (MCP tool create_custom_field) - [Update a custom field](https://eu.flockstack.io/docs/api#update-custom-field): PATCH /api/v1/custom-fields/{key} (MCP tool update_custom_field) - [Delete a custom field](https://eu.flockstack.io/docs/api#delete-custom-field): DELETE /api/v1/custom-fields/{key} (MCP tool delete_custom_field) - [Set a contact's custom field](https://eu.flockstack.io/docs/api#set-contact-field): PATCH /api/v1/contacts/{id}/fields (MCP tool set_contact_field) ### Segments - [List segments](https://eu.flockstack.io/docs/api#list-segments): GET /api/v1/segments (MCP tool list_segments) - [Get a segment](https://eu.flockstack.io/docs/api#get-segment): GET /api/v1/segments/{id} (MCP tool get_segment) - [Preview a segment](https://eu.flockstack.io/docs/api#preview-segment): POST /api/v1/segments/preview (MCP tool preview_segment) - [Create a segment](https://eu.flockstack.io/docs/api#create-segment): POST /api/v1/segments (MCP tool create_segment) - [Update a segment](https://eu.flockstack.io/docs/api#update-segment): PATCH /api/v1/segments/{id} (MCP tool update_segment) - [Delete a segment](https://eu.flockstack.io/docs/api#delete-segment): DELETE /api/v1/segments/{id} (MCP tool delete_segment) ### Automations - [List automations](https://eu.flockstack.io/docs/api#list-automations): GET /api/v1/automations (MCP tool list_automations) - [Get an automation](https://eu.flockstack.io/docs/api#get-automation): GET /api/v1/automations/{id} (MCP tool get_automation) - [Create an automation](https://eu.flockstack.io/docs/api#create-automation): POST /api/v1/automations (MCP tool create_automation) - [Update an automation](https://eu.flockstack.io/docs/api#update-automation): PATCH /api/v1/automations/{id} (MCP tool update_automation) - [Activate an automation](https://eu.flockstack.io/docs/api#activate-automation): POST /api/v1/automations/{id}/activate (MCP tool activate_automation) - [Pause an automation](https://eu.flockstack.io/docs/api#pause-automation): POST /api/v1/automations/{id}/pause (MCP tool pause_automation) - [Delete an automation](https://eu.flockstack.io/docs/api#delete-automation): DELETE /api/v1/automations/{id} (MCP tool delete_automation) - [Get an automation's report](https://eu.flockstack.io/docs/api#get-automation-report): GET /api/v1/automations/{id}/report (MCP tool get_automation_report) ### Domains - [List domains](https://eu.flockstack.io/docs/api#list-domains): GET /api/v1/domains (MCP tool list_domains) - [Add a domain](https://eu.flockstack.io/docs/api#add-domain): POST /api/v1/domains (MCP tool add_domain) - [Check a domain's DNS records](https://eu.flockstack.io/docs/api#check-domain): POST /api/v1/domains/{id}/check (MCP tool check_domain) - [Remove a domain](https://eu.flockstack.io/docs/api#remove-domain): DELETE /api/v1/domains/{id} (MCP tool remove_domain) ### Payments - [Get the payments status](https://eu.flockstack.io/docs/api#get-payments-status): GET /api/v1/payments (MCP tool get_payments_status) - [Connect a Stripe account](https://eu.flockstack.io/docs/api#connect-payments): POST /api/v1/payments/connect (MCP tool connect_payments) ### Paid subscriptions - [Get a newsletter's paid tier](https://eu.flockstack.io/docs/api#get-paid-tier): GET /api/v1/newsletters/{id}/paid-tier (MCP tool get_paid_tier) - [Set a newsletter's paid tier](https://eu.flockstack.io/docs/api#set-paid-tier): PATCH /api/v1/newsletters/{id}/paid-tier (MCP tool set_paid_tier) ### Products - [Create a product](https://eu.flockstack.io/docs/api#create-product): POST /api/v1/products (MCP tool create_product) - [Update a product](https://eu.flockstack.io/docs/api#update-product): PATCH /api/v1/products/{id} (MCP tool update_product) - [List products](https://eu.flockstack.io/docs/api#list-products): GET /api/v1/products (MCP tool list_products) - [Get a product](https://eu.flockstack.io/docs/api#get-product): GET /api/v1/products/{id} (MCP tool get_product) - [Archive a product](https://eu.flockstack.io/docs/api#archive-product): POST /api/v1/products/{id}/archive (MCP tool archive_product) - [Upload a product's file](https://eu.flockstack.io/docs/api#set-product-file): POST /api/v1/products/{id}/file (MCP tool set_product_file) ### Orders - [List orders](https://eu.flockstack.io/docs/api#list-orders): GET /api/v1/orders (MCP tool list_orders) - [Get an order](https://eu.flockstack.io/docs/api#get-order): GET /api/v1/orders/{id} (MCP tool get_order) - [Resend an order's download link](https://eu.flockstack.io/docs/api#resend-order-email): POST /api/v1/orders/{id}/resend (MCP tool resend_order_email) ### Images - [List images](https://eu.flockstack.io/docs/api#list-images): GET /api/v1/images (MCP tool list_images) - [Upload an image](https://eu.flockstack.io/docs/api#upload-image): POST /api/v1/images (MCP tool upload_image) ### API keys - [List API keys](https://eu.flockstack.io/docs/api#list-api-keys): GET /api/v1/api-keys (MCP tool list_api_keys) - [Create an API key](https://eu.flockstack.io/docs/api#create-api-key): POST /api/v1/api-keys (MCP tool create_api_key) - [Revoke an API key](https://eu.flockstack.io/docs/api#revoke-api-key): DELETE /api/v1/api-keys/{id} (MCP tool revoke_api_key) - [List connected apps](https://eu.flockstack.io/docs/api#list-connected-apps): GET /api/v1/connected-apps (MCP tool list_connected_apps) - [Disconnect an app](https://eu.flockstack.io/docs/api#revoke-connected-app): DELETE /api/v1/connected-apps/{id} (MCP tool revoke_connected_app) ### Billing - [Get the plan and usage](https://eu.flockstack.io/docs/api#get-billing): GET /api/v1/billing (MCP tool get_billing) - [Change plan](https://eu.flockstack.io/docs/api#change-plan): POST /api/v1/billing/change-plan (MCP tool change_plan) - [Open the billing portal](https://eu.flockstack.io/docs/api#open-billing-portal): POST /api/v1/billing/portal (MCP tool open_billing_portal) ### Export - [Export all account data](https://eu.flockstack.io/docs/api#export-account-data): POST /api/v1/account/export (MCP tool export_account_data) - [Get an account export](https://eu.flockstack.io/docs/api#get-account-export): GET /api/v1/account/export (MCP tool get_account_export)