Skip to main content
The Integration API is available to publications using the Custom Integration feature. Email support@outpost.pub to request access. Outpost enables Custom Integrations for your site, and the panel then appears on the Integrations page, where you select Add new Integration to create one and copy its API URL and API key.
The Outpost Integration API lets you create, read, update, and delete members programmatically. It’s designed for connecting external systems (CRMs, form tools, membership platforms) that need to sync member data with Outpost.

Base URL

All API requests use the integration endpoint:

Authentication

Authenticate using the Integration key from your Custom Integration settings. Include it as a Bearer token in the Authorization header:
Your integration key is found on the Custom Integrations panel, under Integrations and Core Connections → Integrations, after connecting the integration.
Store your integration key securely. It provides full access to create, read, update, and delete members on your publication.

Response format

All responses use a consistent JSON structure: Success:
Error:

Member fields

Integration modes

Custom integrations operate in one of two modes: Email mode (default): Members are identified by email address in all API requests. One member per email. Custom ID mode: Members are identified by a custom ID you provide (e.g., an ID from your external system). This mode optionally allows multiple members to share the same email address.
When duplicate emails are allowed and you create a member whose email already exists, Outpost stores a generated placeholder address (your-member-id@example.com) for the new record and sets is_subscribed to false, so the duplicate never receives email. Look members up by their custom ID, not by email, in this mode.
The mode is configured when you set up the custom integration in Outpost.

Rate limiting

API requests are limited to 30 requests per minute. Exceeding this returns a 429 Too Many Requests response with a Retry-After header.

Endpoints

See Members API for the full endpoint reference.

FAQ

The API creates free members only. Paid subscriptions require a Stripe checkout flow. You can set a member’s tier_id to associate them with a tier, but billing is managed through Stripe.
Yes. All member changes made via the API are automatically synced to your connected Ghost publication.
Email mode identifies members by their email address (one member per email). Custom ID mode lets you assign your own identifier to each member, which is useful when syncing with external systems that have their own member IDs. Custom ID mode can optionally allow duplicate emails.
Not currently. The API supports get, create, update, and delete operations on individual members. For bulk data, use the Data Export feature.